Check box in ALV BLOCK List

Hi All,
iam Using ALV BLOCK list to print the output along with check boxes, iam able to print the output along with the check boxes but when i select any of the check box and click button on application tool bar it is going to dump  and saying,
FIELD SYMBOL HAS NOT YET BEEN ASSIGNED.
i populated layout with following fields.
  w_layout-box_fieldname = 'BOX'.
  w_layout-box_tabname = 'T_FINAL2'.
Plz Help me out.
Thanks in Advance.
Neha

*& Report  BCALV_TEST_BLOCK_LIST
report  bcalv_test_block_list.
types: g_ty_t_carrid  type standard table of alv_tab,
       g_ty_t_connid  type standard table of alv_chck,
       g_ty_t_curr    type standard table of alv_cur,
       g_ty_s_sflight type alv_t_t2,
       g_ty_s_carrid  type alv_tab,
       g_ty_s_connid  type alv_chck,
       g_ty_s_curr    type alv_cur.
constants: con_sflight type lvc_fname value 'ALV_T_T2',
           con_scarr   type lvc_fname value 'ALV_TAB',
           con_spfli   type lvc_fname value 'ALV_CHCK',
           con_scurx   type lvc_fname value 'ALV_CUR',
           con_event_01 type lvc_fname value 'PF_STATUS_SET',
           con_event_02 type lvc_fname value 'USER_COMMAND',
           con_event_03 type lvc_fname value 'CALLER_EXIT',
           con_event_04 type lvc_fname value 'LIST_MODIFY',
           con_event_05 type lvc_fname value 'BEFORE_LINE_OUTPUT',
           con_event_06 type lvc_fname value 'AFTER_LINE_OUTPUT',
           con_event_07 type lvc_fname value 'SUBTOTAL_TEXT',
           con_event_08 type lvc_fname value 'REPREP_MODIFY',
           con_event_09 type lvc_fname value 'TOP_OF_PAGE',
           con_event_10 type lvc_fname value 'END_OF_PAGE',
           con_event_11 type lvc_fname value 'TOP_OF_LIST',
           con_event_12 type lvc_fname value 'END_OF_LIST',
           con_event_13 type lvc_fname value 'TOP_OF_COVERPAGE',
           con_event_14 type lvc_fname value 'END_OF_COVERPAGE',
           con_event_15 type lvc_fname value 'TOP_OF_FOREIGN_PAGE',
           con_event_16 type lvc_fname value 'END_OF_FOREIGN_PAGE',
           con_event_17 type lvc_fname value 'GROUPLEVEL_CHANGE'.
DATA                                                                 *
tables: sscrfields.   " for processing the FCODEs in Selektion screens
include <icon>.
include <symbol>.
type-pools: slis, kkblo.
types: g_ty_t_icon  type standard table of icon,
       g_ty_t_icont type standard table of icont,
       begin of g_ty_s_plane,
         carrid    type g_ty_s_sflight-carrid,
         connid    type g_ty_s_sflight-connid,
         planetype type g_ty_s_sflight-planetype,
         seatsmax  type g_ty_s_sflight-seatsmax,
       end   of g_ty_s_plane,
       g_ty_t_plane type sorted table of g_ty_s_plane
                         with unique key carrid connid,
       begin of g_ty_s_fcat_curr,
         fieldname  type lvc_fname,
         cfieldname type lvc_fname,
         currency   type lvc_s_fcat-currency,
       end   of g_ty_s_fcat_curr,
       g_ty_t_fcat_curr type sorted table of g_ty_s_fcat_curr
                             with unique key fieldname,
       begin of g_ty_s_sort.
include type slis_sortinfo_alv.
types: end   of g_ty_s_sort,
       g_ty_t_sort type sorted table of g_ty_s_sort
                        with unique key spos fieldname,
       begin of g_ty_s_test,
         list_amount              type num1,
         select_amount            type i,
         only_db_info             type char1,
         db_short                 type char1,
         excp_display             type char1,
         excp_condense            type char1,
         layo_title               type lvc_s_layo-grid_title,
         layo_zebra               type char1,
         layo_no_vert_lines       type char1,
         layo_no_horiz_lines      type char1,
         layo_cell_merge          type char1,
         layo_count               type char1,
         layo_box                 type char1,
         layo_no_colhead          type char1,
         layo_column_optimize     type char1,
         layo_keys_hotspot        type char1,
         layo_no_keyfix           type char1,
         layo_no_hotspot          type char1,
         layo_hotspot_rows        type i occurs 0,
         layo_hotspot_columns     type lvc_fname occurs 0,
         layo_no_scrolling        type char1,
         layo_no_authcheck        type char1,
         layo_no_min_linesize     type char1,
         layo_min_linesize        type sylinsz,
         layo_max_linesize        type sylinsz,
         layo_group_change_edit   type char1,
         layo_get_selinfo         type char1,
         layo_confirmation_prompt type char1,
         layo_f2code              type syucomm,
         layo_reprep              type char1,
         sum_before               type char1,
         sum_no_sumline           type char1,
         sum_no_sumchoice         type char1,
         sum_numc                 type char1,
         sum_no_unitsplit         type char1,
         sum_totals_only          type char1,
         sum_totals_text          type symsgli,
         sum_no_subtotals         type char1,
         sum_no_subchoice         type char1,
         sum_subtotals_text       type symsgli,
         prnt_print               type char1,
         prnt_reserve_lines       type lvc_s_prnt-reservelns,
         prnt_no_listinfo         type char1,
         prnt_no_selinfo          type char1,
         prnt_with_title          type char1,
         prnt_footline            type lvc_s_prnt-footline,
         prnt_printinfo           type char1,
         prnt_no_coverpage        type char1,
         prnt_no_new_page         type char1,
         prnt_no_change_print_params type char1,
         color_rows               type i occurs 0,
         color_fields_column      type lvc_fname occurs 0,
         color_fields_cell        type lvc_fname occurs 0,
         fcat_no_out_fields       type lvc_fname occurs 0,
         fcat_tech_fields         type lvc_fname occurs 0,
         fcat_fix_column_fields   type lvc_fname occurs 0,
         fcat_do_sum_fields       type lvc_fname occurs 0,
         fcat_no_sum_fields       type lvc_fname occurs 0,
         fcat_curr_fields         type g_ty_t_fcat_curr,
         curr_amount              type i,
         curr_space               type char1,
         t_sort                   type g_ty_t_sort,
         no_info_popup            type char1,
         info_popup_once          type char1,
         events_info_popup        type lvc_fname occurs 0,
         events                   type lvc_fname occurs 0,
         buffer_active            type char1,
         bypassing_buffer         type char1,
       end   of g_ty_s_test,
       begin of g_ty_s_outtab.
include type g_ty_s_sflight.
types:   list                 type num1,
         box                  type char1,
         count                type i,
         lights               type char1,
         checkbox             type char1,
         hotspot              type char1,
         color(4)             type c,
         tabcolor             type slis_t_specialcol_alv,
         price2               type g_ty_s_sflight-price,
         currency2            type g_ty_s_sflight-currency,
         char(10)             type c,
         string               type string,
         int1                 type int1,
         int2                 type int2,
         int4                 type int4,
         numc(10)             type n,
         dec(10)              type p decimals 2,
         fltp                 type f,
         dats                 type d,
         tims                 type t,
         icon                 type icon-id,
         icon_qinfo           type icon-name,
         symbol               type icon-id,
       end   of g_ty_s_outtab,
       g_ty_t_outtab type table of g_ty_s_outtab.
constants: con_true         type char1 value 'X',
           con_ok   type sy-ucomm value 'OK',
           con_exit type sy-ucomm value 'EXIT',
           con_canc type sy-ucomm value 'CANC',
           con_back type sy-ucomm value 'BACK'.
