Problem in ALV BLOCK Display

HI,
PLZ help me .
By using this code I select data from TXT  file and insert data in CS13 transaction  then I want to show each material which present in TXT file as ALV BLOCK  DISPLAY.
Suppose txt file contain four material so report will show 4  list block .means data of every material showing in different blocks in the report.
Code which I am using showing data for last item from txt file in one block and other items showing when I click back button .
i am using below codes..........
*& Report  ZCS13                                                       *
REPORT  zcs13                                   .
TABLES:
        mara,
        stpo,
        t001w,
        stko.
TYPE-POOLS: slis.
DATA: BEGIN OF it_stb OCCURS 0.
        INCLUDE STRUCTURE zstpox.
DATA:END OF it_stb.
DATA: BEGIN OF it_matmaster OCCURS 0,
      matnr TYPE matnr,
      werks TYPE werks,
     stlal type stlal,
     capid type capid,
      emeng TYPE emeng,
      END OF it_matmaster.
DATA : ievent TYPE slis_t_event.
DATA: it_stb2 LIKE stpox OCCURS 0 WITH HEADER LINE,
it_stb3 LIKE stpox OCCURS 0 WITH HEADER LINE,
temp_cat TYPE slis_fieldcat_alv,
sline TYPE slis_listheader,
gt_list_top_of_page TYPE slis_t_listheader,
gs_layout TYPE slis_layout_alv ,
gt_events TYPE slis_t_event,
gt_sort TYPE slis_t_sortinfo_alv,
w_msg(255) TYPE c,
int TYPE i VALUE 0.
Declaration of parameters
*SELECTION-SCREEN BEGIN OF BLOCK b2.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (8) FOR FIELD p_matnr.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_matnr LIKE mara-matnr OBLIGATORY .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (8) FOR FIELD p_werks.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_werks LIKE t001w-werks OBLIGATORY .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_albom.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_albom LIKE stko-stlal DEFAULT ' '.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_bomap.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_bomap(4) DEFAULT 'PP01'.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK b2.
*DATA :anr_datuv LIKE aenr-datuv.
*SELECTION-SCREEN BEGIN OF BLOCK b3.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) text-s02 .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) text-s02 .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) text-s03 .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK b3.
*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01 .
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_vfrom.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS p_vfrom LIKE stpo-datuv DEFAULT sy-datum.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD pm_aennr.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS pm_aennr LIKE aenr-aennr.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (17) FOR FIELD p_reqty.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS p_reqty LIKE stpo-menge DEFAULT '1' .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_assd.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS p_assd AS CHECKBOX.
*SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1 .
CONSTANTS c_x VALUE 'X'.
DATA: w_topmat LIKE cstmat,
    fieldcat TYPE slis_t_fieldcat_alv,
     wa_fieldcat TYPE slis_fieldcat_alv.
DATA:v_file TYPE string.
*SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = syst-cprog
      dynpro_number = syst-dynnr
      field_name    = 'P_FILE'
    IMPORTING
      file_name     = p_file.
START-OF-SELECTION.
  v_file = p_file.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                      = v_file
     filetype                      = 'ASC'
     has_field_separator           = 'X'
  HEADER_LENGTH                 = 0
  READ_BY_LINE                  = 'X'
  DAT_MODE                      = ' '
IMPORTING
  FILELENGTH                    =
  HEADER                        =
    TABLES
      data_tab                      =  it_matmaster
   EXCEPTIONS
     file_open_error               = 1
     file_read_error               = 2
     no_batch                      = 3
     gui_refuse_filetransfer       = 4
     invalid_type                  = 5
     no_authority                  = 6
     unknown_error                 = 7
     bad_data_format               = 8
     header_not_allowed            = 9
     separator_not_allowed         = 10
     header_too_long               = 11
     unknown_dp_error              = 12
     access_denied                 = 13
     dp_out_of_memory              = 14
     disk_full                     = 15
     dp_timeout                    = 16
     OTHERS                        = 17
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  LOOP AT it_matmaster.
    PERFORM explode_assembly.
   PERFORM f01_set_layo CHANGING gs_layout.
   PERFORM eventtab_build USING ievent.
perform fldcat.
    PERFORM display_grid.
  ENDLOOP.
PERFORM display_grid.
*&      Form  EXPLODE_ASSEMBLY
      text
FORM explode_assembly.
  CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      capid                 = 'BEST'
      cuols                 = c_x
      datuv                 = sy-datum
      emeng                 = it_matmaster-emeng
      knfba                 = c_x
      ksbvo                 = c_x
      mehrs                 = c_x
      mbwls                 = c_x
     mdmps                 = c_x
      mktls                 = c_x
     stlal                 = it_matmaster-stlal
     stlan                 = p_bomap
      mtnrv                 = it_matmaster-matnr
      werks                 = it_matmaster-werks
     svwvo                 = 'X'
     vrsvo                 = 'X'
    IMPORTING
      topmat                = w_topmat
    TABLES
      stb                   = it_stb
    EXCEPTIONS
      alt_not_found         = 1
      call_invalid          = 2
      material_not_found    = 3
      missing_authorization = 4
      no_bom_found          = 5
      no_plant_data         = 6
      no_suitable_bom_found = 7
      conversion_error      = 8
      OTHERS                = 9.
  IF sy-subrc <> 0.
   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
           INTO w_msg.
   WRITE: / w_msg.
   EXIT.
  ENDIF.
ENDFORM.                    "explode_assembly
*&      Form  display_grid
      text
-->  p1        text
<--  p2        text
form display_grid .
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program                = 'ZCS13'
i_callback_top_of_page            = 'TOP_OF_PAGE_GRID'
  is_layout                         = gs_layout
    it_fieldcat                       = fieldcat
      IT_SORT                           = GT_SORT[]
       i_save                            = 'A'
     it_events                         = gt_events[]
   TABLES
     t_outtab                          = it_stb
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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
  EXPORTING
    i_callback_program             = 'ZALVTOTAL'
  I_CALLBACK_PF_STATUS_SET       = PFSTATUS
   i_callback_user_command        = 'USER_COMMAND'(001)
  IT_EXCLUDING                   =
*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
   is_layout                        = gs_layout
   it_fieldcat                      = i_fieldcat
   i_tabname                        = 'IT_TAB[]'
   it_events                        = gt_events
  it_sort                          = gt_sort
  I_TEXT                           = ' '
TABLES
   t_outtab                         = it_tab[]
EXCEPTIONS
  program_error                    = 1
  maximum_of_appends_reached       = 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_BLOCK_LIST_APPEND'
  EXPORTING
    is_layout                        = gs_layout
    it_fieldcat                      = fieldcat
    i_tabname                        = 'IT_STB[]'
    it_events                        = gt_events
   it_sort                          = gt_sort
  I_TEXT                           = ' '
  TABLES
    t_outtab                         = it_stb[]
EXCEPTIONS
   program_error                    = 1
   maximum_of_appends_reached       = 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_BLOCK_LIST_DISPLAY'
EXPORTING
   i_interface_check             = 'x_print_layout'
  IS_PRINT                      =
  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        =
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_grid
*&      Form  fldcat
      text
-->  p1        text
<--  p2        text
form fldcat .
*DATA: wa_fieldcat TYPE slis_fieldcat_alv,
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = 'ZCS13'
  I_INTERNAL_TABNAME           = 'IT_STB'
     i_structure_name             = 'ZSTPOX'
  I_CLIENT_NEVER_DISPLAY       = 'X'
     i_inclname                   = 'ZCS13'
  I_BYPASSING_BUFFER           =
  I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = 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.                    " fldcat

Hi ,
plz check the below codeand suggest me why it not showing data.....
i make changes according to you ...
waiting for your reply
*& Report  ZCS13                                                       *
REPORT  zcs13                                   .
TABLES:
        mara,
        stpo,
        t001w,
        stko.
TYPE-POOLS: slis.
DATA: BEGIN OF it_stb OCCURS 0.
        INCLUDE STRUCTURE zstpox.
DATA:END OF it_stb.
DATA: BEGIN OF it_matmaster OCCURS 0,
      matnr TYPE matnr,
      werks TYPE werks,
     stlal type stlal,
     capid type capid,
      emeng TYPE emeng,
      END OF it_matmaster.
