Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV interactive

Former Member
0 Likes
488

hi all,

i have an ALV report which display several columns in grid/list,

i want to know how to make a single column interactive in an ALV report.

if i click on a particular column it should take me to the next screen.

regards,

Mubashir

1 ACCEPTED SOLUTION
Read only

p291102
Active Contributor
0 Likes
439

Hi,

Herewith i am sending sample alv intereactive report for your kind reference.

REPORT YMS_ALVINTER.

&----


*& tables declaration

&----


TABLES: VBRK,VBRP.

&----


*& type-pools declaration

&----


TYPE-POOLS: SLIS.

&----


*& data declaration

&----


DATA: G_REPID TYPE SY-REPID.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

WA_EVENT TYPE SLIS_ALV_EVENT,

T_EVENT TYPE SLIS_T_EVENT.

DATA: V_VBELN LIKE VBRK-VBELN,

V_MATNR LIKE VBRP-MATNR.

DATA: BEGIN OF IT_VBRK OCCURS 0,

VBELN LIKE VBRK-VBELN,

WAERK LIKE VBRK-WAERK,

VKORG LIKE VBRK-VKORG,

FKDAT LIKE VBRK-FKDAT,

BUKRS LIKE VBRK-BUKRS,

NETWR LIKE VBRK-NETWR,

END OF IT_VBRK.

DATA: BEGIN OF IT_VBRP OCCURS 0,

VBELN LIKE VBRP-VBELN,

POSNR LIKE VBRP-POSNR,

FKIMG LIKE VBRP-FKIMG,

VRKME LIKE VBRP-VRKME,

NETWR LIKE VBRP-NETWR,

MATNR LIKE VBRP-MATNR,

ARKTX LIKE VBRP-ARKTX,

END OF IT_VBRP.

&----


*& selection screen

&----


SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,

S_FKDAT FOR VBRK-FKDAT,

S_MATNR FOR VBRP-MATNR.

SELECTION-SCREEN END OF BLOCK B.

**INITIALIZATION.

INITIALIZATION.

G_REPID = SY-REPID.

S_FKDAT-LOW = SY-DATUM - 200.

S_FKDAT-HIGH = SY-DATUM.

APPEND S_FKDAT.

***AT SELECTION-SCREEN.

AT SELECTION-SCREEN.

IF NOT S_VBELN IS INITIAL.

SELECT SINGLE VBELN FROM VBRK

INTO V_VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E001(ZZ2).

ENDIF.

ENDIF.

IF NOT S_MATNR IS INITIAL.

SELECT SINGLE MATNR FROM MARA

INTO V_MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC <> 0.

MESSAGE E001(ZZ2).

ENDIF.

ENDIF.

***START-OF-SELECTION.

START-OF-SELECTION.

PERFORM GET_DATA_VBRK.

&----


*& Form GET_DATA_VBRK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_VBRK .

SELECT VBELN

WAERK

VKORG

FKDAT

BUKRS

NETWR

INTO TABLE IT_VBRK

FROM VBRK

WHERE VBELN IN S_VBELN

AND FKDAT IN S_FKDAT.

ENDFORM. " GET_DATA_VBRK

&----


*& Form GET_DATA_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_VBRP .

SELECT VBELN

POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO TABLE IT_VBRP

WHERE VBELN = IT_VBRK-VBELN.

ENDFORM. " GET_DATA_VBRP

***END-OF-SELECTION.

END-OF-SELECTION.

PERFORM EVENT_LIST.

PERFORM GET_FIELD_CATALOG.

PERFORM LIST_DISP .

&----


*& Form list_disp

&----


  • text

----


FORM LIST_DISP .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

  • I_CALLBACK_PF_STATUS_SET = 'POPUP'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRK

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. " LIST_DISP

&----


*& Form GET_FIELD_CATALOG

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_FIELD_CATALOG .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = G_REPID

I_INTERNAL_TABNAME = 'IT_VBRK'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = G_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

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. " GET_FIELD_CATALOG

&----


*& Form event_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM EVENT_LIST .

