*&---------------------------------------------------------------------*
*& Report ZTR_DEMO_REPORT12 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
*Report : ALV Report Classical / Interactive
REPORT ZTR_DEMO_REPORT12 .
TYPE-POOLS : SLIS.
TABLES : VBAK , VBAP , KNA1 .
DATA : GD_REPID LIKE SY-REPID .
***TYPE Declaration .
TYPES : BEGIN OF ST_VBAK ,
VBELN TYPE VBAK-VBELN,
VBTYP TYPE VBAK-VBTYP,
NETWR TYPE VBAK-NETWR,
VKORG TYPE VBAK-VKORG,
BSTNK TYPE VBAK-BSTNK,
VTWEG TYPE VBAK-VTWEG,
SPART TYPE VBAK-SPART,
VKGRP TYPE VBAK-VKGRP,
VKBUR TYPE VBAK-VKBUR,
GSBER TYPE VBAK-GSBER,
KUNNR TYPE VBAK-KUNNR,
END OF ST_VBAK ,
BEGIN OF ST_VBAP ,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
KWMENG TYPE VBAP-KWMENG,
END OF ST_VBAP,
BEGIN OF ST_FINAL ,
VBELN TYPE VBAK-VBELN,
VBTYP TYPE VBAK-VBTYP,
NETWR TYPE VBAK-NETWR,
VKORG TYPE VBAK-VKORG,
BSTNK TYPE VBAK-BSTNK,
VTWEG TYPE VBAK-VTWEG,
SPART TYPE VBAK-SPART,
VKGRP TYPE VBAK-VKGRP,
VKBUR TYPE VBAK-VKBUR,
GSBER TYPE VBAK-GSBER,
KUNNR TYPE VBAK-KUNNR,
NAME1 TYPE KNA1-NAME1,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
KWMENG TYPE VBAP-KWMENG,
END OF ST_FINAL,
BEGIN OF ST_KNA1 ,
KUNNR TYPE KNA1-KUNNR,
NAME1 TYPE KNA1-NAME1,
END OF ST_KNA1.
**** Field Catlog Declaration
DATA: WA_FCAT TYPE SLIS_FIELDCAT_ALV ,
WA_I_FCAT TYPE SLIS_FIELDCAT_ALV ,
W_EVENT TYPE SLIS_ALV_EVENT,
I_EVENT TYPE SLIS_T_EVENT,
IT_FCAT LIKE STANDARD TABLE OF WA_FCAT,
IT_I_FCAT LIKE STANDARD TABLE OF WA_FCAT.
******DATA Declaration .
***Work area declaration .
DATA : WA_VBAK TYPE ST_VBAK,
WA_VBAP TYPE ST_VBAP,
WA_KNA1 TYPE ST_KNA1,
WA_FINAL TYPE ST_FINAL.
***Internal table declaration .
DATA : IT_VBAK LIKE STANDARD TABLE OF WA_VBAK,
IT_VBAP LIKE STANDARD TABLE OF WA_VBAP,
IT_KNA1 LIKE STANDARD TABLE OF WA_KNA1,
IT_FINAL LIKE STANDARD TABLE OF WA_FINAL .
*** Selection-screen design.
SELECTION-SCREEN : BEGIN OF BLOCK B3 WITH FRAME TITLE t3.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE T1 .
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN.
SELECTION-SCREEN : END OF BLOCK B1 .
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE T2 .
PARAMETERS : C_ALV_LT RADIOBUTTON GROUP GRP1,
C_ALV_GD RADIOBUTTON GROUP GRP1,
I_ALV_LT RADIOBUTTON GROUP GRP1,
I_ALV_GD RADIOBUTTON GROUP GRP1.
SELECTION-SCREEN : END OF BLOCK B2 .
SELECTION-SCREEN : END OF BLOCK B3 .
***event : INITILIZATION .
INITIALIZATION.
T1 = 'Selection-screen design' .
T2 = 'ALV Report Interactive / Classical ' .
t3 = 'all datas'.
***Event : AT SELECTION-SCREEN ON FIELD .
AT SELECTION-SCREEN ON S_VBELN .
IF S_VBELN IS INITIAL.
MESSAGE 'Please enter a value' TYPE 'E'.
ENDIF.
***START-OF-SELECTION .
START-OF-SELECTION.
PERFORM GETDATA .
PERFORM FIELD_CATLOG .
IF C_ALV_LT = 'X'.
PERFORM C_ALV_LIST .
ENDIF.
IF C_ALV_GD = 'X'.
PERFORM C_ALV_GRID .
ENDIF.
IF I_ALV_LT = 'X'.
PERFORM I_ALV_LIST .
ENDIF.
IF I_ALV_GD = 'X'.
PERFORM I_ALV_GRID .
ENDIF.
***END-OF-SELECTION .
*&---------------------------------------------------------------------*
*& Form GETDATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GETDATA .
SELECT VBELN
VBTYP
NETWR
VKORG
BSTNK
VTWEG
SPART
VKGRP
VKBUR
GSBER
KUNNR
FROM VBAK
INTO TABLE IT_VBAK
WHERE VBELN IN S_VBELN .
IF IT_VBAK[] IS NOT INITIAL.
SELECT KUNNR
NAME1
FROM KNA1
INTO TABLE IT_KNA1
FOR ALL ENTRIES IN IT_VBAK
WHERE KUNNR EQ IT_VBAK-KUNNR.
SELECT VBELN
POSNR
MATNR
ARKTX
KWMENG
FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VBELN EQ IT_VBAK-VBELN.
ENDIF.
LOOP AT IT_VBAP INTO WA_VBAP.
MOVE : WA_VBAP-VBELN TO WA_FINAL-VBELN,
WA_VBAP-POSNR TO WA_FINAL-POSNR,
WA_VBAP-MATNR TO WA_FINAL-MATNR,
WA_VBAP-ARKTX TO WA_FINAL-ARKTX,
WA_VBAP-KWMENG TO WA_FINAL-KWMENG.
APPEND WA_FINAL TO IT_FINAL.
ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_FINAL-VBELN .
IF SY-SUBRC EQ 0 .
MOVE : WA_VBAK-VBTYP TO WA_FINAL-VBTYP,
WA_VBAK-NETWR TO WA_FINAL-NETWR,
WA_VBAK-VKORG TO WA_FINAL-VKORG,
WA_VBAK-BSTNK TO WA_FINAL-BSTNK,
WA_VBAK-VTWEG TO WA_FINAL-VTWEG,
WA_VBAK-SPART TO WA_FINAL-SPART,
WA_VBAK-VKGRP TO WA_FINAL-VKGRP,
WA_VBAK-VKBUR TO WA_FINAL-VKBUR,
WA_VBAK-GSBER TO WA_FINAL-GSBER,
WA_VBAK-KUNNR TO WA_FINAL-KUNNR.
ENDIF.
READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_FINAL-KUNNR .
IF SY-SUBRC EQ 0 .
MOVE : WA_KNA1-NAME1 TO WA_FINAL-NAME1.
ENDIF.
MODIFY IT_FINAL FROM WA_FINAL .
ENDLOOP.
ENDFORM. " GETDATA
*&---------------------------------------------------------------------*
*& Form C_ALV_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM C_ALV_LIST .
PERFORM ALV_LIST.
ENDFORM. " C_ALV_LIST
*&---------------------------------------------------------------------*
*& Form Field_catlog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FIELD_CATLOG .
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-COL_POS = '1' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Sales Order'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VBTYP'.
WA_FCAT-COL_POS = '2' .
WA_FCAT-OUTPUTLEN = '1'.
WA_FCAT-SELTEXT_L = 'SD document category'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'NETWR'.
WA_FCAT-COL_POS = '3' .
WA_FCAT-OUTPUTLEN = '15'.
WA_FCAT-SELTEXT_L = 'Net Value'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VKORG'.
WA_FCAT-COL_POS = '4' .
WA_FCAT-OUTPUTLEN = '4'.
WA_FCAT-SELTEXT_L = 'Sales Organization'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BSTNK'.
WA_FCAT-COL_POS = '5' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'purchase order number'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VTWEG'.
WA_FCAT-COL_POS = '6' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Distribution Channel'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'SPART'.
WA_FCAT-COL_POS = '7' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Division'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VKGRP'.
WA_FCAT-COL_POS = '8' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Sales group'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VKBUR'.
WA_FCAT-COL_POS = '9' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Sales office'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'GSBER'.
WA_FCAT-COL_POS = '10' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Business Area'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'KUNNR'.
WA_FCAT-COL_POS = '11' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'SOLD TO PARTY'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'NAME1'.
WA_FCAT-COL_POS = '12' .
WA_FCAT-OUTPUTLEN = '20'.
WA_FCAT-SELTEXT_L = 'Customer Number'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'POSNR'.
WA_FCAT-COL_POS = '13' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Item No'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-COL_POS = '14' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Material'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'ARKTX'.
WA_FCAT-COL_POS = '15' .
WA_FCAT-OUTPUTLEN = '50'.
WA_FCAT-SELTEXT_L = 'Material Description'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'KWMENG'.
WA_FCAT-COL_POS = '16' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Sales Order Qty'.
APPEND WA_FCAT TO IT_FCAT.
ENDFORM. " Field_catlog
*&---------------------------------------------------------------------*
*& Form alv_list
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_LIST .
GD_REPID = SY-REPID .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
IT_FIELDCAT = IT_FCAT
* 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
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
* 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. " alv_list
*&---------------------------------------------------------------------*
*& Form C_ALV_GRID
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM C_ALV_GRID .
GD_REPID = SY-REPID .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_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_FCAT
* 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_FINAL
* 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. " C_ALV_GRID
*&---------------------------------------------------------------------*
*& Form I_ALV_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM I_ALV_LIST .
FREE : IT_FCAT,
IT_VBAP.
SORT IT_FINAL BY VBELN.
DELETE ADJACENT DUPLICATES FROM IT_FINAL COMPARING VBELN.
PERFORM FIELD_CATLOG_INTERACTIVE .
PERFORM ALV_INTERACTIVE .
ENDFORM. " I_ALV_LIST
*&---------------------------------------------------------------------*
*& Form ALV_Interactive
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_INTERACTIVE .
GD_REPID = SY-REPID .
IF I_ALV_GD = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_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_FCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =
* IS_VARIANT =
IT_EVENTS = I_EVENT
* 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_FINAL
* 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.
ENDIF.
IF I_ALV_LT = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
IT_FIELDCAT = IT_FCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = I_EVENT
* 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
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
* 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.
ENDIF.
ENDFORM. " ALV_Interactive
*&---------------------------------------------------------------------*
*& Form FIELD_CATLOG_interactive
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FIELD_CATLOG_INTERACTIVE .
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-COL_POS = '1' .
WA_FCAT-OUTPUTLEN = '10'.
WA_FCAT-SELTEXT_L = 'Sales Order'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VBTYP'.
WA_FCAT-COL_POS = '2' .
WA_FCAT-OUTPUTLEN = '1'.
WA_FCAT-SELTEXT_L = 'SD document category'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'NETWR'.
WA_FCAT-COL_POS = '3' .
WA_FCAT-OUTPUTLEN = '15'.
WA_FCAT-SELTEXT_L = 'Net Value'.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'VKORG'.
WA_FCAT-COL_POS = '4' .
WA_FCAT-OUTPUTLEN = '4'.
WA_FCAT-SELTEXT_L = 'Sales Organization'.
APPEND WA_FCAT TO IT_FCAT.
W_EVENT-NAME = 'USER_COMMAND'.
W_EVENT-FORM = 'INTERACTIVE_FORM'.
APPEND W_EVENT TO I_EVENT.
ENDFORM. " FIELD_CATLOG_interactive
*&--------------------------------------------------------------------*
*& Form INTERACTIVE_FORM
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->USER_COMMANtext
* -->SEL text
*---------------------------------------------------------------------*
FORM INTERACTIVE_FORM USING USER_COMMAND LIKE SY-UCOMM
SEL TYPE SLIS_SELFIELD.
DATA: CUS(10) TYPE N,
SAL(10).
IF SEL-FIELDNAME = 'VBELN'.
CUS = SEL-VALUE.
SELECT VBELN
POSNR
MATNR
ARKTX
KWMENG
FROM VBAP
INTO TABLE IT_VBAP
WHERE VBELN EQ CUS.
PERFORM IT_I_FCAT.
GD_REPID = SY-REPID.
IF I_ALV_LT = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
IT_FIELDCAT = IT_I_FCAT
* 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
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
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.
ENDIF.
IF I_ALV_GD = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_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_I_FCAT
* 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_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.
ENDIF.
ENDIF.
ENDFORM. "INTERACTIVE_FORM
*&---------------------------------------------------------------------*
*& Form IT_I_FCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM IT_I_FCAT .
WA_I_FCAT-FIELDNAME = 'POSNR'.
WA_I_FCAT-COL_POS = '1' .
WA_I_FCAT-OUTPUTLEN = '10'.
WA_I_FCAT-SELTEXT_L = 'Item No'.
APPEND WA_I_FCAT TO IT_I_FCAT.
WA_I_FCAT-FIELDNAME = 'MATNR'.
WA_I_FCAT-COL_POS = '2' .
WA_I_FCAT-OUTPUTLEN = '10'.
WA_I_FCAT-SELTEXT_L = 'Material'.
APPEND WA_I_FCAT TO IT_I_FCAT.
WA_I_FCAT-FIELDNAME = 'ARKTX'.
WA_I_FCAT-COL_POS = '3' .
WA_I_FCAT-OUTPUTLEN = '50'.
WA_I_FCAT-SELTEXT_L = 'Material Description'.
APPEND WA_I_FCAT TO IT_I_FCAT.
WA_I_FCAT-FIELDNAME = 'KWMENG'.
WA_I_FCAT-COL_POS = '4' .
WA_I_FCAT-OUTPUTLEN = '10'.
WA_I_FCAT-SELTEXT_L = 'Sales Order Qty'.
APPEND WA_I_FCAT TO IT_I_FCAT.
ENDFORM. " IT_I_FCAT
*&---------------------------------------------------------------------*
*& Form I_ALV_GRID
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM I_ALV_GRID .
FREE : IT_FCAT,
IT_VBAP.
SORT IT_FINAL BY VBELN.
DELETE ADJACENT DUPLICATES FROM IT_FINAL COMPARING VBELN.
PERFORM FIELD_CATLOG_INTERACTIVE .
PERFORM ALV_INTERACTIVE .
ENDFORM. " I_ALV_GRID
No comments:
Post a Comment