Quantcast
Channel: SCN : All Content - SAP CRM: Webclient UI - Framework
Viewing all articles
Browse latest Browse all 4552

Not able to add multiple row in a web ui custom view using abap in sap crm

$
0
0

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.


Viewing all articles
Browse latest Browse all 4552

Trending Articles