CLEAR WA_EVENT.

WA_EVENT-NAME = 'USER_COMMAND'.

WA_EVENT-FORM = 'USER_COMMAND'.

APPEND WA_EVENT TO T_EVENT.

CLEAR WA_EVENT.

ENDFORM. " event_list

&----


*& Form user_command

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELDtext

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

READ TABLE IT_VBRK INDEX RS_SELFIELD-TABINDEX.

PERFORM GET_DATA_VBRP.

PERFORM BUILD_FIELDCATALOG_VBRP .

PERFORM DISPLAY_ALV_VBRP.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELDCATALOG_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FIELDCATALOG_VBRP .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = G_REPID

I_INTERNAL_TABNAME = 'IT_VBRP'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = G_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

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. " BUILD_FIELDCATALOG_VBRP

&----


*& Form DISPLAY_ALV_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_ALV_VBRP .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRP

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. " DISPLAY_ALV_VBRP

Thanks,

Shankar

3 REPLIES 3
Read only

p291102
Active Contributor
0 Likes
440

Hi,

Herewith i am sending sample alv intereactive report for your kind reference.

REPORT YMS_ALVINTER.

&----


*& tables declaration

&----


TABLES: VBRK,VBRP.

&----


*& type-pools declaration

&----


TYPE-POOLS: SLIS.

&----


*& data declaration

&----


DATA: G_REPID TYPE SY-REPID.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

WA_EVENT TYPE SLIS_ALV_EVENT,

T_EVENT TYPE SLIS_T_EVENT.

DATA: V_VBELN LIKE VBRK-VBELN,

V_MATNR LIKE VBRP-MATNR.

DATA: BEGIN OF IT_VBRK OCCURS 0,

VBELN LIKE VBRK-VBELN,

WAERK LIKE VBRK-WAERK,

VKORG LIKE VBRK-VKORG,

FKDAT LIKE VBRK-FKDAT,

BUKRS LIKE VBRK-BUKRS,

NETWR LIKE VBRK-NETWR,

END OF IT_VBRK.

DATA: BEGIN OF IT_VBRP OCCURS 0,

VBELN LIKE VBRP-VBELN,

POSNR LIKE VBRP-POSNR,

FKIMG LIKE VBRP-FKIMG,

VRKME LIKE VBRP-VRKME,

NETWR LIKE VBRP-NETWR,

MATNR LIKE VBRP-MATNR,

ARKTX LIKE VBRP-ARKTX,

END OF IT_VBRP.

&----


*& selection screen

&----


SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,

S_FKDAT FOR VBRK-FKDAT,

S_MATNR FOR VBRP-MATNR.

SELECTION-SCREEN END OF BLOCK B.

**INITIALIZATION.

INITIALIZATION.

G_REPID = SY-REPID.

S_FKDAT-LOW = SY-DATUM - 200.

S_FKDAT-HIGH = SY-DATUM.

APPEND S_FKDAT.

***AT SELECTION-SCREEN.

AT SELECTION-SCREEN.

IF NOT S_VBELN IS INITIAL.

SELECT SINGLE VBELN FROM VBRK

INTO V_VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E001(ZZ2).

ENDIF.

ENDIF.

IF NOT S_MATNR IS INITIAL.

SELECT SINGLE MATNR FROM MARA

INTO V_MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC <> 0.

MESSAGE E001(ZZ2).

ENDIF.

ENDIF.

***START-OF-SELECTION.

START-OF-SELECTION.

PERFORM GET_DATA_VBRK.

&----


*& Form GET_DATA_VBRK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_VBRK .

SELECT VBELN

WAERK

VKORG

FKDAT

BUKRS

NETWR

INTO TABLE IT_VBRK

FROM VBRK

WHERE VBELN IN S_VBELN

AND FKDAT IN S_FKDAT.

ENDFORM. " GET_DATA_VBRK

&----


*& Form GET_DATA_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_VBRP .

SELECT VBELN

POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO TABLE IT_VBRP

WHERE VBELN = IT_VBRK-VBELN.

