How to get checkboxes in dynamic ALV list generation

hi ,
below is the code in which two lists we wll be displayed in one layout dynamically(i.e after entering the table name two lists wll be displayed in one layout) from two different clients(i.e. source and target).
TYPE-POOLS *
TYPE-POOLS: slis.
*-- Tables Declaration
TABLES:  dd02l, t000.
*-- Constants Declaration
CONSTANTS: lc_z   TYPE char1  VALUE 'Z',
           lc_y   TYPE char1  VALUE 'Y'.
DATA: ok_code TYPE sy-ucomm.
*--Internal table and Work Area Declaration
DATA: lines LIKE sy-dbcnt VALUE 0.
DATA: icursor TYPE cursor.
*DATA: icursor1 TYPE cursor.
DATA: lv_count TYPE i.
DATA: lv_table_var1  TYPE char1.
DATA: lv_ans TYPE char1.
DATA : gd_tabname  TYPE tabname.
*for check boxes
DATA:l_pos TYPE i VALUE 1.
*field catalog for source client
DATA: c_cont1 TYPE REF TO cl_gui_custom_container,
c_alv1 TYPE REF TO cl_gui_alv_grid,
it_fieldcat1 TYPE lvc_t_fcat ,
ty_fieldcat1 TYPE lvc_s_fcat ,
struc_desc1   TYPE REF TO cl_abap_structdescr,
ls_fieldcatalogue1 TYPE slis_fieldcat_alv,
lt_fieldcatalogue1 TYPE slis_t_fieldcat_alv,
l_structure1   TYPE REF TO data,
l_table1    TYPE REF TO data.
for check boxes for source client
DATA: ls_edit TYPE lvc_s_styl,
lt_edit TYPE lvc_t_styl.
*field catalog for target client
DATA: c_cont2 TYPE REF TO cl_gui_custom_container,
c_alv2 TYPE REF TO cl_gui_alv_grid,
it_fieldcat2 TYPE lvc_t_fcat ,
ty_fieldcat2 TYPE lvc_s_fcat ,
struc_desc2   TYPE REF TO cl_abap_structdescr,
ls_fieldcatalogue2 TYPE slis_fieldcat_alv,
lt_fieldcatalogue2 TYPE slis_t_fieldcat_alv,
l_structure2   TYPE REF TO data,
l_table2    TYPE REF TO data.
*for source client
TYPES: BEGIN OF itab,
        t_name TYPE tabname,
        t_ref TYPE REF TO data,
*for checkboxes.
        check(1),
style TYPE lvc_t_styl,
END OF itab.
*for target client
TYPES: BEGIN OF itab1,
         t_name1 TYPE tabname,
         t_ref1 TYPE REF TO data,
END OF itab1.
*-- Field Symbol declaration for Dynamic Internal Table for source client
FIELD-SYMBOLS: <tab> TYPE table.
FIELD-SYMBOLS: <tab1> TYPE ANY.
FIELD-SYMBOLS: <l_mandt>.
FIELD-SYMBOLS: <str_comp1> TYPE abap_compdescr,
               <dyn_str1> TYPE ANY.
*--Field Symbol declaration for Dynamic Internal Table for target client
FIELD-SYMBOLS <tab2> TYPE table.
FIELD-SYMBOLS <tab3> TYPE ANY.
FIELD-SYMBOLS: <l_mandt1>.
FIELD-SYMBOLS: <str_comp2> TYPE abap_compdescr,
               <dyn_str2> TYPE ANY.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p_table    LIKE dd02l-tabname,
            p_mdt_fm LIKE t000-mandt DEFAULT sy-mandt,
            p_mdt_to LIKE t000-mandt DEFAULT '910'.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON p_table.
  lv_table_var1  = p_table+0(1).
*-- Validation for Standard tables
  IF ( lv_table_var1 NE lc_z ) AND ( lv_table_var1 NE lc_y ).
    MESSAGE e001(00)  WITH text-002.
  ENDIF.
*-- Start of Selection
START-OF-SELECTION.
--for source client--
  DATA itab2 TYPE itab.
  DATA t_ref1 TYPE REF TO data.
  itab2-t_name = p_table.
--for target client--
  DATA itab3 TYPE itab1.
  DATA t_ref2 TYPE REF TO data.
  itab3-t_name1 = p_table.
*-- Create Dynamic Internal table for source client
  CREATE DATA itab2-t_ref TYPE TABLE OF (itab2-t_name) .
  ASSIGN itab2-t_ref->* TO <tab>.
  CREATE DATA t_ref1 LIKE LINE OF <tab>.
  ASSIGN t_ref1->* TO <tab1>.
*-- Create Dynamic Internal table for target client
  CREATE DATA itab3-t_ref1 TYPE TABLE OF (itab3-t_name1) .
  ASSIGN itab3-t_ref1->* TO <tab2>.
  CREATE DATA t_ref2 LIKE LINE OF <tab2>.
  ASSIGN t_ref2->* TO <tab3>.
*-- get the number of entries in table
  SELECT COUNT(*) FROM dd03l INTO lv_count
                            WHERE tabname   =  p_table
                              AND fieldname = 'MANDT'.
Check MANDT field the the table, if not exists through an error message
  IF lv_count = 0.
    MESSAGE i000(8i) WITH text-001 space space.
    EXIT.
  ELSE.
*-- Delete the Table Entries in the target system
    DELETE FROM (p_table) CLIENT SPECIFIED
          WHERE mandt = p_mdt_to.
    COMMIT WORK.
*-- Open cursor
    OPEN CURSOR WITH HOLD icursor FOR
      SELECT * FROM (p_table) CLIENT SPECIFIED
              WHERE mandt = p_mdt_fm.
    IF sy-subrc <> 0.
      MESSAGE e000(8i) WITH text-001.
    ENDIF.
    DO.
      FETCH NEXT CURSOR icursor INTO TABLE <tab> PACKAGE SIZE 1000.
      IF sy-subrc <> 0.
        CLOSE CURSOR icursor.
        EXIT.
      ENDIF.
*-- Modify Field 'MANDT' with the Target Client no.
      LOOP AT <tab> ASSIGNING <tab1>.
        ASSIGN COMPONENT: 'MANDT'  OF STRUCTURE <tab1> TO <l_mandt>.
        <l_mandt> = p_mdt_to.
        MODIFY <tab> FROM <tab1>.
        lines = lines + 1.
      ENDLOOP.
*-- Insert records into target table
      INSERT (p_table) CLIENT SPECIFIED FROM TABLE <tab>.
*-- Close the cursor
      CALL FUNCTION 'DB_COMMIT'.
    ENDDO.
ENDIF.
for target client
*-- Open cursor
    OPEN CURSOR WITH HOLD icursor FOR
      SELECT * FROM (p_table) CLIENT SPECIFIED
              WHERE mandt = p_mdt_to.
    IF sy-subrc <> 0.
      MESSAGE e000(8i) WITH text-001.
    ENDIF.
    DO.
      FETCH NEXT CURSOR icursor INTO TABLE <tab2> PACKAGE SIZE 1000.
      IF sy-subrc <> 0.
        CLOSE CURSOR icursor.
        EXIT.
      ENDIF.
*-- Close the cursor
      CALL FUNCTION 'DB_COMMIT'.
    ENDDO.
  ENDIF.
  CALL SCREEN 3000.
*&      Module  STATUS_3000  OUTPUT
      text
MODULE status_3000 OUTPUT.
  SET PF-STATUS 'ZTESTMENU'.
SET TITLEBAR 'xxx'.
For Source client
  IF c_alv1 IS INITIAL.
    CREATE OBJECT c_cont1
      EXPORTING
        container_name = 'CONTAINER_SOURCE'.
    IF sy-subrc = 0.
      CREATE OBJECT c_alv1
        EXPORTING
          i_parent = c_cont1.
    ENDIF.
    IF sy-subrc EQ 0.
      PERFORM field_cat1.
    ENDIF.
    CALL METHOD c_alv1->set_table_for_first_display
     EXPORTING