data: gt_outtab1 type g_ty_t_outtab,
      gt_outtab2 type g_ty_t_outtab,
      gt_outtab3 type g_ty_t_outtab,
      gt_outtab4 type g_ty_t_outtab,
      gt_outtab5 type g_ty_t_outtab,
      gt_outtab6 type g_ty_t_outtab,
      gt_outtab7 type g_ty_t_outtab,
      gt_outtab8 type g_ty_t_outtab,
      gt_outtab9 type g_ty_t_outtab.
data: gt_outtab   type g_ty_t_outtab with header line,
      gs_test     type g_ty_s_test.
data: g_repid     type sy-repid.
data: g_field     type lvc_s_fcat-fieldname,
      g_int_field type i.
      CLASS random DEFINITION
class random definition.
  public section.
    types:
      value(16) type p decimals 0,
      numcv(15) type n.
    constants:
      max type random=>value value 4294967295.
    class-methods:
  computes a random natural number from the set {0, ..., random=>max}.
      number returning value(rval) type random=>value,
  computes a random character from the set {A-Za-z0-9}
      c returning value(rval) type char01,
  computes a random string consisting of "len" random characters
      string importing len type i
             returning value(rval) type string,
  computes a date
      dats returning value(rval) type d,
  computes a time
      time returning value(rval) type t,
  computes a random numc from the set {low, ..., high}
      numc importing low type random=>numcv high type random=>numcv
        returning value(rval) type random=>numcv,
  computes a random integer from the set {low, ..., high}
      i importing low type i high type i
        returning value(rval) type i,
  computes a random integer from the set {low, ..., high}
      int2 importing low type int2 high type int2
           returning value(rval) type int2,
  computes a random integer from the set {low, ..., high}
      int1 importing low type int1 high type int1
           returning value(rval) type int1,
  computes a random float from the interval [low ; high]
      f importing low type f high type f
        returning value(rval) type f,
  computes a random character from the set {A-F0-9}
      hex returning value(rval) type char01,
  computes a random character from the set {0-1}
      x returning value(rval) type char01,
  method "random=>class_constructor"
      class_constructor.
  private section.
    class-data:
  precomputed maximal index (= string length - 1) of "random=>chars"
  or of "random=>x_data".
      charsmax type i,
      xmax type i,
  random number seed value.
  (Used in method "random=>number".)
      seed type random=>value.
    constants:
  characters for class-method "random=>hex"
      hex_data(100) type c value 'ABCDEF' &
                                 '0123456789',
  characters for class-method "random=>x"
      x_data(100) type c value '01',
  characters for class-metshod "random=>c"
      chars(100) type c value 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' &
                              'abcdefghijklmnopqrstuvwxyz' &
                              '0123456789'.
endclass.                    "random DEFINITION
      CLASS random IMPLEMENTATION
class random implementation.
implementation of the methods for randomizing the values
  method x.
    data: ri type i.
    ri = random=>i( low = 0  high = random=>xmax ).
    move x_data+ri(1) to rval.
  endmethod.                    "x
  method hex.
    data: ri type i.
    ri = random=>i( low = 0  high = random=>charsmax ).
    move hex_data+ri(1) to rval.
  endmethod.                    "hex
  method number.
    constants:
      a(3) type p  value 67301,        " Coefficient
      c(1) type p  value 1,            " Increment
      m(6) type p  value 4294967296.   " Modulus 2**32
    random=>seed = ( a * random=>seed + c ) mod m.
    rval = random=>seed.
  endmethod.                    "number
  method c.
    data:
      ri type i.
    ri = random=>i( low = 0  high = random=>charsmax ).
    move chars+ri(1) to rval.
  endmethod.                    "c
  method string.
    data:
      char(1) type c.
    clear rval.
    do len times.
      char = random=>c( ).
      concatenate rval char into rval.
    enddo.
  endmethod.                    "string
  method dats.
    data: l_date      type sy-datum,
          l_day(2)    type n,
          l_month(2)  type n,
          l_year(4)   type n,
          l_value     type random=>numcv,
          l_low       type random=>numcv,
          l_high      type random=>numcv.
    l_year  = sy-datum+0(4).
    l_low   = l_year - 5.
    l_high  = l_year + 5.
    l_value = random=>numc( low = l_low high = l_high ).
    l_year  = l_value+11(4).
    l_value = random=>numc( low = 1 high = 12 ).
    l_month = l_value+13(2).
    case l_month.
      when 2.
        l_high = 28.
      when 4 or 6 or 9 or 11.
        l_high = 30.
      when others.
        l_high = 31.
    endcase.
    l_value = random=>numc( low = 1 high = l_high ).
    l_day   = l_value+13(2).
    l_date+0(4) = l_year.
    l_date+4(2) = l_month.
    l_date+6(2) = l_day.
    rval = l_date.
  endmethod.                    "dats
  method time.
    data: l_time      type t,
          l_hour(2)   type n,
          l_min(2)    type n,
          l_sec(2)    type n,
          l_value     type random=>numcv.
    l_value = random=>numc( low = 0 high = 60 ).
    l_sec   = l_value+13(2).
    l_value = random=>numc( low = 0 high = 60 ).
    l_min   = l_value+13(2).
    l_value = random=>numc( low = 1 high = 24 ).
    l_hour  = l_value+13(2).
    l_time+0(2) = l_hour.
    l_time+2(2) = l_min.
    l_time+4(2) = l_sec.
    rval = l_time.
  endmethod. "time
  method numc.
  Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
    data: l_dec(16)   type p,
          l_char(16)  type c.
    l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
           + '0.5'.
    subtract 1 from l_dec.
    add low to l_dec.
    data: lr_type_descr  type ref to cl_abap_typedescr,
          lr_elem_descr  type ref to cl_abap_elemdescr.
    lr_type_descr =
             cl_abap_typedescr=>describe_by_data( rval ).
    lr_elem_descr ?= lr_type_descr.
    l_char = l_dec.
    shift l_char left deleting leading space.
    rval = l_char+0(lr_elem_descr->output_length).
  endmethod.                    "i
  method i.
  Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
    data: l_dec(16)   type p,
          l_char(16)  type c.
    l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
           + '0.5'.
    subtract 1 from l_dec.
    add low to l_dec.
    data: lr_type_descr  type ref to cl_abap_typedescr,
          lr_elem_descr  type ref to cl_abap_elemdescr.
    lr_type_descr =
             cl_abap_typedescr=>describe_by_data( rval ).
    lr_elem_descr ?= lr_type_descr.
    l_char = l_dec.
    shift l_char left deleting leading space.
    rval = l_char+0(lr_elem_descr->output_length).
  endmethod.                    "i
  method int2.
  Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
    data: l_dec(16)   type p,
          l_char(16)  type c.
    l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
           + '0.5'.
    subtract 1 from l_dec.
    add low to l_dec.
    data: lr_type_descr  type ref to cl_abap_typedescr,
          lr_elem_descr  type ref to cl_abap_elemdescr.
    lr_type_descr =
             cl_abap_typedescr=>describe_by_data( rval ).
    lr_elem_descr ?= lr_type_descr.
    l_char = l_dec.
    shift l_char left deleting leading space.
    rval = l_char+0(lr_elem_descr->output_length).
  endmethod.                    "i
  method int1.
  Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
    data: l_dec(16)   type p,
          l_char(16)  type c.
    l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
           + '0.5'.
    subtract 1 from l_dec.
    add low to l_dec.
    data: lr_type_descr  type ref to cl_abap_typedescr,
          lr_elem_descr  type ref to cl_abap_elemdescr.
    lr_type_descr =
             cl_abap_typedescr=>describe_by_data( rval ).
    lr_elem_descr ?= lr_type_descr.
    l_char = l_dec.
    shift l_char left deleting leading space.
    rval = l_char+0(lr_elem_descr->output_length).
  endmethod.                    "i
  method f.
  Go from {0,...,random=>max} to [low;high]
    rval = ( ( high - low ) * random=>number( ) ) / random=>max
           + low.
  endmethod.                    "f
  method class_constructor.
    charsmax = strlen( chars ) - 1.
    xmax = strlen( x_data ) - 1.
    seed = 1.
  endmethod.                    "class_constructor