ENDFORM. " GET_DATA_VBRP

***END-OF-SELECTION.

END-OF-SELECTION.

PERFORM EVENT_LIST.

PERFORM GET_FIELD_CATALOG.

PERFORM LIST_DISP .

&----


*& Form list_disp

&----


  • text

----


FORM LIST_DISP .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

  • I_CALLBACK_PF_STATUS_SET = 'POPUP'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRK

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. " LIST_DISP

&----


*& Form GET_FIELD_CATALOG

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_FIELD_CATALOG .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = G_REPID

I_INTERNAL_TABNAME = 'IT_VBRK'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = G_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

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. " GET_FIELD_CATALOG

&----


*& Form event_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM EVENT_LIST .

CLEAR WA_EVENT.

WA_EVENT-NAME = 'USER_COMMAND'.

WA_EVENT-FORM = 'USER_COMMAND'.

APPEND WA_EVENT TO T_EVENT.

CLEAR WA_EVENT.

ENDFORM. " event_list

&----


*& Form user_command

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELDtext

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

READ TABLE IT_VBRK INDEX RS_SELFIELD-TABINDEX.

PERFORM GET_DATA_VBRP.

PERFORM BUILD_FIELDCATALOG_VBRP .

PERFORM DISPLAY_ALV_VBRP.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELDCATALOG_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FIELDCATALOG_VBRP .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = G_REPID

I_INTERNAL_TABNAME = 'IT_VBRP'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = G_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

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. " BUILD_FIELDCATALOG_VBRP

&----


*& Form DISPLAY_ALV_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_ALV_VBRP .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRP

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. " DISPLAY_ALV_VBRP

Thanks,

Shankar

Read only

Former Member
0 Likes
439

Hi,

In REUSE_ALV_LIST_DISPLAY you have one exporting parameter called

<b> it_events </b>

data: itab TYPE SLIS_T_EVENT.

we need to pass internal table to this.

we have to pass data for two fields Name and Form.

Name is event name

and form is a subroutine name in that we can give instruction regarding the event.

eg,

itab-name = 'AT LINE-SELECTION'.

itab-form = 'LINE_SELECTION.--> form name.

Reward if helpful.

Regards,

Sandhya

Read only

Former Member
0 Likes
439

&----


*& Report YSAI_ALV5 *

*& *

&----


*& *

*& *

&----


REPORT YSAI_ALV5 .

TYPE-POOLS : SLIS. " DECLARTION OF VARIABLES.

TABLES : KNA1, "CUSTOMER MASTER TABLE

VBAK, "SALES ORDER HEADER

VBAP. "ITEM DETAILS

&----


*& TO PASS NAME OF THE REPORT IN FUNCTION MODULE FOR ALV *

&----


DATA : I_REPID LIKE SY-REPID.

I_REPID = SY-REPID.

&----


*& DEFINGING A INTERNAL TABLE FOR CATALOG OF THE FIELDS TO DISPLAYED *

&----


DATA : W_FCAT TYPE SLIS_FIELDCAT_ALV.

DATA : T_FCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA : W_FCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA : T_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.

DATA : W_FCAT2 TYPE SLIS_FIELDCAT_ALV.

DATA : T_FCAT2 TYPE SLIS_T_FIELDCAT_ALV.

&----


*& DEFINGING A INTERNAL TABLE FOR CATALOG OF THE EVENTS TO DISPLAYED *

&----


DATA : W_EVENTS TYPE SLIS_ALV_EVENT.

DATA : T_EVENTS TYPE SLIS_T_EVENT.

DATA : W_EVENTS1 TYPE SLIS_ALV_EVENT.

DATA : T_EVENTS1 TYPE SLIS_T_EVENT.

DATA : W_EVENTS2 TYPE SLIS_ALV_EVENT.

DATA : T_EVENTS2 TYPE SLIS_T_EVENT.

&----


*& DEFINGING INTERNAL TABLE TO CAPTURE LISTHEADER IN ALV *

&----


DATA : W_LIST TYPE SLIS_LISTHEADER.

