REPORT  ZAVI_11.


TYPE-POOLS: SLIS.

TYPES: BEGIN OF ST_MAKT,

       MATNR TYPE MATNR,

       SPRAS  TYPE SPRAS,

       MAKTX  TYPE MAKTX,

       END OF ST_MAKT.


DATA: IT_MAKT TYPE STANDARD TABLE OF ST_MAKT,

      WA_MAKT TYPE ST_MAKT.


TYPES: BEGIN OF ST_FINAL,

       CHECK(1),

        MATNR TYPE MATNR,

        SPRAS  TYPE SPRAS,

        MAKTX  TYPE MAKTX,

        END OF ST_FINAL.


DATA: IT_FINAL TYPE STANDARD TABLE OF ST_FINAL,

      WA_FINAL TYPE ST_FINAL.


DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,

      WA_FCAT TYPE SLIS_FIELDCAT_ALV.


DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.



START-OF-SELECTION.


       SELECT MATNR

              SPRAS

              MAKTX

              FROM MAKT INTO TABLE IT_MAKT WHERE SPRAS = 'SY-LANGU'.


       IF SY-SUBRC = 0.

         SORT IT_MAKT BY MATNR.

       ENDIF.

END-OF-SELECTION.

       LOOP AT IT_MAKT INTO WA_MAKT.

         WA_FINAL-MATNR = WA_MAKT-MATNR.

         WA_FINAL-SPRAS = WA_MAKT-SPRAS.

         WA_FINAL-MAKTX = WA_MAKT-MAKTX.

         APPEND WA_FINAL TO IT_FINAL.

         CLEAR: WA_FINAL,WA_MAKT.

         ENDLOOP.


WA_FCAT-COL_POS = '1'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'CHECK'.

WA_FCAT-CHECKBOX = 'X'.

WA_FCAT-EDIT = 'X'.

WA_FCAT-SELTEXT_M = 'CHECKBOX'.

WA_FCAT-INPUT = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


WA_FCAT-COL_POS = '2'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'MATNR'.

WA_FCAT-INPUT = 'X'.

WA_FCAT-SELTEXT_M = 'MATERIAL NUMBER'.

WA_LAYOUT-ZEBRA = 'X'.


APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


WA_FCAT-COL_POS = '3'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'SPRAS'.

WA_FCAT-INPUT = 'X'.

WA_FCAT-SELTEXT_M = 'LANGUAGE'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


WA_FCAT-COL_POS = '4'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'MAKTX'.

WA_FCAT-EDIT = 'X'.

WA_FCAT-SELTEXT_M = 'MTERIAL DESCRIPTION'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


SUBMIT ZAVI_22 AND RETURN. "***SUBMIT WILL CALL AND EXECUTE ZAVI_22 REPORT AND THEN WILL GET RETURN TO THE CURRENT SESSION"


CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

 EXPORTING

*   I_INTERFACE_CHECK              = ' '

*   I_BYPASSING_BUFFER             =

*   I_BUFFER_ACTIVE                = ' '

   I_CALLBACK_PROGRAM             = 'SY-REPID'

*   I_CALLBACK_PF_STATUS_SET       = ' '

*   I_CALLBACK_USER_COMMAND        = ' '

*   I_STRUCTURE_NAME               =

   IS_LAYOUT                      = WA_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

*   IR_SALV_LIST_ADAPTER           =

*   IT_EXCEPT_QINFO                =

*   I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE

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

* Implement suitable error handling here

ENDIF.


"***"


REPORT  ZAVI_22.


TYPE-POOLS: SLIS.

TYPES: BEGIN OF ST_MAKT,

       MATNR TYPE MATNR,

       SPRAS  TYPE SPRAS,

       MAKTX  TYPE MAKTX,

       END OF ST_MAKT.


DATA: IT_MAKT TYPE STANDARD TABLE OF ST_MAKT,

      WA_MAKT TYPE ST_MAKT.


TYPES: BEGIN OF ST_FINAL,

       CHECK(1),

        MATNR TYPE MATNR,

        SPRAS  TYPE SPRAS,

        MAKTX  TYPE MAKTX,

        END OF ST_FINAL.


DATA: IT_FINAL TYPE STANDARD TABLE OF ST_FINAL,

      WA_FINAL TYPE ST_FINAL.


DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,

      WA_FCAT TYPE SLIS_FIELDCAT_ALV.


DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.



START-OF-SELECTION.


       SELECT MATNR

              SPRAS

              MAKTX

              FROM MAKT INTO TABLE IT_MAKT WHERE SPRAS = 'SY-LANGU'.


       IF SY-SUBRC = 0.

         SORT IT_MAKT BY MATNR.

       ENDIF.

END-OF-SELECTION.

       LOOP AT IT_MAKT INTO WA_MAKT.

         WA_FINAL-MATNR = WA_MAKT-MATNR.

         WA_FINAL-SPRAS = WA_MAKT-SPRAS.

         WA_FINAL-MAKTX = WA_MAKT-MAKTX.

         APPEND WA_FINAL TO IT_FINAL.

         CLEAR: WA_FINAL,WA_MAKT.

         ENDLOOP.



WA_LAYOUT-BOX_FIELDNAME = 'CHECK'.

WA_FCAT-COL_POS = '1'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'CHECK'.

WA_FCAT-CHECKBOX = 'X'.

WA_FCAT-EDIT = 'X'.

WA_FCAT-SELTEXT_M = 'CHECKBOX'.

WA_FCAT-INPUT = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


WA_FCAT-COL_POS = '2'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'MATNR'.

WA_FCAT-INPUT = 'X'.

WA_FCAT-EDIT = 'X'.

WA_FCAT-SELTEXT_M = 'MATERIAL NUMBER'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


WA_FCAT-COL_POS = '3'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'SPRAS'.

WA_FCAT-EDIT = 'X'.

WA_FCAT-SELTEXT_M = 'LANGUAGE'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


WA_FCAT-COL_POS = '4'.

WA_FCAT-TABNAME = 'IT_FINAL'.

WA_FCAT-FIELDNAME = 'MAKTX'.

WA_FCAT-EDIT = 'X'.

WA_FCAT-SELTEXT_M = 'MTERIAL DESCRIPTION'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

 EXPORTING

*   I_INTERFACE_CHECK                 = ' '

*   I_BYPASSING_BUFFER                = ' '

*   I_BUFFER_ACTIVE                   = ' '

   I_CALLBACK_PROGRAM                = 'SY-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                         = WA_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

*   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_FINAL

 EXCEPTIONS

   PROGRAM_ERROR                     = 1

   OTHERS                            = 2

          .

IF sy-subrc <> 0.

* Implement suitable error handling here

ENDIF.



Serkan AKKAVAK

Computer Engineer BSc

SAP Department Deputy Manager

Contact : serkurumsal@yandex.com