Regarding Runtime error in ALV List Display.

am using following to display data in ALV List.
but after executing of program am getting runtime error called 'Field Symbol has Not been assigned' .
please tell me how to correct the error.
Very urgent
Suitable answers rewarded with Maximum Ponits...
REPORT  zmatrix.
TYPE-POOLS: slis.
TABLES: agr_define, sza5_d0700.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-006.
SELECT-OPTIONS: s_role FOR agr_define-agr_name OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
                       D A T A                                       *
TYPES: BEGIN OF ty_agr_1251_inf,
       agr_name TYPE agr_1251-agr_name,
       object   TYPE agr_1251-object,
       field    TYPE agr_1251-field,
       low(20)  TYPE c,
       high     TYPE agr_1251-high,
       infty    TYPE t582s-infty,
       itext    TYPE t582s-itext,
       END OF ty_agr_1251_inf.
TYPES: BEGIN OF ty_agr_1251_tcode,
       agr_name TYPE agr_1251-agr_name,
       object   TYPE agr_1251-object,
       field    TYPE agr_1251-field,
       low(20)  TYPE c,
       high     TYPE agr_1251-high,
       tcode    TYPE tstct-tcode,
       ttext    TYPE tstct-ttext,
       END OF ty_agr_1251_tcode.
TYPES: BEGIN OF ty_t582s,
       infty TYPE agval,
       itext TYPE t582s-itext,
       END OF ty_t582s.
TYPES: BEGIN OF ty_code,
       tcode TYPE tstct-tcode,
       ttext TYPE ttext_stct,
END OF ty_code.
TYPES: BEGIN OF ty_inf,
       infty TYPE t582s-infty,
       itext TYPE t582s-itext,
       END OF ty_inf.
TYPES: BEGIN OF ty_role,
       agr_name TYPE agr_1251-agr_name,
       END OF ty_role.
TYPES: BEGIN OF tys_role_dtls,
         agr_name  TYPE agr_name,
         value     TYPE c,
         property  TYPE c,
       END  OF tys_role_dtls.
TYPES: BEGIN OF tys_infotype_final,
       text(60),
       text1(60),
       value(4),
       END OF tys_infotype_final.
                    I N T E R N A L   T A B L E S                    *
DATA: wa_infotyp_final TYPE tys_infotype_final.
DATA: t_infotyp_final TYPE TABLE OF tys_infotype_final.
DATA: BEGIN OF wa_infotyp_dtls,
         infty     TYPE infty,
         itext     TYPE intxt,
         role_dtls TYPE TABLE OF tys_role_dtls,
      END OF wa_infotyp_dtls.
DATA: BEGIN OF wa_tcode_dtls,
         tcode     TYPE tcode,
         ttext     TYPE ttext_stct,
         role_dtls TYPE TABLE OF tys_role_dtls,
       END OF wa_tcode_dtls.
DATA: t_infotyp_dtls      LIKE   TABLE OF wa_infotyp_dtls,
      t_tcode_dtls        LIKE   TABLE OF wa_tcode_dtls,
      t_role_dtls         TYPE   TABLE OF tys_role_dtls,
      wa_role_dtls        TYPE   tys_role_dtls.
DATA: wa_inf              TYPE   ty_inf,
      t_inf               TYPE   STANDARD TABLE OF ty_inf.
DATA: wa_role             TYPE   ty_role,
      t_role              TYPE   STANDARD TABLE OF ty_role.
DATA: wa_tcode            TYPE   ty_code,
      t_tcode             TYPE   TABLE OF ty_code.
DATA: wa_agr_1251_inf     TYPE   ty_agr_1251_inf.
DATA: wa_agr_1251_tcode   TYPE   ty_agr_1251_tcode.
DATA: t_agr_1251_inf      TYPE STANDARD TABLE OF ty_agr_1251_inf.
DATA: t_agr_1251_tc       TYPE STANDARD TABLE OF ty_agr_1251_tcode.
DATA: wa_582s             TYPE   ty_t582s.
DATA: t_582s              TYPE STANDARD TABLE OF ty_t582s.
DATA: t_range_tcode       TYPE RANGE OF tcode.
DATA: t_range_inf         TYPE RANGE OF infotyp.
DATA: wa_range_inf        LIKE LINE OF t_range_inf.
DATA: wa_range_tcode      LIKE LINE OF t_range_tcode.
DATA: wa_field TYPE slis_fieldcat_alv.
DATA: t_field TYPE slis_t_fieldcat_alv.
                  VARIABLES FOR OLE                                  *
DATA: text(20),
      count(20).
