Hello Praphulla,
I am facing the same issue. The entry is being deleted from the final
internal table but while displaying it displayes all the lines including the
deleted lines. When I use "CALL METHOD ws_obj1->free." it was not
displaying the deleted lines.
Please find my code below.
CLASS
lcl_event_receiver DEFINITION DEFERRED.
"for event handling
DATA: ws_obj1 TYPE REF TO
cl_gui_custom_container,
ws_obj2 TYPE REF TO cl_gui_alv_grid,
lcl_event_receiver TYPE REF TO
lcl_event_receiver.
*---------------------------------------------------------------------*
* CLASS lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_event_receiver
DEFINITION.
PUBLIC SECTION.
METHODS: hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id
e_column_id,
button_click FOR EVENT
button_click OF cl_gui_alv_grid
IMPORTING es_col_id es_row_no.
- ENDCLASS. "lcl_event_receiver
DEFINITION
*---------------------------------------------------------------------*
* CLASS lcl_event_receiver IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_event_receiver
IMPLEMENTATION.
METHOD hotspot_click.
PERFORM hotspot_click USING e_row_id e_column_id.
ENDMETHOD.
"HOTSPOT_CLICK
METHOD button_click.
PERFORM button_click USING es_col_id es_row_no.
ENDMETHOD.
"button_click
- ENDCLASS. "lcl_event_receiver
IMPLEMENTATION
IF NOT i_final IS
INITIAL.
CALL SCREEN '0101'.
ENDIF.
MODULE status_0101 OUTPUT.
SET PF-STATUS 'ZFMZFR10'.
SET TITLEBAR 'ZFMZFR10'.
*& Container and object
creation
PERFORM frm_container_obj_crea.
*& Layout creation
CLEAR: wa_layout,
s_sdate,
s_edate.
wa_layout-zebra = c_x.
WRITE s_cpudt-low TO s_sdate.
WRITE s_cpudt-high TO s_edate.
CONCATENATE: text-048
s_sdate
'to'
s_edate INTO
wa_layout-grid_title
SEPARATED BY space.
wa_layout-info_fname = c_row_col.
wa_layout-sel_mode = 'D'.
wa_variant = sy-repid.
*& Field catalog creation
PERFORM frm_field_cat.
*& Final screen to display
the data
PERFORM frm_display_data.
- ENDMODULE. " STATUS_0101 OUTPUT
MODULE user_command_0101 INPUT.
CLEAR: ok_code.
ok_code = sy-ucomm.
CASE: ok_code.
WHEN c_back OR c_exit OR c_cancel.
LEAVE TO SCREEN 0.
ENDCASE.
- ENDMODULE. " USER_COMMAND_0101 INPUT
FORM frm_container_obj_crea .
CLEAR: ws_obj1.
CREATE OBJECT ws_obj1
EXPORTING
container_name = 'I_CONTAINER'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
.
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: ws_obj2.
CREATE OBJECT ws_obj2
EXPORTING
i_parent = ws_obj1
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3
sy-msgv4.
ENDIF.
CREATE OBJECT lcl_event_receiver.
IF sy-subrc EQ 0.
SET HANDLER lcl_event_receiver->hotspot_click FOR ws_obj2.
SET HANDLER lcl_event_receiver->button_click FOR ws_obj2.
ENDIF.
- ENDFORM. " frm_container_obj_crea
FORM frm_field_cat .
REFRESH: i_field.
*& Display Approve Button
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '1'.
wa_field-fieldname = text-040.
wa_field-tabname = text-002.
wa_field-icon = c_x.
wa_field-outputlen = 10.
wa_field-reptext = text-041.
wa_field-hotspot = c_x.
wa_field-style =
cl_gui_alv_grid=>mc_style_button.
wa_field-icon = 'X'.
APPEND wa_field TO i_field.
*& Display Reject Button
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '2'.
wa_field-fieldname = text-042.
wa_field-tabname = text-002.
wa_field-icon = c_x.
wa_field-outputlen = 10.
wa_field-reptext = text-043.
wa_field-hotspot = c_x.
wa_field-style =
cl_gui_alv_grid=>mc_style_button.
wa_field-icon = 'X'.
APPEND wa_field TO i_field.
*& Category Name
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '3'.
wa_field-fieldname = text-001.
wa_field-tabname = text-002.
wa_field-outputlen = 30.
wa_field-reptext = text-003.
APPEND wa_field TO i_field.
*& Company Code
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '4'.
wa_field-fieldname = text-004.
wa_field-tabname = text-002.
wa_field-outputlen = 12.
wa_field-reptext = text-005.
APPEND wa_field TO i_field.
*& Document Number
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '5'.
wa_field-fieldname = text-006.
wa_field-tabname = text-002.
wa_field-outputlen = 10.
wa_field-reptext = text-007.
wa_field-hotspot = c_x.
APPEND wa_field TO i_field.
*& Posting Date
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '6'.
wa_field-fieldname = text-008.
wa_field-tabname = text-002.
wa_field-outputlen = 10.
wa_field-reptext = text-009.
APPEND wa_field TO i_field.
*& Vendor Number
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '7'.
wa_field-fieldname = text-011.
wa_field-tabname = text-002.
wa_field-outputlen = 10.
wa_field-reptext = text-012.
APPEND wa_field TO i_field.
*& Vendor Name
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '8'.
wa_field-fieldname = text-013.
wa_field-tabname = text-002.
wa_field-outputlen = 35.
wa_field-reptext = text-014.
APPEND wa_field TO i_field.
*& Invoice Number
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '9'.
wa_field-fieldname = text-015.
wa_field-tabname = text-002.
wa_field-outputlen = 16.
wa_field-reptext = text-022.
APPEND wa_field TO i_field.
*& Invoice Date
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '10'.
wa_field-fieldname = text-023.
wa_field-tabname = text-002.
wa_field-outputlen = 10.
wa_field-reptext = text-024.
APPEND wa_field TO i_field.
*& Amount
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '11'.
wa_field-fieldname = text-025.
wa_field-tabname = text-002.
wa_field-outputlen = 13.
wa_field-reptext = text-026.
APPEND wa_field TO i_field.
*& Currency
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '12'.
wa_field-fieldname = text-027.
wa_field-tabname = text-002.
wa_field-outputlen = 10.
wa_field-reptext = text-028.
APPEND wa_field TO i_field.
*& Due Date
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '13'.
wa_field-fieldname = text-029.
wa_field-tabname = text-002.
wa_field-outputlen = 10.
wa_field-reptext = text-031.
APPEND wa_field TO i_field.
*& User Name
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '14'.
wa_field-fieldname = text-032.
wa_field-tabname = text-002.
wa_field-outputlen = 12.
wa_field-reptext = text-033.
APPEND wa_field TO i_field.
*& Credit
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '15'.
wa_field-fieldname = text-034.
wa_field-tabname = text-002.
wa_field-outputlen = 8.
wa_field-reptext = text-035.
APPEND wa_field TO i_field.
*& Header Text
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '16'.
wa_field-fieldname = text-036.
wa_field-tabname = text-002.
wa_field-outputlen = 25.
wa_field-reptext = text-037.
APPEND wa_field TO i_field.
*& Line Text
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '17'.
wa_field-fieldname = text-038.
wa_field-tabname = text-002.
wa_field-outputlen = 50.
wa_field-reptext = text-039.
APPEND wa_field TO i_field.
*& View Image
CLEAR: wa_field.
wa_field-row_pos = '1'.
wa_field-col_pos = '18'.
wa_field-fieldname = text-045.
wa_field-tabname = text-002.
wa_field-icon = c_x.
wa_field-outputlen = 10.
wa_field-reptext = text-046.
wa_field-style =
cl_gui_alv_grid=>mc_style_button.
wa_field-icon = 'X'.
APPEND wa_field TO i_field.
CLEAR: wa_field.
- ENDFORM. " frm_field_cat
FORM frm_display_data .
CALL METHOD ws_obj2->set_table_for_first_display
EXPORTING
is_variant = wa_variant
is_layout = wa_layout
CHANGING
it_outtab = i_final
it_fieldcatalog = i_field
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3
sy-msgv4.
ENDIF.
CALL METHOD ws_obj2->check_changed_data.
CALL METHOD ws_obj2->refresh_table_display.
- ENDFORM. " frm_display_data
FORM button_click USING
p_es_col_id
p_es_row_no.
INCLUDE <cntn01>.
TYPES: BEGIN OF ty_data,
windowtitle TYPE sapb-sapwintitl,
windowid TYPE sapb-sapwinid,
docclass TYPE toaom-doc_type,
END OF ty_data.
DATA: val TYPE
lvc_s_roid,
name TYPE swotinvoke-verb,
l_docnum TYPE edi_docnum,
l_idoc TYPE swc_object,
lws_objectid TYPE saeobjid,
lws_image TYPE swc_object,
lws_arc_doc_id TYPE saeardoid,
lws_archiv_id TYPE saearchivi,
lws_objkey TYPE swo_typeid,
i_data TYPE STANDARD TABLE OF ty_data,
wa_data LIKE LINE OF i_data.
CLEAR: val.
CASE: p_es_col_id.
WHEN 'ICON'.
CLEAR: name.
val = p_es_row_no.
name = 'Display'.
CLEAR: wa_data.
REFRESH: i_data.
wa_data-windowtitle = 'Hello'.
wa_data-windowid = '1'.
wa_data-docclass = 'PDF'.
APPEND wa_data TO i_data.
swc_container container.
CLEAR: wa_final, lws_objectid.
READ TABLE i_final INTO wa_final INDEX
val-row_id.
IF sy-subrc EQ 0 AND
NOT wa_final-cat_name IS INITIAL AND
NOT wa_final-bukrs IS INITIAL AND
NOT wa_final-belnr IS INITIAL.
CONCATENATE wa_final-bukrs
wa_final-belnr
wa_final-gjahr
INTO lws_objectid.
CLEAR: lws_archiv_id,
lws_arc_doc_id.
SELECT SINGLE archiv_id
arc_doc_id
INTO (lws_archiv_id, lws_arc_doc_id)
FROM toa01
WHERE sap_object = 'FIPP'
AND
object_id = lws_objectid.
IF sy-subrc EQ 0.
CLEAR: lws_objkey.
CONCATENATE lws_archiv_id
lws_arc_doc_id
INTO lws_objkey.
swc_create_object lws_image 'IMAGE'
lws_objkey.
swc_create_container container.
IF lws_objkey IS NOT INITIAL.
swc_call_method lws_image name container.
ELSE.
MESSAGE i001(zfin) WITH text-047.
ENDIF.
ELSE.
CLEAR: l_docnum.
SELECT SINGLE idoc_no
INTO l_docnum
FROM zgeli_track
WHERE zfi_bukrs =
wa_final-bukrs
AND zfi_belnr =
wa_final-belnr
AND zfi_gjahr =
wa_final-gjahr.
swc_create_object l_idoc 'IDOC'
l_docnum.
swc_create_container container.
IF l_docnum IS NOT INITIAL.
swc_call_method l_idoc name
container.
ELSE.
MESSAGE i001(zfin) WITH text-047.
ENDIF.
ENDIF.
ENDIF.
CLEAR: p_es_row_no, val,
name, wa_data,
lws_objectid, lws_archiv_id,
lws_arc_doc_id, lws_objkey,
l_docnum, lws_image,
p_es_col_id, l_idoc.
WHEN 'APP'.
val = p_es_row_no.
CLEAR: wa_final.
READ TABLE i_final INTO wa_final INDEX
val-row_id.
IF sy-subrc EQ 0 AND
NOT wa_final-cat_name IS INITIAL AND
NOT wa_final-bukrs IS INITIAL AND
NOT wa_final-belnr IS INITIAL.
DELETE i_final INDEX val-row_id.
IF sy-subrc = 0 AND
NOT i_final IS INITIAL.
CALL SCREEN '0101'.
ENDIF.
ENDIF.
CLEAR: p_es_row_no, val,
p_es_col_id.
WHEN 'REJ'.
ENDCASE.
- ENDFORM. " button_click