DATA : ievent TYPE slis_t_event.
DATA: it_stb2 LIKE stpox OCCURS 0 WITH HEADER LINE,
it_stb3 LIKE stpox OCCURS 0 WITH HEADER LINE,
temp_cat TYPE slis_fieldcat_alv,
sline TYPE slis_listheader,
gt_list_top_of_page TYPE slis_t_listheader,
gs_layout TYPE slis_layout_alv ,
gt_events TYPE slis_t_event,
gt_sort TYPE slis_t_sortinfo_alv,
w_msg(255) TYPE c,
int TYPE i VALUE 0.
Declaration of parameters
*SELECTION-SCREEN BEGIN OF BLOCK b2.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (8) FOR FIELD p_matnr.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_matnr LIKE mara-matnr OBLIGATORY .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (8) FOR FIELD p_werks.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_werks LIKE t001w-werks OBLIGATORY .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_albom.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_albom LIKE stko-stlal DEFAULT ' '.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_bomap.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS: p_bomap(4) DEFAULT 'PP01'.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK b2.
*DATA :anr_datuv LIKE aenr-datuv.
*SELECTION-SCREEN BEGIN OF BLOCK b3.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) text-s02 .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) text-s02 .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) text-s03 .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK b3.
*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01 .
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_vfrom.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS p_vfrom LIKE stpo-datuv DEFAULT sy-datum.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD pm_aennr.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS pm_aennr LIKE aenr-aennr.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (17) FOR FIELD p_reqty.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS p_reqty LIKE stpo-menge DEFAULT '1' .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT (15) FOR FIELD p_assd.
*SELECTION-SCREEN POSITION 25 .
*PARAMETERS p_assd AS CHECKBOX.
*SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1 .
CONSTANTS c_x VALUE 'X'.
DATA: w_topmat LIKE cstmat,
    fieldcat TYPE slis_t_fieldcat_alv,
     wa_fieldcat TYPE slis_fieldcat_alv.
DATA:v_file TYPE string.
*SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = syst-cprog
      dynpro_number = syst-dynnr
      field_name    = 'P_FILE'
    IMPORTING
      file_name     = p_file.
START-OF-SELECTION.
  v_file = p_file.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                      = v_file
     filetype                      = 'ASC'
     has_field_separator           = 'X'
  HEADER_LENGTH                 = 0
  READ_BY_LINE                  = 'X'
  DAT_MODE                      = ' '
IMPORTING
  FILELENGTH                    =
  HEADER                        =
    TABLES
      data_tab                      =  it_matmaster
   EXCEPTIONS
     file_open_error               = 1
     file_read_error               = 2
     no_batch                      = 3
     gui_refuse_filetransfer       = 4
     invalid_type                  = 5
     no_authority                  = 6
     unknown_error                 = 7
     bad_data_format               = 8
     header_not_allowed            = 9
     separator_not_allowed         = 10
     header_too_long               = 11
     unknown_dp_error              = 12
     access_denied                 = 13
     dp_out_of_memory              = 14
     disk_full                     = 15
     dp_timeout                    = 16
     OTHERS                        = 17
  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_BLOCK_LIST_INIT'
    EXPORTING
      i_callback_program             = 'ZCS13'
  I_CALLBACK_PF_STATUS_SET       = PFSTATUS
     i_callback_user_command        = 'USER_COMMAND'(001).
  IT_EXCLUDING                   =.
  DATA :int1(10) .
PERFORM fldcat.
  LOOP AT it_matmaster.
    PERFORM explode_assembly.
   PERFORM f01_set_layo CHANGING gs_layout.
   PERFORM eventtab_build USING ievent.
    PERFORM fldcat.
    PERFORM display_grid.
  ENDLOOP.
PERFORM display_grid.
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
   EXPORTING
     i_interface_check             = 'x_print_layout'
  IS_PRINT                      =
  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        =
   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  EXPLODE_ASSEMBLY
      text
FORM explode_assembly.
  CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      capid                 = 'BEST'
      cuols                 = c_x
      datuv                 = sy-datum
      emeng                 = it_matmaster-emeng
      knfba                 = c_x
      ksbvo                 = c_x
      mehrs                 = c_x
      mbwls                 = c_x
     mdmps                 = c_x
      mktls                 = c_x
     stlal                 = it_matmaster-stlal
     stlan                 = p_bomap
      mtnrv                 = it_matmaster-matnr
      werks                 = it_matmaster-werks
     svwvo                 = 'X'
     vrsvo                 = 'X'
    IMPORTING
      topmat                = w_topmat
    TABLES
      stb                   = it_stb
    EXCEPTIONS
      alt_not_found         = 1
      call_invalid          = 2
      material_not_found    = 3
      missing_authorization = 4
      no_bom_found          = 5
      no_plant_data         = 6
      no_suitable_bom_found = 7
      conversion_error      = 8
      OTHERS                = 9.
  IF sy-subrc <> 0.
   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
           INTO w_msg.
   WRITE: / w_msg.
   EXIT.
  ENDIF.
ENDFORM.                    "explode_assembly
*&      Form  display_grid
      text
-->  p1        text
<--  p2        text
FORM display_grid .
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                        = gs_layout
      it_fieldcat                      = fieldcat
      i_tabname                        = 'IT_STB[]'
      it_events                        = gt_events
     it_sort                          = gt_sort
  I_TEXT                           = ' '
    TABLES
      t_outtab                         = it_stb
   EXCEPTIONS
     program_error                    = 1
     maximum_of_appends_reached       = 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.                    " display_grid
*&      Form  fldcat
      text
-->  p1        text
<--  p2        text
FORM fldcat .
*DATA: wa_fieldcat TYPE slis_fieldcat_alv,
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = 'ZCS13'
  I_INTERNAL_TABNAME           = 'IT_STB'
     i_structure_name             = 'ZSTPOX'
  I_CLIENT_NEVER_DISPLAY       = 'X'
     i_inclname                   = 'ZCS13'
  I_BYPASSING_BUFFER           =
  I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = 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.                    " fldcat