DATA: text1(30).
DATA: agr_name       TYPE   agr_1251-agr_name.
DATA: flag           TYPE   i VALUE '0'.
DATA: string1        TYPE   string.
DATA: str            TYPE   string VALUE 'SAP%'.
DATA: count1         TYPE   i VALUE '0'.
*&   Event START-OF-SELECTION
START-OF-SELECTION.
  PERFORM f100_get_inf_data.
  PERFORM f200_process_inf_data.
  count1 = 1.
  PERFORM f300_prepare_field_catalog.
  PERFORM f110_main_data.
  PERFORM f400_display_data.
  PERFORM  f100_get_trans_data.
*&      Form  f110_main_data
      text
FORM f110_main_data.
  wa_infotyp_final-text = 'Access to Infotypes'.
  APPEND wa_infotyp_final TO t_infotyp_final.
  wa_infotyp_final-text = 'Infotype'.
  wa_infotyp_final-text1 = 'Description'.
  APPEND wa_infotyp_final TO t_infotyp_final.
  wa_infotyp_final-text = '*'.
  wa_infotyp_final-text1 = 'Acess to all Infotypes'.
LOOP AT t_role INTO wa_role WHERE agr_name <> ' '.
   READ TABLE t_agr_1251_inf INTO wa_agr_1251_inf
   WITH KEY agr_name = wa_role-agr_name field = 'INFTY' low = '*'.
   IF syst-subrc = 0.
     wa_infotyp_final-value = 'X'.
   ENDIF.
ENDLOOP.
  APPEND wa_infotyp_final TO t_infotyp_final.
  LOOP AT t_inf INTO wa_inf WHERE infty <> ' '.
    wa_infotyp_final-text = wa_inf-infty.
    wa_infotyp_final-text1 = wa_inf-itext.
    LOOP AT t_role INTO wa_role WHERE agr_name <> ' '.
   Role Name
      CLEAR wa_role_dtls.
      flag = 1.
      wa_role_dtls-agr_name =  wa_role-agr_name.
    For Value D & F
      READ TABLE t_agr_1251_inf INTO wa_agr_1251_inf
      WITH KEY agr_name = wa_role-agr_name field = 'AUTHC'..
      IF syst-subrc EQ 0.
        IF wa_agr_1251_inf-low = 'R'.
          wa_infotyp_final-value = 'D'.
        ELSE.
          wa_infotyp_final-value = 'F'.
        ENDIF.
      ENDIF.
      APPEND wa_role_dtls TO t_role_dtls.
      APPEND wa_infotyp_final TO t_infotyp_final.
    ENDLOOP.
  ENDLOOP.
ENDFORM.                    "f110_main_data
*&      Form  f100_get_inf_data
      text
FORM f100_get_inf_data.
                      Logic for Infotypes                            *
  SELECT aagr_name aobject
         afield alow a~high
         INTO TABLE t_agr_1251_inf
         FROM agr_1251 AS a INNER JOIN agr_define AS b
         ON aagr_name EQ bagr_name
  WHERE ( ( aobject EQ 'P_ORGIN' OR aobject EQ 'P_PERNR' )
  AND   ( aagr_name IN s_role ) AND ( bagr_name NOT LIKE str ) ).
ENDFORM.                    "f100_get_inf_data
*&      Form  f200_get_inf_process_data
      text
