Professional Documents
Culture Documents
TYPE-POOLS: SLIS.
TABLES : BSID ,
BSAD,
J_1IEXCDTL.
END OF ITAB.
***************
START-OF-SELECTION.
LOOP AT ITAB.
IF ITAB-SHKZG = 'H'.
ITAB-DMBTR = ITAB-DMBTR * -1.
MODIFY ITAB.
ELSE.
ITAB-DMBTR = ITAB-DMBTR * 1.
MODIFY ITAB.
ENDIF.
LOOP AT ITAB.
SELECT EXNUM INTO ITAB-EXNUM FROM J_1IEXCDTL
WHERE RDOC2 = ITAB-VBELN.
MODIFY ITAB.
ENDSELECT.
ENDLOOP.
LOOP AT ITAB.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = ITAB-BLDAT
* I_KEY_DAY_FROM =
I_DATE_TO = BLDAT-LOW
* I_KEY_DAY_TO =
* I_FLG_SEPARATE = ' '
IMPORTING
E_DAYS = ITAB-DAY1
* E_MONTHS =
* E_YEARS =
.
MOVE ITAB-DAY1 TO ITAB-DD.
MODIFY ITAB.
ENDLOOP.
BREAK BASIS.
LOOP AT ITAB.
IF ITAB-DD > AGEDAYS6.
MOVE ITAB-DMBTR TO ITAB-A_366.
* ITAB-ANS_Q7 = ITAB-ANS_Q7 + ITAB-Q7 .
MODIFY ITAB.
ENDIF.
ENDLOOP.
LOOP AT ITAB.
ITAB-TOTAL = ITAB-A_45 + ITAB-A_90 + ITAB-A_120 + ITAB-A_150
+ ITAB-A_180 + ITAB-A_365 + ITAB-A_366.
MODIFY ITAB.
ENDLOOP.
PERFORM BUILD.
PERFORM GET_EVENTS.
PERFORM SUB_COMMENT_BUILD USING T_LIST_TOP_OF_PAGE.
PERFORM CALL_ALV.
*&------------Form BUILD
FORM BUILD.
DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV.
REFRESH GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'KUNNR'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Customer Code'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'NAME1'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Customer Name'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'VBELN'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Invoice No'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'BUDAT'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Invoice date'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'BELNR'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Doc No'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'BLDAT'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Doc. Date'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'EXNUM'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Ex. Invoice no'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'BZIRK'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'ZONE'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_45'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '0 - 45'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_90'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '45 - 90'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_120'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '90 - 120'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_150'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '120 - 150'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_180'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '150 - 180'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_365'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '180 - 365'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_366'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '> 365'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'TOTAL'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'OUTSTANDING AMT'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
G_REPID = SY-REPID.
GS_VARIANT-REPORT = G_REPID.
G_SAVE = 'A'.
ENDFORM. "BUILD
*&---------------Form CALL_ALV
DATA T_LAYOUT TYPE SLIS_LAYOUT_ALV.
*&---------------------------------------------------------------------*
*& Form CALL_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM CALL_ALV.
ENDFORM. "CALL_ALV
*& Form GET_EVENTS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_EVENTS .
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form sub_comment_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_T_LIST_TOP_OF_PAGE text
*----------------------------------------------------------------------*
FORM SUB_COMMENT_BUILD USING I_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = 'ABC Bearings Limited'.
APPEND LS_LINE TO I_TOP_OF_PAGE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = 'Customer Ageing'.
APPEND LS_LINE TO I_TOP_OF_PAGE.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = L_LIST.
APPEND LS_LINE TO I_TOP_OF_PAGE.