<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Delete Selected Row Error. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279339#M1988620</link>
    <description>&lt;P&gt;The set_table_for_first_display (first call) and refresh_table_display (other call) should been called in PBO logic. 
The call of get_selected_rows should be in PAI logic before user_command (after exit_command)
Don't use those methods in the load data form/method (a method = a function don't mix) call the load data at init and then when required (after delete/add)...&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;" PBO 
if grid is initial.
  create: container, grid...
  call grid-&amp;gt;set_table_for_first_display...
else. 
  call grid-&amp;gt; refresh_table_display...
endif.
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 02 Oct 2020 14:50:24 GMT</pubDate>
    <dc:creator>RaymondGiuseppi</dc:creator>
    <dc:date>2020-10-02T14:50:24Z</dc:date>
    <item>
      <title>Delete Selected Row Error.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279338#M1988619</link>
      <description>&lt;P&gt;I want to delete selected rows. Actually, I did. But I did after I use delete button second times. There is a code order mistake in my code, but I couldn't find out where it is? Can you help me?&lt;/P&gt; 
  &lt;PRE&gt;&lt;CODE&gt;  *This is my status for screen 2000(PBO).
MODULE status_2000 OUTPUT.
  SET PF-STATUS 'STATUS_2000'.

  "PERFORM grid1.
  PERFORM grid2.

ENDMODULE.

*This is my user commmand for screen 2000(PAI).
MODULE user_command_2000 INPUT.

  CASE sy-ucomm.

    WHEN 'EXIT'.
      LEAVE TO SCREEN 0.

    WHEN 'ADD_ROW'.
      PERFORM ADD_ROW.

    WHEN 'REMOVE_ROW'.
      PERFORM REMOVE_ROW.

  ENDCASE.

*I coded second refresh for test, didnt work.
  CALL METHOD grid2-&amp;gt;refresh_table_display
    EXPORTING
      i_soft_refresh = 'X'
    EXCEPTIONS
      finished       = 1
      OTHERS         = 2.
  IF sy-subrc = 0 .
    "do nothing
  ENDIF.

ENDMODULE.

FORM ADD_ROW .

  DATA: lv_cekk_lines TYPE zboeno.
  DATA: gt_cekk_count TYPE z_cekkalem OCCURS 0,
        gs_cekk_count TYPE z_cekkalem.

  IF gt_cekk IS INITIAL.

    SELECT SINGLE MAX( boeno )
                 INTO lv_cekk_lines
                 FROM z_cekkalem.
    gs_cekk-boeno = lv_cekk_lines + 1.
    APPEND gs_cekk TO gt_cekk.

  ELSE.
    CLEAR gt_cekk_count.
    MOVE gt_cekk TO gt_cekk_count.
    SORT gt_cekk_count BY boeno DESCENDING.
    READ TABLE gt_cekk_count INTO gs_cekk_count INDEX 1.
    lv_cekk_lines = gs_cekk_count-boeno.

    gs_cekk-boeno = lv_cekk_lines + 1.
    APPEND gs_cekk TO gt_cekk.
  ENDIF.

ENDFORM.

FORM REMOVE_ROW .

  LOOP AT et_index_rows2 INTO es_index_rows2.
    DELETE gt_cekk INDEX es_index_rows2-index.

  ENDLOOP.

ENDFORM.

FORM grid2.

  IF grid2 IS INITIAL.
    CREATE OBJECT custom2
      EXPORTING
        container_name = 'MYCUSTOM2'.

    CREATE OBJECT grid2
      EXPORTING
        i_parent = custom2.


    PERFORM loaddata_kalem.

    "DATA: l_valid TYPE c.

   " CALL METHOD grid2-&amp;gt;check_changed_data IMPORTING e_valid = l_valid.



  ELSE.

*  call method grid2-&amp;gt;refresh_table_display.

    DATA:  lwa_ref2        TYPE lvc_s_stbl.
    CALL METHOD grid2-&amp;gt;get_selected_rows
      IMPORTING
        et_index_rows = et_index_rows2
        et_row_no     = et_row_no2.


    CALL METHOD grid2-&amp;gt;refresh_table_display
      EXPORTING
        is_stable      = lwa_ref2
        "i_soft_refresh = 'X'
      EXCEPTIONS
        finished       = 1
        OTHERS         = 2.
    IF sy-subrc = 0 .
    ENDIF.

  ENDIF.



ENDFORM.

form loaddata_kalem.
  SELECT * FROM z_cekkalem INTO TABLE gt_cekk.

  DATA: ls_fcat_kalem TYPE lvc_s_fcat.
  DATA: lt_fcat_kalem TYPE lvc_t_fcat.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'STAPL'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'BUKRS'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'HBKID'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'WAERS'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'HKONT'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'BOENO'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'WRBTR'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'ZFBDT'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.

  CLEAR ls_fcat_kalem.
  ls_fcat_kalem-fieldname = 'SGTXT'.
  ls_fcat_kalem-edit = 'X'.
  APPEND ls_fcat_kalem TO lt_fcat_kalem.


  CALL METHOD grid2-&amp;gt;set_table_for_first_display
    EXPORTING
      "   is_layout =
      i_structure_name = 'Z_CEKKALEM'
    CHANGING
      it_fieldcatalog  = lt_fcat_kalem
      it_outtab        = gt_cekk.

  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Oct 2020 13:59:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279338#M1988619</guid>
      <dc:creator>former_member774754</dc:creator>
      <dc:date>2020-10-02T13:59:57Z</dc:date>
    </item>
    <item>
      <title>Re: Delete Selected Row Error.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279339#M1988620</link>
      <description>&lt;P&gt;The set_table_for_first_display (first call) and refresh_table_display (other call) should been called in PBO logic. 
The call of get_selected_rows should be in PAI logic before user_command (after exit_command)
Don't use those methods in the load data form/method (a method = a function don't mix) call the load data at init and then when required (after delete/add)...&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;" PBO 
if grid is initial.
  create: container, grid...
  call grid-&amp;gt;set_table_for_first_display...
else. 
  call grid-&amp;gt; refresh_table_display...
endif.
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Oct 2020 14:50:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279339#M1988620</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2020-10-02T14:50:24Z</dc:date>
    </item>
    <item>
      <title>Re: Delete Selected Row Error.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279340#M1988621</link>
      <description>&lt;P&gt;Thx. It's working.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Oct 2020 11:09:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/delete-selected-row-error/m-p/12279340#M1988621</guid>
      <dc:creator>former_member774754</dc:creator>
      <dc:date>2020-10-07T11:09:11Z</dc:date>
    </item>
  </channel>
</rss>

