Skip to Content
0
Former Member
Dec 12, 2006 at 01:34 PM

How to display header for secondrary alv list

32 Views

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