DATA : T_LIST TYPE SLIS_T_LISTHEADER.

DATA : W_LIST1 TYPE SLIS_LISTHEADER.

DATA : T_LIST1 TYPE SLIS_LISTHEADER OCCURS 1.

DATA : W_LIST2 TYPE SLIS_LISTHEADER.

DATA : T_LIST2 TYPE SLIS_T_LISTHEADER.

*DATA : W_LAYOUT TYPE SLIS_LAYOUT_ALV .

DATA : T_LAYOUT TYPE SLIS_LAYOUT_ALV .

DATA : T_LAYOUT1 TYPE SLIS_LAYOUT_ALV .

DATA : T_LAYOUT2 TYPE SLIS_LAYOUT_ALV .

T_LAYOUT-NO_VLINE = 'X'.

*T_LAYOUT-NO_COLHEAD = 'X'.

T_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

*T_LAYOUT-LIGHTS_FIELDNAME = '1'.

T_LAYOUT-BOX_FIELDNAME = 'NAME1'.

*T_layout-edit = 'X'.

&----


*& PASSING TOP_OF_PAGE EVENT TO EVENTS INTERNAL TABLE *

&----


W_EVENTS-NAME = 'TOP_OF_PAGE'.

W_EVENTS-FORM = 'TOP'.

APPEND W_EVENTS TO T_EVENTS.

W_EVENTS-NAME = 'END_OF_PAGE'.

W_EVENTS-FORM = 'END'.

APPEND W_EVENTS TO T_EVENTS.

W_EVENTS-NAME = 'USER_COMMAND'.

W_EVENTS-FORM = 'USECOMM'.

APPEND W_EVENTS TO T_EVENTS.

W_EVENTS1-NAME = 'TOP_OF_PAGE'.

W_EVENTS1-FORM = 'TOP1'.

APPEND W_EVENTS1 TO T_EVENTS1.

W_EVENTS1-NAME = 'USER_COMMAND'.

W_EVENTS1-FORM = 'USECOMM1'.

APPEND W_EVENTS1 TO T_EVENTS1.

W_EVENTS2-NAME = 'TOP_OF_PAGE'.

W_EVENTS2-FORM = 'TOP2'.

APPEND W_EVENTS2 TO T_EVENTS2.

&----


*& PASSING LIST FIELD FOR LISTHEADER *

&----


W_LIST-TYP = 'H'. "H IS FOR HEADING TYPE S IS FOR SELCETION TYPE A IS FOR ACTION TYPE

W_LIST-INFO = ' KALA JYOTHI PROCESS PVT.LTD '.

APPEND W_LIST TO T_LIST.

CLEAR W_LIST.

W_LIST-TYP = 'H'.

W_LIST-INFO = 'HYDERABAD'.

APPEND W_LIST TO T_LIST.

CLEAR W_LIST.

&----


*& INPUTING THE DATA INTO FIELD CATALOG FOR KNA1 *

&----


W_FCAT-COL_POS = 1.

W_FCAT-FIELDNAME = 'KUNNR'.

W_FCAT-SELTEXT_M = 'CUSTOMER NO'.

W_FCAT-EMPHASIZE = 'C51'.

W_FCAT-HOTSPOT = 'X'.

W_FCAT-JUST = 'C'.

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

W_FCAT-COL_POS = 2.

W_FCAT-FIELDNAME = 'NAME1'.

W_FCAT-SELTEXT_M = 'CUSTOMER NAME'.

W_FCAT-OUTPUTLEN = 25.

W_FCAT-EMPHASIZE = 'C61'.

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

W_FCAT-COL_POS = 3.

W_FCAT-FIELDNAME = 'ORT01'.

W_FCAT-SELTEXT_M = 'CITY'.

W_FCAT-EMPHASIZE = 'C31'.

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

W_FCAT-COL_POS = 4.

W_FCAT-FIELDNAME = 'LAND1'.

W_FCAT-SELTEXT_M = 'COUNTRY'.

W_FCAT-JUST = 'C'.

W_FCAT-EMPHASIZE = 'C41'.

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

