on 06-06-2012 8:35 AM
i have an customer ageing. In that i need profit center to be displayed in result.
the profit center is updating in BSEG table.
but when i wrote the select query for that then in result only profit center in displaying, all other data is not showing in the report.
please check the code.
here PRCTR is profit center.
*&-------------------------------------------------------------------*
*& Report ZCUSAGING
REPORT ZCUSTOMAGEING.
TYPE-POOLS: SLIS.
DATA: G_REPID LIKE SY-REPID,
GS_PRINT TYPE SLIS_PRINT_ALV,
T_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
GT_EVENTS TYPE SLIS_T_EVENT,
I_SORT TYPE SLIS_T_SORTINFO_ALV,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GS_CELL TYPE SLIS_LINEINFO,
FIELDCAT_LN LIKE LINE OF GT_FIELDCAT.
DATA : GS_VARIANT LIKE DISVARIANT,
G_SAVE.
DATA : IT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA : L_LIST(105) TYPE C. "Store the Top-of-page headings
DATA : T_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA : LS_SORT TYPE TABLE OF SLIS_SORTINFO_ALV.
DATA : WA_SORT LIKE LINE OF LS_SORT.
TABLES : BSID ,
BSAD,
KNA1,
BSEG,
J_1IEXCDTL.
CONSTANTS :
c_bold(4) TYPE x VALUE '00000020'.
DATA : BEGIN OF ITAB OCCURS 0 ,
KUNNR LIKE BSID-KUNNR,
BUDAT LIKE BSID-BUDAT,
VBELN LIKE BSID-VBELN,
BLDAT LIKE BSID-BLDAT,
* BLDAT1 LIKE BSID-BLDAT,
BELNR LIKE BSID-BELNR,
WRBTR LIKE BSID-WRBTR,
SHKZG LIKE BSID-SHKZG,
AUGBL LIKE BSID-AUGBL,
XBLNR like bsid-XBLNR,
AUGDT LIKE BSID-AUGDT,
BUKRS like bsid-bukrs,
BLART LIKE BSID-BLART,
GJAHR like bsid-gjahr,
* WAERS like bsid-WAERS,
NAME1 LIKE KNA1-NAME1,
ORT01 LIKE KNA1-ORT01,
* WERKS LIKE KNA1-WERKS, " BY RITS
BZIRK LIKE KNVV-BZIRK,
DMBTR LIKE BSID-DMBTR,
ZTERM like BSID-ZTERM, " by rits
PRCTR like bseg-PRCTR, " by rits
EXNUM LIKE J_1IEXCDTL-EXNUM,
DAY1 LIKE VTBBEWE-ATAGE,
DD TYPE I,
A_30 LIKE BSID-WRBTR,
A_60 LIKE BSID-WRBTR,
A_90 LIKE BSID-WRBTR,
A_120 LIKE BSID-WRBTR,
A_150 LIKE BSID-WRBTR,
A_180 LIKE BSID-WRBTR,
A_365 LIKE BSID-WRBTR,
A_366 LIKE BSID-WRBTR,
TOTAL LIKE BSID-WRBTR,
DAYS type I,
END OF ITAB.
DATA : ITAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE.
* SELECT-OPTIONS : KUNNR FOR BSID-KUNNR.
* PARAMETERS : BUDAT TYPE BSID-BUDAT DEFAULT SY-DATUM.
* PARAMETERS : BUKRS TYPE BSID-BUKRS .
DATA : FOR_1ST_AGE(17) TYPE C,
FOR_2ND_AGE(17) TYPE C,
FOR_3RD_AGE(17) TYPE C,
FOR_4TH_AGE(17) TYPE C,
FOR_5TH_AGE(17) TYPE C,
FOR_6TH_AGE(18) TYPE C,
FOR_7TH_AGE(18) TYPE C,
FOR_8TH_AGE(18) TYPE C.
SELECTION-SCREEN:BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-000.
*PARAMETERS : bukrs type bsid-bukrs.
SELECT-OPTIONS : KUNNR FOR BSID-KUNNR.
*select-options : WERKS for KNA1-WERKS. " by rits
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN : COMMENT (31) TEXT-003.
PARAMETERS: AGEDAYS1(3) TYPE N OBLIGATORY DEFAULT '30'.
PARAMETERS: AGEDAYS2(3) TYPE N OBLIGATORY DEFAULT '60'.
PARAMETERS: AGEDAYS3(3) TYPE N OBLIGATORY DEFAULT '90'.
PARAMETERS: AGEDAYS4(3) TYPE N OBLIGATORY DEFAULT '120'.
PARAMETERS: AGEDAYS5(3) TYPE N OBLIGATORY DEFAULT '150'.
PARAMETERS: AGEDAYS6(3) TYPE N OBLIGATORY DEFAULT '180'.
PARAMETERS: AGEDAYS7(3) TYPE N OBLIGATORY DEFAULT '365'.
SELECTION-SCREEN : END OF LINE.
SELECT-OPTIONS:BLDAT FOR BSID-BLDAT obligatory NO INTERVALS
NO-EXTENSION.
SELECTION-SCREEN : END OF BLOCK BLK1.
CONCATENATE '0 -' AGEDAYS1 'days' INTO FOR_1ST_AGE SEPARATED BY SPACE.
CONCATENATE AGEDAYS1 '-' AGEDAYS2 'days' INTO FOR_2ND_AGE SEPARATED BY
SPACE.
CONCATENATE AGEDAYS2 '-' AGEDAYS3 'days' INTO FOR_3RD_AGE SEPARATED BY
SPACE.
CONCATENATE AGEDAYS3 '-' AGEDAYS4 'days' INTO FOR_4TH_AGE SEPARATED BY
SPACE.
CONCATENATE AGEDAYS4 '-' AGEDAYS5 'days' INTO FOR_5TH_AGE SEPARATED BY
SPACE.
CONCATENATE AGEDAYS5 '-' AGEDAYS6 'days' INTO FOR_6TH_AGE SEPARATED BY
SPACE.
CONCATENATE AGEDAYS6 '-' AGEDAYS7 'days' INTO FOR_7TH_AGE SEPARATED BY
SPACE.
CONCATENATE 'Above' AGEDAYS7 'days' INTO FOR_7TH_AGE SEPARATED BY SPACE.
***************
START-OF-SELECTION.
SELECT KUNNR BUDAT VBELN BELNR BLDAT DMBTR AUGBL AUGDT
SHKZG BLART XBLNR GJAHR BUKRS ZTERM
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM BSID
WHERE KUNNR IN KUNNR
AND BLDAT <= BLDAT-LOW
AND UMSKZ NE 'A' AND UMSKZ NE 'E'
AND BUDAT <= BLDAT-LOW .
SELECT KUNNR BUDAT VBELN BELNR BLDAT DMBTR AUGBL AUGDT SHKZG WAERS
BUKRS
INTO CORRESPONDING FIELDS OF TABLE ITAB1
FROM BSAD
WHERE KUNNR IN KUNNR
AND BLDAT <= BLDAT-LOW
AND UMSKZ NE 'A' AND UMSKZ NE 'E'
AND AUGDT > BLDAT-LOW
AND BUDAT <= BLDAT-LOW .
select prctr into corresponding fields of table itab from bseg where
kunnr in kunnr.
LOOP AT ITAB1 WHERE AUGDT > BLDAT-LOW.
APPEND ITAB1 TO ITAB.
ENDLOOP.
LOOP AT ITAB.
IF ITAB-SHKZG = 'H'.
ITAB-DMBTR = ITAB-DMBTR * -1.
MODIFY ITAB.
ELSE.
ITAB-DMBTR = ITAB-DMBTR * 1.
MODIFY ITAB.
ENDIF.
select distinct kna1~NAME1
into (itab-NAME1)
from bsid
inner join kna1
on bsid~kunnr = kna1~kunnr
WHERE KNA1~KUNNR = ITAB-KUNNR
AND KNA1~SPRAS = 'EN'.
modify itab.
endselect.
ENDLOOP.
*LOOP AT ITAB.
*
*select distinct vbkd~zterm
* into (itab-zterm)
* from bsid
* inner join vbkd
* on bsid~VBELN = vbkd~VBELN
* WHERE VBKD~VBELN = ITAB-VBELN .
*
* modify itab.
*endselect.
*ENDLOOP.
LOOP AT ITAB.
SELECT EXNUM INTO ITAB-EXNUM FROM J_1IEXCDTL
WHERE RDOC2 = ITAB-VBELN.
MODIFY ITAB.
ENDSELECT.
ENDLOOP.
SORT ITAB BY BLDAT.
LOOP AT ITAB.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = ITAB-BUDAT
* 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 > AGEDAYS7.
MOVE ITAB-DMBTR TO ITAB-A_366.
* ITAB-ANS_Q7 = ITAB-ANS_Q7 + ITAB-Q7 .
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS7 AND ITAB-DD > AGEDAYS6.
MOVE ITAB-DMBTR TO ITAB-A_365.
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS6 AND ITAB-DD > AGEDAYS5.
MOVE ITAB-DMBTR TO ITAB-A_180.
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS5 AND ITAB-DD > AGEDAYS4.
MOVE ITAB-DMBTR TO ITAB-A_150.
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS4 AND ITAB-DD > AGEDAYS3.
MOVE ITAB-DMBTR TO ITAB-A_120.
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS3 AND ITAB-DD > AGEDAYS2.
MOVE ITAB-DMBTR TO ITAB-A_90.
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS2 AND ITAB-DD > AGEDAYS1.
MOVE ITAB-DMBTR TO ITAB-A_60.
MODIFY ITAB.
ENDIF.
IF ITAB-DD <= AGEDAYS1 AND ITAB-DD => 0.
MOVE ITAB-DMBTR TO ITAB-A_30.
MODIFY ITAB.
ENDIF.
ENDLOOP.
LOOP AT ITAB.
ITAB-TOTAL = ITAB-A_30 + ITAB-A_60 + ITAB-A_90 + ITAB-A_120 + ITAB-A_150
+ ITAB-A_180 + ITAB-A_365 + ITAB-A_366.
MODIFY ITAB.
ENDLOOP.
*LOOP AT ITAB.
*ITAB-DAYS = ITAB-BLDAT - ITAB-BUDAT.
*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 = 'WERKS'.
* FIELDCAT_LN-TABNAME = 'ITAB'.
* FIELDCAT_LN-SELTEXT_L = 'Plant'.
** FIELDCAT_LN-NO_ZERO = 'X'.
** FIELDCAT_LN-DO_SUM = 'X'.
* APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'XBLNR'.
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 = 'BLART'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Doc Type'.
* 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 = 'GJAHR'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Fiscal Year'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'ZTERM'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Payment terms'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'PRCTR'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Profit Center'.
FIELDCAT_LN-NO_ZERO = 'X'.
* FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'DD'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = 'Days'.
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_30'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '0 - 30'.
FIELDCAT_LN-NO_ZERO = 'X'.
FIELDCAT_LN-DO_SUM = 'X'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-FIELDNAME = 'A_60'.
FIELDCAT_LN-TABNAME = 'ITAB'.
FIELDCAT_LN-SELTEXT_L = '30 - 60'.
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 = '60 - 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.
* CLEAR FIELDCAT_LN.
* FIELDCAT_LN-FIELDNAME = 'WAERS'.
* FIELDCAT_LN-TABNAME = 'ITAB'.
* FIELDCAT_LN-SELTEXT_L = 'Currency Key'.
** 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.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_SAVE = G_SAVE
IS_VARIANT = GS_VARIANT
IT_FIELDCAT = GT_FIELDCAT[]
IT_EVENTS = IT_EVENTS[]
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. "CALL_ALV
*& Form GET_EVENTS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS[]
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO IT_EVENTS.
IF SY-SUBRC = 0.
MOVE T_FORMNAME_TOP_OF_PAGE TO IT_EVENTS-FORM.
APPEND IT_EVENTS.
ENDIF.
ENDFORM. " get_events
*&---------------------------------------------------------------------*
*& 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.
DATA: LS_LINE TYPE SLIS_LISTHEADER.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = 'Customer Ageing Report'.
APPEND LS_LINE TO I_TOP_OF_PAGE.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = 'PMP AUTO COMPONENTS PVT. LTD.'.
APPEND LS_LINE TO I_TOP_OF_PAGE.
CLEAR: LS_LINE, L_LIST.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = L_LIST.
APPEND LS_LINE TO I_TOP_OF_PAGE.
ENDFORM. " sub_comment_build
*&---------------------------------------------------------------------*
*& Form top_of_page
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGE
FORM user_command USING f_ucomm LIKE sy-ucomm
i_selfield TYPE slis_selfield.
READ TABLE ITAB INDEX i_selfield-tabindex .
CASE f_ucomm.
WHEN '&IC1'.
CASE i_selfield-sel_tab_field.
WHEN 'ITAB-BELNR'.
CHECK NOT ITAB-BELNR IS INITIAL.
SET PARAMETER ID 'BLN' FIELD ITAB-BELNR.
SET PARAMETER ID 'BUK' FIELD ITAB-bukrs.
SET PARAMETER ID 'GJR' FIELD ITAB-gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDCASE.
ENDFORM.
Hi Ritesh,
In your first query you are reading BSID data into ITAB
SELECT KUNNR BUDAT VBELN BELNR BLDAT DMBTR AUGBL AUGDT
SHKZG BLART XBLNR GJAHR BUKRS ZTERM
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM BSID
WHERE KUNNR IN KUNNR
AND BLDAT <= BLDAT-LOW
AND UMSKZ NE 'A' AND UMSKZ NE 'E'
AND BUDAT <= BLDAT-LOW .
And in the query that you have added for PRCTR again you are making use of same internal table ITAB? thats wrong.And quite obviously its displaying only PRCTR.
select prctr into corresponding fields of table itab from bseg where
kunnr in kunnr.
Make a seperate structure and internal table for BSEG and read PRCTR into that internal table.In the final internal table add this field PRCTR and pass the value by reading the internal table of BSEG.
Your report seems have too many performance related mistakes.Do the code inspector check and optimize the code else this report would run too slowly.
With regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.