FORM f200_process_inf_data.
  LOOP AT t_agr_1251_inf INTO wa_agr_1251_inf.
    IF wa_agr_1251_inf-high IS INITIAL.
      CLEAR wa_range_inf.
      wa_range_inf-sign = 'I'.
      wa_range_inf-option = 'EQ'.
      wa_range_inf-low = wa_agr_1251_inf-low.
      APPEND wa_range_inf TO t_range_inf.
    ELSE.
      CLEAR wa_range_inf.
      wa_range_inf-sign = 'I'.
      wa_range_inf-option = 'BT'.
      wa_range_inf-low = wa_agr_1251_inf-low.
      wa_range_inf-high = wa_agr_1251_inf-high.
      APPEND wa_range_inf TO t_range_inf.
    ENDIF.
  ENDLOOP.
  SORT t_range_inf.
  DELETE ADJACENT DUPLICATES FROM t_range_inf.
  IF t_range_inf IS NOT INITIAL.
    SELECT infty itext FROM t582s
    INTO TABLE t_582s
    WHERE sprsl = 'EN' AND infty IN t_range_inf.
    IF syst-subrc EQ 0.
    ENDIF.
  ENDIF.
  LOOP AT t_agr_1251_inf INTO wa_agr_1251_inf.
    IF wa_agr_1251_inf-high IS INITIAL.
      READ TABLE t_582s INTO wa_582s
        WITH KEY infty = wa_agr_1251_inf-low.
      IF syst-subrc EQ 0.
        wa_agr_1251_inf-infty = wa_582s-infty.
        wa_agr_1251_inf-itext = wa_582s-itext.
        MODIFY t_agr_1251_inf FROM wa_agr_1251_inf
                     TRANSPORTING infty itext.
        IF syst-subrc EQ 0.
        ENDIF.
      ENDIF.
    ELSE.
      CLEAR count.
      LOOP AT t_582s INTO wa_582s
              WHERE infty GE wa_agr_1251_inf-low
                AND infty LE wa_agr_1251_inf-high.
        IF count LE 1.
          wa_agr_1251_inf-high = space.
          wa_agr_1251_inf-infty = wa_582s-infty.
          wa_agr_1251_inf-itext = wa_582s-itext.
          MODIFY t_agr_1251_inf FROM wa_agr_1251_inf
                       TRANSPORTING infty itext.
          IF syst-subrc EQ 0.
            CLEAR wa_582s.
          ENDIF.
        ELSE.
          wa_agr_1251_inf-high = space.
          wa_agr_1251_inf-infty = wa_582s-infty.
          wa_agr_1251_inf-itext = wa_582s-itext.
          APPEND wa_agr_1251_inf TO t_agr_1251_inf.
        ENDIF.
        CLEAR wa_agr_1251_inf.
        count = count + 1.
      ENDLOOP.
    ENDIF.
  ENDLOOP.
  wa_role-agr_name = ' '.
  APPEND wa_role TO t_role.
  wa_role-agr_name = ' '.
  APPEND wa_role TO t_role.
  LOOP AT t_agr_1251_inf INTO wa_agr_1251_inf.
    IF wa_agr_1251_inf IS NOT INITIAL.
      wa_role-agr_name = wa_agr_1251_inf-agr_name.
      wa_inf-infty = wa_agr_1251_inf-infty.
      wa_inf-itext = wa_agr_1251_inf-itext.
      APPEND wa_role TO t_role.
      APPEND wa_inf TO t_inf.
    ENDIF.
  ENDLOOP.
  SORT t_role BY agr_name.
  DELETE ADJACENT DUPLICATES FROM t_role.
  SORT t_inf BY infty.
  DELETE ADJACENT DUPLICATES FROM t_inf.
ENDFORM.                    "f200_get_process_inf_data
*&      Form  f100_get_trans_data
      text
FORM  f100_get_trans_data.
              Logic for Transaction Codes                            *
  SELECT aagr_name aobject
           afield alow a~high
    INTO CORRESPONDING FIELDS OF TABLE t_agr_1251_tc
    FROM agr_1251 AS a
    INNER JOIN agr_define AS b ON aagr_name EQ bagr_name
    WHERE a~agr_name IN s_role
      AND a~object EQ 'S_TCODE'.
ENDFORM.                    "f100_get_trans_data
*&      Form  f200_process_trans_data
      text