i_buffer_active               =
i_bypassing_buffer            =
i_consistency_check           =
i_structure_name              =
is_variant                    =
i_save                        =
i_default                     = 'x'
is_layout                     =
is_print                      =
it_special_groups             =
it_toolbar_excluding          =
it_hyperlink                  =
it_alv_graphics               =
it_except_qinfo               =
ir_salv_adapter               =
CHANGING
it_outtab           = <tab>
it_fieldcatalog     = it_fieldcat1
it_sort                       =
it_filter                     =
EXCEPTIONS
valid_parameter_combination = 1
program_error                 = 2
too_many_lines                = 3
others                        = 4
    IF sy-subrc <> 0.
                              MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                                         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDIF.
For Target client
  IF c_alv2 IS INITIAL.
    CREATE OBJECT c_cont2
      EXPORTING
        container_name              = 'CONTAINER_TARGET'.
    IF sy-subrc = 0.
      CREATE OBJECT c_alv2
        EXPORTING
          i_parent          = c_cont2.
    ENDIF.
    IF sy-subrc EQ 0.
      PERFORM field_cat2.
    ENDIF.
    CALL METHOD c_alv2->set_table_for_first_display
EXPORTING
   i_buffer_active               =
   i_bypassing_buffer            =
   i_consistency_check           =
   i_structure_name              =
   is_variant                    =
   i_save                        =
   i_default                     = 'x'
   is_layout                     =
   is_print                      =
   it_special_groups             =
   it_toolbar_excluding          =
   it_hyperlink                  =
   it_alv_graphics               =
   it_except_qinfo               =
   ir_salv_adapter               =
      CHANGING
        it_outtab                     = <tab2>
        it_fieldcatalog               = it_fieldcat2
   it_sort                       =
   it_filter                     =
EXCEPTIONS
   invalid_parameter_combination = 1
   program_error                 = 2
   too_many_lines                = 3
   others                        = 4
    IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDIF.
ENDMODULE.                 " STATUS_3000  OUTPUT
*&      Module  USER_COMMAND_3000  INPUT
      text
MODULE user_command_3000 INPUT.
  CASE ok_code.
    WHEN 'BACK'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_3000  INPUT
*&      Form  field_cat1
      text
-->  p1        text
<--  p2        text
FORM field_cat1 .
Dynamic creation of a structure
  CREATE DATA l_structure1 TYPE (p_table).
  ASSIGN l_structure1->* TO <dyn_str1>.
Fields Structure
  struc_desc1 ?= cl_abap_typedescr=>describe_by_data( <dyn_str1> ).
  LOOP AT struc_desc1->components ASSIGNING <str_comp1>.
  Build Fieldcatalog
    ty_fieldcat1-fieldname = <str_comp1>-name.
    ty_fieldcat1-ref_table = p_table.
   CLEAR: l_pos.
*l_pos = l_pos + 1.
*ty_fieldcat1-seltext = 'CHECK'.
*ty_fieldcat1-fieldname = 'CHECK'.
*ty_fieldcat1-tabname = 'ITAB'.
*ty_fieldcat1-col_pos = l_pos.
*ty_fieldcat1-checkbox = 'X'.
*ty_fieldcat1-edit = 'X'.
*ty_fieldcat1-outputlen = '5'.
APPEND ty_fieldcat1 TO it_fieldcat1.
  Build Fieldcatalog
    ls_fieldcatalogue1-fieldname = <str_comp1>-name.
    ls_fieldcatalogue1-ref_tabname = p_table.
    APPEND ls_fieldcatalogue1 TO lt_fieldcatalogue1.
  ENDLOOP.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
   i_style_table             =
      it_fieldcatalog           = it_fieldcat1
   i_length_in_byte          =
    IMPORTING
      ep_table                  = l_table1
   e_style_fname             =
EXCEPTIONS
   generate_subpool_dir_full = 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.
  ASSIGN l_table1->* TO <tab>.
Read data from the table selected.
  SELECT * FROM (p_table)
     CLIENT SPECIFIED
     INTO CORRESPONDING FIELDS OF TABLE <tab>
               WHERE mandt = p_mdt_fm.
ENDFORM.                    " field_cat1
*&      Form  field_cat2
      text
-->  p1        text
<--  p2        text
FORM field_cat2 .
  CREATE DATA l_structure2 TYPE (p_table).
  ASSIGN l_structure2->* TO <dyn_str2>.
Fields Structure
  struc_desc2 ?= cl_abap_typedescr=>describe_by_data( <dyn_str2> ).
  LOOP AT struc_desc2->components ASSIGNING <str_comp2>.
  Build Fieldcatalog
    ty_fieldcat2-fieldname = <str_comp2>-name.
    ty_fieldcat2-ref_table = p_table.
    APPEND ty_fieldcat2 TO it_fieldcat2.
  Build Fieldcatalog
    ls_fieldcatalogue2-fieldname = <str_comp2>-name.
    ls_fieldcatalogue2-ref_tabname = p_table.
    APPEND ls_fieldcatalogue2 TO lt_fieldcatalogue2.
  ENDLOOP.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
   i_style_table             =
      it_fieldcatalog           = it_fieldcat2
   i_length_in_byte          =
    IMPORTING
      ep_table                  = l_table2
   e_style_fname             =
EXCEPTIONS
   generate_subpool_dir_full = 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.
  ASSIGN l_table2->* TO <tab2>.
Read data from the table selected.
  SELECT * FROM (p_table) CLIENT SPECIFIED
     INTO CORRESPONDING FIELDS OF TABLE <tab2>
               WHERE mandt =  p_mdt_to.
ENDFORM.                    " field_cat2
*FOR THE ABOVE CODE I NEED CHECKBOXES IN THE FIRST LIST AND I HAVE TRIED MANY WAYS BUT I HAVENT GOT THE SOLUTION. SO, PLZ CAN U EXPLAIN BY MENTIONING THE PIECE OF CODE IN ABOVE CODE.
PLZ DO THE NEED FUL.
thanks in advance.

hi ,
below is the code in which two lists we wll be displayed in one layout dynamically(i.e after entering the table name two lists wll be displayed in one layout) from two different clients(i.e. source and target).
TYPE-POOLS *
TYPE-POOLS: slis.
*-- Tables Declaration
TABLES:  dd02l, t000.
*-- Constants Declaration
CONSTANTS: lc_z   TYPE char1  VALUE 'Z',
           lc_y   TYPE char1  VALUE 'Y'.
DATA: ok_code TYPE sy-ucomm.
*--Internal table and Work Area Declaration
DATA: lines LIKE sy-dbcnt VALUE 0.
DATA: icursor TYPE cursor.
*DATA: icursor1 TYPE cursor.
DATA: lv_count TYPE i.
DATA: lv_table_var1  TYPE char1.
DATA: lv_ans TYPE char1.
DATA : gd_tabname  TYPE tabname.
*for check boxes
DATA:l_pos TYPE i VALUE 1.
*field catalog for source client
DATA: c_cont1 TYPE REF TO cl_gui_custom_container,
c_alv1 TYPE REF TO cl_gui_alv_grid,
it_fieldcat1 TYPE lvc_t_fcat ,
ty_fieldcat1 TYPE lvc_s_fcat ,
struc_desc1   TYPE REF TO cl_abap_structdescr,
ls_fieldcatalogue1 TYPE slis_fieldcat_alv,
lt_fieldcatalogue1 TYPE slis_t_fieldcat_alv,
l_structure1   TYPE REF TO data,
l_table1    TYPE REF TO data.
for check boxes for source client
DATA: ls_edit TYPE lvc_s_styl,
lt_edit TYPE lvc_t_styl.
*field catalog for target client
DATA: c_cont2 TYPE REF TO cl_gui_custom_container,
c_alv2 TYPE REF TO cl_gui_alv_grid,
it_fieldcat2 TYPE lvc_t_fcat ,
ty_fieldcat2 TYPE lvc_s_fcat ,
struc_desc2   TYPE REF TO cl_abap_structdescr,
ls_fieldcatalogue2 TYPE slis_fieldcat_alv,
lt_fieldcatalogue2 TYPE slis_t_fieldcat_alv,
l_structure2   TYPE REF TO data,
l_table2    TYPE REF TO data.
*for source client
TYPES: BEGIN OF itab,
        t_name TYPE tabname,
        t_ref TYPE REF TO data,