endclass.                    "random IMPLEMENTATION
SELECTION-SCREEN                                                     *
selection-screen begin of block gen with frame.
parameters:
p_amount type i default 30,
p_dbinfo as checkbox,
p_dbshrt as checkbox.
selection-screen end of block gen.
parameters:
p_list type num1 default 3.
selection-screen begin of block tit with frame title text-tit.
parameters:
p_tit01 type lvc_s_layo-grid_title default text-p01. "TITLE
selection-screen end of block tit.
selection-screen begin of block lay with frame title text-lay.
parameters:
p_lay01 as checkbox. "ZEBRA
selection-screen skip.
parameters:
p_lay02 as checkbox, "NO HORIZONTAL LINES
p_lay03 as checkbox. "NO VERTICAL LINES
selection-screen skip.
parameters:
p_lay04 as checkbox. "NO SCROLLING
selection-screen skip.
parameters:
p_lay06 type syucomm,                                       "F2CODE
p_lay07 as checkbox. "CONFIRMATION PROMPT
selection-screen end of block lay.
selection-screen begin of block spa with frame title text-spa.
parameters:
p_spa01 as checkbox, "BOX
p_spa02 as checkbox, "COUNT FELD
p_spa03 as checkbox, "NO COLUMN HEADERS
p_spa04 as checkbox. "COLUMN OPTIMIZE
selection-screen begin of block hot with frame title text-hot.
parameters:
p_hot01 as checkbox. "NO HOTSPOT
parameters:
p_hot02 as checkbox. "Hotspot auf Zeilenebene
select-options:
p_hotf02 for g_int_field no intervals default 1.
parameters:
p_hot03 as checkbox.
select-options:
p_hotf03 for g_field no intervals.
selection-screen end of block hot.
selection-screen begin of block mrg with frame title text-mrg.
parameters:
p_mrg01 radiobutton group mrge, "Default
p_mrg02 radiobutton group mrge, "kein Merge
p_mrg03 radiobutton group mrge. "Merge
selection-screen end of block mrg.
selection-screen begin of block out with frame title text-out.
parameters:
p_out01 as checkbox.
select-options:
p_outf01 for g_field no intervals.
selection-screen end of block out.
selection-screen begin of block tec with frame title text-tec.
parameters:
p_tec01 as checkbox.
select-options:
p_tecf01 for g_field no intervals.
selection-screen end of block tec.
selection-screen begin of block fix with frame title text-fix.
parameters:
p_fix01 as checkbox.
select-options:
p_fixf01 for g_field no intervals.
selection-screen end of block fix.
selection-screen begin of block txt with frame title text-txt.
selection-screen pushbutton /1(50) text-pb2 user-command pb02.
selection-screen end   of block txt.
selection-screen begin of block cur with frame title text-cur.
parameters:
p_curanz type i,
p_curspc as checkbox default space.
selection-screen skip.
select-options:
p_curf00 for g_field no intervals.
parameters:
p_cur01 radiobutton group cur default 'X',
p_curf01 type lvc_s_fcat-fieldname.
parameters:
p_cur02 radiobutton group cur,
p_curf02 type g_ty_s_sflight-currency.
selection-screen end of block cur.
selection-screen begin of block sort with frame title text-srt.
selection-screen pushbutton /1(20) text-pb1 user-command pb01.
selection-screen end   of block sort.
selection-screen end of block spa.
selection-screen begin of block key with frame title text-key.
parameters:
p_key01 as checkbox, "KEYFELDER ALS HOTSPOT
p_key02 as checkbox. "NO KEY FIXIERUNG
selection-screen end of block key.
selection-screen begin of block exp with frame title text-exp.
parameters:
p_excp01 as checkbox, "EXCEPTION
p_excp_c as checkbox. "EXCEPTION CONDENSE
selection-screen end of block exp.
selection-screen begin of block sum with frame title text-sum.
parameters:
p_sum01 as checkbox, "SUM BEFORE
p_sum02 as checkbox, "NUMC
p_sum03 as checkbox, "NO UNITSPLIT
p_sum04 as checkbox, "TOTALS ONLY
p_sum05 as checkbox, "NO SUMCHOICE
p_sum06 as checkbox, "NO SUMLINE
p_sum07 type sy-msgli, "TOTALS TEXT
p_sum08 as checkbox, "NO SUBCHOICE
p_sum09 as checkbox, "NO SUBTOTALS
p_sum10 type sy-msgli. "SUBTOTALS TEXT
selection-screen begin of block dos with frame title text-dos.
parameters:
p_dos01 as checkbox.
select-options:
p_dosf01 for g_field no intervals.
selection-screen end of block dos.
selection-screen begin of block nos with frame title text-nos.
parameters:
p_nos01 as checkbox.
select-options:
p_nosf01 for g_field no intervals.
selection-screen end of block nos.
selection-screen end of block sum.
selection-screen begin of block col with frame title text-col.
parameters:
p_col01 as checkbox.
select-options:
p_colf01 for g_int_field no intervals default 1.
parameters:
p_col02 as checkbox.
select-options:
p_colf02 for g_field no intervals.
parameters:
p_col03 as checkbox.
select-options:
p_colf03 for g_field no intervals.
selection-screen end of block col.
selection-screen begin of block prn with frame title text-prn.
parameters:
p_lpr01 as checkbox default 'X'. "GROUP CHANGE EDIT
selection-screen skip.
parameters:
p_lpr02 as checkbox. "GET SELINFO
selection-screen skip.
parameters:
p_lpr03 as checkbox, "NO MIN LINESIZE
p_lpr04 type sylinsz, "MIN LINESIZE
p_lpr05 type sylinsz. "MAX LINESIZE
selection-screen skip.
parameters:
p_prn01 as checkbox, "PRINT
p_prn02 type lvc_s_prnt-reservelns, "RESERVE LINES
p_prn03 as checkbox, "NO LISTINFO
p_prn04 as checkbox, "NO SELINFO
p_prn05 as checkbox, "TITEL
p_prn06 type lvc_s_prnt-footline, "FOOTLINE
p_prn07 as checkbox, "PRINT INFO
p_prn08 as checkbox, "NO COVERPAGE
p_prn09 as checkbox, "NO NEW PAGE
p_prn10 as checkbox. "NO CHANGE PRINT PARAMS
selection-screen end of block prn.
selection-screen begin of block evt with frame.
parameters:
p_evt01 as checkbox, "PF_STATUS_SET
p_evt02 as checkbox. "USER_COMMAND
selection-screen skip.
parameters:
p_evt03 as checkbox, "CALLER_EXIT
p_evt04 as checkbox, "LIST_MODIFY
p_evt05 as checkbox, "BEFORE_LINE_OUTPUT
p_evt06 as checkbox. "AFTER_LINE_OUTPUT
selection-screen skip.
parameters:
p_evt07 as checkbox, "SUBTOTAL_TEXT
p_evt08 as checkbox. "REPREP_SEL_MODIFY
selection-screen skip.
parameters:
p_evt09 as checkbox, "TOP_OF_PAGE
p_evt10 as checkbox, "END_OF_PAGE
p_evt11 as checkbox, "TOP_OF_LIST
p_evt12 as checkbox. "END_OF_LIST
selection-screen skip.
parameters:
p_evt13 as checkbox, "TOP_OF_COVERPAGE
p_evt14 as checkbox. "END_OF_COVERPAGE
selection-screen skip.
parameters:
p_evt15 as checkbox, "FOREIGN_TOP_OF_PAGE
p_evt16 as checkbox. "FOREIGN_END_OF_PAGE
selection-screen skip.
parameters:
p_evt17 as checkbox. "GROUPLEVEL_CHANGE
selection-screen end of block evt.
INITIALIZATION                                                       *
initialization.
  perform f01_f4_field using 'SUM' space changing p_dosf01-low.
  p_dosf01-option = 'EQ'.
  p_dosf01-sign   = 'I'.
  append p_dosf01.
  perform f01_f4_field using 'SUM' space changing p_nosf01-low.
  p_nosf01-option = 'EQ'.
  p_nosf01-sign   = 'I'.
  append p_nosf01.
  perform f01_f4_field using 'KEY' space changing p_outf01-low.
  p_outf01-option = 'EQ'.
  p_outf01-sign   = 'I'.
  append p_outf01.
  perform f01_f4_field using space space changing p_tecf01-low.
  p_tecf01-option = 'EQ'.
  p_tecf01-sign   = 'I'.
  append p_tecf01.
  perform f01_f4_field using space space changing p_fixf01-low.
  p_fixf01-option = 'EQ'.
  p_fixf01-sign   = 'I'.
  append p_fixf01.
  perform f01_f4_field using 'CURR' space changing p_curf00-low.
  p_curf00-option = 'EQ'.
  p_curf00-sign   = 'I'.
  append p_curf00.
  perform f01_f4_field using 'CUKY' space changing p_curf01.
  perform f01_f4_field using space space changing p_hotf03-low.
  p_hotf03-option = 'EQ'.
  p_hotf03-sign   = 'I'.
  append p_hotf03.
  perform f01_f4_field using space space changing p_colf02-low.
  p_colf02-option = 'EQ'.
  p_colf02-sign   = 'I'.
  append p_colf02.
  perform f01_f4_field using space space changing p_colf03-low.
  p_colf03-option = 'EQ'.
  p_colf03-sign   = 'I'.
  append p_colf03.
