Hi Experts,
I have a custom view created by AET in UI(as attached in the .jpg file). The data of this view coming from a custom table. I'm trying to add multiple rows using abap with proper data from that custom table. But only one record is getting updated but multiple records are not getting updated. Following is my code.
DATA: lt_ext2_data1 TYPE /kgo/ttyp008x,
lt_ext2_data2 TYPE /kgo/ttyp008x,
ls_ext2 TYPE crmt_extension2_com,
ls_ext2_data1 TYPE /kgo/struc008w,
ls_ext2_data2 TYPE /kgo/struc008w,
ls_input_fields TYPE crmt_input_field,
ls_input_field_names TYPE crmt_input_field_names,
ls_sclntis TYPE /kgo/co_secclnt,
lv_data_obj1 TYPE REF TO data,
lv_data_obj2 TYPE REF TO data,
gv_ref_partner_handle type char10.
FIELD-SYMBOLS:<ext2_data1> TYPE /kgo/ttyp008x,
<ext2_data2> TYPE /kgo/ttyp008x.
loop at gt_op_file into p_ls_op_file.
READ TABLE gt_pclntis INTO ls_pclntis
WITH KEY text = p_ls_op_file-priclntis BINARY SEARCH.
IF sy-subrc = 0.
gv_ref_partner_handle = gv_ref_partner_handle + 1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gv_ref_partner_handle
IMPORTING
output = gv_ref_partner_handle.
"Primary CLient Issues-----------------------------------
insert_input_fieldname '/KGO/F002H'.
ls_input_fields-ref_guid = p_lv_leadguid.
ls_input_fields-ref_kind = gc_headmode.
ls_input_fields-objectname = '/KGO/OBJ000002'.
ls_input_fields-logical_key = gv_ref_partner_handle."'0000000003'.
INSERT ls_input_fields INTO TABLE gt_input_fields.
REFRESH lt_ext2_data1.
ls_ext2_data1-mode = gc_headmode.
ls_ext2_data1-handle = gv_ref_partner_handle."'0000000003'.
ls_ext2_data1-record_id = p_lv_leadguid.
ls_ext2_data1-/kgo/f002h = p_ls_pclntis-clientissue.
INSERT ls_ext2_data1 INTO TABLE lt_ext2_data1.
CREATE DATA lv_data_obj1 TYPE /kgo/ttyp008x.
ASSIGN lv_data_obj1->* TO <ext2_data1>.
<ext2_data1> = lt_ext2_data1.
ls_ext2-ref_guid = p_lv_leadguid.
ls_ext2-ref_kind = gc_headmode.
ls_ext2-object = '/KGO/OBJ000002'.
ls_ext2-data = lv_data_obj1.
INSERT ls_ext2 INTO TABLE gt_ext2.
p_lv_logkey = p_lv_logkey + 1.
"Client Issues (Secondary) -------------------------------
READ TABLE gt_sclntis INTO ls_sclntis
WITH KEY sec_clnt_desc = p_ls_op_file-secclntis
pri_clnt_issue = p_ls_pclntis-clientissue.
IF sy-subrc = 0.
CLEAR: ls_input_field_names , ls_input_fields.
gv_ref_partner_handle = gv_ref_partner_handle + 1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gv_ref_partner_handle
IMPORTING
output = gv_ref_partner_handle.
insert_input_fieldname '/KGO/F0050'.
ls_input_fields-ref_guid = p_lv_leadguid.
ls_input_fields-ref_kind = gc_headmode.
ls_input_fields-objectname = '/KGO/OBJ000002'.
ls_input_fields-logical_key = gv_ref_partner_handle."'0000000004'.
INSERT ls_input_fields INTO TABLE gt_input_fields.
REFRESH lt_ext2_data2.
ls_ext2_data2-handle = gv_ref_partner_handle."'0000000004'.
ls_ext2_data2-record_id = p_lv_leadguid.
ls_ext2_data2-/kgo/f0050 = ls_sclntis-sec_clnt_issue.
INSERT ls_ext2_data2 INTO TABLE lt_ext2_data2.
CREATE DATA lv_data_obj2 TYPE /kgo/ttyp008x.
ASSIGN lv_data_obj2->* TO <ext2_data2>.
<ext2_data2> = lt_ext2_data2.
ls_ext2-ref_guid = p_lv_leadguid.
ls_ext2-ref_kind = gc_headmode.
ls_ext2-object = '/KGO/OBJ000002'.
ls_ext2-data = lv_data_obj2.
INSERT ls_ext2 INTO TABLE gt_ext2.
ENDIF.
ENDIF.
ENDLOOP.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_extension2 = gt_ext2
CHANGING
ct_input_fields = gt_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.
IF sy-subrc = 0.
REFRESH: lt_save_obj, p_lt_saved_obj.
APPEND lv_leadguid TO lt_save_obj.
CALL FUNCTION 'CRM_ORDER_SAVE'
EXPORTING
it_objects_to_save = gt_save_obj
IMPORTING
et_saved_objects = gt_saved_obj
EXCEPTIONS
document_not_saved = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_true.
ENDIF.
ENDIF.
ENDIF.