Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Need to extend the customer company code

divsmart
Participant
0 Kudos
365

Hi Experts,

I need to extend the customer via company code.

Ie., If 10000 (customer) was maintained in 6000 need to extend to 5000.

Here 'es_message_defective' method i didn't gets error message, but company code was not extended.

Please guidance me.

FORM customer_extension.

  TYPES: BEGIN OF ty_log,
           bu_partner TYPE kunnr,
msg(4) TYPE c,
END OF ty_log. DATA: ls_cmds_main TYPE cmds_ei_main,
lt_cmds_ei_central_data TYPE TABLE OF cmds_ei_extern,
ls_tax TYPE cmds_ei_central_data.
DATA: t_log TYPE TABLE OF ty_log,
w_log TYPE ty_log.
LOOP AT lt_final_1 INTO ls_final_1.
CLEAR: ls_customers.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_final_1-kunnr
IMPORTING
output = ls_customers-header-object_instance-kunnr.
CLEAR: ls_kna1. SELECT SINGLE * FROM kna1 INTO ls_kna1
WHERE kunnr = ls_customers-header-object_instance-kunnr. ls_customers-header-object_task = 'U'.
ls_address-postal-data-name = ls_final_1-name1.
ls_address-postal-data-name_2 = ls_final_1-name2.
ls_address-postal-data-name_3 = ls_final_1-name3.
ls_address-postal-data-name_4 = ls_final_1-name4.
ls_address-postal-datax-name = 'X'.
ls_address-postal-datax-name_2 = 'X'.
ls_address-postal-datax-name_3 = 'X'.
ls_address-postal-datax-name_4 = 'X'.
ls_address-task = 'U'.
ls_customers-central_data-address = ls_address.
* *****Extend the company code. REFRESH: lt_company[].
CLEAR ls_company.
ls_company-task = 'M'.
ls_company-data_key-bukrs = ls_final_1-companycode. "Company code
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_final_1-rec_account
IMPORTING
output = ls_company-data-akont.
ls_company-datax-akont = 'X'. ls_company-data-zterm = ls_final_1-terms. "Payment terms
ls_company-datax-zterm = 'X'. APPEND ls_company TO lt_company.
ls_company_data-company = lt_company[].
ls_customers-company_data = ls_company_data.
APPEND ls_customers TO lt_customers. is_master_data-customers = lt_customers[]. CALL METHOD cmd_ei_api=>maintain_bapi
EXPORTING
iv_test_run = ' '
iv_collect_messages = abap_true
is_master_data = is_master_data
IMPORTING
es_master_data_correct = es_master_data_correct
es_message_correct = es_message_correct
es_master_data_defective = es_master_data_defective
es_message_defective = es_message_defective. IF es_message_defective-is_error IS INITIAL.
COMMIT WORK.<br> WAIT UP TO 1 SECONDS.
w_log-bu_partner = ls_final_1-kunnr.
w_log-msg = 'Customer Extended to Company Code'.
APPEND w_log TO t_log.
CLEAR w_log.
ELSE. " ELSE -> IF es_message_defective-is_error IS INITIAL
LOOP AT es_message_defective-messages INTO DATA(wa).
w_log-bu_partner = ls_final_1-kunnr.
w_log-msg = wa-message.
APPEND w_log TO t_log.
CLEAR w_log.
ENDLOOP. " LOOP AT es_message_defective-messages INTO DATA(wa)
ENDIF. " IF es_message_defective-is_error IS INITIAL
ENDLOOP. ENDFORM.
0 REPLIES 0