Dear All,
I'm currently working on building an API via class builder. When I run via postman, I got error "500 Internal Server Error - Field Symbol has not been assigned yet" and runtime error "GETWA_NOT ASSIGNED" if I checked in ST22.
This is the part where my program crashes when I debug.
"set up the control parameters
wa_customers-header-object_instance-kunnr = lv_bpartner. "customer number
wa_customers-header-object_task = 'U'. "update customer
APPEND wa_customers TO is_master_data-customers.
"read the customer
cmd_ei_api_extract=>get_data(
EXPORTING is_master_data = is_master_data
IMPORTING es_master_data = ls_cmds_main ).
READ TABLE ls_cmds_main-customers ASSIGNING FIELD-SYMBOL(<ls_customers>) INDEX 1.
IF sy-subrc EQ 0.
"IF <ls_customers> IS ASSIGNED.
READ TABLE <ls_customers>-company_data-company ASSIGNING FIELD-SYMBOL(<ls_company>) INDEX 1.
IF sy-subrc EQ 0.
"IF <ls_company> IS ASSIGNED.
*/ FI financial is not maintained yet / data entry
CLEAR ls_cmds_main.
APPEND INITIAL LINE TO ls_cmds_main-customers ASSIGNING <ls_customers>.
<ls_customers>-header-object_instance-kunnr = lv_bpartner.
<ls_customers>-header-object_task = 'U'.
*/ Company code and recouncil account
APPEND INITIAL LINE TO <ls_customers>-company_data-company ASSIGNING <ls_company>.
<ls_company>-task = 'I'.
<ls_company>-data_key-bukrs = c_comp_code.
<ls_company>-data-akont = c_akont.
*/ Add witholding tax PPH23
APPEND INITIAL LINE TO <ls_company>-wtax_type-wtax_type ASSIGNING FIELD-SYMBOL(<ls_wtax_type>).
<ls_wtax_type>-task = 'I'.
<ls_wtax_type>-data_key-witht = c_witht.
cmd_ei_api=>maintain_bapi(
EXPORTING
iv_test_run = lv_test " Checkbox Test Run ('X' = Yes)
iv_collect_messages = abap_true " Checkbox Collect Messages ('X' = Yes)
is_master_data = ls_cmds_main " Total Customer Data
IMPORTING
es_master_data_correct = DATA(lw_master_data_correct)
es_message_correct = DATA(lw_message_correct)
es_master_data_defective = DATA(lw_master_data_defective)
es_message_defective = DATA(ls_message_defect) " Error Indicator and System Messages for Incorrect Data
).
ELSE.
*/ Update witholding tax based on new requirement
READ TABLE <ls_company>-wtax_type-wtax_type ASSIGNING <ls_wtax_type> WITH KEY data_key = c_witht.
IF sy-subrc EQ 0.
"IF <ls_wtax_type> IS ASSIGNED.
* "<ls_wtax_type>-data_key-witht = fu_with.
"Do Nothing
ELSE.
<ls_customers>-header-object_task = 'U'.
* / Add witholding tax for existing BP
APPEND INITIAL LINE TO <ls_company>-wtax_type-wtax_type ASSIGNING <ls_wtax_type>.
<ls_wtax_type>-data_key-witht = c_witht.
cmd_ei_api=>maintain(
EXPORTING
iv_test_run = lv_test " Checkbox Test Run ('X' = Yes)
is_master_data = ls_cmds_main " Total Customer Data
IMPORTING
es_error = ls_message_defect " Error Indicator and System Messages for Incorrect Data
).
ENDIF.
ENDIF.
ENDIF. SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; }.L0S32 { color: #3399FF; }.L0S52 { color: #0000FF; }.L0S55 { color: #800080; SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; }.L0S32 { color: #3399FF; }.L0S52 { color: #0000FF; }.L0S55 { color: #800080; }
Kindly regards,
Ashfahani