W_FCAT-COL_POS = 5.

W_FCAT-FIELDNAME = 'STRAS'.

W_FCAT-SELTEXT_M = 'ADDRESS'.

W_FCAT-EMPHASIZE = 'C21'.

W_FCAT-OUTPUTLEN = 25.

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

W_FCAT-COL_POS = 6.

W_FCAT-FIELDNAME = 'TELF1'.

W_FCAT-SELTEXT_M = 'PHONE NO'.

W_FCAT-EMPHASIZE = 'C6'.

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

&----


*& INPUTING THE DATA INTO FIELD CATALOG FOR VBAK *

&----


W_FCAT1-COL_POS = 1.

W_FCAT1-FIELDNAME = 'VBELN'.

W_FCAT1-SELTEXT_M = 'ORDERNO'.

W_FCAT1-HOTSPOT = 'X'.

W_FCAT1-JUST = 'C'.

W_FCAT1-EMPHASIZE = 'C51'.

APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.

W_FCAT1-COL_POS = 2.

W_FCAT1-FIELDNAME = 'ERDAT'.

W_FCAT1-SELTEXT_M = 'ORDERDATE'.

W_FCAT1-EMPHASIZE = 'C71'.

APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.

W_FCAT1-COL_POS = 3.

W_FCAT1-FIELDNAME = 'NETWR'.

W_FCAT1-SELTEXT_M = 'ODERVALUE'.

W_FCAT1-EMPHASIZE = 'C41'.

APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.

W_FCAT1-COL_POS = 4.

W_FCAT1-FIELDNAME = 'ERNAM'.

W_FCAT1-SELTEXT_M = 'CREATED BY'.

W_FCAT1-EMPHASIZE = 'C61'.

APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.

W_FCAT1-COL_POS = 5.

W_FCAT1-FIELDNAME = 'VDATU'.

W_FCAT1-SELTEXT_M = 'DELIVERY DATE'.

W_FCAT1-EMPHASIZE = 'C31'.

APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.

&----


*& INPUTING THE DATA INTO FIELD CATALOG FOR VBAP *

&----


W_FCAT2-COL_POS = 1.

W_FCAT2-FIELDNAME = 'POSNR'.

W_FCAT2-SELTEXT_M = 'ITEM NO'.

W_FCAT2-HOTSPOT = 'X'.

W_FCAT2-JUST = 'C'.

W_FCAT2-EMPHASIZE = 'C41'.

APPEND W_FCAT2 TO T_FCAT2.

CLEAR W_FCAT2.

W_FCAT2-COL_POS = 2.

W_FCAT2-FIELDNAME = 'NETPR'.

W_FCAT2-SELTEXT_M = 'ITEM VALUE'.

W_FCAT2-EMPHASIZE = 'C51'.

APPEND W_FCAT2 TO T_FCAT2.

CLEAR W_FCAT2.

W_FCAT2-COL_POS = 3.

W_FCAT2-FIELDNAME = 'ARKTX'.

W_FCAT2-SELTEXT_M = 'ITEM DESCRIPTION'.

W_FCAT2-EMPHASIZE = 'C31'.

APPEND W_FCAT2 TO T_FCAT2.

CLEAR W_FCAT2.

W_FCAT2-COL_POS = 4.

W_FCAT2-FIELDNAME = 'WERKS'.

W_FCAT2-SELTEXT_M = 'PLANT NO'.

W_FCAT2-JUST = 'C'.

W_FCAT2-EMPHASIZE = 'C21'.

APPEND W_FCAT2 TO T_FCAT2.

CLEAR W_FCAT2.

W_FCAT2-COL_POS = 5.

W_FCAT2-FIELDNAME = 'VOLUM'.

W_FCAT2-SELTEXT_M = 'QUANTITY'.

W_FCAT2-JUST = 'C'.

W_FCAT2-EMPHASIZE = 'C31'.

APPEND W_FCAT2 TO T_FCAT2.

CLEAR W_FCAT2.

&----


*& DEFINGING DATA TYPES *

&----