FORM f200_process_trans_data.
  LOOP AT t_agr_1251_tc INTO wa_agr_1251_tcode.
    IF wa_agr_1251_tcode-high IS INITIAL.
      CLEAR wa_range_tcode.
      wa_range_tcode-sign = 'I'.
      wa_range_tcode-option = 'EQ'.
      wa_range_tcode-low = wa_agr_1251_tcode-low.
      APPEND wa_range_tcode TO t_range_tcode.
    ELSE.
      CLEAR wa_range_tcode.
      wa_range_tcode-sign = 'I'.
      wa_range_tcode-option = 'BT'.
      wa_range_tcode-low = wa_agr_1251_tcode-low.
      wa_range_tcode-high = wa_agr_1251_tcode-high.
      APPEND wa_range_tcode TO t_range_tcode.
    ENDIF.
  ENDLOOP.
  SORT t_range_tcode.
  DELETE ADJACENT DUPLICATES FROM t_range_tcode.
  IF t_range_tcode IS NOT INITIAL.
    SELECT tcode
           ttext
      FROM tstct
      INTO TABLE t_tcode
      WHERE sprsl EQ 'E'
        AND tcode IN t_range_tcode.
    IF sy-subrc EQ 0.
    ENDIF.
  ENDIF.
  SORT t_agr_1251_tc BY agr_name.
  LOOP AT t_agr_1251_tc INTO wa_agr_1251_tcode.
    IF wa_agr_1251_tcode-high IS INITIAL.
      READ TABLE t_tcode INTO wa_tcode
        WITH KEY tcode = wa_agr_1251_tcode-low.
      IF syst-subrc EQ 0.
        wa_agr_1251_tcode-tcode = wa_tcode-tcode.
        wa_agr_1251_tcode-ttext = wa_tcode-ttext.
        MODIFY t_agr_1251_tc FROM wa_agr_1251_tcode
                     TRANSPORTING tcode ttext.
        IF syst-subrc EQ 0.
        ENDIF.
      ENDIF.
    ELSE.
      CLEAR count.
      LOOP AT t_tcode INTO wa_tcode
              WHERE tcode GE wa_agr_1251_tcode-low
                AND tcode LE wa_agr_1251_tcode-high.
        IF count LE 1.
          agr_name  = wa_agr_1251_tcode-agr_name.
          wa_agr_1251_tcode-high = space.
          wa_agr_1251_tcode-tcode = wa_tcode-tcode.
          wa_agr_1251_tcode-ttext = wa_tcode-ttext.
          MODIFY t_agr_1251_tc FROM wa_agr_1251_tcode
                       TRANSPORTING tcode ttext high.
          IF syst-subrc EQ 0.
            CLEAR wa_tcode.
          ENDIF.
          count = 1.
        ELSE.
          wa_agr_1251_tcode-high = space.
          wa_agr_1251_tcode-agr_name = agr_name.
          wa_agr_1251_tcode-low =  wa_tcode-tcode.
          wa_agr_1251_tcode-tcode = wa_tcode-tcode.
          wa_agr_1251_tcode-ttext = wa_tcode-ttext.
          APPEND wa_agr_1251_tcode TO t_agr_1251_tc.
        ENDIF.
        CLEAR wa_agr_1251_tcode.
        count = count + 1.
      ENDLOOP.
    ENDIF.
  ENDLOOP.
  LOOP AT t_agr_1251_tc INTO wa_agr_1251_tcode.
    wa_role-agr_name = wa_agr_1251_tcode-agr_name.
    APPEND wa_role TO t_role.
  ENDLOOP.
  SORT t_role BY agr_name.
  DELETE ADJACENT DUPLICATES FROM t_role.
  SORT t_tcode BY tcode.
  DELETE ADJACENT DUPLICATES FROM t_tcode.
ENDFORM.                    "f200_process_trans_data
*&      Form  f100_prepare_field_catalog
      text
FORM f300_prepare_field_catalog.
  LOOP AT t_role INTO wa_role.
    wa_field-col_pos = count1.
    wa_field-fieldname = wa_role-agr_name.
    APPEND wa_field TO t_field.
    count1 = count1 + 1.
  ENDLOOP.
ENDFORM.                    "f100_prepare_field_catalog
*&      Form  f100_display_data
      text
FORM f400_display_data.
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
            EXPORTING
            I_INTERFACE_CHECK              = ' '
            I_BYPASSING_BUFFER             =
            I_BUFFER_ACTIVE                = ' '
              i_callback_program             = sy-cprog
            I_CALLBACK_PF_STATUS_SET       = ' '
            I_CALLBACK_USER_COMMAND        = ' '
            I_STRUCTURE_NAME               =
            IS_LAYOUT                      =
              it_fieldcat                    = t_field[]
            IT_EXCLUDING                   =
            IT_SPECIAL_GROUPS              =
            IT_SORT                        =
            IT_FILTER                      =
            IS_SEL_HIDE                    =
            I_DEFAULT                      = 'X'
            I_SAVE                         = ' '
            IS_VARIANT                     =
            IT_EVENTS                      =
            IT_EVENT_EXIT                  =
            IS_PRINT                       =
            IS_REPREP_ID                   =
            I_SCREEN_START_COLUMN          = 0
            I_SCREEN_START_LINE            = 0
            I_SCREEN_END_COLUMN            = 0
            I_SCREEN_END_LINE              = 0
            IR_SALV_LIST_ADAPTER           =
            IT_EXCEPT_QINFO                =
            I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
          IMPORTING
            E_EXIT_CAUSED_BY_CALLER        =
            ES_EXIT_CAUSED_BY_USER         =
              TABLES
                t_outtab                       = t_infotyp_final[]
             EXCEPTIONS
               program_error                  = 1
               OTHERS                         = 2
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    "f100_display_data

