HI ALL,
WHEN I RAN THIS REPORT HEADER IS COMING FOR FIRST ALV.WHEN I DOUBLE CLICK ON SALES ORDER NUMBER IT SHOWS SECONDARY LIST. FOR THIS SECONDARY LIST HEADER IS NOT COMING.ANY BODY CAN SUGGEST HOW TO FIXZ THIS PROBLEM
REPORT ZMAHI1 LINE-SIZE 30.
TYPE-POOLS : SLIS.
*TYPES : BEGIN OF I_VBAK,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
ERZET TYPE VBAK-ERZET,
VTWEG TYPE VBAK-VTWEG,
VKORG TYPE VBAK-VKORG,
END OF I_VBAK.
DATA : BEGIN OF IT_VBAK OCCURS 0,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
ERZET TYPE VBAK-ERZET,
VTWEG TYPE VBAK-VTWEG,
VKORG TYPE VBAK-VKORG,
END OF IT_VBAK.
*DATA : IT_VBAK TYPE STANDARD TABLE OF I_VBAK INITIAL SIZE 0,
WA_VBAK TYPE I_VBAK.
*
*TYPES : BEGIN OF I_VBAP,
VBELN TYPE VBAP-VBELN,
MATNR TYPE VBAP-MATNR,
ERZET TYPE VBAP-ERZET,
POSNR TYPE VBAP-POSNR,
END OF I_VBAP.
DATA : BEGIN OF IT_VBAP OCCURS 0,
VBELN TYPE VBAP-VBELN,
MATNR TYPE VBAP-MATNR,
ERZET TYPE VBAP-ERZET,
POSNR TYPE VBAP-POSNR,
LINE_COLOR(4) TYPE C, "Used to store row color attributes
END OF IT_VBAP.
*DATA : IT_VBAP TYPE STANDARD TABLE OF I_VBAP INITIAL SIZE 0,
WA_VBAP TYPE I_VBAP.
*
DATA : EVENTCAT TYPE SLIS_T_EVENT.
DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID LIKE SY-REPID.
******
DATA: I_TITLE_VBAK TYPE LVC_TITLE VALUE 'ALV LIST FIRST'.
DATA: I_TITLE_VBAP TYPE LVC_TITLE VALUE 'ALV LIST SECOND'.
****
DATA: V_REPID LIKE SY-REPID .
DATA : HEADING TYPE SLIS_T_LISTHEADER.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-T01.
PARAMETERS : P_VBELN TYPE VBAK-VBELN.
SELECTION-SCREEN END OF BLOCK B1.
INITIALIZATION.
V_REPID = SY-REPID.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILT_FIELDCATALOG.
**
PERFORM E03_EVENTTAB_BUILD USING EVENTCAT[].
PERFORM COMMENT_BUILD USING HEADING[].
***
PERFORM GRID_DISPLAY.
&----
*& Form GET_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA.
SELECT VBELN
ERDAT
ERNAM
ERZET
VTWEG
VKORG
FROM VBAK
INTO TABLE IT_VBAK
WHERE VBELN EQ P_VBELN.
ENDFORM. " GET_DATA
&----
*& Form BUILT_FIELDCATALOG
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILT_FIELDCATALOG.
CLEAR I_FIELDCAT.
REFRESH : I_FIELDCAT[].
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_M = 'SALES DOC NO'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
WA_FIELDCAT-FIELDNAME = 'ERDAT'.
WA_FIELDCAT-SELTEXT_M = 'Creation Date'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
WA_FIELDCAT-FIELDNAME = 'ERNAM'.
WA_FIELDCAT-SELTEXT_M = 'NAME'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
WA_FIELDCAT-FIELDNAME = 'ERZET'.
WA_FIELDCAT-SELTEXT_M = 'TIME'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
WA_FIELDCAT-FIELDNAME = 'VTWEG'.
WA_FIELDCAT-SELTEXT_M = 'DIS CHANNEL'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
WA_FIELDCAT-FIELDNAME = 'VKORG'.
WA_FIELDCAT-SELTEXT_M = 'SALES ORG'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " BUILT_FIELDCATALOG
&----
*& Form GRID_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM GRID_DISPLAY.
V_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
IT_FIELDCAT = I_FIELDCAT[]
I_SAVE = 'A'
IT_EVENTS = EVENTCAT[]
TABLES
T_OUTTAB = IT_VBAK
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. " GRID_DISPLAY
for header
*&----
*& Form HEADER
*&----
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEADING.
ENDFORM. " HEADER
*&----
*& Form E03_EVENTTAB_BUILD
*&----
FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 3
IMPORTING
ET_EVENTS = E03_LT_EVENTS.
READ TABLE E03_LT_EVENTS
WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE 'TOP_OF_PAGE' TO LS_EVENT-FORM.
APPEND LS_EVENT TO E03_LT_EVENTS.
ENDIF.
DELETE E03_LT_EVENTS WHERE FORM IS INITIAL.
ENDFORM. " E03_EVENTTAB_BUILD
*&----
*& Form COMMENT_BUILD
*&----
FORM COMMENT_BUILD USING LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: W_HEADING TYPE SLIS_LISTHEADER.
DATA: W_HEADING1 TYPE SLIS_LISTHEADER.
CLEAR : W_HEADING, LT_TOP_OF_PAGE.
REFRESH : LT_TOP_OF_PAGE.
W_HEADING-INFO = 'Synopsys World' .
W_HEADING-TYP = 'H'.
APPEND W_HEADING TO LT_TOP_OF_PAGE .
CLEAR W_HEADING .
ENDFORM. " COMMENT_BUILD
end of header portion.
&----
*& Form USER_COMMAND
&----
text
----
-->R_UCOMM text
-->, text
-->RS_SLEFIELDtext
----
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'VBELN'.
PERFORM GETDATA_FROM_VBAP.
PERFORM BUILD_FIELDCATLOG_IT_VBAP.
PERFORM BUILD_LAYOUT.
PERFORM E03_EVENTTAB_BUILD USING EVENTCAT[].
PERFORM COMMENT_BUILD USING HEADING[].
PERFORM GRID_DISPLAY1.
ENDIF.
ENDCASE.
ENDFORM. "user_command
&----
*& Form GETDATA_FROM_VBAP
&----
text
----
--> p1 text
<-- p2 text
----
FORM GETDATA_FROM_VBAP.
DATA: LD_COLOR(1) TYPE C.
SELECT VBELN
MATNR
ERZET
POSNR
FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VBELN = IT_VBAK-VBELN.
LOOP AT IT_VBAP .
LD_COLOR = LD_COLOR + 1.
IF LD_COLOR = 8.
LD_COLOR = 1.
ENDIF.
CONCATENATE 'C' LD_COLOR '10' INTO IT_VBAP-LINE_COLOR.
MODIFY IT_VBAP TRANSPORTING LINE_COLOR.
ENDLOOP.
ENDFORM. " GETDATA_FROM_VBAP
&----
*& Form BUILD_FIELDCATLOG_IT_VBAP
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FIELDCATLOG_IT_VBAP.
CLEAR FIELDCATALOG.
REFRESH : FIELDCATALOG[].
*
FIELDCATALOG-FIELDNAME = 'VBELN'.
FIELDCATALOG-SELTEXT_M = 'SALES DOC NO'.
FIELDCATALOG-COL_POS = 0.
FIELDCATALOG-OUTPUTLEN = 10.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
*
FIELDCATALOG-FIELDNAME = 'POSNR'.
FIELDCATALOG-SELTEXT_M = 'PO Item'.
FIELDCATALOG-COL_POS = 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
*
FIELDCATALOG-FIELDNAME = 'MATNR'.
FIELDCATALOG-SELTEXT_M = 'MAT NO'.
FIELDCATALOG-COL_POS = 2.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
*
FIELDCATALOG-FIELDNAME = 'ERZET'.
FIELDCATALOG-SELTEXT_M = 'TIME'.
FIELDCATALOG-COL_POS = 3.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
ENDFORM. " BUILD_FIELDCATLOG_IT_VBAP
&----
*& Form GRID_DISPLAY1
&----
text
----
--> p1 text
<-- p2 text
----
FORM GRID_DISPLAY1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
I_SAVE = 'A'
IT_EVENTS = EVENTCAT[]
TABLES
T_OUTTAB = IT_VBAP
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. " GRID_DISPLAY1
&----
*& Form BUILD_LAYOUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_LAYOUT.
GD_LAYOUT-NO_INPUT = 'X'.
GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GD_LAYOUT-TOTALS_TEXT = 'Totals'(201).
GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
ENDFORM. " BUILD_LAYOUT