

FUNCTION Z_DATE_COMPARE3.
*"----------------------------------------------------------------------
*"*"區域介面:
*" IMPORTING
*" REFERENCE(COMDATE) TYPE SY-DATUM
*" REFERENCE(EBELN) TYPE EBELN
*" REFERENCE(EBELP) TYPE EBELP
*" EXPORTING
*" REFERENCE(RESDATE) TYPE SY-DATUM
*" CHANGING
*" REFERENCE(COMTAB) TYPE ZCOMTAB
*"----------------------------------------------------------------------
* Global data declarations
DATA: WACOM TYPE ZCOMTABL.
LOOP AT COMTAB INTO WACOM WHERE EBELN = EBELN AND EBELP = EBELP.
IF
WACOM-DATUM+0(6) = COMDATE+0(6).
WACOM-FLAG = 'X'.
ENDIF.
WACOM-SUBN = WACOM-DATUM - COMDATE.
WACOM-SUBN = ABS( WACOM-SUBN ).
MODIFY COMTAB FROM WACOM .
* INDEX sy-tabix.
ENDLOOP.
SORT COMTAB BY EBELN EBELP FLAG SUBN.
LOOP AT COMTAB INTO WACOM WHERE EBELN = EBELN AND EBELN = EBELN AND FLAG = 'X'.
RESDATE = WACOM-DATUM.
EXIT.
ENDLOOP.
IF RESDATE IS INITIAL.
READ TABLE COMTAB INTO WACOM WITH KEY EBELN = EBELN EBELP = EBELP .
* INDEX 1 .
* ebeln2 = ebeln.
* ebelp2 = ebelp.
RESDATE = WACOM-DATUM.
ENDIF.
ENDFUNCTION.
*"----------------------------------------------------------------------
*"*"區域介面:
*" IMPORTING
*" REFERENCE(COMDATE) TYPE SY-DATUM
*" REFERENCE(EBELN) TYPE EBELN
*" REFERENCE(EBELP) TYPE EBELP
*" EXPORTING
*" REFERENCE(RESDATE) TYPE SY-DATUM
*" CHANGING
*" REFERENCE(COMTAB) TYPE ZCOMTAB
*"----------------------------------------------------------------------
* Global data declarations
DATA: WACOM TYPE ZCOMTABL.
LOOP AT COMTAB INTO WACOM WHERE EBELN = EBELN AND EBELP = EBELP.
IF
WACOM-DATUM+0(6) = COMDATE+0(6).
WACOM-FLAG = 'X'.
ENDIF.
WACOM-SUBN = WACOM-DATUM - COMDATE.
WACOM-SUBN = ABS( WACOM-SUBN ).
MODIFY COMTAB FROM WACOM .
* INDEX sy-tabix.
ENDLOOP.
SORT COMTAB BY EBELN EBELP FLAG SUBN.
LOOP AT COMTAB INTO WACOM WHERE EBELN = EBELN AND EBELN = EBELN AND FLAG = 'X'.
RESDATE = WACOM-DATUM.
EXIT.
ENDLOOP.
IF RESDATE IS INITIAL.
READ TABLE COMTAB INTO WACOM WITH KEY EBELN = EBELN EBELP = EBELP .
* INDEX 1 .
* ebeln2 = ebeln.
* ebelp2 = ebelp.
RESDATE = WACOM-DATUM.
ENDIF.
ENDFUNCTION.