PF-Status in List Display

Hi All,
Can we use the same PF-STATUS of ALV Grid display in the output developed by WRITE statement.
Thanks & Regards,
Steffler.

Hi ,
  I suppose that you want to use the PF STATUS of the ALV display program in your classical report , you can but there you have to write code to handle all the UCOMMs like sort, filter download etc . When we use the reuse FM to display the alv grid or list the standard program for ALV display alreayd handles it but in case you want same functionality in your classical report you have to do it programmatically.
A better idea would be to convert your classical report to a ALV list or grid display.
Regards,
Himanshu

Similar Messages

  • HOW TO DISPLAY MY OWN PF STATUS  IN ALV LIST DISPLAY

    Hi All,
    i am developing one program in this program i am displaying output by using alv list display. after displaying the out SAP predefined pf status is coming. here i need my own pf status. any body can send me the sample code ir modify my code if possible.
    i am sending my code below.
    report zmahi6.
    type-pools : slis.
    tables : zuser_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 : 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,
    "type zuser_secobjects-start_date
    p_edate(10) default '12/31/9999',
    type zuser_secobjects-end_date,
    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.
    start-of-selection.
      perform get_data.
      check sy-subrc eq 0.
      set pf-status 'ZMAHEE'.
      perform prepare_fieldcatalog.
      perform alv_list_display.
    *& 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 pf_status_set using rt_extab type slis_t_extab.
    set pf-status '0001'.
    *endform.
    *& Form ALV_LIST_DISPLAY
    text
    --> p1 text
    <-- p2 text
    form alv_list_display.
      call function 'REUSE_ALV_LIST_DISPLAY'
      exporting
      i_callback_program = i_repid
      i_callback_pf_status_set = 'PF_STATUS_SET'
      i_callback_user_comomand = 'USER_COMMAND'
      is_layout = is_lout
      it_fieldcat = i_field[]
    it_sort = i_sort
    it_events = it_evts[]
      tables
      t_outtab = it_secobjects.
    endform. " ALV_LIST_DISPLAY
    *& Form GET_DATA
    text
    --> p1 text
    <-- p2 text
    form get_data.
      select * from zuser_secobjects
      into table it_secobjects.
    endform. " GET_DATA
    thanks,
    maheedhar.t

    Follow this steps.
    I ahve done it once and hope wuld work for you as well.
    Go to SE80. Open a a standard ABAP program - SAPLKKBL. diasplay object.
    This program has many standard GUI status. Copy the one which suits you the best. May be any one standars status. Right click it and copy to your custom report. Now open your Z-Program in SE80. You will see the GUI status and when you open it you see the name of the status that you have copied from.
    Now you can go and do any modifications in the screen.
    Remember you have to use the same status in the program as well.
    Please check this piece of code.
    call the ABAP list viewer                                            *
    FORM list_display TABLES a_output.
      pgm = disvariant-report = sy-repid.
      disvariant-variant = variant.
    call list viewer
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program       = pgm
          i_callback_pf_status_set = 'SET_PF_STATUS'
          it_fieldcat              = fieldcat
          is_variant               = disvariant
          is_layout                = layout
          is_print                 = print
          i_save                   = 'A'
          it_events                = eventcat
          it_sort                  = sortcat
          i_callback_user_command  = 'USER_COMMAND'
        TABLES
          t_outtab                 = a_output
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    ENDFORM.                    "LIST_DISPLAY
    FORM SET_PF_STATUS *
    FORM set_pf_status USING extab TYPE slis_t_extab.
      SET PF-STATUS 'STATUS1'.
    ENDFORM.                    "set_pf_status
    FORM USER_COMMAND *
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
      DATA t_difference TYPE i.
      CASE ucomm.
        WHEN 'ENT1'.<----Function code
    D0 your processing.
      ENDCASE.
      selfield-refresh = 'X'.
    ENDFORM.                    "user_command
    HOpe this helps.
    Shreekant

  • PF status- List display

    Hi Gurus!
    I have a list display output for Purchase order  and I set the PF status for it , but unfortunately the PF status dosent seem to be working . I didi set up everything for it but the pf status dosent act on clicking on them . What could be the possible reasons for it ?
    Thanks
    Aarav

    Hi,
    Try this way.
    at user-command.
      case sy-ucomm.
        when 'ORDI'.     
          perform output2.
      endcase.
    form output2.
      set pf-status 'STAT'.
      loop at itab_output2.
        //Display your data here.
      endloop.
      uline :/(95).
    endform.
    Thanks,
    Veni.

  • 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

  • Select all button is not working in ALV List Display

    Hi All,
    I am displaying output by using lav list display. afer displaying the output iam showing my own pf status here. in my pf status i am havinh one button called 'SELECT ALL' when i click this button it has to select all the checkboxees in my output. but it is not happening like that any body can siggest me what shall i do in this case.
    i am sending my code below.
    type-pools : slis.
    tables : zuser_secobjects.
    data : t_header1 like zuser_secobjects.
    data : begin of it_secobjects occurs 0.
            include structure t_header1.
          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 : 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.
      INCLUDE ZVR_MAHI7_F01                                              *
    form user_command using p_ucomm like sy-ucomm
    rs_selfield type slis_selfield.
    case p_ucomm.
    when 'DELETE_ALL'. " SELALL is the FCODE of ur push button
    loop at it_secobjects into wa_ita.
    wa_ita-checkBOX = 'X'.              "<--  Change this
    modify it_secobjects from wa_ita.
    endloop.
      rs_selfield-refresh = 'X'.   "<-  ADD THIS
    endcase.
    endform.
    *&      Form  delete
    form delete.
    *data: is_secobjects type zuser_secobjects.
      data : begin of is_secobjects occurs 0.
              include structure zuser_secobjects.
      data : checkbox type c.
      data : end of is_secobjects.
    *IF FLAG = 'X'.
      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.
      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[]
           tables
                t_outtab                 = it_secobjects.
    endform.                    " ALV_LIST_DISPLAY
    anybody can modify the code  and resend it to me.
    thanks,
    maheedhar.t

    Hi,
    In the user command write the code as per the sample given below:
    FORM select_all .
      CLEAR v_lisel.
      DO.
        READ LINE sy-index FIELD VALUE v_chk.
        IF sy-subrc NE 0.
          EXIT.
        ENDIF.
        READ LINE sy-index FIELD VALUE sy-lisel INTO v_lisel.
        IF v_lisel+2(1) = ' ' AND sy-index GT 5.
          v_lisel+2(1) = 'X'.
          MODIFY LINE sy-index FIELD VALUE sy-lisel FROM v_lisel.
        ENDIF.
      ENDDO.
    ENDFORM.                    " select_all
    reward if useful
    regards,
    ANJI

  • How to delete particular row in ALV list display

    Hi All,
    My requirement is :
    I am displaying ouput using lav list dispplay befor the first colomn i am displaying check box. i defined my own pf status here . in pf status i have 3 buttons .
    1 select all
    2 deselect all
    3 delete.
    First two options are working fine when i click select all it is selecting all the rown in a program(selectiong all the check boxex) like working fine for deselecting all.
    3 optioin  Delete when i click delete option it has to delete partcular row in a list display and at the same time this entry should delete from the table. this is my requirement. for the third point(delete) option i dont have any logic. anybody can suggest me or send me the sameple code. i am sending my code below.if possible please modify the code and resend it to me.
    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 = 'ACTION'.
          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 = 'ACTION'.
      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
    In my program checkbox(before the record is displayed)
    I used following lines to display checkbox .
      i_field-key = 'X'.
      i_field-col_pos = 1.
      i_field-ddictxt = 'S'.
      i_field-seltext_s = '@11@'.
      i_field-checkbox = 'X'.  <- Using this command i am getting checkbox
      i_field-input = 'X'.
    when i select this checkbox i press delete option then this entry will remove from internal table and refresh the screen and at the same time i will click on save button this ztable has to update according to that action.
    this is my requirement.
    thanks,
    maheedhar.

  • 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 do I come back to the Hierarchy List Display screen?

    Hi Gurus,
    I have designed a report (Hierarchy Sequential List Display).
    I would select a few records from the resulting report (by clicking on checkboxes that i've provided in the report) and perform an event which inturn executes BDC code.
    After executing the event, I am displaying another screen where in I am displaying the result of BDC with Success/Error messages. Now in here when I press the back button it is taking me to the selection-screen.
    How can I get back to the report screen after pressing the back button on the message screen.
    Solution would be rewarded.
    Thanking You,
    Kiran Kumar S

    Hi Anji,
    I am not calling a screen exclusively for my BDC, so whatz happening is the new messages report is getting displayed on the same screen and I am losing the report screen. BDC is not written as a different program and hence I could not use SUBMIT.
    The thing I am doing is SET PF-STATUS 'xxx'. I have defined a GUI for 'xxx'.
    So this is setting GUI and then displaying the error/success messages report on the same screen.
    How do i handle this?
    Regards,
    Kiran

  • Checkbox needs to be greyed out in ALV List display

    Hi Experts,
    I am using u2018 REUSE_ALV_HIERSEQ_LIST_DISPLAY' and I need to make the  checkboxes greyed out based on certain conditions. For eg --Say if the field 'status' is 51 in my internal table then the checkbox should be editable  in the List display otherwise the checkbox should be greyed out .. Can this be achieved? Or should I use Classes to do it. Please adviceu2026

    Hi Shankar,
    This is possible using CELLSTYLES (lvc_t_styl), which can fulfill the behaviour you require for your scenario.  I would suggest you to go through the below mentioned link posted on SCN which to asked for the same set of requirement.
    Disabling certain rows in editable oo alv ?
    Please validate the same at your end and let know on this.
    BR/Thanks
    Pranav Agrawal

  • Top-of-page for list display thru ALV

    Hi All,
    I was suppose to write a detail report thru ALV, this I have handled thru hotspot and in the user_command,I am have the below code.. for ALv I am using FM REUSE_ALV_GRID_DISPLAY
    FORM User_command.
    WHEN '&IC1'.
    PERFORM LIST_DISPLAY using RS_SELFIELD-tabindex.
    ENDFORM.
    FORM LIST_DISPLAY USING    P_INDEX.
    LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 500.
    SET PF-STATUS space.
    SUPPRESS DIALOG.
    Read table g_t_sum index p_index.
    loop at g_t_emp where code = g_t_sum-code and
                          keyfld = g_t_sum-keyfld
      write :/ g_t_emp-pernr, 10(25) g_t_emp-sname.
    endloop.
    ENDFORM.
    The above write statment is not trigerring either top-of-page ot top-od-page during line-selection.
    I have even tried pushing the event and form name into it it_events..
    Kindly suggest how to go about this, I need to get top-of-page for this list-display.
    Thanks in advance
    Regards,
    Mangalagi S V

    Hi All,
    Thanks for all your replies.
    I am not looking at top_of_page for GRID, it's working for me but I need top_of_page for the list display that is for the list which I am generating when the users double click it particular row.
    By default I am getting the below header automatically.
    Dynamic data selection                         1
    Though I have coded the header in top-of-page during line selection since I am writing the list under USER_COMMAND, I thought I will get the header but it's not..
    The FM is attached below..
    Ausgaberoutine mit FB REUSE_ALV_GRID_DISPLAY
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
              i_callback_program          = g_f_repid
              i_callback_pf_status_set    = 'SET_PF_STATUS'
              i_callback_user_command     = 'USER_COMMAND'
              i_callback_top_of_page      = 'TOP_OF_PAGE'
              is_layout                   = g_r_layout
              it_fieldcat                 = g_t_fcat
              i_save                      = 'A'
             is_variant                  = s_variant         "70492INF0039
              is_variant                  = g_f_variant        "70492INF0039
              is_events                   = it_events[]
           TABLES
               t_outtab                    = g_t_sum.
          FORM USER_COMMAND                                             *
         Callbackroutine: Ausgabe Fehlerliste             XDGL9CK069538 *
    FORM USER_COMMAND USING R_UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.
    case r_ucomm.
    when 'OK'.
    WHEN '&IC1'.
    PERFORM LIST_DISPLAY using RS_SELFIELD-tabindex.
    endcase.
    ENDFORM.
    Kindly suggest
    Thanks in advance.
    Regards,
    Mangalagi S V

  • List Display After ALV Display.

    Hi,
    i want to use write statement after display of the GRID ALV report. I User-command is getting dynamically called up when i presses the button.
    FORM user_command USING p_ucomm     LIKE sy-ucomm
                            p_selfield  TYPE slis_selfield.
      CASE p_ucomm.
        WHEN '&GENERAL'.
        READ TABLE i_general INTO wa_general INDEX p_selfield-tabindex.
        IF sy-subrc = 0.
          LEAVE TO LIST-PROCESSING.
          WRITE : sy-uline(90).
          write: / 'Serial: ', wa_general-serial.
        ENDIF.
    ENDFORM.
    the problem is i m not able to use back button in the dynamic list display. Use pf-status as well but not working. Pressing BACK button does nothing.
    Want to activate print and back button in the dynamic list display. (used pf-status which has back and print fucntion code but not working.)
    Reward points sure for right answers.
    Kartavya

    Hi..
    Try this.....
    FORM user_command USING p_ucomm LIKE sy-ucomm
    p_selfield TYPE slis_selfield.
    CASE p_ucomm.
    WHEN '&GENERAL'.
    READ TABLE i_general INTO wa_general INDEX p_selfield-tabindex.
    IF sy-subrc = 0.
    <b>SET PF-STATUS SPACE.</b>  "this will call the Standard GUI
    LEAVE TO LIST-PROCESSING.
    WRITE : sy-uline(90).
    write: / 'Serial: ', wa_general-serial.
    ENDIF.
    ENDFORM.
    <b>Reward if Helpful.</b>

  • Adding Button on application toolbar on ABAP List display screen....

    Hello Gurus,
    I copied SAP program 'RFBUEB00' into custom program. When I execute the custom report, I see the data lijne by line in ABAP list. I see a deafult 'Select' button on application toolbar.
    If I want to add additional custom button on application toolbar on ABAP list display screen, how can I do it ? Please help.
    Regards,
    Jainam.
    Edited by: Jainam Shah on Oct 27, 2009 5:44 PM

    >
    Jainam Shah wrote:
    > In my case it just rights the data in ABAP screen as follows. I can't use ALV grid and stuff because its on older version.
    >
    >
    FORM LISTE_SCHREIBEN.
    >
    >   check = '@T9@'.
    >
    >   FORMAT COLOR COL_KEY INTENSIFIED OFF.
    >   WRITE: / SY-VLINE,
    >            check,
    >            BKPF-BUKRS,
    >            BKPF-BELNR,
    >            BKPF-GJAHR.
    >   FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    >   WRITE:   BKPF-BLART,
    >        (8) BKPF-BLDAT DD/MM/YY,
    >        (8) BKPF-BUDAT DD/MM/YY,
    >            BKPF-WAERS,
    >            BKPF-XBLNR,
    >         80 SY-VLINE.
    >   XAUSGABE = 'X'.
    >   HIDE: BKPF-BUKRS, BKPF-BELNR, BKPF-GJAHR, BKPF-BSTAT, XAUSGABE.
    >   IF BKPF-BKTXT NE SPACE.
    >     FORMAT COLOR COL_KEY INTENSIFIED OFF.
    >     WRITE: / SY-VLINE, CHAR4 UNDER BKPF-GJAHR.
    >     FORMAT COLOR COL_NORMAL INTENSIFIED.
    >     WRITE:   BKPF-BKTXT UNDER BKPF-BLART,
    >              80 SY-VLINE.
    >     HIDE: BKPF-BUKRS, BKPF-BELNR, BKPF-GJAHR, BKPF-BSTAT, XAUSGABE.
    >   ENDIF.
    > ENDFORM.
    >
    >
    > I have to select multiple lines and proces them. For one line I know I can use AT-LINE-SELECTION but this is multiple lines...
    What is your SAP system version?
    It seems to be displayed only in ALV. Well, if you can make it to display in LIST ... you can go with set pf-status.
    good luck

  • How to download subtotals into xl sheet while using alv list display

    hi all,
    i have a reqiurement i.e.
    iam displaying the data by using alv list display. i have one option called Download in my PF-STATUS.when i click this button it downloads the data .now my requirement is when i cllick on subtotals list displays asubtotals according to the sales order no.now i click doenload button then it has download the data into xlsheet with subtotals and grandtotals.
    anybody can send me the sample code plz.
    thanks,
    maheedhar.t

    Hello Maheedhar
    Using ALV lists you do not need a special function for downloading. Simply calculate the totals and subtotals on your ALV list and then press the (toolbar or menu bar) button <b>"Print Preview...".</b>
    The print preview display a "flat" list including the subtotals that can be downloaded to Excel.
    Regards
      Uwe

  • How to read green light from ALV list display during BDC

    Hi,
    I am currently writing a BDC on CK11 transaction, after the user enters all the data he has to check log for any errors. The log is shown using ALV LIST DISPLAY and the errors are identified by RED lights on ALV LIST DISPLAY. At this point in BDC i have to either save or exit depending the status lights shown on the screen.
    Does anybody has any idea on how to read these lights from the screen ?
    thanks
    Udai

    Hi,
    I agree with Rich here. Never seen this done before (and I'm pretty sure you can't do it), but if someone has a funky way of doing it please share!
    Cheers,
    Pat.

  • Regarding list display + button on application tool bar

    Hi guru's
    I have a requirement like i need to select one particular record in the list display and prees on the button which is placed on the application tool bar.Then i should get one more screen where i can enter some details.
    As per my knowledge it is possible only in grid display.
    Kindly let me know if it is possible.
    It would be great help if sample coding is provided.

    Hi Ajay,
                You can do this in alv list display also.
    Copy the standard gui status in ur program using tcode SE51->user interface>copy->target prog name.activate it
    and add a button there.Use FM <b>'REUSE_ALV_EVENTS_GET'</b> to get user-command event.
    sample code :
    form Z8_EVENTCAT  using    p_i_eventcat TYPE SLIS_T_EVENT.
    DATA : L_EVENT TYPE SLIS_ALV_EVENT.
    FOR GETTING ALL 17 EVENTS
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
       I_LIST_TYPE           = 0
    IMPORTING
       ET_EVENTS             = P_I_EVENTCAT
    EXCEPTIONS
       LIST_TYPE_WRONG       = 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.
    CLEAR L_EVENT.
    READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_PF_STATUS_SET INTO L_EVENT.
    IF SY-SUBRC = 0.
    MOVE 'Z8_PF_STATUS' TO L_EVENT-FORM.
    APPEND L_EVENT TO P_I_EVENTCAT.
    ENDIF.
    CLEAR L_EVENT.
    READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_USER_COMMAND INTO L_EVENT.
    IF SY-SUBRC = 0.
    MOVE 'Z8_USER_COMMAND' TO L_EVENT-FORM.
    APPEND L_EVENT TO P_I_EVENTCAT.
    ENDIF.
    form Z_MENU using p_extab type slis_t_extab.
    SET PF-STATUS 'MENU_LIST'.
    endform.                    " Z_MENU
    form z8_user_command using p_ucomm type sy-ucomm
                               p_selfield type slis_selfield.
      case p_ucomm.
      WHEN '&IC1'.
    call screen 100.
    endcase
    endform.
    Reward points if helpful.
    Regards,
    Hemant

Maybe you are looking for