this are the wasy u can build a field catalog...
1.----
FORM fill_fieldcat .
DATA: fld(30),
idx(2) TYPE n.
DEFINE no_output.
fieldcatalog-fieldname = &1.
fieldcatalog-no_out = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
END-OF-DEFINITION.
DEFINE catalog.
fieldcatalog-fieldname = &1.
fieldcatalog-seltext_s = &2.
if not &3 is initial.
fieldcatalog-seltext_m = &3.
else.
fieldcatalog-seltext_m = fieldcatalog-seltext_s.
endif.
if not &4 is initial.
fieldcatalog-seltext_l = &4.
else.
fieldcatalog-seltext_l = fieldcatalog-seltext_m.
endif.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
END-OF-DEFINITION.
catalog 'AVAIL_BASE'
'Base Qty.'
'Base Qty. Available'
'Base Quantity Available'.
catalog 'AVAIL_SALES'
'Sales Qty.'
'Sales Qty. Available'
'Sales Quantity Available'.
LOOP AT t_char_data.
idx = sy-tabix.
CONCATENATE 'CHR' idx INTO fld.
catalog fld
t_char_data-atbez
t_char_data-atbez
t_char_data-atbez.
ENDLOOP.
ADD 1 TO idx.
WHILE idx LE 15.
CONCATENATE 'CHR' idx INTO fld.
no_output fld.
ADD 1 TO idx.
ENDWHILE..
fieldcatalog-fieldname = 'EXACT'.
fieldcatalog-checkbox = 'X'.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
2.----
FORM fieldcatalog.
REFRESH fc. CLEAR fc.
fc-tabname = 'HEADER'.
fc-fieldname = 'KUNNR'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'HEADER'.
fc-fieldname = 'NAME1_K'.
fc-ref_tabname = 'KNA1'.
fc-ref_fieldname = 'NAME1'.
APPEND fc. CLEAR fc.
fc-tabname = 'HEADER'.
fc-fieldname = 'TOTAL'.
fc-ref_tabname = 'MBEW'.
fc-ref_fieldname = 'SALK3'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MATNR'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MAKTX'.
fc-ref_tabname = 'MAKT'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'CHARG'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'WERKS'.
fc-ref_tabname = 'MSKU'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'NAME1_W'.
fc-ref_tabname = 'T001W'.
fc-ref_fieldname = 'NAME1'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.