*for checkboxes.
        check(1),
style TYPE lvc_t_styl,
END OF itab.
*for target client
TYPES: BEGIN OF itab1,
         t_name1 TYPE tabname,
         t_ref1 TYPE REF TO data,
END OF itab1.
*-- Field Symbol declaration for Dynamic Internal Table for source client
FIELD-SYMBOLS: <tab> TYPE table.
FIELD-SYMBOLS: <tab1> TYPE ANY.
FIELD-SYMBOLS: <l_mandt>.
FIELD-SYMBOLS: <str_comp1> TYPE abap_compdescr,
               <dyn_str1> TYPE ANY.
*--Field Symbol declaration for Dynamic Internal Table for target client
FIELD-SYMBOLS <tab2> TYPE table.
FIELD-SYMBOLS <tab3> TYPE ANY.
FIELD-SYMBOLS: <l_mandt1>.
FIELD-SYMBOLS: <str_comp2> TYPE abap_compdescr,
               <dyn_str2> TYPE ANY.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p_table    LIKE dd02l-tabname,
            p_mdt_fm LIKE t000-mandt DEFAULT sy-mandt,
            p_mdt_to LIKE t000-mandt DEFAULT '910'.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON p_table.
  lv_table_var1  = p_table+0(1).
*-- Validation for Standard tables
  IF ( lv_table_var1 NE lc_z ) AND ( lv_table_var1 NE lc_y ).
    MESSAGE e001(00)  WITH text-002.
  ENDIF.
*-- Start of Selection
START-OF-SELECTION.
--for source client--
  DATA itab2 TYPE itab.
  DATA t_ref1 TYPE REF TO data.
  itab2-t_name = p_table.
--for target client--
  DATA itab3 TYPE itab1.
  DATA t_ref2 TYPE REF TO data.
  itab3-t_name1 = p_table.
*-- Create Dynamic Internal table for source client
  CREATE DATA itab2-t_ref TYPE TABLE OF (itab2-t_name) .
  ASSIGN itab2-t_ref->* TO <tab>.
  CREATE DATA t_ref1 LIKE LINE OF <tab>.
  ASSIGN t_ref1->* TO <tab1>.
*-- Create Dynamic Internal table for target client
  CREATE DATA itab3-t_ref1 TYPE TABLE OF (itab3-t_name1) .
  ASSIGN itab3-t_ref1->* TO <tab2>.
  CREATE DATA t_ref2 LIKE LINE OF <tab2>.
  ASSIGN t_ref2->* TO <tab3>.
*-- get the number of entries in table
  SELECT COUNT(*) FROM dd03l INTO lv_count
                            WHERE tabname   =  p_table
                              AND fieldname = 'MANDT'.
Check MANDT field the the table, if not exists through an error message
  IF lv_count = 0.
    MESSAGE i000(8i) WITH text-001 space space.
    EXIT.
  ELSE.
*-- Delete the Table Entries in the target system
    DELETE FROM (p_table) CLIENT SPECIFIED
          WHERE mandt = p_mdt_to.
    COMMIT WORK.
*-- Open cursor
    OPEN CURSOR WITH HOLD icursor FOR
      SELECT * FROM (p_table) CLIENT SPECIFIED
              WHERE mandt = p_mdt_fm.
    IF sy-subrc <> 0.
      MESSAGE e000(8i) WITH text-001.
    ENDIF.
    DO.
      FETCH NEXT CURSOR icursor INTO TABLE <tab> PACKAGE SIZE 1000.
      IF sy-subrc <> 0.
        CLOSE CURSOR icursor.
        EXIT.
      ENDIF.
*-- Modify Field 'MANDT' with the Target Client no.
      LOOP AT <tab> ASSIGNING <tab1>.
        ASSIGN COMPONENT: 'MANDT'  OF STRUCTURE <tab1> TO <l_mandt>.
        <l_mandt> = p_mdt_to.
        MODIFY <tab> FROM <tab1>.
        lines = lines + 1.
      ENDLOOP.
*-- Insert records into target table
      INSERT (p_table) CLIENT SPECIFIED FROM TABLE <tab>.
*-- Close the cursor
      CALL FUNCTION 'DB_COMMIT'.
    ENDDO.
ENDIF.
for target client
*-- Open cursor
    OPEN CURSOR WITH HOLD icursor FOR
      SELECT * FROM (p_table) CLIENT SPECIFIED
              WHERE mandt = p_mdt_to.
    IF sy-subrc <> 0.
      MESSAGE e000(8i) WITH text-001.
    ENDIF.
    DO.
      FETCH NEXT CURSOR icursor INTO TABLE <tab2> PACKAGE SIZE 1000.
      IF sy-subrc <> 0.
        CLOSE CURSOR icursor.
        EXIT.
      ENDIF.
*-- Close the cursor
      CALL FUNCTION 'DB_COMMIT'.
    ENDDO.
  ENDIF.
  CALL SCREEN 3000.
*&      Module  STATUS_3000  OUTPUT
      text
MODULE status_3000 OUTPUT.
  SET PF-STATUS 'ZTESTMENU'.
SET TITLEBAR 'xxx'.
For Source client
  IF c_alv1 IS INITIAL.
    CREATE OBJECT c_cont1
      EXPORTING
        container_name = 'CONTAINER_SOURCE'.
    IF sy-subrc = 0.
      CREATE OBJECT c_alv1
        EXPORTING
          i_parent = c_cont1.
    ENDIF.
    IF sy-subrc EQ 0.
      PERFORM field_cat1.
    ENDIF.
    CALL METHOD c_alv1->set_table_for_first_display
     EXPORTING
i_buffer_active               =
i_bypassing_buffer            =
i_consistency_check           =
i_structure_name              =
is_variant                    =
i_save                        =
i_default                     = 'x'
is_layout                     =
is_print                      =
it_special_groups             =
it_toolbar_excluding          =
it_hyperlink                  =
it_alv_graphics               =
it_except_qinfo               =
ir_salv_adapter               =
CHANGING
it_outtab           = <tab>
it_fieldcatalog     = it_fieldcat1
it_sort                       =
it_filter                     =
EXCEPTIONS
valid_parameter_combination = 1
program_error                 = 2
too_many_lines                = 3
others                        = 4
    IF sy-subrc <> 0.
                              MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                                         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDIF.
For Target client
  IF c_alv2 IS INITIAL.
    CREATE OBJECT c_cont2
      EXPORTING
        container_name              = 'CONTAINER_TARGET'.
    IF sy-subrc = 0.
      CREATE OBJECT c_alv2
        EXPORTING
          i_parent          = c_cont2.
    ENDIF.
    IF sy-subrc EQ 0.
      PERFORM field_cat2.
    ENDIF.
    CALL METHOD c_alv2->set_table_for_first_display
EXPORTING
   i_buffer_active               =
   i_bypassing_buffer            =
   i_consistency_check           =
   i_structure_name              =
   is_variant                    =
   i_save                        =
   i_default                     = 'x'
   is_layout                     =
   is_print                      =
   it_special_groups             =
   it_toolbar_excluding          =
   it_hyperlink                  =
   it_alv_graphics               =
   it_except_qinfo               =
   ir_salv_adapter               =
      CHANGING
        it_outtab                     = <tab2>
        it_fieldcatalog               = it_fieldcat2
   it_sort                       =
   it_filter                     =
EXCEPTIONS
   invalid_parameter_combination = 1
   program_error                 = 2
   too_many_lines                = 3
   others                        = 4
    IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDIF.