Similar Messages

  • Pdf output problem in ALV Block Display

    Hi ,
    I have z custom report of ALV BLOCK LIST DISPLAY which creates Spool using ABAP submit statement and then this spool is feed to FM CONVERT_ABAPSPOOLJOB_2_PDF to create PDF file . PDF file generates but output is coming on two pages. I want to display output on same page(i.e. on first page only) .
    it's urgent, appriciate your help.
    Thanks & Regards
    MSI

    while displaying in the screen is it display in one screen and while converting in PDF is IT Does the same in Two Pages

  • Problem in ALV Block List

    Hi All,
    I am trying to displaying BOM explosion for materials in ALV Block list.
    I am taking the materials to be exploded from a local file. Taking the contents of the file in an internal table and then passing the parameters like material number bom application , alternative BOM to the function 'CS_BOM_EXPL_MAT_V2'
    Then I am calling the functions for ALV Block display for each material.
      But when I am displaying the data in the block display , only the BOM explosion for the last material is getting displayed.
    I am pasting the code also for ur reference.
    REPORT  zcs13                                   .
    TABLES:
            mara,
            stpo,
            t001w,
            stko.
    TYPE-POOLS: slis.
    DATA: BEGIN OF it_stb OCCURS 0.
            INCLUDE STRUCTURE zstpox.
    DATA:END OF it_stb.
    DATA: BEGIN OF it_matmaster OCCURS 0,
          matnr TYPE matnr,
          werks TYPE werks,
         stlal type stlal,
         capid type capid,
          emeng TYPE emeng,
          END OF it_matmaster.
    DATA : ievent TYPE slis_t_event.
    DATA: it_stb2 LIKE stpox OCCURS 0 WITH HEADER LINE,
    it_stb3 LIKE stpox OCCURS 0 WITH HEADER LINE,
    temp_cat TYPE slis_fieldcat_alv,
    sline TYPE slis_listheader,
    gt_list_top_of_page TYPE slis_t_listheader,
    gs_layout TYPE slis_layout_alv ,
    gt_events TYPE slis_t_event,
    gt_sort TYPE slis_t_sortinfo_alv,
    w_msg(255) TYPE c,
    int TYPE i VALUE 0.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
    PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1 .
    CONSTANTS c_x VALUE 'X'.
    DATA: w_topmat LIKE cstmat,
        fieldcat TYPE slis_t_fieldcat_alv,
         wa_fieldcat TYPE slis_fieldcat_alv.
    DATA:v_file TYPE string.
    *SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
          field_name    = 'P_FILE'
        IMPORTING
          file_name     = p_file.
    START-OF-SELECTION.
      v_file = p_file.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = v_file
         filetype                      = 'ASC'
         has_field_separator           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        TABLES
          data_tab                      =  it_matmaster
       EXCEPTIONS
         file_open_error               = 1
         file_read_error               = 2
         no_batch                      = 3
         gui_refuse_filetransfer       = 4
         invalid_type                  = 5
         no_authority                  = 6
         unknown_error                 = 7
         bad_data_format               = 8
         header_not_allowed            = 9
         separator_not_allowed         = 10
         header_too_long               = 11
         unknown_dp_error              = 12
         access_denied                 = 13
         dp_out_of_memory              = 14
         disk_full                     = 15
         dp_timeout                    = 16
         OTHERS                        = 17
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      LOOP AT it_matmaster.
        PERFORM explode_assembly.
       PERFORM f01_set_layo CHANGING gs_layout.
       PERFORM eventtab_build USING ievent.
    perform fldcat.
        PERFORM display_grid.
      ENDLOOP.
    PERFORM display_grid.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    EXPORTING
       i_interface_check             = 'x_print_layout'
      IS_PRINT                      =
      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        =
    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  EXPLODE_ASSEMBLY
          text
    FORM explode_assembly.
      CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          capid                 = 'BEST'
          cuols                 = c_x
          datuv                 = sy-datum
          emeng                 = it_matmaster-emeng
          knfba                 = c_x
          ksbvo                 = c_x
          mehrs                 = c_x
          mbwls                 = c_x
         mdmps                 = c_x
          mktls                 = c_x
         stlal                 = it_matmaster-stlal
         stlan                 = p_bomap
          mtnrv                 = it_matmaster-matnr
          werks                 = it_matmaster-werks
         svwvo                 = 'X'
         vrsvo                 = 'X'
        IMPORTING
          topmat                = w_topmat
        TABLES
          stb                   = it_stb
        EXCEPTIONS
          alt_not_found         = 1
          call_invalid          = 2
          material_not_found    = 3
          missing_authorization = 4
          no_bom_found          = 5
          no_plant_data         = 6
          no_suitable_bom_found = 7
          conversion_error      = 8
          OTHERS                = 9.
      IF sy-subrc <> 0.
       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
               INTO w_msg.
       WRITE: / w_msg.
       EXIT.
      ENDIF.
    ENDFORM.                    "explode_assembly
    *&      Form  display_grid
          text
    -->  p1        text
    <--  p2        text
    form display_grid .
    *CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        i_callback_program                = 'ZCS13'
    i_callback_top_of_page            = 'TOP_OF_PAGE_GRID'
      is_layout                         = gs_layout
        it_fieldcat                       = fieldcat
          IT_SORT                           = GT_SORT[]
           i_save                            = 'A'
         it_events                         = gt_events[]
       TABLES
         t_outtab                          = it_stb
    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.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
      EXPORTING
        i_callback_program             = 'ZALVTOTAL'
      I_CALLBACK_PF_STATUS_SET       = PFSTATUS
       i_callback_user_command        = 'USER_COMMAND'(001)
      IT_EXCLUDING                   =
    *CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
       is_layout                        = gs_layout
       it_fieldcat                      = i_fieldcat
       i_tabname                        = 'IT_TAB[]'
       it_events                        = gt_events
      it_sort                          = gt_sort
      I_TEXT                           = ' '
    TABLES
       t_outtab                         = it_tab[]
    EXCEPTIONS
      program_error                    = 1
      maximum_of_appends_reached       = 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_BLOCK_LIST_APPEND'
      EXPORTING
        is_layout                        = gs_layout
        it_fieldcat                      = fieldcat
        i_tabname                        = 'IT_STB[]'
        it_events                        = gt_events
       it_sort                          = gt_sort
      I_TEXT                           = ' '
      TABLES
        t_outtab                         = it_stb[]
    EXCEPTIONS
       program_error                    = 1
       maximum_of_appends_reached       = 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.
    clear it_stb[].
    endform.                    " display_grid
    *&      Form  fldcat
          text
    -->  p1        text
    <--  p2        text
    form fldcat .
    *DATA: wa_fieldcat TYPE slis_fieldcat_alv,
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name               = 'ZCS13'
      I_INTERNAL_TABNAME           = 'IT_STB'
         i_structure_name             = 'ZSTPOX'
      I_CLIENT_NEVER_DISPLAY       = 'X'
         i_inclname                   = 'ZCS13'
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
        CHANGING
          ct_fieldcat                  = 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.
    Pls Suggest
    Thanks.

    Hi All,
    I am trying to displaying BOM explosion for materials in ALV Block list.
    I am taking the materials to be exploded from a local file. Taking the contents of the file in an internal table and then passing the parameters like material number bom application , alternative BOM to the function 'CS_BOM_EXPL_MAT_V2'
    Then I am calling the functions for ALV Block display for each material.
      But when I am displaying the data in the block display , only the BOM explosion for the last material is getting displayed.
    I am pasting the code also for ur reference.
    REPORT  zcs13                                   .
    TABLES:
            mara,
            stpo,
            t001w,
            stko.
    TYPE-POOLS: slis.
    DATA: BEGIN OF it_stb OCCURS 0.
            INCLUDE STRUCTURE zstpox.
    DATA:END OF it_stb.
    DATA: BEGIN OF it_matmaster OCCURS 0,
          matnr TYPE matnr,
          werks TYPE werks,
         stlal type stlal,
         capid type capid,
          emeng TYPE emeng,
          END OF it_matmaster.
    DATA : ievent TYPE slis_t_event.
    DATA: it_stb2 LIKE stpox OCCURS 0 WITH HEADER LINE,
    it_stb3 LIKE stpox OCCURS 0 WITH HEADER LINE,
    temp_cat TYPE slis_fieldcat_alv,
    sline TYPE slis_listheader,
    gt_list_top_of_page TYPE slis_t_listheader,
    gs_layout TYPE slis_layout_alv ,
    gt_events TYPE slis_t_event,
    gt_sort TYPE slis_t_sortinfo_alv,
    w_msg(255) TYPE c,
    int TYPE i VALUE 0.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
    PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1 .
    CONSTANTS c_x VALUE 'X'.
    DATA: w_topmat LIKE cstmat,
        fieldcat TYPE slis_t_fieldcat_alv,
         wa_fieldcat TYPE slis_fieldcat_alv.
    DATA:v_file TYPE string.
    *SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
          field_name    = 'P_FILE'
        IMPORTING
          file_name     = p_file.
    START-OF-SELECTION.
      v_file = p_file.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = v_file
         filetype                      = 'ASC'
         has_field_separator           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        TABLES
          data_tab                      =  it_matmaster
       EXCEPTIONS
         file_open_error               = 1
         file_read_error               = 2
         no_batch                      = 3
         gui_refuse_filetransfer       = 4
         invalid_type                  = 5
         no_authority                  = 6
         unknown_error                 = 7
         bad_data_format               = 8
         header_not_allowed            = 9
         separator_not_allowed         = 10
         header_too_long               = 11
         unknown_dp_error              = 12
         access_denied                 = 13
         dp_out_of_memory              = 14
         disk_full                     = 15
         dp_timeout                    = 16
         OTHERS                        = 17
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      LOOP AT it_matmaster.
        PERFORM explode_assembly.
       PERFORM f01_set_layo CHANGING gs_layout.
       PERFORM eventtab_build USING ievent.
    perform fldcat.
        PERFORM display_grid.
      ENDLOOP.
    PERFORM display_grid.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    EXPORTING
       i_interface_check             = 'x_print_layout'
      IS_PRINT                      =
      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        =
    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  EXPLODE_ASSEMBLY
          text
    FORM explode_assembly.
      CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          capid                 = 'BEST'
          cuols                 = c_x
          datuv                 = sy-datum
          emeng                 = it_matmaster-emeng
          knfba                 = c_x
          ksbvo                 = c_x
          mehrs                 = c_x
          mbwls                 = c_x
         mdmps                 = c_x
          mktls                 = c_x
         stlal                 = it_matmaster-stlal
         stlan                 = p_bomap
          mtnrv                 = it_matmaster-matnr
          werks                 = it_matmaster-werks
         svwvo                 = 'X'
         vrsvo                 = 'X'
        IMPORTING
          topmat                = w_topmat
        TABLES
          stb                   = it_stb
        EXCEPTIONS
          alt_not_found         = 1
          call_invalid          = 2
          material_not_found    = 3
          missing_authorization = 4
          no_bom_found          = 5
          no_plant_data         = 6
          no_suitable_bom_found = 7
          conversion_error      = 8
          OTHERS                = 9.
      IF sy-subrc <> 0.
       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
               INTO w_msg.
       WRITE: / w_msg.
       EXIT.
      ENDIF.
    ENDFORM.                    "explode_assembly
    *&      Form  display_grid
          text
    -->  p1        text
    <--  p2        text
    form display_grid .
    *CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        i_callback_program                = 'ZCS13'
    i_callback_top_of_page            = 'TOP_OF_PAGE_GRID'
      is_layout                         = gs_layout
        it_fieldcat                       = fieldcat
          IT_SORT                           = GT_SORT[]
           i_save                            = 'A'
         it_events                         = gt_events[]
       TABLES
         t_outtab                          = it_stb
    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.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
      EXPORTING
        i_callback_program             = 'ZALVTOTAL'
      I_CALLBACK_PF_STATUS_SET       = PFSTATUS
       i_callback_user_command        = 'USER_COMMAND'(001)
      IT_EXCLUDING                   =
    *CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
       is_layout                        = gs_layout
       it_fieldcat                      = i_fieldcat
       i_tabname                        = 'IT_TAB[]'
       it_events                        = gt_events
      it_sort                          = gt_sort
      I_TEXT                           = ' '
    TABLES
       t_outtab                         = it_tab[]
    EXCEPTIONS
      program_error                    = 1
      maximum_of_appends_reached       = 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_BLOCK_LIST_APPEND'
      EXPORTING
        is_layout                        = gs_layout
        it_fieldcat                      = fieldcat
        i_tabname                        = 'IT_STB[]'
        it_events                        = gt_events
       it_sort                          = gt_sort
      I_TEXT                           = ' '
      TABLES
        t_outtab                         = it_stb[]
    EXCEPTIONS
       program_error                    = 1
       maximum_of_appends_reached       = 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.
    clear it_stb[].
    endform.                    " display_grid
    *&      Form  fldcat
          text
    -->  p1        text
    <--  p2        text
    form fldcat .
    *DATA: wa_fieldcat TYPE slis_fieldcat_alv,
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name               = 'ZCS13'
      I_INTERNAL_TABNAME           = 'IT_STB'
         i_structure_name             = 'ZSTPOX'
      I_CLIENT_NEVER_DISPLAY       = 'X'
         i_inclname                   = 'ZCS13'
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
        CHANGING
          ct_fieldcat                  = 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.
    Pls Suggest
    Thanks.

  • ALVs - Block display

    Hi,
    Could anyone tell me if it is possible to edit fields in ALV block display?
    Thanks in advance
    Radhika

    Just check it out in the function pool SLIS the following.
    TYPES: BEGIN OF SLIS_FIELDCAT_ALV_SPEC,
    KEY_SEL(1) TYPE C, " field not obligatory
    NO_SUM(1) TYPE C, " do not sum up
    SP_GROUP(4) TYPE C, " group specification
    REPREP(1) TYPE C, " selection for rep/rep
    *INPUT(1) TYPE C, " input*
    EDIT(1) TYPE C, " internal use only
    HOTSPOT(1) TYPE C, " hotspot
    END OF SLIS_FIELDCAT_ALV_SPEC.
    TYPES: BEGIN OF SLIS_FIELDCAT_ALV.
    INCLUDE TYPE SLIS_FIELDCAT_MAIN.
    INCLUDE TYPE SLIS_FIELDCAT_ALV_SPEC.
    TYPES: END OF SLIS_FIELDCAT_ALV.
    Regards,
    Sankar.

  • How to display print icon in alv block display

    hi all,
    in my alv block display i have to display some icons as print, print preview, find, sort,change layout e.t.c
    if any one knows do let me know, if possible send the code.
    i have searched the forum for this query but i could'nt get the answer.

    Hi,
    check the link.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/how%252bto%252bkeep%252ban%252beye%252bon%252baggregates%252bin%252byour%252bsystem
    Regards
    Rajesh Kumar

  • Problem with ALV Grid Display screen Back Button

    Dear Friends ,
    I have an ALV Grid Display,Here am facing a problem for my 'Back' button,i haven't defined any PF Status and is using the standard one.But after the Display when i press Back Button a blank Screen is appearing n then again i have to press back button to go to my Selection Screen.
    Please Suggest if i have to take care of something else.
    I want my Selection Screen when i press Back on my Display Screen.
    DATA:  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
             I_BYPASSING_BUFFER          =
             I_BUFFER_ACTIVE             =
             I_INTERFACE_CHECK           = ' '
                 I_CALLBACK_PROGRAM          = 'ZRMMPD01A'
             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                     =  I_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
        IMPORTING
             E_EXIT_CAUSED_BY_CALLER     =
             ES_EXIT_CAUSED_BY_USER      =
             TABLES
                  T_OUTTAB                    = IT_FINAL
            EXCEPTIONS
                 PROGRAM_ERROR               = 1
                 OTHERS                      = 2
    Thanks and Regards,
    Ashwini

    Hi Vijay ,
    No i dont have any write statement in my proggram.
    Here it is
    REPORT ZRMMPD01A  NO STANDARD PAGE HEADING.
    TABLES : EQUI,SER03,MKPF,OBJK.
    TYPE-POOLS : SLIS.
    DATA  IT_EQUI LIKE EQUI OCCURS 0 WITH HEADER LINE.
    DATA  IT_OBJK LIKE OBJK OCCURS 0 WITH HEADER LINE..
    DATA  IT_SER03 LIKE SER03 OCCURS 0 WITH HEADER LINE.
    DATA  IT_MKPF LIKE MKPF OCCURS 0 WITH HEADER LINE .
    DATA : BEGIN OF IT_DISPLAY OCCURS 0,
                MATNR LIKE EQUI-MATNR,
                SERNR LIKE EQUI-SERNR,
                BWART LIKE SER03-BWART,
                WERK LIKE SER03-WERK,
                CHARGE LIKE SER03-CHARGE,
                LAGERORT LIKE SER03-LAGERORT,
                MBLNR LIKE SER03-MBLNR,
                MJAHR LIKE SER03-MJAHR,
                ZEILE LIKE SER03-ZEILE,
                BUDAT LIKE MKPF-BUDAT,
                BKTXT LIKE MKPF-BKTXT,
                USNAM LIKE MKPF-USNAM,
                XBLNR LIKE MKPF-XBLNR,
            END OF IT_DISPLAY.
    DATA : WA_DISPLAY LIKE IT_DISPLAY.
    DATA  IT_FINAL LIKE IT_DISPLAY OCCURS 0 WITH HEADER LINE.
    DATA  IT_TEMP LIKE IT_DISPLAY OCCURS 0 WITH HEADER LINE.
    DATA:  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA :I_LAYOUT TYPE SLIS_LAYOUT_ALV,
          I_EVENTS TYPE SLIS_T_EVENT.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_MATNR FOR EQUI-MATNR MATCHCODE OBJECT MCD,"OBLIGATORY
                    S_SERNR FOR EQUI-SERNR, "MATCHCODE OBJECT MCD OBLIGATORY
                    S_MBLNR FOR SER03-MBLNR MATCHCODE OBJECT MCD,
                    S_BWART FOR SER03-BWART MATCHCODE OBJECT MCD,
                    S_WERK FOR SER03-WERK MATCHCODE OBJECT MCD,
                    S_LAGET FOR SER03-LAGERORT MATCHCODE OBJECT MCD,
                    S_BUDAT FOR MKPF-BUDAT MATCHCODE OBJECT MCD,
                    S_XBLNR FOR MKPF-XBLNR MATCHCODE OBJECT MCD.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X',
                 R2 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    START-OF-SELECTION.
    *Fetch Data.
      PERFORM GET_DATA.
    *Fill Display Fields.
      PERFORM FILL_TABLE.
    *Segregate data according to radio button selection.
      PERFORM SELECT_CONDITION.
    *Fill The Feild catalog.
      PERFORM FIELD_CATALOG.
    *Display Output.
      PERFORM OUTPUT_DISPLAY..
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA.
      SELECT * FROM EQUI INTO TABLE IT_EQUI
        WHERE MATNR IN S_MATNR
        AND SERNR IN S_SERNR.
      SELECT * FROM OBJK INTO TABLE IT_OBJK
      FOR ALL ENTRIES IN IT_EQUI
      WHERE EQUNR = IT_EQUI-EQUNR.
      SELECT * FROM SER03 INTO TABLE IT_SER03
      FOR ALL ENTRIES IN IT_OBJK
      WHERE OBKNR = IT_OBJK-OBKNR
      AND MBLNR IN S_MBLNR
      AND BWART IN S_BWART
      AND WERK IN S_WERK
      AND LAGERORT IN S_LAGET.
      SELECT * FROM MKPF INTO TABLE IT_MKPF
      FOR ALL ENTRIES IN IT_SER03
      WHERE MBLNR = IT_SER03-MBLNR
      AND BUDAT IN S_BUDAT
      AND XBLNR IN S_XBLNR.
    ENDFORM.                    " GET_DATA
    *&      Form  FILL_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM FILL_TABLE.
      LOOP AT IT_EQUI.
        LOOP AT IT_OBJK.
          IF IT_OBJK-EQUNR <> IT_EQUI-EQUNR.
            SKIP.
          ELSE.
            READ TABLE IT_SER03 WITH KEY OBKNR = IT_OBJK-OBKNR.
            IF SY-SUBRC = 0.
              WA_DISPLAY-MATNR = IT_EQUI-MATNR.
              WA_DISPLAY-SERNR = IT_EQUI-SERNR.
              WA_DISPLAY-BWART = IT_SER03-BWART.
              WA_DISPLAY-WERK = IT_SER03-WERK.
              WA_DISPLAY-CHARGE = IT_SER03-CHARGE.
              WA_DISPLAY-LAGERORT = IT_SER03-LAGERORT.
              WA_DISPLAY-MBLNR = IT_SER03-MBLNR.
              WA_DISPLAY-MJAHR = IT_SER03-MJAHR.
              WA_DISPLAY-ZEILE = IT_SER03-ZEILE.
             READ TABLE IT_MKPF WITH KEY MBLNR = IT_SER03-MBLNR.
              IF SY-SUBRC = 0.
                WA_DISPLAY-BUDAT = IT_MKPF-BUDAT.
                WA_DISPLAY-BKTXT = IT_MKPF-BKTXT.
                WA_DISPLAY-USNAM = IT_MKPF-USNAM.
                WA_DISPLAY-XBLNR = IT_MKPF-XBLNR.
              ENDIF.
            ENDIF.
          ENDIF.
          IF NOT WA_DISPLAY IS INITIAL.
            APPEND WA_DISPLAY TO IT_DISPLAY.
            CLEAR WA_DISPLAY.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM.                    " FILL_TABLE
    *&      Form  FIELD_CATALOG
          text
    -->  p1        text
    <--  p2        text
    FORM FIELD_CATALOG.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'MATNR'.
      FIELDCAT-SELTEXT_M = 'Material Number'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'SERNR'.
      FIELDCAT-SELTEXT_M = 'Serial number'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'MBLNR'.
      FIELDCAT-SELTEXT_L = 'Number of material document'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'BWART'.
      FIELDCAT-SELTEXT_M = 'Movement type'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'WERK'.
      FIELDCAT-SELTEXT_M = 'Plant'.
      FIELDCAT-OUTPUTLEN =  5.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'CHARGE'.
      FIELDCAT-SELTEXT_M = 'Batch number'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'LAGERORT'.
      FIELDCAT-SELTEXT_M = 'Storage Location'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'MJAHR'.
      FIELDCAT-SELTEXT_M = 'Material doc. year'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'ZEILE'.
      FIELDCAT-SELTEXT_L = 'Item in material document'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'BUDAT'.
      FIELDCAT-SELTEXT_L = 'Posting date in the document'.
      FIELDCAT-OUTPUTLEN =  10.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'BKTXT'.
      FIELDCAT-SELTEXT_L = 'Document header text'.
      FIELDCAT-OUTPUTLEN =  25.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'USNAM'.
      FIELDCAT-SELTEXT_M = 'User name'.
      FIELDCAT-OUTPUTLEN =  15.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'XBLNR'.
      FIELDCAT-SELTEXT_L = 'Reference document number'.
      FIELDCAT-OUTPUTLEN =  25.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
    ENDFORM.                    " FIELD_CATALOG
    *&      Form  DISPLAY_OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM OUTPUT_DISPLAY.
      IF R1 = 'X'.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
              I_CALLBACK_PROGRAM          = 'ZRMMPD01A'
              IS_LAYOUT                   =  I_LAYOUT
              IT_FIELDCAT                 = IT_FIELDCAT
          TABLES
              T_OUTTAB                    = IT_DISPLAY
            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.
        REFRESH IT_DISPLAY.
        CLEAR IT_DISPLAY.
      ELSEIF R2 = 'X'.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
                 I_CALLBACK_PROGRAM          = 'ZRMMPD01A'
                 IS_LAYOUT                     =  I_LAYOUT
                 IT_FIELDCAT                 =  IT_FIELDCAT
             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.
        REFRESH IT_DISPLAY.
        CLEAR IT_DISPLAY.
      ENDIF.
    ENDFORM.                    " DISPLAY_OUTPUT
    *&      Form  SELECT_CONDITION
          text
    -->  p1        text
    <--  p2        text
    FORM SELECT_CONDITION.
      IF R2 = 'X'.
        CLEAR WA_DISPLAY.
        SORT IT_DISPLAY BY MATNR SERNR MBLNR ZEILE.
        DELETE ADJACENT DUPLICATES FROM IT_DISPLAY.
        LOOP AT IT_DISPLAY WHERE ZEILE = '0002'.
          READ TABLE IT_DISPLAY WITH KEY MATNR = IT_DISPLAY-MATNR
          SERNR = IT_DISPLAY-SERNR ZEILE = '0001'.
          IF SY-SUBRC = 0.
            DELETE IT_DISPLAY.
          ENDIF.
        ENDLOOP.
        SORT IT_DISPLAY BY MATNR SERNR BWART MBLNR.
        DELETE ADJACENT DUPLICATES FROM IT_DISPLAY.
        LOOP AT IT_DISPLAY.
          IF WA_DISPLAY IS INITIAL.
            WA_DISPLAY =  IT_DISPLAY.
          ENDIF.
          LOOP AT IT_DISPLAY WHERE MATNR = WA_DISPLAY-MATNR
          AND SERNR = WA_DISPLAY-SERNR.
            IF IT_DISPLAY-BUDAT > WA_DISPLAY-BUDAT.
              WA_DISPLAY = IT_DISPLAY.
            ELSE.
              DELETE IT_DISPLAY.
            ENDIF.
          ENDLOOP.
          APPEND WA_DISPLAY TO IT_TEMP.
          CLEAR WA_DISPLAY.
        ENDLOOP.
        DELETE ADJACENT DUPLICATES FROM IT_TEMP.
        IF NOT IT_TEMP[] IS INITIAL.
          IT_FINAL[] = IT_TEMP[].
        ENDIF.
      ENDIF.
    ENDFORM.                    " SELECT_CONDITION
    Regards,
    Ashwini

  • REG :ALV BLOCK DISPLAY

    i have an existing report which displays the output in blocks.
    for this they have used ALV .
    they have used macros to build fieldcatalog for each block.
    the following is the macro for the field catalog.
    DEFINE m_alv_fieldcat.
      clear e_alv_fieldcat.
      add c_1 to w_col_pos.
      move: w_col_pos to e_alv_fieldcat-col_pos,
            &1        to e_alv_fieldcat-fieldname,
            &2        to e_alv_fieldcat-tabname,
            &3        to e_alv_fieldcat-ref_tabname,
            &4        to e_alv_fieldcat-key,
            &5        to e_alv_fieldcat-do_sum,
            &6        to e_alv_fieldcat-outputlen,
            &7        to e_alv_fieldcat-reptext_ddic,
            &8        to e_alv_fieldcat-cfieldname,
            &9        to e_alv_fieldcat-datatype.
      append e_alv_fieldcat to i_alv_fieldcat.
    END-OF-DEFINITION.
    and they have populated the macro as follows
    m_alv_fieldcat:
        c_usnam param_tab_hdr c_bkpf space space 0 space space space,
        c_belnr param_tab_hdr c_bkpf space space 0 space space space,
        c_cpudt param_tab_hdr c_bkpf space space 0 space space space,
        c_budat param_tab_hdr c_bkpf space space 0 space space space,
        c_blart param_tab_hdr c_bkpf space space 0 space space space,
        c_xblnr param_tab_hdr c_bkpf space space 0 space space space.
    now my requirement is  i have to add one more column in the block display.
    they have used place holders for macros.as place holders are only for 9 values.plz tell me how to add one more column to this fieldcatalog which is using Macros.
    thanks &regards

    As you need to add one more column, you will not face any problem with Place holders. Just add the last line of the below code to the existing  code:
    m_alv_fieldcat:
    c_usnam param_tab_hdr c_bkpf space space 0 space space space,
    c_belnr param_tab_hdr c_bkpf space space 0 space space space,
    c_cpudt param_tab_hdr c_bkpf space space 0 space space space,
    c_budat param_tab_hdr c_bkpf space space 0 space space space,
    c_blart param_tab_hdr c_bkpf space space 0 space space space,
    c_xblnr param_tab_hdr c_bkpf space space 0 space space space.
    C_EXTRACOL  param_tab_hdr c_bkpf space space 0 space space space.
    This will add one more column to the existing ALV list.
    Regards,
    Kiran Bobbala

  • Background task problem with alv grid display

    Hello !
    I have a problem when executing my program in background.
    In foreground I have no problem, my ALV appears. In the background I have a dump.
    The current ABAP program "SAPLKKBL" had to be terminated because one of the statements could not be executed.
    I use the function module 'REUSE_ALV_GRID_DISPLAY'
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
            i_callback_program      = gd_repid
            i_callback_user_command = 'F533_USER_COMMAND'
            is_layout               = gd_layout
            it_fieldcat             = fieldcatalog[]
            it_special_groups       = i_fgroup[]
            i_save                  = 'X'
            it_sort                 = gd_sort
            i_buffer_active         = ' '
            i_callback_pf_status_set = 'F534_SET_PF_STATUS'
         TABLES
            t_outtab                = mytab
         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.
    I don't understand where the problem is. Please help me.
    Thank you.

    I love replying to old threads:
    Try this link
    http://scn.sap.com/people/prashant.patil12/blog/2007/02/20/displaying-alv-grid-in-background-job

  • Problem with ALV Grid display

    Hi,
    I have developed  ALV Grid Report. It is working fine.
    But while i am coming from alv grid display to program
    by pressing BACK button it is showing one more screen
    which is empty. Again I press back button it is coming to
    selection screen. I don't want that empty screen.What is
    the problem. Can u help me in this regard.?
    Thanks
    Narasimha

    hi
    under the usercommand of back button use Exit Statement
    like
    At user-comand
    IF sy-ucom = 'Back'
    EXIT
    ENdif.
    Cheers
    Snehi

  • Alv Blocked Display

    Hi All,
    I want to display Blocked ALV.
    i know the function modules
    REUSE_ALV_BLOCK_LIST_INIT
    REUSE_ALV_BLOCK_LIST_APPEND
    REUSE_ALV_BLOCK_LIST_DISPLAY
    I want to display it with óut using this function modules.
    Is there anyway to do that.
    If so please let me know.
    Thanks

    hi
    just have a look at this thread
    Re: ALV Block list Display
    hope it helps
    regards
    Aakash Banga

  • ALV Block Display with filet ............ Urget Please..............

    Hello All,
    Hello All,
    I am Working on ALV Block List Report. In that report i am having two Blocks.
    if i set a filter for one block it is filtering that block, the second block remains constant.
    My requirment is like this if iam setting a filter for one field in first block, if the second block also have the same field, then filter should Automatically be setted to the second block based on the field.
    Is this possible?????  Can any one Help me out form this issue.
    Thanks,
    Feroz.

    If you are using ALV standard functionality then if you are sorting with field then it will consider only that field. but if the data for other field also same then it will sort based on first field only but it will look like it is consider second field also.
    If you are using standard functionality then you can not impletement logic that first field get selected and sorted by second even if its values are same.
    Rewards if useful..................
    Minal

  • Problem while alv grid display exporting to excel sheet

    Hi,
      I have done an ALV report using reuse_alv_grid _display , out put is fine , but when i click on excel view icon i could only see an excel sheet without any data ., but when i use export to local file and choose spread sheet its giving the data in excel, but the user wants to click only the excel view icon.
    Best Regards

    Hi,
    Check this link
    [Problem with Excel button in ALV Grid...URGENT;
    Regards,
    Sathish Reddy.

  • Problem in alv grid display (it is not filtering the data in print preview)

    Hi Every One,
    Its very urgent for me to deliver this report ....
    I applied sort criteria on my final internal table which is pupulated and then i passed to the function module...
    when i execute the program it is showing me the perfect output..when i take a print preview it is not filtering the data instead it is showing me the normal uotput i.e..,without sort criteria...
    here is the code plz go thru it and tell me were i am doing wrong...
    i thank u one and all ...and plz debub the code on the system and let me know....
    REPORT  tracking-quotation NO STANDARD PAGE HEADING MESSAGE-ID zrv_message LINE-COUNT 65 LINE-SIZE 110.
                          Includes
    This include contains declarations
      INCLUDE ZMM_TRACKING_QUOTATION_T.
    This include contains code for the performs
      INCLUDE ZMM_TRACKING_QUOTATION_F.
    AT SELECTION SCREEN                                                  *
    AT SELECTION-SCREEN.
    This perform will validate the fields
      PERFORM f_validate_sel_screen.
                         Start-Of-Selection
    START-OF-SELECTION.
    This perform will read the values from the database.
      PERFORM selection.
    This perform will build the field catalogue
      PERFORM f_build_catalogue.
    This perform will build the sort
      PERFORM f_event_sort.
    This perform will build the layout
      PERFORM f_build_layout.
    This perform will build the event
      PERFORM f_event_build.
    This perform will build the comment
      PERFORM f_comment_build.
    This perform will display the list
      PERFORM f_list_display.
              End-Of-Selection
    END-OF-SELECTION.
    *&  Include           ZMM_TRACKING_QUOTATION_T                         *
               T a b l e s   D e c l a r a t i o n s                     *
    TABLES: eban,
            ebkn,
            ekko,
            eket,
            lfa1,
            ekpo.
          Selection Screen Declaration
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-100.
    SELECT-OPTIONS: bednr  FOR eban-bednr,
                    ps_psp FOR ebkn-ps_psp_pnr,
                    kostl  FOR ebkn-kostl,
                    erdat  FOR ebkn-erdat.
    SELECTION-SCREEN END OF BLOCK b1.
               Type Pools  D e c l a r a t i o n s                        *
    TYPE-POOLS: slis.
               V a r i  a b l e s                                        *
    DATA : rt_fieldcat  TYPE slis_t_fieldcat_alv,
           i_layout     TYPE slis_layout_alv,
           i_event      TYPE slis_t_event,
           i_listheader TYPE slis_t_listheader,
           l_sort       TYPE slis_t_sortinfo_alv,
           wa_sort      TYPE slis_sortinfo_alv.
               I n t e r n a l  T a b l e s                               *
    DATA: BEGIN OF i_final_tab OCCURS 0,
          name1      LIKE lfa1-name1,
          banfn      LIKE eban-banfn,
          badat      LIKE eban-badat,
          bnfpo      LIKE eban-bnfpo,
          txz01      LIKE eban-txz01,
          menge      LIKE eban-menge,
          bednr      LIKE eban-bednr,
          frgdt      LIKE eban-frgdt,
          lfdat      LIKE eban-lfdat,
          ps_psp_pnr LIKE ebkn-ps_psp_pnr,
          bwbdt      LIKE ekko-bwbdt,
          aedat      LIKE ekko-aedat,
          lifnr      LIKE ekko-lifnr,
          ihran      LIKE ekko-ihran,
          ebeln      LIKE ekpo-ebeln,
          ebelp      LIKE ekpo-ebelp,
          plifz      LIKE ekpo-plifz,
          eindt      LIKE eket-eindt,
          END OF i_final_tab.
    DATA: BEGIN OF itab OCCURS 0,
          name1      LIKE lfa1-name1,
          banfn      LIKE eban-banfn,
          badat      LIKE eban-badat,
          bnfpo      LIKE eban-bnfpo,
          txz01      LIKE eban-txz01,
          menge(17),
          bednr      LIKE eban-bednr,
          frgdt      LIKE eban-frgdt,
          lfdat      LIKE eban-lfdat,
          ps_psp_pnr LIKE ebkn-ps_psp_pnr,
          bwbdt      LIKE ekko-bwbdt,
          aedat      LIKE ekko-aedat,
          lifnr      LIKE ekko-lifnr,
          ihran      LIKE ekko-ihran,
          ebeln      LIKE ekpo-ebeln,
          ebelp      LIKE ekpo-ebelp,
          plifz      LIKE ekpo-plifz,
          eindt      LIKE eket-eindt,
          END OF itab.
    *&  Include           ZMM_TRACKING_QUOTATION_F                         *
    **&      Form  FIELDCAT_INIT
          text
         -->P_GT_FIELDCAT[]  text
    FORM f_build_catalogue.
      DATA : ls_fieldcat TYPE slis_fieldcat_alv.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname     = 'BANFN'.
      ls_fieldcat-tabname       = 'itab'.
      ls_fieldcat-seltext_m   = 'PR Number'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
      ls_fieldcat-fix_column  = ''.
      ls_fieldcat-emphasize   = ''.
      APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'BNFPO'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'BADAT'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'TXZ01'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'MENGE'.
    ls_fieldcat-ref_tabname   = 'ITAB'.
    ls_fieldcat-seltext_l     = 'Quantity'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'PS_PSP_PNR'.
    ls_fieldcat-ref_tabname   = 'EBKN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'BEDNR'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'FRGDT'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'LFDAT'.
    ls_fieldcat-ref_tabname   = 'EBAN'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'EBELN'.
    ls_fieldcat-ref_tabname   = 'EKPO'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'EBELP'.
    ls_fieldcat-ref_tabname   = 'EKPO'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'AEDAT'.
    ls_fieldcat-ref_tabname   = 'EKKO'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'LIFNR'.
    ls_fieldcat-ref_tabname   = 'EKKO'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'NAME1'.
    ls_fieldcat-ref_tabname   = 'LFA1'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'IHRAN'.
    ls_fieldcat-ref_tabname   = 'EKKO'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'EINDT'.
    ls_fieldcat-ref_tabname   = 'EKET'.
    APPEND ls_fieldcat TO rt_fieldcat.
    CLEAR ls_fieldcat.
    ls_fieldcat-tabname       = 'ITAB'.
    ls_fieldcat-fieldname     = 'PLIFZ'.
    ls_fieldcat-ref_tabname   = 'EKPO'.
    APPEND ls_fieldcat TO rt_fieldcat.
    ENDFORM.                    " FIELDCAT_INIT
    *&      Form  selection
          text
    -->  p1        text
    <--  p2        text
    FORM selection .
      SELECT
                lfa1~name1
                eban~banfn
                eban~badat
                eban~bnfpo
                eban~txz01
                eban~menge
                eban~bednr
                eban~frgdt
                eban~lfdat
                ebkn~ps_psp_pnr
                ekko~bwbdt
                ekko~aedat
                ekko~lifnr
                ekko~ihran
                ekpo~ebeln
                ekpo~ebelp
                ekpo~plifz
                eket~eindt
                                    FROM lfa1 INNER JOIN ekko ON ( lfa1lifnr = ekkolifnr )
                                              INNER JOIN ekpo ON ( ekkoebeln = ekpoebeln )
                                              INNER JOIN eket ON ( ekpoebeln = eketebeln
                                                                             AND
                                                                   ekpoebelp = eketebelp )
                                              INNER JOIN eban ON ( ebanbanfn =  eketbanfn
                                                                            AND
                                                                  ebanbnfpo =  eketbnfpo )
                                              INNER JOIN ebkn ON ( ebanbanfn =  ebknbanfn
                                                                                 AND
                                                                  ebanbnfpo =  ebknbnfpo )
                                    INTO TABLE i_final_tab WHERE eban~bednr      IN bednr  AND
                                                           ebkn~ps_psp_pnr IN ps_psp AND
                                                           ebkn~kostl      IN kostl  AND
                                                           ebkn~erdat      IN erdat AND
                                                           ekko~bstyp <> 'F'.
      LOOP AT i_final_tab.
        itab-name1      = i_final_tab-name1.
        itab-banfn      = i_final_tab-banfn.
        itab-badat      = i_final_tab-badat.
        itab-bnfpo      = i_final_tab-bnfpo.
        itab-txz01      = i_final_tab-txz01.
        itab-menge      = i_final_tab-menge.
        itab-bednr      = i_final_tab-bednr.
        itab-frgdt      = i_final_tab-frgdt.
        itab-lfdat      = i_final_tab-lfdat.
        itab-ps_psp_pnr = i_final_tab-ps_psp_pnr.
        itab-aedat      = i_final_tab-aedat.
        itab-lifnr      = i_final_tab-lifnr.
        itab-ihran      = i_final_tab-ihran.
        itab-ebeln      = i_final_tab-ebeln.
        itab-ebelp      = i_final_tab-ebelp.
        itab-plifz      = i_final_tab-plifz.
        itab-eindt      = i_final_tab-eindt.
        APPEND itab.
        CLEAR itab.
      ENDLOOP.
    ENDFORM.                    " selection
    *&      Form  f_event_build
          text
    -->  p1        text
    <--  p2        text
    FORM f_event_build .
      DATA wa_event TYPE slis_alv_event.
      CLEAR: wa_event,
             i_event.
    *read event top-of-page
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = i_event.
      IF sy-subrc <> 0.
      ENDIF.
    *Prepare event table
      READ TABLE i_event WITH KEY name = 'TOP_OF_PAGE' INTO wa_event.
      IF sy-subrc EQ 0.
        MOVE 'TOP_OF_PAGE' TO wa_event-form.
        APPEND wa_event TO i_event.
      ENDIF.
    ENDFORM.                    " f_event_build
    *&      Form  f_comment_build
          text
    -->  p1        text
    <--  p2        text
    FORM f_comment_build .
      DATA: wa_listheader TYPE slis_listheader.
      CLEAR wa_listheader.
      wa_listheader-typ = 'H'.
      wa_listheader-info = 'Tracking Of Quotation For Purchase Requisition'.
      APPEND wa_listheader TO i_listheader.
      CLEAR wa_listheader.
      wa_listheader-typ = 'S'.
      wa_listheader-info = 'SMS-DEMAG Pvt. Ltd.'.
      APPEND wa_listheader TO i_listheader.
      CLEAR wa_listheader.
      wa_listheader-typ = 'S'.
      wa_listheader-info = 'R1- Nehru Enclave'.
      APPEND wa_listheader TO i_listheader.
      CLEAR wa_listheader.
      wa_listheader-typ = 'S'.
      wa_listheader-info = 'New Delhi - '.
      APPEND wa_listheader TO i_listheader.
    ENDFORM.                    " f_comment_build
    *&      Form  f_build_layout
          text
    -->  p1        text
    <--  p2        text
    FORM f_build_layout .
      CLEAR i_layout.
      i_layout-colwidth_optimize = 'X'.
      i_layout-zebra = 'X'.
      i_layout-totals_text = 'Total'.
    ENDFORM.                    " f_build_layout
    *&      Form  f_list_display
          text
    -->  p1        text
    <--  p2        text
    FORM f_list_display .
    *sort itab by name1
                banfn
                badat
                bnfpo
                txz01
                menge
                bednr
                frgdt
                lfdat
                ps_psp_pnr
                bwbdt
                aedat
                lifnr
                ihran
                ebeln
                ebelp
                plifz
                eindt.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = sy-repid
          is_layout          = i_layout
          it_fieldcat        = rt_fieldcat
          it_events          = i_event
          it_sort            = l_sort
        TABLES
          t_outtab           = itab.
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    " f_list_display
    *&      Form  TOP_OF_PAGE
          text
    -->  p1        text
    <--  p2        text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = i_listheader
          i_logo             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  f_event_sort
          text
    -->  p1        text
    <--  p2        text
    FORM f_event_sort .
    wa_sort-spos = 1.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'BANFN'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    CLEAR WA_SORT.
    wa_sort-spos = 5.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'MENGE'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 2.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'BNFPO'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 3.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'BADAT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 4.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'TXZ01'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 7.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'BEDNR'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 6.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'PS_PSP_PNR'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 8.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'FRGDT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 9.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-fieldname = 'LFDAT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 10.
    wa_sort-fieldname = 'EBELN'.
    wa_sort-subtot = 'X'.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 11.
    wa_sort-fieldname = 'EBELP'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 12.
    wa_sort-fieldname = 'AEDAT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 13.
    wa_sort-fieldname = 'LIFNR'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 14.
    wa_sort-fieldname = 'NAME1'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 15.
    wa_sort-fieldname = 'IHRAN'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-up = 'X'.
    wa_sort-tabname = 'i_final_tab'.
    wa_sort-spos = 16.
    wa_sort-fieldname = 'EINDT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    *sort l_sort by spos.
      CLEAR wa_sort.
      wa_sort-spos = 1.
      wa_sort-fieldname = 'BANFN'.
      wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-subtot = ' '.
      APPEND wa_sort TO l_sort.
    wa_sort-spos = 5.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'MENGE'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-spos = 2.
    wa_sort-fieldname = 'BNFPO'.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    wa_sort-spos = 3.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'BADAT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 4.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'TXZ01'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 7.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'BEDNR'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 6.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'PS_PSP_PNR'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 8.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'FRGDT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    wa_sort-spos = 9.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-fieldname = 'LFDAT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-spos = 10.
    wa_sort-fieldname = 'EBELN'.
    wa_sort-subtot = 'X'.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-spos = 11.
    wa_sort-fieldname = 'EBELP'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-spos = 12.
    wa_sort-fieldname = 'AEDAT'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-spos = 13.
    wa_sort-fieldname = 'LIFNR'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-spos = 14.
    wa_sort-fieldname = 'NAME1'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-down = 'X'.
    wa_sort-tabname = 'itab'.
    wa_sort-spos = 15.
    wa_sort-fieldname = 'IHRAN'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    CLEAR wa_sort.
    wa_sort-spos = 16.
    wa_sort-fieldname = 'EINDT'.
    wa_sort-tabname = 'itab'.
    wa_sort-down = 'X'.
    wa_sort-subtot = ' '.
    APPEND wa_sort TO l_sort.
    *CLEAR WA_SORT.
    *sort l_sort by spos.
    ENDFORM.                    " f_event_sort
    *&      Form  f_validate_sel_screen
          text
    -->  p1        text
    <--  p2        text
    FORM f_validate_sel_screen .
    *Tracking number
      SELECT SINGLE * FROM eban WHERE bednr IN bednr.
      IF sy-subrc NE 0.
        MESSAGE e013.
      ENDIF.
    *Wbs Element
      SELECT SINGLE * FROM ebkn WHERE ps_psp_pnr IN ps_psp.
      IF sy-subrc NE 0.
        MESSAGE e014.
      ENDIF.
    *Cost center
      SELECT SINGLE * FROM ebkn WHERE kostl IN kostl.
      IF sy-subrc NE 0.
        MESSAGE e015.
      ENDIF.
    *Date
      SELECT SINGLE * FROM ebkn WHERE erdat IN erdat.
      IF sy-subrc NE 0.
        MESSAGE e012.
      ENDIF.
    ENDFORM.                    " f_validate_sel_screen

    Hey Ravi,
    As you said it is urgent to deliver the report, i will suggest you temporary solution while i debug the program.
    In the FM "REUSE_ALV_GRID_DISPLAY", use layout to generate your sorted report for now as shown following:
    <b>DATA:   G_VARIANT LIKE DISVARIANT.</b>
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
         I_CALLBACK_PROGRAM = SY-REPID
         IS_LAYOUT = I_LAYOUT
         IT_FIELDCAT = RT_FIELDCAT
         IT_EVENTS = I_EVENT
         IT_SORT = L_SORT
         <b>is_variant = g_variant</b>
      TABLES
         T_OUTTAB = ITAB.
      IF SY-SUBRC <> 0.
      ENDIF.
    Where g_variant is your custom layout which you will make as default for output.
    Hope this helps and let me know if you need more details.
    In the mean time, i will look in to the program.
    Regards,
    Vicky
    PS: Award points if helpful

  • REGARDING ALV BLOCK DISPLAY AND GRID DISPLAY

    HI FRIENDS,
    I HAVE A TROUBLE IN DISPLAYNG TWO TABLES TOGETHER IN THE GRID DISPLAY, BUT I CAN DISPLAY USING BLOCKS. I DONT WANT TO  USE JOIN STATEMENT IN THE SELECT QUERY.
    HELP WITH BY DISPLAYING THE RESPECTIVE CODES FOR THAT.
    THANK U IN ADVANCE

    hi,
    type-pools  : slis,icon.
    data : gd_repid like sy-repid.
    data : d_fieldcat type slis_t_fieldcat_alv,
              d_fieldcat_wa type slis_fieldcat_alv.
    data : begin of itab_mara occurs 0,
             matnr like mara-matnr,
             ernam like mara-ernam,
            end of itab_mara.
    data : begin of itab_marc occurs 0,
             matnr like marc-matnr,
             werks like marc-werks,
             end of itab_marc.
    data : begin of itab_final occurs 0,
              matnr like mara-matnr,
              ernam like mara-ernam,
              werks like marc-werks,
              end of itab_final.
    gd_repid = sy-repid.
    loop at itab_emp.
    itab_final-matnr = itab_emp-matnr.
    itab_final-ernam = itab_emp-ernam.
    append itab_emp.
    clear itab_emp.
    endloop.
    d_fieldcat_wa-fieldname = 'MATNR'.
    d_fieldcat_wa-seltext_l = 'material number'.
    d_fieldcat_wa-col_pos = 1.
    append d_fieldcat_wa to d_fieldcat.
    clear d_fieldcat_wa.
    d_fieldcat_wa-fieldname = 'ERNAM'.
    d_fieldcat_wa-seltext_l = 'created by'.
    d_fieldcat_wa-col_pos = 2.
    append d_fieldcat_wa to d_fieldcat.
    clear d_fieldcat_wa.
    d_fieldcat_wa-fieldname = 'WERKS'.
    d_fieldcat_wa-seltext_l = 'plant number'.
    d_fieldcat_wa-col_pos = 1.
    append d_fieldcat_wa to d_fieldcat.
    clear d_fieldcat_wa.
    call function module 'REUSE_ALV_GRID_DISPLAY'.
    Reward with points if helpful.

  • Problem with ALV list display

    Hello experts,
    When i call the funcation module for REUSE_ALV_LIST_DISPLAY to display for than 5 field columns , then it gives dump saying field symbol not assigned, but the same thing using REUSE_ALV_GRID_DISPLAY works fine for any number of columns.
    Kindly help how should this be done??

    Hi,
    Here is the code using 'REUSE_ALV_LIST_DISPLAY'
    just check this out...
    tables: mara.
    type-pools:slis.
    data: itab type standard table of mara.
    data: fcat type slis_t_fieldcat_alv.
    data i_repid like sy-repid.
    select * from mara into table itab.
    i_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       I_PROGRAM_NAME               = i_repid
      I_INTERNAL_TABNAME           = 'ITAB'
       I_STRUCTURE_NAME             = 'MARA'
      I_CLIENT_NEVER_DISPLAY       = 'X'
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
      CHANGING
        ct_fieldcat                  = fcat
    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_LIST_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
      I_CALLBACK_PROGRAM             = ' '
      I_CALLBACK_PF_STATUS_SET       = ' '
      I_CALLBACK_USER_COMMAND        = ' '
      I_STRUCTURE_NAME               =
      IS_LAYOUT                      =
    IT_FIELDCAT                    = 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                       = itab.
    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.
    Thanks & Regards
    Ashu Singh

Maybe you are looking for

  • OS AUTHENTICATION on Windows 2000 Server

    Hello, Can anyone tell me the best way to create a user that is OS authenticated? How and where to configure the server, database? How should Database server and Client be installed as domain user or Local PC administrator? I have tried everything un

  • How to install Oracle 9i on redhat 9

    i have installed 4-5 times oracle 9i on linux ...but the thing is ..as soon i restart my pc..the SQLPLUS doest not start from the redhat 9 terminal ...So plz tell me the step by step procedure how to install Oracle 9i on linux ... .... What & where i

  • Good pdf viewer with different functionalitites

    Hello folks, I am looking for a good pdf viewer (would be nice if it could support pdf editiing) to view same pdf document at the same time. Document viewer is good enough but when I want to view the same pdf file which is already open with Document

  • Folio Builder Error: Source Files Not Found

    I'm having some weird issues with DPS that are preventing me from editing folios. Whenever I try to update, import or add an article to a folio (whether it's a new or existing folio), I get one of the below error messages saying that the source files

  • Airport Extreme Printer WI-FI Connection

    I'm trying to connect my Epson Workforce 630 to Airport Extreme WI-FI network via PC Windows 7 OS. It asks for a Security code instead of a password. The Airport extreme doesn't have a security code. How do I connect?