TYPES: BEGIN OF TY_KNA1,

KUNNR TYPE KUNNR, " CUSTOMER NUMBER

NAME1 TYPE NAME1, " CUSTOMER NAME

ORT01 TYPE ORT01, " CUSTOMER CITY

LAND1 TYPE LAND1,

STRAS TYPE STRAS,

TELF1 TYPE TELF1,

END OF TY_KNA1.

&----


*& DEFINGING A INTERNAL TABLE CATALOG *

&----


DATA : W_KNA1 TYPE TY_KNA1.

DATA : T_KNA1 TYPE STANDARD TABLE OF TY_KNA1 INITIAL SIZE 1.

&----


*& SELECT-OPTION *

&----


SELECT-OPTIONS : S_CUSTNO FOR KNA1-KUNNR DEFAULT 1300 TO 1500.

&----


*& EXTRACT DATA *

&----


START-OF-SELECTION.

SELECT

KUNNR

NAME1

ORT01

LAND1

STRAS

TELF1

FROM KNA1 INTO CORRESPONDING FIELDS OF TABLE T_KNA1 WHERE KUNNR IN S_CUSTNO .

IF SY-SUBRC NE 0 .

LEAVE TO LIST-PROCESSING.

ENDIF.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = I_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

I_BACKGROUND_ID = 'SAIID1' " TC = OAER AND CREATE OBJECT

I_GRID_TITLE = 'LIST OF SALES ORDERS'

  • I_GRID_SETTINGS =

IS_LAYOUT = T_LAYOUT

IT_FIELDCAT = T_FCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = T_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = T_KNA1

  • 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.

  • &---------------------------------------------------------------------*

  • & FORM TOP_OF_PAGE *

  • &---------------------------------------------------------------------*

FORM TOP.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_LIST

I_LOGO = 'SAILOGO'.

ENDFORM.

FORM END.

ENDFORM.

&----


*& DEFINGING DATA TYPES *

&----


TYPES: BEGIN OF TY_VBAK,

KUNNR TYPE KUNNR, " CUSTOMER NUMBER

VBELN TYPE VBELN,

ERDAT TYPE ERDAT,

NETWR TYPE NETWR,

ERNAM TYPE ERNAM,

VDATU TYPE EDATU_VBAK,

END OF TY_VBAK.

&----


*& DEFINGING A INTERNAL TABLE CATALOG *

&----


DATA : W_VBAK TYPE TY_VBAK.

DATA : T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1 .

FORM USECOMM

USING UCOMM LIKE SY-UCOMM

FIELDS TYPE SLIS_SELFIELD.

READ TABLE T_KNA1 INTO W_KNA1 INDEX FIELDS-TABINDEX.

IF FIELDS-FIELDNAME = 'KUNNR'.

SELECT

VBELN

ERDAT

NETWR

ERNAM

VDATU

FROM VBAK INTO CORRESPONDING FIELDS OF TABLE T_VBAK WHERE KUNNR = W_KNA1-KUNNR.

T_LAYOUT1-COLWIDTH_OPTIMIZE = 'X'.

T_LAYOUT1-BOX_FIELDNAME = 'VBELN'.

IF SY-DBCNT NE SPACE.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = I_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ''

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

I_BACKGROUND_ID = 'SAIID1' " TC = OAER AND CREATE OBJECT FOR BACKGROUND

I_GRID_TITLE = 'ORDER DETAILS'

  • I_GRID_SETTINGS =

IS_LAYOUT = T_LAYOUT1

IT_FIELDCAT = T_FCAT1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = T_EVENTS1

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = T_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.

ELSE. "THIS IS ENDING STATEMENT FOR DBCNT.

MESSAGE E001(YSAI).

ENDIF.

ELSE. "THIS IS ENDING STATEMENT FOR SORSOR FIELD.

MESSAGE E000(YSAI).

ENDIF.

ENDFORM.

  • &---------------------------------------------------------------------*

  • & FORM TOP_OF_PAGE *

  • &---------------------------------------------------------------------*

FORM TOP1.

W_LIST1-TYP = 'S'.