ENDMODULE.                 " STATUS_3000  OUTPUT
*&      Module  USER_COMMAND_3000  INPUT
      text
MODULE user_command_3000 INPUT.
  CASE ok_code.
    WHEN 'BACK'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_3000  INPUT
*&      Form  field_cat1
      text
-->  p1        text
<--  p2        text
FORM field_cat1 .
Dynamic creation of a structure
  CREATE DATA l_structure1 TYPE (p_table).
  ASSIGN l_structure1->* TO <dyn_str1>.
Fields Structure
  struc_desc1 ?= cl_abap_typedescr=>describe_by_data( <dyn_str1> ).
  LOOP AT struc_desc1->components ASSIGNING <str_comp1>.
  Build Fieldcatalog
    ty_fieldcat1-fieldname = <str_comp1>-name.
    ty_fieldcat1-ref_table = p_table.
   CLEAR: l_pos.
*l_pos = l_pos + 1.
*ty_fieldcat1-seltext = 'CHECK'.
*ty_fieldcat1-fieldname = 'CHECK'.
*ty_fieldcat1-tabname = 'ITAB'.
*ty_fieldcat1-col_pos = l_pos.
*ty_fieldcat1-checkbox = 'X'.
*ty_fieldcat1-edit = 'X'.
*ty_fieldcat1-outputlen = '5'.
APPEND ty_fieldcat1 TO it_fieldcat1.
  Build Fieldcatalog
    ls_fieldcatalogue1-fieldname = <str_comp1>-name.
    ls_fieldcatalogue1-ref_tabname = p_table.
    APPEND ls_fieldcatalogue1 TO lt_fieldcatalogue1.
  ENDLOOP.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
   i_style_table             =
      it_fieldcatalog           = it_fieldcat1
   i_length_in_byte          =
    IMPORTING
      ep_table                  = l_table1
   e_style_fname             =
EXCEPTIONS
   generate_subpool_dir_full = 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.
  ASSIGN l_table1->* TO <tab>.
Read data from the table selected.
  SELECT * FROM (p_table)
     CLIENT SPECIFIED
     INTO CORRESPONDING FIELDS OF TABLE <tab>
               WHERE mandt = p_mdt_fm.
ENDFORM.                    " field_cat1
*&      Form  field_cat2
      text
-->  p1        text
<--  p2        text
FORM field_cat2 .
  CREATE DATA l_structure2 TYPE (p_table).
  ASSIGN l_structure2->* TO <dyn_str2>.
Fields Structure
  struc_desc2 ?= cl_abap_typedescr=>describe_by_data( <dyn_str2> ).
  LOOP AT struc_desc2->components ASSIGNING <str_comp2>.
  Build Fieldcatalog
    ty_fieldcat2-fieldname = <str_comp2>-name.
    ty_fieldcat2-ref_table = p_table.
    APPEND ty_fieldcat2 TO it_fieldcat2.
  Build Fieldcatalog
    ls_fieldcatalogue2-fieldname = <str_comp2>-name.
    ls_fieldcatalogue2-ref_tabname = p_table.
    APPEND ls_fieldcatalogue2 TO lt_fieldcatalogue2.
  ENDLOOP.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
   i_style_table             =
      it_fieldcatalog           = it_fieldcat2
   i_length_in_byte          =
    IMPORTING
      ep_table                  = l_table2
   e_style_fname             =
EXCEPTIONS
   generate_subpool_dir_full = 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.
  ASSIGN l_table2->* TO <tab2>.
Read data from the table selected.
  SELECT * FROM (p_table) CLIENT SPECIFIED
     INTO CORRESPONDING FIELDS OF TABLE <tab2>
               WHERE mandt =  p_mdt_to.
ENDFORM.                    " field_cat2
*FOR THE ABOVE CODE I NEED CHECKBOXES IN THE FIRST LIST AND I HAVE TRIED MANY WAYS BUT I HAVENT GOT THE SOLUTION. SO, PLZ CAN U EXPLAIN BY MENTIONING THE PIECE OF CODE IN ABOVE CODE.
PLZ DO THE NEED FUL.
thanks in advance.

