REPORT zcustomer. DATA: gt_cvis_data TYPE cvis_ei_extern_t, gs_cvis_data TYPE cvis_ei_extern, gt_return TYPE bapiretm, v_error TYPE abap_bool, is_address TYPE bapiaddr1. CONSTANTS: gv_msg_e(1) TYPE c VALUE 'E', gv_msg_s(1) TYPE c VALUE 'S', c_true TYPE abap_bool VALUE 'X', task TYPE bus_ei_object_task VALUE 'I'. START-OF-SELECTION. TRY. DATA(lv_uuid) = cl_system_uuid=>if_system_uuid_static~create_uuid_c32( ). CATCH cx_uuid_error INTO DATA(e_uuid). " Error Class for UUID Processing Errors MESSAGE e_uuid->get_text( ) TYPE gv_msg_e DISPLAY LIKE gv_msg_e. ENDTRY. is_address-city = 'city'. is_address-district = 'district'. is_address-str_suppl1 = 'street2'. is_address-str_suppl2 = 'street3'. is_address-street = 'street1'. is_address-str_suppl3 = 'street4'. is_address-location = 'street5'. is_address-country = 'IN'. is_address-region = '33'. is_address-postl_cod1 = '567890'. is_address-langu = 'EN'. is_address-xpcpt = 'X'. gs_cvis_data = VALUE #( partner-header-object_task = task partner-header-object_instance = VALUE #( bpartner = '' bpartnerguid = lv_uuid ) partner-central_data-common = VALUE #( data = VALUE #( bp_control = VALUE #( category = '2' grouping = 'ZS01' ) bp_centraldata = VALUE #( searchterm1 = 'Search1' searchterm2 = 'Search2' title_key = '0003' ) bp_organization = VALUE #( name1 = 'Suz' ) ) ) partner-central_data-role-roles = VALUE #( ( data_key = 'Z00000' ) ( data_key = 'ZUKM00' ) ( data_key = 'ZFLCU0' ) ( data_key = 'ZFLCU1' ) ) partner-central_data-address = VALUE #( addresses = VALUE #( ( task = task data = VALUE #( postal = VALUE #( data = VALUE #( BASE CORRESPONDING #( is_address ) standardaddress = 'X' ) ) ) ) ) ) partner-central_data-communication-smtp-smtp = VALUE #( ( contact = VALUE #( task = task data = VALUE #( e_mail = 'asdasd@gmail.com' ) ) ) ) partner-central_data-communication-phone-phone = VALUE #( ( contact = VALUE #( task = task data = VALUE #( telephone = '9876543210' country = 'IN' r_3_user = '3' ) ) remark-remarks = VALUE #( ( data = VALUE #( langu = 'EN' comm_notes = 'comments' ) ) ) ) ) partner-central_data-bankdetail-bankdetails = VALUE #( ( task = task data = VALUE #( bank_ctry = 'IN' bank_key = 'ANDB0001072' bank_acct = 'ASD7576576' ) ) ) partner-central_data-taxnumber-taxnumbers = VALUE #( ( task = task data_key = VALUE #( taxtype = 'IN3' taxnumxl = '564ASFADG' ) ) ) partner-central_data-ident_number-ident_numbers = VALUE #( ( data_key = VALUE #( identificationcategory = 'ID2' identificationnumber = 'AS7S4A74639899' ) ) ) customer-header-object_task = task customer-sales_data-sales = VALUE #( ( task = task data_key = VALUE #( vkorg = '2200' vtweg = '01' spart = '01' ) data = VALUE #( bzirk = '000001' kdgrp = '03' vkbur = '2222' vkgrp = '226' awahr = '100' waers = 'INR' kalks = '1' vsbed = '01' inco1 = 'FCA' inco2_l = 'inco2' zterm = '0001' ) functions-functions = VALUE #( ( data_key-parvw = 'ZB' data-partner = '0099900010' ) ) ) ) customer-company_data-company = VALUE #( ( task = task data_key = VALUE #( bukrs = '2200' ) data = VALUE #( akont = '0000204000' zterm = '0001' ) ) ) customer-central_data-central = VALUE #( data = VALUE #( j_1ipanno = 'CHEPA4558P' j_1ipanref = 'SAM' ) "PAN No & PAN Reference ) ). NEW cl_md_bp_maintain( )->validate_single( EXPORTING i_data = gs_cvis_data iv_test_run_mode = 'X' " Boolean Variable (X=True, Space=False) IMPORTING et_return_map = DATA(gt_et_return) ). IF line_exists( gt_et_return[ type = 'E' ] ) OR line_exists( gt_et_return[ type = 'A' ] ). LOOP AT gt_et_return INTO DATA(gs_et_return). WRITE:/ gs_et_return-message. ENDLOOP. EXIT. ENDIF. APPEND gs_cvis_data TO gt_cvis_data[]. NEW cl_md_bp_maintain( )->maintain( EXPORTING i_data = gt_cvis_data[] " Inbound for Customer/Vendor Integration IMPORTING e_return = gt_return " BAPIRETI Table Type for Multiple Objects ). LOOP AT gt_return INTO DATA(gs_return). LOOP AT gs_return-object_msg INTO DATA(gs_msg). IF gs_msg-type = 'E' OR gs_msg-type = 'A'. v_error = abap_true. ENDIF. IF gs_msg-type = 'S'. WRITE:/ gs_msg-message. ENDIF. ENDLOOP. ENDLOOP. IF v_error IS INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. SELECT FROM but000 FIELDS partner WHERE name_org1 EQ 'Suz' INTO @DATA(lv_partner). ENDSELECT. WRITE:/ |Business Partner { lv_partner } has been created.|. ENDIF.