AT SELECTION-SCREEN                                                  *
at selection-screen.
  case sscrfields-ucomm.
    when 'PB01'.
      call screen 1001 starting at 1 1 ending at 80 20.
    when 'PB02'.
      call screen 1002 starting at 1 1 ending at 80 20.
  endcase.
AT SELECTION-SCREEN ON VALUE-REQUEST                                 *
at selection-screen on value-request for p_dosf01-low.
  perform f01_f4_field using 'SUM' 'X' changing p_dosf01-low.
at selection-screen on value-request for p_nosf01-low.
  perform f01_f4_field using 'SUM' 'X' changing p_nosf01-low.
at selection-screen on value-request for p_outf01-low.
  perform f01_f4_field using 'KEY' 'X' changing p_outf01-low.
at selection-screen on value-request for p_tecf01-low.
  perform f01_f4_field using space 'X' changing p_tecf01-low.
at selection-screen on value-request for p_fixf01-low.
  perform f01_f4_field using space 'X' changing p_fixf01-low.
at selection-screen on value-request for p_curf00-low.
  perform f01_f4_field using 'CURR' 'X' changing p_curf00-low.
at selection-screen on value-request for p_curf01.
  perform f01_f4_field using 'CUKY' 'X' changing p_curf01.
at selection-screen on value-request for p_hotf03-low.
  perform f01_f4_field using space 'X' changing p_hotf03-low.
at selection-screen on value-request for p_colf02-low.
  perform f01_f4_field using space 'X' changing p_colf02-low.
at selection-screen on value-request for p_colf03-low.
  perform f01_f4_field using space 'X' changing p_colf03-low.
at selection-screen on value-request for p_lay06.
  perform f01_f4_fcode using space
                             space
                    changing p_lay06.
START-OF-SELECTION                                                   *
start-of-selection.
  g_repid               = sy-repid.
  gs_test-select_amount = p_amount.
  gs_test-only_db_info  = p_dbinfo.
  gs_test-db_short      = p_dbshrt.
  gs_test-list_amount = p_list.
  gs_test-layo_title               = p_tit01.
  gs_test-layo_zebra               = p_lay01.
  gs_test-layo_no_horiz_lines      = p_lay02.
  gs_test-layo_no_vert_lines       = p_lay03.
  gs_test-layo_no_scrolling        = p_lay04.
  gs_test-layo_f2code              = p_lay06.
  gs_test-layo_confirmation_prompt = p_lay07.
  gs_test-layo_box                 = p_spa01.
  gs_test-layo_count               = p_spa02.
  gs_test-layo_no_colhead          = p_spa03.
  gs_test-layo_column_optimize     = p_spa04.
  gs_test-layo_no_hotspot          = p_hot01.
  if p_hot02 eq con_true.
    loop at p_hotf02.
      if not p_hotf02-low is initial.
        append p_hotf02-low to gs_test-layo_hotspot_rows.
      endif.
    endloop.
  endif.
  if p_hot03 eq con_true.
    loop at p_hotf03.
      if not p_hotf03-low is initial.
        append p_hotf03-low to gs_test-layo_hotspot_columns.
      endif.
    endloop.
  endif.
  case con_true.
    when p_mrg01.
      gs_test-layo_cell_merge          = space.
    when p_mrg02.
      gs_test-layo_cell_merge          = 'N'.
    when p_mrg03.
      gs_test-layo_cell_merge          = 'Y'.
  endcase.
  if p_out01 eq con_true.
    loop at p_outf01.
      if not p_outf01-low is initial.
        append p_outf01-low to gs_test-fcat_no_out_fields.
      endif.
    endloop.
  endif.
  if p_tec01 eq con_true.
    loop at p_tecf01.
      if not p_tecf01-low is initial.
        append p_tecf01-low to gs_test-fcat_tech_fields.
      endif.
    endloop.
  endif.
  if p_fix01 eq con_true.
    loop at p_fixf01.
      if not p_fixf01-low is initial.
        append p_fixf01-low to gs_test-fcat_fix_column_fields.
      endif.
    endloop.
  endif.
  gs_test-curr_amount = p_curanz.
  gs_test-curr_space  = p_curspc.
  if p_cur01 eq con_true or p_cur02 eq con_true.
    data: ls_fcat_curr type g_ty_s_fcat_curr.
    loop at p_curf00.
      clear ls_fcat_curr.
      if not p_curf00-low is initial.
        ls_fcat_curr-fieldname = p_curf00-low.
        case con_true.
          when p_cur01.
            ls_fcat_curr-cfieldname = p_curf01.
          when p_cur02.
            ls_fcat_curr-currency   = p_curf02.
        endcase.
        append ls_fcat_curr to gs_test-fcat_curr_fields.
      endif.
    endloop.
  endif.
  gs_test-layo_keys_hotspot        = p_key01.
  gs_test-layo_no_keyfix           = p_key02.
  gs_test-excp_display             = p_excp01.
  gs_test-excp_condense            = p_excp_c.
  gs_test-sum_before               = p_sum01.
  gs_test-sum_numc                 = p_sum02.
  gs_test-sum_no_unitsplit         = p_sum03.
  gs_test-sum_totals_only          = p_sum04.
  gs_test-sum_no_sumchoice         = p_sum05.
  gs_test-sum_no_sumline           = p_sum06.
  gs_test-sum_totals_text          = p_sum07.
  gs_test-sum_no_subchoice         = p_sum08.
  gs_test-sum_no_subtotals         = p_sum09.
  gs_test-sum_subtotals_text       = p_sum10.
  if p_dos01 eq con_true.
    loop at p_dosf01.
      if not p_dosf01-low is initial.
        append p_dosf01-low to gs_test-fcat_do_sum_fields.
      endif.
    endloop.
  endif.
  if p_nos01 eq con_true.
    loop at p_nosf01.
      if not p_nosf01-low is initial.
        append p_nosf01-low to gs_test-fcat_no_sum_fields.
      endif.
    endloop.
  endif.
  gs_test-layo_group_change_edit   = p_lpr01.
  gs_test-layo_get_selinfo         = p_lpr02.
  gs_test-layo_no_min_linesize     = p_lpr03.
  gs_test-layo_min_linesize        = p_lpr04.
  gs_test-layo_max_linesize        = p_lpr05.
  gs_test-prnt_print                  = p_prn01.
  gs_test-prnt_reserve_lines          = p_prn02.
  gs_test-prnt_no_listinfo            = p_prn03.
  gs_test-prnt_no_selinfo             = p_prn04.
  gs_test-prnt_with_title             = p_prn05.
  gs_test-prnt_footline               = p_prn06.
  gs_test-prnt_printinfo              = p_prn07.
  gs_test-prnt_no_coverpage           = p_prn08.
  gs_test-prnt_no_new_page            = p_prn09.
  gs_test-prnt_no_change_print_params = p_prn10.
  if p_col01 eq con_true.
    loop at p_colf01.
      if not p_colf01-low is initial.
        append p_colf01-low to gs_test-color_rows.
      endif.
    endloop.
  endif.
  if p_col02 eq con_true.
    loop at p_colf02.
      if not p_colf02-low is initial.
        append p_colf02-low to gs_test-color_fields_column.
      endif.
    endloop.
  endif.
  if p_col03 eq con_true.
    loop at p_colf03.
      if not p_colf03-low is initial.
        append p_colf03-low to gs_test-color_fields_cell.
      endif.
    endloop.
  endif.
  if p_evt01 eq con_true.
    append con_event_01 to gs_test-events.
  endif.
  if p_evt02 eq con_true.
    append con_event_02 to gs_test-events.
  endif.
  if p_evt03 eq con_true.
    append con_event_03 to gs_test-events.
  endif.
  if p_evt04 eq con_true.
    append con_event_04 to gs_test-events.
  endif.
  if p_evt05 eq con_true.
    append con_event_05 to gs_test-events.
  endif.
  if p_evt06 eq con_true.
    append con_event_06 to gs_test-events.
  endif.
  if p_evt07 eq con_true.
    append con_event_07 to gs_test-events.
  endif.
  if p_evt08 eq con_true.
    append con_event_08 to gs_test-events.
  endif.
  if p_evt09 eq con_true.
    append con_event_09 to gs_test-events.
  endif.
  if p_evt10 eq con_true.
    append con_event_10 to gs_test-events.
  endif.
  if p_evt11 eq con_true.
    append con_event_11 to gs_test-events.
  endif.
  if p_evt12 eq con_true.
    append con_event_12 to gs_test-events.
  endif.
  if p_evt13 eq con_true.
    append con_event_13 to gs_test-events.
  endif.
  if p_evt14 eq con_true.
    append con_event_14 to gs_test-events.
  endif.
  if p_evt15 eq con_true.
    append con_event_15 to gs_test-events.
  endif.
  if p_evt16 eq con_true.
    append con_event_16 to gs_test-events.
  endif.
  if p_evt17 eq con_true.
    append con_event_17 to gs_test-events.
  endif.
  gs_test-buffer_active            = space.
  gs_test-bypassing_buffer         = space.
