REPORT  ZCLASS_G17.
TABLES VBAK.
SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.
DATA: BEGIN OF IT_VBAK OCCURS 0,
        VBELN LIKE
VBAK-VBELN,
        ERDAT LIKE
VBAK-ERDAT,
        ERNAM LIKE
VBAK-ERNAM,
        KUNNR LIKE
VBAK-KUNNR,
        NETWR LIKE VBAK-NETWR,
      END OF IT_VBAK.
DATA IT_VBAP LIKE VBAP OCCURS 0 WITH HEADER LINE.
TYPE-POOLS SLIS.
DATA IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA IT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA WA_SORT TYPE SLIS_SORTINFO_ALV.
START-OF-SELECTION.
  SELECT VBELN
         ERDAT
         ERNAM
         KUNNR
         NETWR INTO TABLE
IT_VBAK
               FROM VBAK
               WHERE VBELN
IN S_VBELN.
END-OF-SELECTION.
  PERFORM BUILD_FIELDS USING
'VBELN' 'Sales Doc' 'X' 20 ' ' ' ' ' '.
  PERFORM BUILD_FIELDS USING
'ERDAT' 'Date' ' ' 10 '__-__-____' ' ' ' '.
  PERFORM BUILD_FIELDS USING
'ERNAM' 'User' ' ' ' ' ' ' ' ' ' '.
  PERFORM BUILD_FIELDS USING
'KUNNR' 'Customer' ' ' ' ' ' ' 'C710' ' '.
  PERFORM BUILD_FIELDS USING
'NETWR' 'Amount' ' ' ' ' ' ' ' ' 'X'.
*---
  WA_LAYOUT-ZEBRA = 'X'.
 
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
*--
  WA_SORT-FIELDNAME =
'KUNNR'.
  WA_SORT-UP = 'X'.
  WA_SORT-SUBTOT = 'X'.
  APPEND WA_SORT TO IT_SORT.
*--
  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          = 'ALV_PF'
  
I_CALLBACK_USER_COMMAND          
= 'SECOND_LIST'
    
I_CALLBACK_TOP_OF_PAGE           
= 'TOP_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_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                          = 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.
*&---------------------------------------------------------------------*
*&      Form  TOP_PAGE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM TOP_PAGE.
  DATA IT_HEADER TYPE  SLIS_T_LISTHEADER.
  DATA WA_HEADER TYPE
SLIS_LISTHEADER.
  WA_HEADER-TYP = 'H'.
  WA_HEADER-INFO = 'Sales
Document Header Details'.
  APPEND WA_HEADER TO
IT_HEADER.
  WA_HEADER-TYP = 'S'.
  WA_HEADER-INFO = 'Sales
Document Header Details'.
  APPEND WA_HEADER TO
IT_HEADER.
  WA_HEADER-TYP = 'A'.
  WA_HEADER-INFO = 'Sales
Document Header Details'.
  APPEND WA_HEADER TO
IT_HEADER.
  CALL FUNCTION
'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
     
IT_LIST_COMMENTARY       =
IT_HEADER
   I_LOGO                   = 'ZG01'
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
            .
ENDFORM.                   
"TOP_PAGE
*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDS
*&---------------------------------------------------------------------*
FORM BUILD_FIELDS 
USING    VALUE(P_0081)
                           
VALUE(P_0082)
                           
VALUE(P_0083)
                           
VALUE(P_20)
                           
VALUE(P_0085)
                           
VALUE(P_0086)
                           
VALUE(P_0087).
  WA_FIELDCAT-FIELDNAME
=  P_0081.
  WA_FIELDCAT-SELTEXT_L =
P_0082.
  WA_FIELDCAT-KEY = P_0083.
  WA_FIELDCAT-OUTPUTLEN =
P_20.
  WA_FIELDCAT-EDIT_MASK =
P_0085.
  WA_FIELDCAT-EMPHASIZE =
P_0086.
  WA_FIELDCAT-DO_SUM =
P_0087.
  APPEND WA_FIELDCAT TO
IT_FIELDCAT.
  CLEAR WA_FIELDCAT.
ENDFORM.                   
" BUILD_FIELDS
*&---------------------------------------------------------------------*
*&      Form  SECOND_LIST
*&---------------------------------------------------------------------*
FORM SECOND_LIST USING LV_UCOMM TYPE SY-UCOMM
                      
LV_FIELD TYPE SLIS_SELFIELD.
*  DATA L_VBELN(10) TYPE N.
*  IF LV_UCOMM EQ '&IC1'
OR LV_UCOMM EQ 'VBAP'.
*
*    IF LV_FIELD-FIELDNAME EQ
'VBELN'.
*      L_VBELN =
LV_FIELD-VALUE.
*      SELECT * FROM VBAP
INTO TABLE IT_VBAP WHERE VBELN EQ L_VBELN.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    INPUT         = LV_FIELD-VALUE
 IMPORTING
    OUTPUT        = IT_VBAK-VBELN.
 SELECT * FROM VBAP INTO
TABLE IT_VBAP
                         
WHERE VBELN EQ IT_VBAK-VBELN.
      REFRESH IT_FIELDCAT[].
      CALL FUNCTION
'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         I_PROGRAM_NAME               = SY-CPROG
        
I_INTERNAL_TABNAME           =
'IT_VBAP'
        
I_STRUCTURE_NAME             =
'VBAP'
*  
I_CLIENT_NEVER_DISPLAY       = 'X'
*   I_INCLNAME                   =
*   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.
      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_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
*   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                          = 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.                   
"SECOND_LIST
*&---------------------------------------------------------------------*
*&      Form  ALV_PF
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->LV_TABLE   text
*----------------------------------------------------------------------*
FORM ALV_PF USING LV_TABLE TYPE SLIS_T_EXTAB.
  SET PF-STATUS 'ZG17'.
ENDFORM.                   
"ALV_PF



 