W_LIST1-KEY = 'CUSTOMER NO'.

W_LIST1-INFO = W_KNA1-KUNNR.

APPEND W_LIST1 TO T_LIST1.

W_LIST1-TYP = 'S'.

W_LIST1-KEY = 'CUSTOMER NAME'.

W_LIST1-INFO = W_KNA1-NAME1.

APPEND W_LIST1 TO T_LIST1.

W_LIST1-TYP = 'S'.

W_LIST1-KEY = 'CITY'.

W_LIST1-INFO = W_KNA1-ORT01.

APPEND W_LIST1 TO T_LIST1.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_LIST1

I_LOGO = 'SAILOGO'.

REFRESH T_LIST1.

ENDFORM.

&----


*& DEFINGING DATA TYPES *

&----


TYPES: BEGIN OF TY_VBAP,

VBELN TYPE VBELN,

POSNR TYPE POSNR, " ITEM

NETPR TYPE NETPR, " ORDER VALUE

ARKTX TYPE ARKTX, " ITEM DESCRIPTION

WERKS TYPE WERKS_EXT, " PLANT NUMBER

VOLUM TYPE VOLUM_AP, " Volume of the item

END OF TY_VBAP.

&----


*& DEFINGING A INTERNAL TABLE CATALOG *

&----


DATA : W_VBAP TYPE TY_VBAP.

DATA : T_VBAP TYPE STANDARD TABLE OF TY_VBAP INITIAL SIZE 1 .

FORM USECOMM1

USING UCOMM LIKE SY-UCOMM

FIELDS TYPE SLIS_SELFIELD.

READ TABLE T_VBAK INTO W_VBAK INDEX FIELDS-TABINDEX.

IF FIELDS-FIELDNAME = 'VBELN'.

SELECT

POSNR

NETPR

ARKTX

WERKS

VOLUM

FROM VBAP INTO CORRESPONDING FIELDS OF TABLE T_VBAP WHERE VBELN = W_VBAK-VBELN.

T_LAYOUT2-COLWIDTH_OPTIMIZE = 'X'.

T_LAYOUT2-BOX_FIELDNAME = 'VBELN'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = I_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

I_BACKGROUND_ID = 'SAIID2' " TC = OAER AND CREATE OBJECT

I_GRID_TITLE = 'ITEM DETAILS '

  • I_GRID_SETTINGS =

IS_LAYOUT = T_LAYOUT2

IT_FIELDCAT = T_FCAT2

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = T_EVENTS2

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = T_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.

ELSEIF FIELDS-FIELDNAME = 'ERDAT'.

SET PARAMETER ID 'AUN' FIELD W_VBAK-VBELN.

CALL TRANSACTION 'VA02'.

ELSE. "THIS IS ENDING STATEMENT FOR SORSOR FIELD.

MESSAGE I002(YSAI).

ENDIF.

ENDFORM.

  • &---------------------------------------------------------------------*

  • & FORM TOP_OF_PAGE *

  • &---------------------------------------------------------------------*

FORM TOP2.

W_LIST2-TYP = 'S'.

W_LIST2-KEY = 'CUSTOMER NO'.

W_LIST2-INFO = W_KNA1-KUNNR.

APPEND W_LIST2 TO T_LIST2.

W_LIST2-TYP = 'S'.

W_LIST2-KEY = 'CUSTOMER NAME'.

W_LIST2-INFO = W_KNA1-NAME1.

APPEND W_LIST2 TO T_LIST2.

W_LIST2-TYP = 'S'.

W_LIST2-KEY = 'ORDER NO'.

W_LIST2-INFO = W_VBAK-VBELN.

APPEND W_LIST2 TO T_LIST2.

W_LIST2-TYP = 'S'.

W_LIST2-KEY = 'ORDER DATE'.

W_LIST2-INFO = W_VBAK-ERDAT.

APPEND W_LIST2 TO T_LIST2.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_LIST2

I_LOGO = 'SAILOGO'.

REFRESH T_LIST2.

ENDFORM.

regards

sai kumar