END-OF-SELECTION                                                     *
end-of-selection.
  perform f01_call_list.
*&      Form  f01_call_list
      text
form f01_call_list .
  data: ls_prnt   type slis_print_alv,
        lt_excl   type slis_t_extab,
        l_exit    type char1,
        ls_exit   type slis_exit_by_user,
        l_list    type num1.
  call function 'REUSE_ALV_BLOCK_LIST_INIT'
    exporting
      i_callback_program       = g_repid
      i_callback_pf_status_set = ' '
      i_callback_user_command  = ' '
      it_excluding             = lt_excl.
  do gs_test-list_amount times.
    add 1 to l_list.
    perform f01_append_list using l_list.
  enddo.
  perform f01_set_prnt changing ls_prnt.
  call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    exporting
      i_interface_check       = ' '
      is_print                = ls_prnt
      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 = l_exit
      es_exit_caused_by_user  = ls_exit
    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.                    " f01_call_list
*&      Form  f01_append_list
      text
form f01_append_list using value(i_list) type num1.
  data: ls_layo   type slis_layout_alv,
        lt_fcat   type slis_t_fieldcat_alv,
        lt_sort   type slis_t_sortinfo_alv,
        lt_evts   type slis_t_event,
        l_tabname type slis_tabname.
  field-symbols: <l_table> type any.
  perform f01_get_outtab using i_list.
  case i_list.
    when 1.
      gt_outtab1 = gt_outtab[].
    when 2.
      gt_outtab2 = gt_outtab[].
    when 3.
      gt_outtab3 = gt_outtab[].
    when 4.
      gt_outtab4 = gt_outtab[].
    when 5.
      gt_outtab5 = gt_outtab[].
    when 6.
      gt_outtab6 = gt_outtab[].
    when 7.
      gt_outtab7 = gt_outtab[].
    when 8.
      gt_outtab8 = gt_outtab[].
    when 9.
      gt_outtab9 = gt_outtab[].
  endcase.
  perform f01_set_layo changing ls_layo.
  perform f01_set_fcat changing lt_fcat.
  perform f01_set_evts changing lt_evts.
  concatenate 'LIST_' i_list into l_tabname.
  case i_list.
    when 1.
      call function 'REUSE_ALV_BLOCK_LIST_APPEND'
        exporting
          is_layout                  = ls_layo
          it_fieldcat                = lt_fcat
          i_tabname                  = l_tabname
          it_events                  = lt_evts
          it_sort                    = lt_sort
          i_text                     = 'Hello'              "#EC NOTEXT
        tables
          t_outtab                   = gt_outtab1
        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.
    when 2.
      call function 'REUSE_ALV_BLOCK_LIST_APPEND'
        exporting
          is_layout                  = ls_layo
          it_fieldcat                = lt_fcat
          i_tabname                  = l_tabname
          it_events                  = lt_evts
          it_sort                    = lt_sort
          i_text                     = 'Hello'              "#EC NOTEXT
        tables
          t_outtab                   = gt_outtab2
        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.
    when 3.
      call function 'REUSE_ALV_BLOCK_LIST_APPEND'
        exporting
          is_layout                  = ls_layo
          it_fieldcat                = lt_fcat
          i_tabname                  = l_tabname
          it_events                  = lt_evts
          it_sort                    = lt_sort
          i_text                     = 'Hello'              "#EC NOTEXT
        tables
          t_outtab                   = gt_outtab3
        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-ms