Similar Messages

  • How to get subtotal value in ALV list display

    Hi all,
    How to give condition on the value of subtotal line in ALV list display,
    i.e.if value of subtotal of plan quantity = actual quantity (in red oval) it should show the message
    'ON TIME DELIVERY' else it should not show messagee.In my case(shown in red oval) its
    showing for each subtotal value. I know how to change the subtotal text but i want to change
    with respect to value of the subtotal.(plz refer attachment)
    Any input regard to this will be achieved great.
    Many thanks in advance.
    samadhan shinde.

    Hi Samadhan,
    I am awaiting for solution for this problem.....but as i think dynamically displaying sub total based on
    matching actual quantity and planned quantity is bit complicated.
    My idea is to display matched quantities in one block and unmatched  quantities in another. I mean using blocked list.
    awaiting suggestions.
    regards,

  • How to get sub totals in alv list

    Hi all,
    i have a data in internal table which need to display by alv lis display, but i need to display
    sub totals, like sub total by customer, subtotal by state, and complete total amount. In alv we have standard function
    buttons , by i need by default it is displayed when i exe my report, hope to achieve that.
    Please help me to know.
    thanks,
    rajesh

    hi Rajesh,
      Check these threads out
    http://www.sap-basis-abap.com/sapalv.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ee/b99d37e188a049e10000009b38f8cf/content.htm
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    DATA SORTING AND SUBTOTAL
    DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.
    CLEAR GS_SORT.
    GS_SORT-FIELDNAME = 'FIELD1'.
    GS_SORT-SPOS      = 1.
    GS_SORT-UP        = 'X'.
    <b>GS_SORT-SUBTOT    = 'X'.</b>
    APPEND GS_SORT TO GT_SORT.
    CLEAR GS_SORT.
    GS_SORT-FIELDNAME = 'FIELD2'.
    GS_SORT-SPOS      = 2.
    GS_SORT-UP        = 'X'.
    *GS_SORT-SUBTOT    = 'X'.
    APPEND GS_SORT TO GT_SORT.
    Regards,
    Santosh

  • How to get check box in alv grid list output

    hi gurus,
    can anyone inform me
    how to get check box in alv output it should not be a pop up window
    thank you
    regards
    kals.

    or
    hi go through the fallowing code.
    code*&----
    *& Report YGS_ALV_BOM *
    REPORT YGS_ALV_BOM .
    TABLES : MAST,STKO,STPO.
    TYPE-POOLS: SLIS.
    TYPES : BEGIN OF TY_MAST,
    CHECK_BOX,
    MATNR TYPE MAST-MATNR,
    WERKS TYPE MAST-WERKS,
    STLAN TYPE MAST-STLAN,
    STLNR TYPE MAST-STLNR,
    STLAL TYPE MAST-STLAL,
    END OF TY_MAST.
    TYPES : BEGIN OF TY_STKO,
    STLTY TYPE STKO-STLTY,
    STLNR TYPE STKO-STLNR,
    STLAL TYPE STKO-STLAL,
    STKOZ TYPE STKO-STKOZ,
    BMENG TYPE STKO-BMENG,
    BMEIN TYPE STKO-BMEIN,
    END OF TY_STKO.
    TYPES : BEGIN OF TY_STPO,
    LIGHTS,
    STLTY TYPE STPO-STLTY,
    STLNR TYPE STPO-STLNR,
    STLKN TYPE STPO-STLKN,
    STPOZ TYPE STPO-STPOZ,
    IDNRK TYPE STPO-IDNRK,
    MENGE TYPE STPO-MENGE,
    MEINS TYPE STPO-MEINS,
    END OF TY_STPO.
    DATA : IT_MAST TYPE TABLE OF TY_MAST,
    WA_MAST TYPE TY_MAST,
    IT_STKO TYPE TABLE OF TY_STKO,
    WA_STKO TYPE TY_STKO,
    IT_STPO TYPE TABLE OF TY_STPO,
    WA_STPO TYPE TY_STPO.
    DATA : lt_fieldcat TYPE slis_t_fieldcat_alv,
    ls_layout TYPE slis_layout_alv,
    ls_event TYPE slis_alv_event,
    lt_event TYPE slis_t_event,
    it_sortinfo type slis_t_sortinfo_alv,
    ls_header TYPE slis_listheader,
    lt_header TYPE slis_t_listHEADER.
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    SELECT-OPTIONS : S_MATNR FOR MAST-MATNR.
    START-OF-SELECTION.
    PERFORM GET_DATA.
    PERFORM BUILD_FIELDCAT USING LT_FIELDCAT.
    PERFORM BUILD_LAYOUT.
    END-OF-SELECTION.
    PERFORM DISPLAY_DATA.
    *& Form GET_DATA
    text
    --> p1 text
    <-- p2 text
    form GET_DATA .
    REFRESH : IT_MAST.
    SELECT MATNR
    WERKS
    STLAN
    STLNR
    FROM MAST
    INTO CORRESPONDING FIELDS OF TABLE IT_MAST
    WHERE MATNR IN S_MATNR.
    endform. " GET_DATA
    *& Form BUILD_FIELDCAT
    text
    --> p1 text
    <-- p2 text
    form BUILD_FIELDCAT USING LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA : L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    REFRESH : LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 1.
    L_FIELDCAT-FIELDNAME = 'MATNR'.
    L_FIELDCAT-TABNAME = 'IT_MAST'.
    L_FIELDCAT-REF_FIELDNAME = 'MATNR'.
    L_FIELDCAT-REF_TABNAME = 'MAST'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 2.
    L_FIELDCAT-FIELDNAME = 'WERKS'.
    L_FIELDCAT-TABNAME = 'IT_MAST'.
    L_FIELDCAT-REF_FIELDNAME = 'WERKS'.
    L_FIELDCAT-REF_TABNAME = 'MAST'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 3.
    L_FIELDCAT-FIELDNAME = 'STLNR'.
    L_FIELDCAT-TABNAME = 'IT_MAST'.
    L_FIELDCAT-REF_FIELDNAME = 'STLNR'.
    L_FIELDCAT-REF_TABNAME = 'MAST'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    endform. " BUILD_FIELDCAT
    *& Form BUILD_LAYOUT
    text
    --> p1 text
    <-- p2 text
    form BUILD_LAYOUT .
    CLEAR LS_LAYOUT.
    LS_LAYOUT-BOX_FIELDNAME = 'CHECK_BOX'.
    LS_LAYOUT-BOX_TABNAME = 'IT_MAST'.
    endform. " BUILD_LAYOUT
    *& Form DISPLAY_DATA
    text
    --> p1 text
    <-- p2 text
    form DISPLAY_DATA .
    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 = 'PF_STATUS'
    I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    I_STRUCTURE_NAME =
    IS_LAYOUT = LS_LAYOUT
    IT_FIELDCAT = LT_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_MAST
    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_DATA
    FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
    SET PF-STATUS 'YSTATUS' OF PROGRAM SY-REPID
    EXCLUDING RT_EXTAB.
    ENDFORM.
    FORM USER_COMMAND USING RF_UCOMM TYPE SY-UCOMM
    SELFIELD TYPE SLIS_SELFIELD.
    CASE RF_UCOMM.
    WHEN '&NEXT'.
    PERFORM GET_DATA_BOM .
    PERFORM BUILD_FIELDCAT_BOM USING LT_FIELDCAT.
    PERFORM BUILD_LAYOUT_BOM.
    PERFORM DISPLAY_DATA_BOM.
    ENDCASE.
    ENDFORM.
    *& Form GET_DATA_BOM
    text
    --> p1 text
    <-- p2 text
    form GET_DATA_BOM .
    CLEAR : WA_STPO,
    WA_MAST.
    REFRESH : IT_STPO.
    DATA : IT_CHECK TYPE TABLE OF TY_MAST.
    LOOP AT IT_MAST INTO WA_MAST.
    IF WA_MAST-CHECK_BOX EQ 'X'.
    APPEND WA_MAST TO IT_CHECK.
    ENDIF.
    ENDLOOP.
    SELECT STLTY
    STLNR
    STLKN
    VGKNT
    IDNRK
    MENGE
    MEINS
    FROM STPO
    INTO CORRESPONDING FIELDS OF TABLE IT_STPO
    FOR ALL ENTRIES IN IT_CHECK
    WHERE IDNRK EQ IT_CHECK-MATNR.
    CLEAR WA_STPO.
    LOOP AT IT_STPO INTO WA_STPO.
    SELECT SINGLE * FROM MAST WHERE MATNR EQ WA_STPO-IDNRK.
    IF SY-SUBRC = 0.
    WA_STPO-LIGHTS = '2'.
    ELSE.
    WA_STPO-LIGHTS = '1'.
    ENDIF.
    MODIFY IT_STPO FROM WA_STPO.
    ENDLOOP.
    endform. " GET_DATA_BOM
    *& Form BUILD_FIELDCAT_BOM
    text
    --> p1 text
    <-- p2 text
    form BUILD_FIELDCAT_BOM USING LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA : L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    REFRESH : LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 1.
    L_FIELDCAT-FIELDNAME = 'STLTY'.
    L_FIELDCAT-TABNAME = 'IT_STPO'.
    L_FIELDCAT-REF_FIELDNAME = 'STLTY'.
    L_FIELDCAT-REF_TABNAME = 'STPO'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 2.
    L_FIELDCAT-FIELDNAME = 'STLNR'.
    L_FIELDCAT-TABNAME = 'IT_STPO'.
    L_FIELDCAT-REF_FIELDNAME = 'STLNR'.
    L_FIELDCAT-REF_TABNAME = 'STPO'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 3.
    L_FIELDCAT-FIELDNAME = 'STLKN'.
    L_FIELDCAT-TABNAME = 'IT_STPO'.
    L_FIELDCAT-REF_FIELDNAME = 'STLKN'.
    L_FIELDCAT-REF_TABNAME = 'STPO'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 4.
    L_FIELDCAT-FIELDNAME = 'IDNRK'.
    L_FIELDCAT-TABNAME = 'IT_STPO'.
    L_FIELDCAT-REF_FIELDNAME = 'IDNRK'.
    L_FIELDCAT-REF_TABNAME = 'STPO'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    L_FIELDCAT-COL_POS = 5.
    L_FIELDCAT-FIELDNAME = 'MENGE'.
    L_FIELDCAT-TABNAME = 'IT_STPO'.
    L_FIELDCAT-REF_FIELDNAME = 'MENGE'.
    L_FIELDCAT-REF_TABNAME = 'STPO'.
    APPEND L_FIELDCAT TO LT_FIELDCAT.
    endform. " BUILD_FIELDCAT_BOM
    *& Form BUILD_LAYOUT_BOM
    text
    --> p1 text
    *<-- p2 text
    form BUILD_LAYOUT_BOM .
    CLEAR : LS_LAYOUT.
    LS_LAYOUT-LIGHTS_FIELDNAME = 'LIGHTS'.
    LS_LAYOUT-LIGHTS_TABNAME = 'IT_STPO'.
    endform. " BUILD_LAYOUT_BOM
    *& Form DISPLAY_DATA_BOM
    text
    --> p1 text
    <-- p2 text
    form DISPLAY_DATA_BOM .
    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 = 'USER_COMMAND_BOM'
    I_CALLBACK_TOP_OF_PAGE = 'TOP9'
    I_CALLBACK_HTML_TOP_OF_PAGE = ' '
    I_CALLBACK_HTML_END_OF_LIST = ' '
    I_STRUCTURE_NAME =
    I_BACKGROUND_ID = 'ALV_BACKGROUND'
    I_GRID_TITLE =
    I_GRID_SETTINGS =
    IS_LAYOUT = LS_LAYOUT
    IT_FIELDCAT = LT_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
    IT_ALV_GRAPHICS =
    IT_HYPERLINK =
    IT_ADD_FIELDCAT =
    IT_EXCEPT_QINFO =
    I_HTML_HEIGHT_TOP =
    I_HTML_HEIGHT_END =
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    t_outtab = IT_STPO
    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_DATA_BOM
    FORM TOP9 .
    CLEAR LS_HEADER.
    REFRESH LT_HEADER.
    LS_HEADER-TYP = 'H'.
    LS_HEADER-INFO = 'BILL OF MATERIALS'.
    APPEND LS_HEADER TO LT_HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = LT_HEADER
    I_LOGO = 'ENJOYSAP_LOGO'
    I_END_OF_LIST_GRID =
    ENDFORM.
    FORM USER_COMMAND_BOM USING RF_UCOMM_BOM LIKE SY-UCOMM
    SEL_FIELD TYPE SLIS_SELFIELD.
    CASE RF_UCOMM_BOM.
    WHEN '&IC1'.
    SET PARAMETER ID 'MAT' FIELD WA_STPO-IDNRK.
    SET PARAMETER ID 'WRK' FIELD WA_MAST-WERKS.
    SET PARAMETER ID 'CSA' FIELD WA_MAST-STLAN.
    CALL TRANSACTION 'CS03' AND SKIP FIRST SCREEN.
    ENDCASE.[/code]

  • How to get check box in alv output

    hi gurus
    can anyone explian me how to get check box in alv output
    it should not be a pop up window
    i want to get in output itself
    tahnk you
    regards
    kals.

    Hi
    by using rs_selfield
    ty to call dynamic subroutine..
    FORM user_command USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield. "#EC CALLED
    read table rs-selfield with key cond = 'X'
    endform.
    see the below example
    REPORT Z_GET_REFRESH no standard page heading.
    type-pools : slis.
    tables : makt,
    mara.
    data : i_fieldcat type slis_t_fieldcat_alv.
    CONSTANTS :
    gc_refresh TYPE syucomm VALUE '&REFRESH'.
    data : begin of i_makt occurs 0,
    matnr like makt-matnr,
    maktx like makt-maktx,
    end of i_makt.
    data : v_repid like sy-repid,
    g_user_command type slis_formname value 'USER_COMMAND',
    g_status_set type slis_formname value 'SET_PF_STATUS',
    lt_event_exit TYPE slis_t_event_exit,
    ls_event_exit TYPE slis_event_exit.
    DATA:LC_GLAY TYPE LVC_S_GLAY.
    select-options s_matnr for mara-matnr .
    start-of-selection.
    select matnr maktx from makt into table i_makt
    where matnr in s_matnr.
    end-of-selection.
    Fill the fieldcatlog
    perform fill_field.
    Call the FM
    perform call_fm.
    *& Form fill_field
    text
    --> p1 text
    <-- p2 text
    FORM fill_field.
    data wa_fieldcat type slis_fieldcat_alv.
    clear : wa_fieldcat.
    wa_fieldcat-tabname = 'I_MAKT'.
    wa_fieldcat-fieldname = 'MATNR'.
    wa_fieldcat-outputlen = '18'.
    wa_fieldcat-seltext_l = 'Material #'.
    wa_fieldcat-col_pos = '1'.
    append wa_fieldcat to i_fieldcat.
    clear : wa_fieldcat.
    wa_fieldcat-tabname = 'I_MAKT'.
    wa_fieldcat-fieldname = 'MAKTX'.
    wa_fieldcat-outputlen = '40'.
    wa_fieldcat-seltext_l = 'Material Desc'.
    wa_fieldcat-col_pos = '2'.
    append wa_fieldcat to i_fieldcat.
    ENDFORM. " fill_field
    *& Form call_fm
    text
    --> p1 text
    <-- p2 text
    FORM call_fm.
    v_repid = sy-repid.
    LC_GLAY-EDT_CLL_CB = 'X'.
    CLEAR ls_event_exit.
    ls_event_exit-ucomm = gc_refresh. " Refresh
    ls_event_exit-after = 'X'.
    APPEND ls_event_exit TO lt_event_exit.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = v_repid
    I_CALLBACK_PF_STATUS_SET = g_status_set
    I_CALLBACK_USER_COMMAND = g_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 = LC_GLAY
    IS_LAYOUT =
    IT_FIELDCAT = i_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 = lt_event_exit
    IS_PRINT =
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IT_ALV_GRAPHICS =
    IT_ADD_FIELDCAT =
    IT_HYPERLINK =
    I_HTML_HEIGHT_TOP =
    I_HTML_HEIGHT_END =
    IT_EXCEPT_QINFO =
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = i_makt
    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. " call_fm
    FORM USER_COMMAND *
    FORM user_command USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield. "#EC CALLED
    data i_RSPARAMS like RSPARAMS occurs 0.
    CASE R_UCOMM.
    WHEN '&IC1'.
    read table i_makt index rs_selfield-tabindex.
    SET PARAMETER ID 'MAT' FIELD i_makt-matnr.
    if not i_makt-matnr is initial.
    call transaction 'MM02' and skip first screen.
    endif.
    when '&REFRESH'.
    CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
    EXPORTING
    CURR_REPORT = v_repid
    IMPORTING
    SP =
    TABLES
    SELECTION_TABLE = i_RSPARAMS
    EXCEPTIONS
    NOT_FOUND = 1
    NO_REPORT = 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.
    submit z_get_refresh with selection-table i_RSPARAMS.
    rs_selfield-refresh = 'X'.
    ENDCASE.
    MOVE '&REFRESH' TO r_ucomm.
    ENDFORM.
    FORM set_pf_status *
    FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.
    DELETE Rt_extab WHERE fcode = gc_refresh.
    SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL'
    EXCLUDING Rt_extab.
    *SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.
    SET TITLEBAR sy-tcode.
    ENDFORM.

  • How to get actual value from LOV list

    Like Subject says: How to get actual value from LOV list. Any help will be appreciated.
    Thanks.

    Thanks Shay, I did it with bind variable because I'm not using JSF. Is there any chance to post solution using standard JSTL or HTML expression. I have something like this: LOV displays some Companies names:
    <html:select property="UserJobCompanyId"
                             disabled="${!bindings[\'UserJobCompanyId\'].updateable}"
                             onchange="submitform();">
                  <html:optionsCollection label="prompt" value="index" property="UserJobCompanyId.displayData"/>                                                     
                </html:select>and I want to get CompanyID of selected Company.
    Thanks, again.

  • How to get f4 help in alv grid in container-urgent

    hi,
    how to get f4 help in alv grid in container using abap objects
    ganesh

    Hi Ganesh,
    Did you have a look at sample report BCALV_TEST_GRID_F4_HELP ?
    Here is part of the header documentation:
    *& Report  BCALV_GRID_F4_HELP                                          *
    Purpose:
    ~~~~~~~~
    This report illustrates the use of f4-Help in an alv grid control.
    Background:
    ~~~~~~~~~~~
    There a two possibilities to implement an f4-Help in the alv grid
    control: one can either use standard f4-help or write one by Hand.
    For the former there is nothing to do at all. This report shows how
    to implement user-defined f4-help.
    I am sure you will find within this report the solution you are looking for.
    Reward points if this Helps.
    Manish

  • How to get the Ap credit memo list?

    Dear Experts,
        Could you tell me how to get the AP credit memo list?
         Is it standard report ?
    Thanks!
    Xinling

    Hi,
    Go to transaction code FB03 and do following steps :
    1. Click on
    2. Click on
    3. Next Screen
    Double Click on Transaction Code if it is not Green
    4. Next Screen
    Enter the transaction code through which you are generating Credit Memo or click on Multiple Selections in case you are using more than one.
    5. Execute
    Regards,
    Tejas

  • I excluded iphone from controls in Keynote. How I get it back on the list to use Keynote remote?

    I excluded iphone from controls in Keynote. How I get it back on the list to use Keynote remote?

    Welcome to the Apple Community.
    If you haven't turned find my phone off on the device, it should just reappear next time it is connected to an appropriate network. If you have turned off find my phone, turn it back on.

  • How to hide ,unhide columns  in ALV List

    Hi all,
    How to hide ,unhide columns  in ALV List..
    Plz guide me.
    Thanks in advance..
    Albert

    Hi Joseph,
    Check the following thread:
    Hide Unhide columns of ALV grid Report.
    Regards,
    Archana

  • How to Get checkbox value when List value changed in classic report

    hi ,
    i worked with apex 4.2 and i create normal classic report with one checkbox column and one column change it to select list(named loved) now i want when user change list
    take value of checkbox item and show it in message .
    SQL for report
    SELECT
    '<INPUT TYPE="checkbox" NAME="f01" VALUE="'
    ||SEQ
    ||'">' SEQ,
    ID,
    DEPT_NO,
    EMP_NAME} i change the column attributes of Dept_NO to Display as Select list of department name (named lov).
    now i want when user change name of department the value of SEQ SHOW IN ALERT MESSAGE
    i create JavaScript on the page
    function test(pThis) {
    var f01_value = $('select[name="f01"]').value;
    alert('#SEQ : '+ f01_value);
    </script>
    I call this javascript function when list change but the value undefined..
    My Question :
    How can get this value Or any value of item in reports
    regards
    Ahmed

    Hi Ahmed,
    >
    i worked with apex 4.2 and i create normal classic report with one checkbox column and one column change it to select list(named loved) now i want when user change list
    take value of checkbox item and show it in message .
    SQL for report
    SELECT
    '<INPUT TYPE="checkbox" NAME="f01" VALUE="'
    ||SEQ
    ||'">' SEQ,
    ID,
    DEPT_NO,
    EMP_NAME} i change the column attributes of Dept_NO to Display as Select list of department name (named lov).
    >
    You should not create checkboxes like this. Either use the APEX_ITEM.CHECKBOX2 API or change the Column Type to Simple Checkbox.
    >
    now i want when user change name of department the value of SEQ SHOW IN ALERT MESSAGE
    i create JavaScript on the page
    function test(pThis) {
    var f01_value = $('select[name="f01"]').value;
    alert('#SEQ : '+ f01_value);
    </script>
    >
    name="f01" returns an array, what you need is single element value.
    Try
    <script type="text/javascript>
    function test(pThis) {
      var f01_value = $v(pThis);
       alert('#SEQ : '+ f01_value);
    </script>
    {code}
    {quote}
    I call this javascript function when list change but the value undefined..
    My Question :
    How can get this value Or any value of item in reports
    {quote}
    Depends in how you are invoking/triggering the change event. Are you using DA or have you written an "onchange" event on the element?
    Cheers,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to print check box in ALV list display and how to pick selected ones

    Hi
    i am displaying one ALV list dispaly. for that im adding one check box fields by filling the fieldcat as below:
      wa_fldcat-checkbox = 'X'.
      wa_fldcat-edit = 'X'.
    but the check box is showing disable mode only. i want to display that check box and if i select that check box i want pick that records. for ALV grid i found one FM to pick records of selectedones as below.
    DATA ref_grid TYPE REF TO cl_gui_alv_grid.
      IF ref_grid IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            e_grid = ref_grid.
      ENDIF.
      IF ref_grid IS NOT INITIAL.
        CALL METHOD ref_grid->check_changed_data.
      ENDIF.
    but how can i do for list display to pick those selected one records.
    Can any one sugget regarding this.
    Thanks in advance.
    Rahul.

    Hi,
    Thanks. now it's enabled. but how can we pick the records from that list whichever i selected through that check box.
    i found this one for ALV grid:
    DATA ref_grid TYPE REF TO cl_gui_alv_grid.
      IF ref_grid IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            e_grid = ref_grid.
      ENDIF.
      IF ref_grid IS NOT INITIAL.
        CALL METHOD ref_grid->check_changed_data.
      ENDIF.
    but how for ALV normal list display.
    Thanks.
    rahul

  • How to read modifed data in ALV List

    Hi,
    I have one input enabled field in my ALV list.  User can modify the values of that field.  How i can get what are all the records are modified by the user.
    Thanks
    stallin

    Hi,
    Try this code...
    REPORT ZTEST_EDIT_ALV                             .
    *Data Declaration
    DATA: BEGIN OF T_EKKO,
      EBELN TYPE EKPO-EBELN,
      EBELP TYPE EKPO-EBELP,
    *  FLAG TYPE C,
    *  HANDLE_STYLE TYPE LVC_T_STYL,
    END OF T_EKKO.
      DATA: GD_REPID LIKE SY-REPID, "Exists
      REF_GRID TYPE REF TO CL_GUI_ALV_GRID. "new
    DATA: BEGIN OF IT_EKKO OCCURS 0.
            INCLUDE STRUCTURE T_EKKO.
    DATA: END OF IT_EKKO.
    DATA: BEGIN OF IT_BACKUP OCCURS 0.
            INCLUDE STRUCTURE T_EKKO.
    DATA: END OF IT_BACKUP.
    *ALV data declarations
    TYPE-POOLS: SLIS.                                 "ALV Declarations
    DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          GD_LAYOUT    TYPE SLIS_LAYOUT_ALV.
    *Start-of-selection.
    START-OF-SELECTION.
      PERFORM DATA_RETRIEVAL.
      PERFORM BUILD_FIELDCATALOG.
      PERFORM BUILD_LAYOUT.
      IT_BACKUP[] = IT_EKKO[].
      PERFORM DISPLAY_ALV_REPORT.
    *&      Form  build_fieldcatalog
    *       text
    FORM BUILD_FIELDCATALOG.
      REFRESH FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'EBELN'.
      FIELDCATALOG-SELTEXT_M   = 'Purchase Order'.
      FIELDCATALOG-INPUT     = 'X'.
      FIELDCATALOG-EDIT     = 'X'.
      FIELDCATALOG-COL_POS     = 2.
      APPEND FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'EBELP'.
      FIELDCATALOG-SELTEXT_M   = 'PO Item'.
      FIELDCATALOG-COL_POS     = 3.
      APPEND FIELDCATALOG.
      CLEAR  FIELDCATALOG.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    *       Build layout for ALV grid report
    FORM BUILD_LAYOUT.
      "Permet d'ajuster les colonnes au text
    *  gd_layout-colwidth_optimize = 'X'.
    *  GD_LAYOUT-TOTALS_TEXT       = 'Totals'(201).
    *  gd_layout-box_fieldname = 'SELECT'.
    *  gd_layout-box_tabname   = 'IT_EKKO'.
    ENDFORM.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
    *       Display report using ALV grid
    FORM DISPLAY_ALV_REPORT .
      GD_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                I_CALLBACK_PROGRAM        = GD_REPID
    *            i_callback_top_of_page   = 'TOP-OF-PAGE'
                I_CALLBACK_PF_STATUS_SET  = 'SET_PF_STATUS'
                I_CALLBACK_USER_COMMAND   = 'USER_COMMAND'
    *            i_grid_title             = 'My Title'
                IS_LAYOUT                 = GD_LAYOUT
                IT_FIELDCAT               = FIELDCATALOG[]
           TABLES
                T_OUTTAB                  = IT_EKKO
           EXCEPTIONS
                PROGRAM_ERROR             = 1
                OTHERS                    = 2.
      IF SY-SUBRC <> 0.
        WRITE:/ SY-SUBRC.
      ENDIF.
    ENDFORM.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
    *       Retrieve data form EKPO table and populate itab it_ekko
    FORM DATA_RETRIEVAL.
      SELECT EBELN EBELP
       UP TO 10 ROWS
        FROM EKPO
        INTO CORRESPONDING FIELDS OF TABLE  IT_EKKO.
    ENDFORM.                    " DATA_RETRIEVAL
    *                      FORM SET_PF_STATUS                              *
    FORM SET_PF_STATUS USING RT_EXTAB   TYPE  SLIS_T_EXTAB.
      SET PF-STATUS 'STANDARD_FULLSCREEN1' EXCLUDING RT_EXTAB.
    ENDFORM.                    "set_pf_status
    *&      Form  user_command
    *       text
    *      -->R_UCOMM    text
    *      -->RS_SELFIELDtext
    FORM USER_COMMAND  USING R_UCOMM LIKE SY-UCOMM
                             RS_SELFIELD TYPE SLIS_SELFIELD.
    *then insert the following code in your USER_COMMAND routine...
    <b> IF REF_GRID IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            E_GRID = REF_GRID.
      ENDIF.
      IF NOT REF_GRID IS INITIAL.
        CALL METHOD REF_GRID->CHECK_CHANGED_DATA
      ENDIF.</b>*modify
      CASE R_UCOMM.
        WHEN '&IC1'.
          CHECK RS_SELFIELD-TABINDEX > 0.
          IF RS_SELFIELD-VALUE EQ '6000000001'.
            CALL TRANSACTION 'ZTEST'.
          ENDIF.
        WHEN 'REFRESH'.
          READ TABLE IT_EKKO INDEX  RS_SELFIELD-TABINDEX.
          IF SY-SUBRC = 0.
            READ TABLE IT_BACKUP INDEX RS_SELFIELD-TABINDEX.
            IF SY-SUBRC = 0.
              IF IT_EKKO <> IT_BACKUP.
    *  then do your check
              ENDIF.
            ENDIF.
          ENDIF.
          PERFORM DATA_RETRIEVAL.
          RS_SELFIELD-REFRESH = 'X'.
      ENDCASE.
    ENDFORM.                    "user_command
    Regards
    vijay

  • ECC6.0 t-code COOIS - how to get the "Profile" select-option list

    Hi  PP Gurus
    We are implementing ECC6.0
    We upgraded one of the systems from 4.7 to ECC6.0 (and also kept data: documents, users profiles, variants,u2026etc).
    My question is regarding standard transaction COOIS.
    I do comparison in current 4.7 and ECC6.0 systems (I have SAP_ALL and SAP_NEW in both systems).
    The thing is that in our ECC6.0 system the transaction COOIS doesnu2019t display Profile on select-options screen.
    There are only the following items (select-option screen of COOIS in ECC6.0):
    -LIST
    -LAYOUT
    -Prod.orders checkbox
    -Planned orders checkbox
    u2026And u2018Selectionu2019 tab with other fields
    In the current Enterprise 4.7 system the transaction COOIS displays the following select-option screen:
    -LIST
    -PROFILE
    -LAYOUT
    -Prod.orders checkbox
    -Planned orders checkbox
    u2026And u2018Selectionu2019 tab with other fields
    Questions:
    1.     Is that possible to maintain / see and select a PROFILE in COOIS of ECC6 (or due to new functionality it no more available on that screen ?) How to do that?
    2.     Looking at layouts (I ran COOIS in two systems and compared the results) I canu2019s see in ECC6.0 some icons like u2018Refreshu2019, u2018Order logu2019, u2018Display order componentsu2019, u2018Long textu2019 , u2026.) But all of them are in 4.7 layout. How to get them in ECC6.0 ?
    What I have already explored:
    u2022     ECC6.0 has a new config. t-code COISN (4.7 has only COIS) . I created my new overall profile there, set my own layout, but running COOIS still canu2019t see/use the PROFILE;
    u2022     I have compared the standard structure PPIO_ENTRY_SC1100 in 4.7 and ECC6.0 and found the new component COIS_LISTTYP in ECC6.0. In this situation I ran a new t-code u201CDefine New List Typesu201D (it doesnu2019t exist in 4.7) and created my new entry, but still canu2019t see PROFILE on select-option screen of COOIS in ECC6.0;
    u2022     I also tried situation when both config. transaction COIS (in 4.7 and ECC6.0) had the SAME overall profiles u2013 still canu2019t see PROFILE on select-option screen of COOIS in ECC6.0;
    u2022     I found a new icon u201CNavigation profileu201D in result layout of COOIS ECC6.0 Is that right place where I can maintain the icons I need (see my second question) ?
    THANK YOU.

    Hi,
    The reports are modified if am right as of ECC 5.0. Refer to note - 747469 which gives a list of all reports modified.
    If am right by profile you mean navigation profile, this is now in the display screen. The content remains, only thing is the layout is modified & more structured. So i would suggest you to have a look around in COOIS report & you will find the info.
    The navigation profile is adjacent to the icon called Environment (its a drop down list).
    Revert if you face any issues.
    Regards,
    Vivek

  • How to get the variants for LAV LIST or GRID?

    Hi,
    How to get the variants which are stored in table like JVSO1, using function module REUSE_ALV_VARIANT_F4 ?
    Thanks.

    Hi,
    Delcare
    DATA : st_variant  TYPE disvariant,       "Work area for variant
           st_variant1 TYPE disvariant.       "Work area for variant
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-041.
    PARAMETERS :     p_varnt TYPE  disvariant-variant MODIF ID md8.  "Variant
    SELECTION-SCREEN END OF BLOCK b3.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varnt.
    *--Local Variables
      DATA: l_exit(1) TYPE c.                "ALV exit
    *--Call the function module to display the list of Variants
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant    = st_variant
          i_save        = c_save
        IMPORTING
          e_exit        = l_exit
          es_variant    = st_variant1
        EXCEPTIONS
          not_found     = 1
          program_error = 2.
    *--Check Subrc
      IF sy-subrc <> 2 AND l_exit IS INITIAL.
        p_varnt = st_variant1-variant.
      ENDIF.
    start-of-selection.
      IF NOT p_varnt IS INITIAL.
        CLEAR st_variant1.
        MOVE st_variant TO st_variant1.
        MOVE p_varnt TO st_variant1-variant.
    *--Call the function module to check the variant exist
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
          EXPORTING
            i_save     = c_save
          CHANGING
            cs_variant = st_variant1.
        st_variant = st_variant1.
      ENDIF.
    DATA : lv_repid TYPE sy-repid.
    *--Pass the Report name
      lv_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program      = lv_repid
          it_fieldcat             = it_fcat
          is_variant              = st_variant
          it_events               = it_events
          i_save                  = 'A'
          i_callback_user_command = 'USER_COMMAND'
        TABLES
          t_outtab                = it_zsd_ra
        EXCEPTIONS
          program_error           = 1
          OTHERS                  = 2.
      IF sy-subrc <> 0.
        MESSAGE e368(00) WITH 'Alv Display failed'(044)  .
      ENDIF.
    regards,
    Prashant

Maybe you are looking for

  • Playbook - can't select country or get past set up!

    I'm so frustrated with this device! I want to use it but I can't get past the set up.  I get to the point where it has a drop screen to select Country but there is nothing there to pick from. As a result I can't agree to the blackberry agreement and

  • Customize period dimension in Planning

    Hi John, Can we customise period dimension in classic planning application as below YearTotal Q1 APR MAY JUN Q4 JAN FEB MAR ADJ1 ADJ2 YEARTOTAL= Q1+Q2+Q3+Q4+ADJ1+ADJ2 The source ERP system has 2 more periods apart from the 12 months ADJ1 and ADJ2. We

  • Java.io.NotSerializableException: oracle.jbo.uicli.binding.JUApplication

    Using lated 11g jdev from otn. Seeing repeatedly below exception in the trace. Can someone advise what is going wrong here? ####<Jan 4, 2011 3:16:37 PM PST> <Error> <Cluster> <usfsmda2.folsom.calwin.eds.com> <MDA2-Server01> <[ACTIVE] ExecuteThread: '

  • Screen shots of lsmw using bapi and idoc.

    hi can anybody plz send me the step by step lsmw procedure using bapi and idoc screen shots. regards vijay

  • System Design Question using BPEL

    Our group is currently in the early design phases of a new order extraction and billing process. What we would like to do is to an extraction of order data occur at a time specified on an Extraction Profile (which is defined by the users in a templat