Similar Messages

  • Query regarding SAP ABAP ALV List display

    Hi All,
    Have a requirement where in, when a user double clicks on a particular field as shown below, the particular cell where he has clicked has to be changed to editable and input mode. I am using ALV LIST DISPLAY.
    Please reply me if someone has worked on similar requirement.

    Hi Priya,
    Check this link: http://www.saptechnicl.com/Tutorials/ALV/Edit/demo.htm. I think this is exactly what you require.
    Hope this helps! Do let me know if you need anything else!!
    (rename "technicl" as "technical", my apologies for the typo).
    Cheers,
    Shailesh.

  • Runtime error in ALV

    Hi,
        I have a report to display in ALV list display, It give a runtime error when i run the report ,
    error message : in INCLUDE LKKBLF99 - Field symbol not assigned.
        I am not usning any field symbols in my report, can anyone suggest what could be the problem.

    Hi,
    While creating fieldcatalog table you should give the fieldname and the tabname in capital letters.
    for eg.
    fcat-fieldname = 'MATNR'.
    regards,
    Santosh Thorat.

  • Hide delete option is not working in ALV List  Display- urgent

    Hi All,
    In my program i am displaying the output by using alv list display. after displaying the data i am displaying my own pf status here. in this i have few pushbuttons like
    selest all, deselect all, hide . first two options are working fine. when i click hide button selected records are going to be hide.but this is not happening in my program. any body cam send me the code plz.
    i am sending my code below. if possible please modify and resend the code asap.
    my code:
    type-pools : slis.
    tables : zuser_secobjects.
    data : t_header1 like zuser_secobjects.
    data : begin of it_secobjects occurs 0.
            include structure t_header1.
    *data :  box,
           input(1) type c,
    data :   checkbox type c,
            flag type c,
          end of it_secobjects.
    data : wa_ita like line of it_secobjects.
    *data : it_secobjects like zuser_secobjects occurs 0 with header line.
    data : i_field type slis_t_fieldcat_alv with header line.
    data : w_field like line of i_field.
    data : i_sort type slis_t_sortinfo_alv.
    data : w_sort like line of i_sort.
    data : it_filt1 type slis_t_filter_alv with header line.
    data:
    i_tabname type tabname,
    i_repid like sy-repid,
    is_lout type slis_layout_alv.
    data :   it_filt type slis_t_filter_alv   with header line,
             it_evts type slis_t_event        with header line.
    DATA : is_vari type disvariant.
    constants :   c_default_vari value 'X',
                  c_save_vari    value 'U',
                   c_checkfield type slis_fieldname     value 'ACTION',
                   c_f2code     type sy-ucomm           value '&ETA'.
    data : chk_box type slis_fieldname.
    selection-screen: begin of block b1 with frame title text-t01.
    parameters : p_appln type zuser_secobjects-appln.
    parameters : p_user type usr02-bname, "zuser_secobjects-appln_user,
    p_partnr type zuser_secobjects-appln_partner,
    p_ptype type zuser_secobjects-partner_type default '02',
    p_upostn type zuser_secobjects-user_position,
    p_sdate like likp-erdat default sy-datum,
    p_edate(10) default '12/31/9999',
    p_revnum type zuser_secobjects-revnum,
    p_cted type zuser_secobjects-created_by,
    p_cdate type zuser_secobjects-creation_date,
    p_ctime type zuser_secobjects-creation_time,
    p_chnby type zuser_secobjects-changed_by,
    p_cdate1 type zuser_secobjects-changed_date,
    p_ctime1 type zuser_secobjects-changed_time.
    selection-screen: end of block b1.
    form user_command using p_ucomm like sy-ucomm
    rs_selfield type slis_selfield.
    *DATA :   it_filt type slis_t_filter_alv   with header line.
      case p_ucomm.
        when 'SELECT_ALL'. " SELALL is the FCODE of ur push button
          loop at it_secobjects into wa_ita.
            wa_ita-checkbox = 'X'.
            modify it_secobjects from wa_ita.
          endloop.
      rs_selfield-refresh = 'X'.   "<-  ADD THIS
      when 'DESLCT_ALL'.
        loop at it_secobjects into wa_ita.
            wa_ita-checkbox = ' '.
            modify it_secobjects from wa_ita.
          endloop.
      rs_selfield-refresh = 'X'.   "<-  ADD THIS
        is_lout-f2code               = c_f2code.
        is_lout-box_fieldname        = c_checkfield.
        is_lout-get_selinfos         = 'X'.
        is_lout-detail_popup         = 'X'.
        is_lout-detail_initial_lines = 'X'.
    when 'HIDE_DEL'.
          rs_selfield-exit  = 'X'.
          it_filt-fieldname = 'CHECKBOX'.
          it_filt-tabname   = '1'.
          it_filt-valuf     = 'X'.
          it_filt-intlen    = '1'.
          it_filt-inttype   = 'C'.
          it_filt-datatype  = 'CHAR'.
          it_filt-valuf_int = 'X'.
          it_filt-sign0     = 'E'.
          it_filt-optio     = 'EQ'.
          if it_filt[] is initial.
            append it_filt.
          else.
            modify it_filt index 1.
          endif.
         perform display using i_object.
    PERForm  ALV_LIST_DISPLAY.
    WHEN 'SHOW_DEL'.
          rs_selfield-exit = 'X'.
          free it_filt.
    PERForm  ALV_LIST_DISPLAY.
    when 'SAVE1'.
           select * from zuser_secobjects where
                        appln = zuser_secobjects-appln
                  and   appln_partner = zuser_secobjects-appln_partner
                  and   partner_type = zuser_secobjects-partner_type
                  and   start_date = zuser_secobjects-start_date
                  and   end_date = zuser_secobjects-end_date.
          endselect.
          if sy-subrc eq 0.
            message e000(ZV) with 'Duplicate Entry'.
          endif.
      endcase.
    endform.
    *&      Form  delete
    form delete.
      data : begin of is_secobjects occurs 0.
              include structure zuser_secobjects.
      data : checkbox type c.
      data : end of is_secobjects.
      is_secobjects-checkbox = 'X'.
      modify is_secobjects
        from it_secobjects
        transporting checkbox
      where checkbox = 'X'.
    endform.
    *&      Form  get_data
    form get_data.
      select * from zuser_secobjects
      into table it_secobjects.
    endform.                    " get_data
    *&      Form  prepare_fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    form prepare_fieldcatalog.
      clear: w_field,i_field.
      refresh:i_field.
      i_field-key = 'X'.
      i_field-col_pos = 1.
      i_field-ddictxt = 'S'.
      i_field-seltext_s = '@11@'.
      i_field-checkbox = 'X'.
      i_field-input = 'X'.
      i_field-fieldname = 'HEADER'.
      i_field-outputlen = 0.
      append i_field.
      clear i_field.
      w_field-fieldname = 'APPLN'.
      w_field-tabname = 'IT_SECOBJECTS'.
      w_field-seltext_l = text-m01.
      w_field-outputlen = '10'.
      w_field-col_pos = 1.
      append w_field to i_field.
      clear w_field.
      w_field-fieldname = 'APPLN_USER'.
      w_field-tabname = 'IT_SECOBJECTS'.
      w_field-just = 'C'.
      w_field-seltext_l = text-m02.
      w_field-outputlen = '7'.
      w_field-col_pos = 2.
      append w_field to i_field.
      clear w_field.
    endform.                    " prepare_fieldcatalog
    *&      Form  ALV_LIST_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    form alv_list_display.
      i_repid = sy-repid.
      is_lout-box_fieldname = 'CHECKBOX'.
      it_filt-fieldname = 'CHECKBOX'.
      call function 'REUSE_ALV_LIST_DISPLAY'
           exporting
                i_callback_program       = i_repid
                i_callback_pf_status_set = 'PF_STATUS_SET'
                i_callback_user_command  = 'USER_COMMAND'
                is_layout                = is_lout
                it_fieldcat              = i_field[]
                it_filter                = it_filt[]
                 it_events                = it_evts[]
                i_default                = c_default_vari
                i_save                   = c_save_vari
                is_variant               = is_vari
           tables
                t_outtab                 = it_secobjects.
    endform.                    " ALV_LIST_DISPLAY
    *&      Form  display
          text
         -->P_I_OBJECT  text
    form display using    object.
      case object.
    ENDCASE.
    endform.                    " display
    thanks,
    maheedhar.t

    Hi,
    What do you mean by Hiding the records.
    Deleting completely from the screen.
    You can just delete the records from the internal table and pass to field catalog before displaying again.
    or serach in the slis structrue for hiding the contents of the output.
    reward if useful
    regards,
    Anji

  • How to send the alv list display to spool

    Hi all,
    I am executing a program in foreground. My requirement is sending alv list output to spool. When i execute the smae program in background mode the SAP is handling the spool output in hierarchial list display. How to get the same output in foreground also.
    Thanks and Regards,
    Vijay.

    Hi max,
    I think my question is not clear.
    when I execute my report in background mode, I can able to see the output in the spool.
    But when I execute the same report in foreground no spool output is getting generated.
    To handle this I am calling some function modules like RSPO_OPEN_SPOOLREQUEST , RSPO_WRITE_SPOOLREQUEST,  RSPO_WRITE_SPOOLREQUEST. But by using this i cannot able to get the desired output in alv list display format. what to do to get my desired output.
    Thanks and Regards,
    Vijay.

  • How to get subtotal value in ALV list display

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

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

  • Dynamically assign value to a column in ALV LIST Display

    Hi all,
    How can I dynamically assign value to a column in ALV LIST Display without using classes and methods?
    Thanks,
    Ridhima

    Hi Vikranth,
    I am displaying one ALV list say with columns A and B.
    I have value in A but not in B. Now at runtime user selects one row, clicks on push button in application toolbar, then i have to display value in column B in the already displayed list.
    I searched and came to know it can be done with oops concept. but i am not using classes and methods.
    so how can i do this?
    Thanks,
    Ridhima.

  • How to give color of particular cell in alv list display for dynamic table

    Dear Experts,
    i want to give color of a particular cell in alv list display (reuse_alv_list_display). Here i am passing data through dynamic table?

    Hi,
    Se this:
    DATA: lt_color    TYPE lvc_t_scol WITH HEADER LINE.
    DATA: BEGIN OF data_tab OCCURS 0.
             tabcolor     TYPE   lvc_t_scol,
          END OF data_tab.
    * Befone ALV call
      alv_layout-coltab_fieldname  = 'TABCOLOR'.
    * For each row in data_tab
    REFRESH: lt_color.
    CLEAR: lt_color.
    lt_color-color-col = 6.
    lt_color-color-int = 1.
    lt_color-fname = FIELD1'.
    APPEND lt_color.
    lt_color-color-col = 2.
    lt_color-color-int = 0.
    lt_color-fname = 'FIELD2'.
    APPEND lt_color.
    data_tab-tabcolor[] = lt_color[].
    append data_tab.
    Best regards,
    Leandro Mengue

  • Reg: ALV list Display

    Hi Experts,
                    My requirement is i need a button along with the tool bar of ALV list display . when i check the button it should display the Selection criteria values which user entered as a pop up .
    Is there any default tool which displays user selection values  for ALV list display  ?
    Regards,
    Vikram.S

    > Is there any default tool which displays user selection values  for ALV list display  ?
    No such program.
    But you have to write a code for it. Activate Button using the pf-status. then Handle that button in User command , and show a popup with the selection values.
    Function used to get the selection details is
    RS_REFRESH_FROM_SELECTOPTIONS
    get the data and show it using a Popup. May be a ALV popup select function will help you.

  • How to give colors to the top-of-page in ALV List Display

    how to give colors to the top-of-page in ALV List Display....

    Check this blog.........
    It provides your required output...........
    /people/vijaybabu.dudla/blog/2006/07/21/topofpage-in-alv-using-clguialvgrid
    See the point 7 for complete code...
    Regards,
    Pavan

  • Shifting ALV list display of report into center

    Hi All,
    I have got a requirement in which the ALV list needs to be shifted in to right. By default the alv list displays from 0 Postion of the column.
    IN a classical list its easy to shift the output to any column postion using write statement but in alv list how can we achieve this?
    Kindly provide your inputs.
    Thanks and regards
    Mudit Batra

    Hi.,
    I dont think it is possible., By default it will start from position 1 even in field catalog if u give col_pos 4, 5 or., .. . If u want  to display alv in center u have to create a screen and create a custom container at the center and display ALV in it..
    hope this helps u.,
    Thanks & Regards
    Kiran

  • Removing columns heading for a perticular page in ALV list display

    Dear All,
    For last page of my ALV list display i need to remove columns heading (Strictly for single page only).
    Kindly help me with possible solution.
    I am triggering page break by  using group attribute in the sort catalogue.(  l_v_sortcat-group     = '* '. )
    Best Regards
    Ravishekar Thallapally

    if u can catch the page number,
    while building fieldcat, put the condition
    if sy-page = (page number)
    ls_fielcact-fieldname = fieldname.
    ls_fieldcat-tech = 'X'.
    LS_FIELDCAT-NO_OUT = 'x'.
    modify lt_fielcat from ls_fieldcat.
    but how r u catching page number?? can u pls tell
    endif.
    Message was edited by: Hymavathi Oruganti

  • ALV list display is truncated though data is present in internal table

    hi
    There are total 108 columns in my internal table, but the ALV list display shows only 90 , the fieldcatalog and final ALV internal table has the same structure. Please let me know how to display the rest of the field
    Regards
    Monirul

    Hi.,
    ALV List Display will display max. 90 columns it depends on line size 1023., Some times it goes to dump in number of columns increases .,  and some times it displays some columns in one line and other columns in other line which  will not look gud.. better use ALV Grid or OO ALV with custom container .
    hope this helps u.,
    Thanks & Regards,
    Kiran

  • How To avoid column heading for only total line in ALV list Display

    Hi,
    How To avoid column heading for only total line in ALV list Display.

    Hi,
    to change colunm header field catlog is built
    look at the example below
    Changing column text headers
    use this to change, hide, or alter the ALV columns
    CLEAR: gt_fcat.
    READ TABLE gt_fcat WITH KEY fieldname = 'TEXT1' " ***
    *TEXT1 is your field name
       ASSIGNING <gtfcat>.
    IF sy-subrc = 0.
       <gtfcat>-coltext   = 'Date Type'.
       <gtfcat>-no_out    = ' '.
       <gtfcat>-tooltip   = 'Date Type Text from IT0019'.
       <gtfcat>-seltext   = 'IT0019'.
    keep seltext to '' if u want to hide
    ENDIF.
    regards
    austin

  • Filtering the ALV List Display

    Hi all.
    We had a requirement like filtering ALV List display.
    Suppose my ALV list dispaly contains 100 records and by using the standard filtering option ,I restricted it to 50 records and by clicking a check box for 20 records  and delete button(Customized) ,I should ideally get 30 records.
    But according to standard SAP functionality buttons ,all 80 Records will be displayed .But i  need 30 records.
    Any function module or code will be available to achieve this one?
    In this case which will be the preferable method to go further?
    What will be the best method(Normal ALV/OOALV) ?
    Any pointers in this regard are very much helpful.
    Regards,
    SSR.

    While selecting the records on each condition , perform the select based on ur condition so dat dat select only those records directly.