Similar Messages

  • HOW TO TRIGGER CHECK BOX EVENT IN BLOCKED LIST OUT PUT

    Hi Abapers,
    I am developing ALV Blocked list using 3 internal tables.
    in output list my requirement is if I click one check box in one intrrnal table the below internal table checkboxes should be checked.
    how to solve this problem this is very urgent to me I hope somebody will help me.
    Regards
    Shashikumar.G

    Hi
    First you need to register the events of clicking of the checkbox.
    Once registerred, you can capture that event and when occured, you can set the checkboxes for below internal table.
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/95/34eb7feb6211d3a7270000e83dd863/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/95/34eb7feb6211d3a7270000e83dd863/frameset.htm</a>
    Regards
    Raj

  • Add check box in ALV output  List.

    Hi
    I want to add check box in alv out put list . i m trying but not getting succsses .
    please tell me the process .
    thanks
    chandra

    Hi Chandra,
    Types: begin of ty_output,
          u201C Included these two types in your output structure.
       celltab     TYPE lvc_t_styl,   
       checkbox    TYPE c,
           end of ty_output.     
    Data: it_output type standard table of ty_output,
          wa_output type ty_output.
    Loop at it_output into wa_output.
    * Initially, set all checkbox cells editable.
       ls_celltab-fieldname = 'CHECKBOX'.
       ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled.
       INSERT ls_celltab INTO TABLE lt_celltab.
       INSERT LINES OF lt_celltab INTO TABLE wa_coupon-celltab.
    MODIFY it_coupon FROM wa_coupon TRANSPORTING celltab.
    Endloop.
    Form build_field_catalog.
      wa_fieldcat-fieldname = 'CHECKBOX'.
      ADD 1 TO wf_pos.
      wa_fieldcat-col_pos  = wf_pos.
      wa_fieldcat-datatype = 'C'.
      wa_fieldcat-outputlen  = '6'.
      wa_fieldcat-reptext   = 'Select'.
      wa_fieldcat-coltext  = 'Select'.
      wa_fieldcat-seltext  = 'Select'.
      wa_fieldcat-tooltip  = 'Select'.
      wa_fieldcat-checkbox = 'X'.
      wa_fieldcat-edit     = 'X'.
      wa_fieldcat-key      = ''.
      wa_fieldcat-icon      = ''.
      APPEND wa_fieldcat TO it_fieldcat.
      CLEAR wa_fieldcat.
    Endform.
    Form display_alv.
    ls_variant-report = sy-cprog..
      gs_layout-stylefname = 'CELLTAB'.  u201C Please  do not forget to include this statement
    gs_layout-zebra = 'X'.
      CALL METHOD alv_grid->set_table_for_first_display
        EXPORTING
          is_layout                     = gs_layout
          it_toolbar_excluding          = lt_exclude
        CHANGING
          it_outtab       = it_output
          it_fieldcatalog = it_fieldcat.
      CLEAR gt_fieldcat.
    Endform.
    Code Formatted by: Alvaro Tejada Galindo on Jan 4, 2010 4:31 PM

  • 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]

  • Add check box in alv  output list in web dynpro

    Dear Friends,
    I want to Add check box in begining  of  each row  of alv output list for WEB DYNPRO  Program.
    ISHA

    Lalsha - you need an attribute (I will named check_box) in your context node to be in the 1st position of your ALV context node
    Data: lv_check_box          type ref to cl_salv_wd_uie_checkbox,
             lr_table_settigns      type ref to if_salv_wd_table_settings,
             l_value                     type ref to cl_salv_wd_config_table,
             lt_columns               type salv_wd_t_column_ref,
             ls_column                type salv_wd_s_column_ref,
             l_col_name              type string.
    if l_value is not initial.
    lr_table_settings ?= l_value.
    lt_columns = l_value->if_salv_wd_column_settings~get_columns( ).
    Loop AT lt_columns into ls_column.
    l_col_name = ls_column-r_column->get_id( ).
    IF l_col_name = 'check_box'   *your attribute name*
    CREATE OBJECT lv_check_box
    EXPORTING
    checked_fieldname = l_col_name.
    ls_column-r-column->set_cell_editor( value = lv_check_box ).
    endif.
    endloop
    Hope this help
    Jason P-V

  • How to create check box in ALV Reports?

    how to create check box in ALV Reports?

    Hi
    check the report  BCALV_TEST_GRID_EDITABLE
    or
    check this report
    REPORT ZRFC346_TST.
    TABLES:SFLIGHT,RL034.
    TYPE-POOLS:SLIS.
    INCLUDE:<ICON>,<SYMBOL>.
    DATA: G_REPID          LIKE SY-REPID,
          G_FIELDCAT       TYPE SLIS_T_FIELDCAT_ALV,
          G_IT_SORT        TYPE SLIS_T_SORTINFO_ALV,
          G_LAYOUT         TYPE SLIS_LAYOUT_ALV,
          G_TABNAME_HEADER TYPE SLIS_TABNAME,
          G_TABNAME_ITEM   TYPE SLIS_TABNAME,
          G_KEYINFO        TYPE SLIS_KEYINFO_ALV,
          G_VARIANT        LIKE DISVARIANT,
          G_EXTAB          TYPE SLIS_T_EXTAB,
          I_SLIS_EXIT_BY_USER TYPE SLIS_EXIT_BY_USER.
    DATA: XEVENT         TYPE SLIS_T_EVENT,
          AEVENT         TYPE SLIS_ALV_EVENT,
          VARIANT        LIKE DISVARIANT,
          LAYOUT         TYPE SLIS_LAYOUT_ALV,
          ASP_GROUP      TYPE SLIS_SP_GROUP_ALV,
          GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          EXTAB          TYPE SLIS_T_EXTAB WITH HEADER LINE,
          XFIELD         TYPE SLIS_T_FIELDCAT_ALV,
          AFIELD         TYPE SLIS_FIELDCAT_ALV,
          G_SUCOMM      LIKE SY-UCOMM,
          G_SELFLD       TYPE SLIS_SELFIELD.
    DATA: SAV_SY_REPID      LIKE SY-REPID.
    CONSTANTS: CON_SFLIGHT TYPE LVC_FNAME VALUE 'SFLIGHT',
               CON_DISPLAY_FULL TYPE I VALUE 3.
    Data to be displayed
    DATA: BEGIN OF GT_SFLIGHT OCCURS 0.
            INCLUDE STRUCTURE SFLIGHT.
    DATA:ACTIVATE(1).
    DATA: END OF GT_SFLIGHT.
    INITIALIZATION.
    *........Initialisierung...............................................
      PERFORM INITIALIZATION_RL034.
    *........Field cata....................................................
      PERFORM FIELD_CAT.
    *........SPECIAL GROUP.................................................
      PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
    START-OF-SELECTION.
    Selection
      SELECT * FROM SFLIGHT INTO TABLE GT_SFLIGHT.
    *........ALV CALL.......................................................
      PERFORM ALV_CALL.
      PERFORM USER_COMMAND_LOCAL USING G_SUCOMM G_SELFLD.
          FORM USER_COMMAND_LOCAL                                       *
    -->  G_UCOMM                                                       *
    -->  G_SELFIELD                                                    *
    FORM USER_COMMAND_LOCAL USING G_UCOMM LIKE SY-UCOMM
                                  G_SELFIELD TYPE SLIS_SELFIELD.
      CASE G_UCOMM.
        WHEN 'ACT'.
      ENDCASE.
    ENDFORM.
          FORM ALV_CALL                                                 *
    FORM ALV_CALL.
    Call ABAP List Viewer (ALV)
    G_LAYOUT-BOX_FIELDNAME = 'ACTIVATE'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                 EXPORTING
                I_BACKGROUND_ID         = 'ALV_BACKGROUND'
                   I_BYPASSING_BUFFER                = SPACE
                   I_BUFFER_ACTIVE                   = SPACE
                    I_CALLBACK_PROGRAM                = SAV_SY_REPID
                    I_CALLBACK_PF_STATUS_SET          = 'STATUS'
                   I_CALLBACK_USER_COMMAND           = 'USER_COMMAND_LOCAL'
                I_CALLBACK_TOP_OF_PAGE            = ' '
                I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
                I_CALLBACK_HTML_END_OF_LIST       = ' '
                 I_STRUCTURE_NAME                  = 'SFLIGHT'
                I_BACKGROUND_ID                   = ' '
                I_GRID_TITLE                      =
                I_GRID_SETTINGS                   =
                  IS_LAYOUT                         = G_LAYOUT
                  IT_FIELDCAT                       = XFIELD[]
                IT_EXCLUDING                      =
                  IT_SPECIAL_GROUPS                 = GT_SP_GROUP[]
                IT_SORT                           =
                IT_FILTER                         =
                 IS_SEL_HIDE                       = 'X'
                I_DEFAULT                         = 'X'
                  I_SAVE                            = 'A'
                IS_VARIANT                        =
                 IT_EVENTS                         = XEVENT
                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_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                          = GT_SFLIGHT
              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.
          FORM status                                                   *
    -->  EXTAB                                                         *
    FORM STATUS USING EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'STAT' EXCLUDING EXTAB.
    ENDFORM.                               " STATUS
    *&      Form  INITIALIZATION_RL034
          text
    -->  p1        text
    <--  p2        text
    FORM INITIALIZATION_RL034.
      SAV_SY_REPID = SY-REPID.
    ENDFORM.                    " INITIALIZATION_RL034
    *&      Form  DEFINE_EVENTS_RL034
          text
    -->  p1        text
    <--  p2        text
    FORM DEFINE_EVENTS_RL034.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = XEVENT.
       exceptions
            list_type_wrong = 1
            others          = 2.
    ENDFORM.                    " DEFINE_EVENTS_RL034
    *&      Form  FIELD_CAT
          text
    -->  p1        text
    <--  p2        text
    FORM FIELD_CAT.
      DATA: LS_FCAT TYPE SLIS_FIELDCAT_ALV,
            L_LIN   TYPE I.
      REFRESH XFIELD.
           1. per Default eingeblendete Felder                          *
    *........Ikone/Symbol..................................................
      CLEAR AFIELD.
      DATA: LS1_FCAT TYPE SLIS_FIELDCAT_ALV,
            L_LIN1   TYPE I.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                I_STRUCTURE_NAME       = CON_SFLIGHT
                I_BYPASSING_BUFFER     = SPACE
                I_BUFFER_ACTIVE        = SPACE
           CHANGING
                CT_FIELDCAT            = XFIELD
           EXCEPTIONS
                INCONSISTENT_INTERFACE = 1
                PROGRAM_ERROR          = 2
                OTHERS                 = 3.
      DESCRIBE TABLE XFIELD LINES L_LIN1.
      ADD 1 TO L_LIN1.
      CLEAR LS_FCAT.
      LS1_FCAT-FIELDNAME = 'ACTIVATE'.
      LS1_FCAT-CHECKBOX  = 'X'.
    LS1_FCAT-KEY       = 'X'.
      LS1_FCAT-INPUT     = 'X'.
      LS1_FCAT-EDIT     = 'X'.
      LS1_FCAT-INTTYPE   = 'C'.
      LS1_FCAT-DATATYPE  = 'CHAR'.
      LS1_FCAT-INTLEN    = 1.
      LS1_FCAT-COL_POS   = L_LIN1.
      LS1_FCAT-SELTEXT_S = LS1_FCAT-FIELDNAME.
      LS1_FCAT-SELTEXT_M = LS1_FCAT-FIELDNAME.
      LS1_FCAT-SELTEXT_L = LS1_FCAT-FIELDNAME.
      LS1_FCAT-SP_GROUP = 'A'.
      APPEND LS1_FCAT TO XFIELD.
      ADD 1 TO L_LIN.
    ENDFORM.                    " FIELD_CAT
    FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
      DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
      CLEAR  LS_SP_GROUP.
      LS_SP_GROUP-SP_GROUP = 'A'.
      LS_SP_GROUP-TEXT     = 'SPECIAL'.
      APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
    ENDFORM.
    Regards
    Shiva

  • Events in ALV block list

    Hi,
    Im using ALV block list to display the output. In that one column is highlighted using HOT SPOT. I have to capture that event and display the information as pop-up.
    can anyone tell me how to do this?
    Thanks,
    Amal

    Hi
    Check with the Handling the Hot spot
    hot spot
    ALV GRID HOT Spot
    and the coming value populate to the function module....for the POP-UP.
    Regards!
    Edited by: Prasanth on Feb 26, 2009 8:12 PM

  • Multiple Hotspots handling in ALV Block List

    Hello All,
    This is my fisrt thread in the SDN though I am wokring in SAP area from past 5 years.
    Some business background of te block list report.
    Mine reprot is completing the flow of SD .
    first block displays the SO items.
    second block displays the Billing Information
    Third Block displays the Shippinng Information.
    Now comes to the problem.
    I have come accross a strange situation in the ALV Block list hotspot handling.
    In the first report the i want to have the hotspot for two columns.
    1. SO Document (VBAK-VBELN) and Materials status(MARA-MSTAE).
    In the User_command problem is
    slis_selfield is not retruning the field name (slis_selfield-fieldname) please can any body tell about this.
    see why I need this information is
    based on the field I want to decide the flow.
    if it is Materialstatus(Mstae) I would like to take him to Mara related information.
    If it is Sales Order Document(vbeln) I would like to take him to SO related information.
    I hope I am clear my requirement.  if not please let me know.
    I am expecting some possible answers for it.
    Thanks and Regards,
    Shankar
    PS: It is returning the tablename but it doesnt solve the problem bcz both columns(or fields) belongs to the same row. so I really cant distinguish from where i have got the hotspot click.

    Can you debug why the fieldname is not returned? This is strange.
    Usually I use this code and it always works:
    FORM f_user_command USING f_ucomm     TYPE sy-ucomm         "#EC CALLED
                                                   i_selfield      TYPE slis_selfield.
      CHECK f_ucomm = '&IC1'.
      CLEAR wa_report.
      READ TABLE t_report
            INTO wa_report
           INDEX i_selfield-tabindex.
      IF sy-subrc <> 0.
        EXIT.
      ENDIF.
      CASE i_selfield-fieldname.
    *   Drill down to STR
        WHEN 'BANFN'.
          CHECK wa_report-banfn IS NOT INITIAL.
          SET PARAMETER ID 'BAN' FIELD wa_report-banfn.
          CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN.
    *   Drill down to STO
        WHEN 'EBELN'.
          CHECK wa_report-ebeln IS NOT INITIAL.
          SET PARAMETER ID 'BES' FIELD wa_report-ebeln.
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    ENDCASE.

  • Issue with Secondary list display in ALV BLocked List

    Hi all,
    I am using ALV Blocked List consissting of 3 blocks.
    For my requirement, in the 1st block, I need to make a colum clickable, for which I have used the User_Command Event.
    But this is not working. The second list is not gettin displayed.
    Here'z my code:
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
          EXPORTING
            i_callback_program             = v_repid
           i_callback_top_of_page       = 'TOP-OF-PAGE'            "see FORM
      I_CALLBACK_PF_STATUS_SET       = ' '
       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
      IT_EXCLUDING                   =
      REFRESH: it_events[].
      wa_events-name = slis_ev_top_of_list.
      wa_events-form = 'FIRST_HEADING'.
      APPEND wa_events TO it_events.
      wa_events-name = slis_ev_user_command.
      wa_events-form = 'USER_COMMAND'.
      APPEND wa_events TO it_events.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          is_layout                        = v_layout
          it_fieldcat                      = it_disptab_field[]
          i_tabname                        = 'DISPTAB'
          it_events                        = it_events[]                  " Call 1st  BLOCK TO BE APPENDED For SALES ANALYSIS
      IT_SORT                          =
      I_TEXT                           = ' '
        TABLES
          t_outtab                         = it_disptab
       EXCEPTIONS
         program_error                    = 1
         maximum_of_appends_reached       = 2
         OTHERS                           = 3.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
      CASE r_ucomm.
        WHEN '&IC1'.
           READ TABLE it_disptab INTO w_disptab INDEX rs_selfield-tabindex.
           IF rs_selfield-fieldname = 'KUNAG'.
               WRITE:/1  'invoice',
                 10   'Quantity in Base Unit',
                 20   'Base Unit',
                 30   'Qty in KL',
                 40   'Price'.
          ENDIF.
       ENDCASE.
    ENDFORM.                    " USER_COMMAND
    Please Help..

    Hi Ganesh,
    Thanks for your reply. I have already used hotspot on the fieldcat of the clickable field.  But it seems that except for the hand cursor appearing only on that field, the other columns are also clickable.
    Moreover, only the fiirst block should be clickable but all the blocks are applying the user_command.
    This might be due to the REUSE_ALV_BLOCK_LIST_INIT Function Module, which applies to all the blocks.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
          EXPORTING
            i_callback_program             = v_repid
           i_callback_top_of_page       = 'TOP-OF-PAGE'            "see FORM
      I_CALLBACK_PF_STATUS_SET       = ' '
       i_callback_user_command        = 'USER_COMMAND'
      IT_EXCLUDING                   =
    In orser to avoid this, I am using the following code, which can be a temporary solution to the problem.
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
      DATA: row_count TYPE sy-lilli.
      CASE r_ucomm.
        WHEN '&IC1'.
          DESCRIBE TABLE it_disptab LINES row_count.
          READ TABLE it_disptab INTO w_disptab INDEX rs_selfield-tabindex.
          IF rs_selfield-tabindex LE row_count AND rs_selfield-tabindex ne 0 AND rs_selfield-tabname = 'DISPTAB'.
            PERFORM get_data.
            PERFORM build_fieldcat.
            PERFORM display_second_list.
          ELSE.
            EXIT.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " USER_COMMAND

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

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

  • Sving layout with ALV block list

    1) I am not able to save layout for alv block. How this can be done?
    2) Can this be saved for all blocks if the fields of all blocks are the same?

    Hi,
    1. not possible with the ALV BLOCK list.
    2. No option avaialble for this in case of Block list.
    for normal list you have variant option.
    Regards
    vijay

  • Setting check box (in detail block) as (non) updatable...

    Hi,
    I have a master-detail form. The form does execute a query when it opens. Now, according to a condition i want to do the check box(in detail block) as non- updatable.
    I have tried to write the appropriate code in:
    WHEN-NEW-RECORD-INSTANCE(in the master block level)
    WHEN-NEW-ITEM-INSTANCE (in the detail block level)
    POST-QUERY(in the detail block level)
    but it does not work 'perfectly'. I mean that in most cases even one of the above triggers does not execute (for example the 'WHEN-NEW-RECORD-INSTANCE' but only after i click on this new record instance. I mean that after this on this new record the condition is estimated....)
    or
    it does execute but after i click on the checkbox (for example the 'WHEN-NEW-ITEM-INSTANCE').
    The code i tried looks like the following:
    if :block.item=<condition>
    then
      set_item_property ('detail_block.chk_box',updatable,property_false);
    else
    set_item_property ('detail_block.chk_box',updatable,property_true);
    end if;I consider to use the WHEN-CHECKBOX-CHANGED trigger and code which looks like:
    if <condition>=true
    then
        /*i set the value of the checkbox as the opposite of what it is just after the click on it...*/
      if :detail_block.chk_box=0
       then
         :detail_block.chk_box=1;
      else
        :detail_block.chk_box=0;
      end if;
      set_record_property(currect_record,status,query_status);
      set_item_property ('detail_block.chk_box',updatable,property_false);
    end if;The truth is that i do not like very much this code, but is there any alternative...???
    Note: I use Dev6i with patch 12
    Thank you,
    Sim

    I build a little testform based on HR-schema-table DEMO_USERS and switch each second record to be not updateable, works without problems (code from POST-QUERY-trigger):
    DEFAULT_VALUE('1', 'GLOBAL.SWITCH');
    :GLOBAL.SWITCH:=3-:GLOBAL.SWITCH;
    IF :GLOBAL.SWITCH=2 THEN
      SET_ITEM_INSTANCE_PROPERTY('DEMO_USERS.ADMIN_USER', TO_NUMBER(:SYSTEM.TRIGGER_RECORD), UPDATE_ALLOWED, PROPERTY_TRUE);
    ELSE     
      SET_ITEM_INSTANCE_PROPERTY('DEMO_USERS.ADMIN_USER', TO_NUMBER(:SYSTEM.TRIGGER_RECORD), UPDATE_ALLOWED, PROPERTY_FALSE);
    END IF;     Edited by: Andreas Weiden on 31.03.2009 21:24

  • Printing issue in ALV Block List

    Hello,
    I had created an ALV Block List containing 2 blocks and it has a header also. When I print, each block is printed on separate papers. Moreover before printing a block, a block is printed saying Number of records passed which will also be printed on separate paper. Thus to print a single page I will get 4 page print out in Dotmatrix printer.
    Can anyone say how to avoid printing the Number of Records and also to print both blocks in a single page.
    Regards,
    Abijith

    Hi,
    DATA : IS_PRINT       TYPE  SLIS_PRINT_ALV.
      IS_PRINT-NO_PRINT_SELINFOS  = 'X'.
      IS_PRINT-PRINT              = 'X'.
      IS_PRINT-NO_PRINT_LISTINFOS = 'X'.
      IS_PRINT-NO_NEW_PAGE        = 'X'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    EXPORTING
       IS_PRINT                      = IS_PRINT.
    Pass those values to the FM.
    Regards,
    Sri

  • Calling ALV Block List twice

    Hi all,
    I am calling ALV block list twice. In I block list user selects any record and then clicks on a button and then control goes to II block list. My problem is that when i come back from II to I list, and select any new record, the selected values in internal table passed in I list are not reflected in that table.
    I think this problem is because we are displaying different tables in these 2 lists. When we go to II list, the ALV block list is gettting reinitialized and on coming back, the above problem occurs.
    If you have any inputs, please let me know.
    Thanks in advance.
    Regards,
    Ridhima.

    Hi all,
    I am calling ALV block list twice. In I block list user selects any record and then clicks on a button and then control goes to II block list. My problem is that when i come back from II to I list, and select any new record, the selected values in internal table passed in I list are not reflected in that table.
    I think this problem is because we are displaying different tables in these 2 lists. When we go to II list, the ALV block list is gettting reinitialized and on coming back, the above problem occurs.
    If you have any inputs, please let me know.
    Thanks in advance.
    Regards,
    Ridhima.

Maybe you are looking for

  • Firefox suddenly crashing every time I open it

    Without any changes to my computer, as far as I can tell, I lost the ability to open Firefox without it crashing. I've tried rebooting, re-installing, Safe Mode, new profile...nothing seems to work.

  • Need help to create CTC report in HR ABAP

    Hi guys, I am new to HR abap, and i need to create annal CTC report. Do you guys have ever work on such requirement plz post me some sample programs. Thanks in Advance...

  • "Download Linked File As" Does Not Work

    As others have noted, although Safari is an excellent and fast browser, there is one feature that is quite annoying, namely that all filed download by default to a single folder selected in preferences. Internet Explorer (and Firefox, I believe) by d

  • FaceTime Failed: Calls between iPod Touch and Macbook Pro

    when i try to place a call to someone who has FaceTime on an iPod Touch, she says she doesn't receive any calls and i get eventually get a "FaceTime failed" after a few rings. if the other party calls me (i'm using MacBook Pro with OSX Lion 10.7.1) a

  • Final Cut Pro X Free Trial - Lost Past Files

    I downloaded the free trial of FCP X about 20 days ago and when i went to import and begin a new project today, the past 4 projects and their original files I have worked on are gone.  I have looked everywhere in my external hard drive (where I save