MODULE - 2 | LIST GENERATION TECHNIQUES ( ABAP LIST VIEWER.PDF )

 REPORT NAME: REPORT Z20382363_ALV.


QUESTION 01


REPORT Z20382363_ALV.
START-OF-SELECTION.

SELECT FROM VBAK
  INTO TABLE @DATA(LT_VBAK).
  IF SY-SUBRC <> 0.
    MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
  ENDIF.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                SY-CPROG
   I_CALLBACK_PF_STATUS_SET          'MY_MENU'
   I_CALLBACK_USER_COMMAND           'USER_ACTION'
   I_CALLBACK_TOP_OF_PAGE            'TOP_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
   I_STRUCTURE_NAME                  'ZALV_STR'
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
*   IS_LAYOUT                         =
*   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
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
  TABLES
    T_OUTTAB                          LT_VBAK
* EXCEPTIONS
*   PROGRAM_ERROR                     = 1
*   OTHERS                            = 2
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.



FORM TOP_PAGE.

DATA(LT_HEADVALUE SLIS_T_LISTHEADER(
TYP 'H' INFO 'RECORDS FOR SALES HEADER TABLE' )
).

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       LT_HEAD
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
          .


ENDFORM.

FORM MY_MENU USING LT_EX_BUT TYPE SLIS_T_EXTAB.

  SET PF-STATUS 'ZMENU'.

ENDFORM.

FORM USER_ACTION USING I_FCODE TYPE SY-UCOMM
                       I_SELFIELD TYPE SLIS_SELFIELD.

  CASE I_FCODE.
    WHEN 'VBAPDATA'.

      SELECT FROM VBAP
      INTO TABLE @DATA(LT_VBAP)
        FOR ALL ENTRIES IN @LT_VBAK
      WHERE VBELN @LT_VBAK-VBELN.

        DATA(LT_VBAP_TYPEVALUE SLIS_T_FIELDCAT_ALV(
        FIELDNAME 'VBELN' SELTEXT_M 'SALES DOCUMENT' )
        FIELDNAME 'POSNR' SELTEXT_M 'SALES DOCUMENT ITEM' )
        FIELDNAME 'MATNR' SELTEXT_M 'MATERIAL NUMBER' )
        FIELDNAME 'MATKL' SELTEXT_M 'MATERIAL GROUP' )
        FIELDNAME 'POSAR' SELTEXT_M 'ITEM TYPE' )
        FIELDNAME 'STLNR' SELTEXT_M 'BILL OF MATERIAL' )
        FIELDNAME 'NETPR' SELTEXT_M 'NET PRICE' )
        ).
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
*         I_INTERFACE_CHECK                 = ' '
*         I_BYPASSING_BUFFER                = ' '
*         I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                SY-CPROG
*         I_CALLBACK_PF_STATUS_SET          = ' '
*         I_CALLBACK_USER_COMMAND           = ' '
         I_CALLBACK_TOP_OF_PAGE            'TOP_PAGE1'
*         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                       LT_VBAP_TYPE
*         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
*         I_HTML_HEIGHT_TOP                 = 0
*         I_HTML_HEIGHT_END                 = 0
*         IT_ALV_GRAPHICS                   =
*         IT_HYPERLINK                      =
*         IT_ADD_FIELDCAT                   =
*         IT_EXCEPT_QINFO                   =
*         IR_SALV_FULLSCREEN_ADAPTER        =
*       IMPORTING
*         E_EXIT_CAUSED_BY_CALLER           =
*         ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          LT_VBAP
*       EXCEPTIONS
*         PROGRAM_ERROR                     = 1
*         OTHERS                            = 2
                .
      IF SY-SUBRC <> 0.
* Implement suitable error handling here
      ENDIF.

      WHEN 'MARADATA'.
        SELECT FROM MARA
          INTO TABLE @DATA(LT_MARA).

          DATA(LT_MARA_TYPEVALUE SLIS_T_FIELDCAT_ALV(
          FIELDNAME 'MATNR' SELTEXT_M 'MATERIAL NUMBER' )
          FIELDNAME 'MTART' SELTEXT_M 'MATERIAL TYPE' )
          FIELDNAME 'MBRSH' SELTEXT_M 'INDUSTRY SECTOR' )
          FIELDNAME 'MATKL' SELTEXT_M 'MATERIAL GROUP' )
          FIELDNAME 'MEINS' SELTEXT_M 'UNIT OF MEASURE' )
          ).
          CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
*             I_INTERFACE_CHECK                 = ' '
*             I_BYPASSING_BUFFER                = ' '
*             I_BUFFER_ACTIVE                   = ' '
             I_CALLBACK_PROGRAM                SY-CPROG
*             I_CALLBACK_PF_STATUS_SET          = ' '
*             I_CALLBACK_USER_COMMAND           = ' '
             I_CALLBACK_TOP_OF_PAGE            'TOP_PAGE2'
*             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                       LT_MARA_TYPE
*             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
*             I_HTML_HEIGHT_TOP                 = 0
*             I_HTML_HEIGHT_END                 = 0
*             IT_ALV_GRAPHICS                   =
*             IT_HYPERLINK                      =
*             IT_ADD_FIELDCAT                   =
*             IT_EXCEPT_QINFO                   =
*             IR_SALV_FULLSCREEN_ADAPTER        =
*           IMPORTING
*             E_EXIT_CAUSED_BY_CALLER           =
*             ES_EXIT_CAUSED_BY_USER            =
            TABLES
              T_OUTTAB                          LT_MARA
*           EXCEPTIONS
*             PROGRAM_ERROR                     = 1
*             OTHERS                            = 2
                    .
          IF SY-SUBRC <> 0.
* Implement suitable error handling here
          ENDIF.


      WHEN 'EXIT'.
        LEAVE PROGRAM.

    ENDCASE.

ENDFORM.

FORM TOP_PAGE1.

DATA(LT_HEAD1VALUE SLIS_T_LISTHEADER(
TYP 'H' INFO 'RECORDS FOR SALES DOCUMENT ITEM TABLE' )
).

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       LT_HEAD1
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
          .
ENDFORM.

FORM TOP_PAGE2.

  DATA(LT_HEAD2VALUE SLIS_T_LISTHEADER(
  TYP 'H' INFO 'RECORDS FOR MATERIAL MASTER TABLE' )
  ).
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY       LT_HEAD2
*     I_LOGO                   =
*     I_END_OF_LIST_GRID       =
*     I_ALV_FORM               =
            .

ENDFORM.

Comments