Maybe you are looking for

  • Multiple gamecenter accounts on one apple id

    Before IOS 7 I was able to have multiple gamecenter accounts under one appleID.  One for my phone and anohter for my son on his ipad.  I have not figured out how to get his gamecenter account up and running again without settign up a new apple id, wh

  • Double deduction of TDS on T.code F110

    Hi, I am facing problem about double deduction of TDS on payment details are- 1. TDS got deducted at the time of advance payment by T.code F110. Example- Advance--- Rs.1000 and TDS(2%) - Rs.20 2. TDS got deducted at the time of making invoice Example

  • Time to make our voices heard

    Hi, I am currently on my 3rd Sony phone and will probably buy another Sony phone after my current one. I think they have the best mix of quality, aesthetic, performance and small size (I like small). I could also go back to iPhone if things gets bad

  • Custom Equalizer on Ipod

    Does anyone know if Apple intends to implement custom equalizer settings that can be transferred to the IPod that aren't preset? This isn't something that's difficult to implement and other digital audio players have the ability to do this so why has

  • PRA 8.7 crashing

    Re-installed PRA on Win 64-bit machine after it ran perfectly for a while but it keeps crashing when trying to run a risk analysis or linking a risk register to activities. Have uninstalled, cleaned out the registry and re-installed – no luck. Have c