clear ls_methods.
ls_methods-refnumber = '000001'.
ls_methods-objecttype = 'HEADER'.
ls_methods-method = 'CREATETONOTIF'.
ls_methods-objectkey = '%00000000001'.
insert ls_methods into table lt_methods.
ls_methods-refnumber = '000001'.
ls_methods-objecttype = 'PARTNER'.
ls_methods-method = 'CREATE'.
insert ls_methods into table lt_methods.
ls_methods-refnumber = '000001'.
ls_methods-objecttype = 'OPERATION'.
ls_methods-method = 'CREATE'.
ls_methods-objectkey = '%00000000001'.
insert ls_methods into table lt_methods.
clear ls_methods.
ls_methods-refnumber = '000001'.
ls_methods-objectkey = '%00000000001'.
ls_methods-method = 'SAVE'.
insert ls_methods into table lt_methods.
*Header
loop at it_dat1 into wa_dat1.
ls_header-orderid = '%00000000001'.
ls_header-order_type = wa_dat1-col_01.
ls_header-bus_area = wa_dat1-col_02.
ls_header-short_text = wa_dat1-col_03.
ls_header-planplant = '2000'.
ls_header-mn_wk_ctr = wa_dat1-col_04.
concatenate wa_dat1-col_05+4(4) wa_dat1-col_05+2(2)
wa_dat1-col_05(2) into wa_dat1-col_05.
ls_header-start_date = wa_dat1-col_05.
concatenate wa_dat1-col_06+4(4) wa_dat1-col_06+2(2)
wa_dat1-col_06(2) into wa_dat1-col_06.
ls_header-finish_date = wa_dat1-col_06 .
ls_header-salesorg = '1000'.
ls_header-distr_chan = wa_dat1-col_08. "'40'.
ls_header-division = wa_dat1-col_09.
ls_header-pmacttype = '003'.
insert ls_header into table lt_header.
endloop.
ls_header_up-orderid = '%00000000001'.
ls_header_up-notif_no = 'X'.
* ls_header_up-order_type = 'X'.
ls_header_up-bus_area = 'X'.
ls_header-short_text = 'X'.
* ls_header_up-planplant = 'X'.
ls_header_up-mn_wk_ctr = 'X'.
ls_header_up-start_date = 'X'.
ls_header_up-finish_date = 'X'.
ls_header_up-salesorg = 'X'.
ls_header_up-distr_chan = 'X'.
ls_header_up-division = 'X'.
ls_header_up-pmacttype = 'X'.
insert ls_header_up into table lt_header_up.
ls_partner-orderid = '%00000000001'.
ls_partner-partn_role = 'AG'.
ls_partner-partner = g_sldpty . "'0001012090'.
append ls_partner to it_partner.
ls_partner_up-partner = 'X'.
append ls_partner_up to it_partner_up.
*Operation
loop at it_dat2 into wa_dat2.
ls_operation-activity = '0010'.
ls_operation-control_key = 'INT' ."wa_dat2-col_01.
ls_operation-plant = '2000'.
ls_operation-work_cntr = g_wrkctr.
ls_operation-description = wa_dat2-col_02.
ls_operation-strttimcon = sy-uzeit.
* ls_operation-fintimcons = SY-UZEIT. "G_ENDT.
* External
ls_operation-quantity = wa_dat2-col_03.
ls_operation-price = wa_dat2-col_04 / 100.
ls_operation-currency = 'IDR'.
ls_operation-base_uom = 'UNT'.
ls_operation-price_unit = '1'.
concatenate '000' wa_dat2-col_08 into wa_dat2-col_08.
ls_operation-vendor_no = wa_dat2-col_08.
ls_operation-preq_name = sy-uname.
ls_operation-trackingno = wa_dat2-col_09. "wa_dat2-col_02. "
ls_operation-matl_group = wa_dat2-col_05.
ls_operation-pur_group = wa_dat2-col_06.
ls_operation-purch_org = '1000'.
ls_operation-constraint_type_start = '1'.
ls_operation-start_cons = sy-datum. "wa_dat2-COL_14.
* only for Int
ls_operation-pers_no = g_person. "wa_dat2-col_08.
insert ls_operation into table lt_operation.
ls_operation_up-activity = 'X'.
ls_operation_up-control_key = 'X'.
ls_operation_up-plant = 'X'.
ls_operation_up-work_cntr = 'X'.
ls_operation_up-description = 'X'.
ls_operation_up-strttimcon = 'X'.
ls_operation_up-quantity = 'X'.
ls_operation_up-price = 'X'.
ls_operation_up-base_uom = 'X'.
ls_operation_up-currency = 'X'.
ls_operation_up-price_unit = 'X'.
ls_operation_up-vendor_no = 'X'.
ls_operation_up-preq_name = 'X'.
ls_operation_up-trackingno = 'X'.
ls_operation_up-matl_group = 'X'.
ls_operation_up-pur_group = 'X'.
ls_operation_up-purch_org = 'X'.
ls_operation_up-fintimcons = 'X'.
* ls_operation_up-mrp_relevant = 'X'.
ls_operation_up-constraint_type_start = 'X'.
ls_operation_up-start_cons = 'X'.
ls_operation_up-pers_no = 'X'.
insert ls_operation_up into table lt_operation_up.
endloop.
clear ls_component.
loop at it_dat4 into wa_dat4.
*-- Component Mapping
ls_methods-refnumber = wa_dat4-col_22 .
ls_methods-objecttype = 'COMPONENT'.
ls_methods-method = 'CREATE'.
ls_methods-objectkey = '%000000000010010'.
append ls_methods to lt_methods.
ls_component-activity = '0010'.
ls_component-material = wa_dat4-col_10.
ls_component-price = wa_dat4-col_04 / 100.
ls_component-price_unit = '1'.
ls_component-requirement_quantity = wa_dat4-col_03.
concatenate '000' wa_dat4-col_08 into wa_dat4-col_08.
ls_component-vendor_no = wa_dat4-col_08.
*Mrp
if wa_dat4-col_02(3) = 'EXT'.
else. "Internal
if wa_dat4-col_20 is not initial.
ls_component-mrp_relevant = '1'.
endif.
endif.
ls_component-preq_name = sy-uname.
ls_component-plant = '2000'.
ls_component-pur_group = wa_dat4-col_06.
ls_component-matl_group = wa_dat4-col_05.
ls_component-purch_org = '1000'.
ls_component-item_number = wa_dat4-col_21.
ls_component-trackingno = g_ope_desc. "WA_DAT4-COL_09
ls_component-stge_loc = wa_dat4-col_12.
append ls_component to lt_component.
endloop.
clear ls_component_up.
ls_component_up-activity = 'X'.
ls_component_up-material = 'X'.
ls_component_up-price = 'X'.
ls_component_up-price_unit = 'X'.
ls_component_up-requirement_quantity = 'X'.
ls_component_up-requirement_quantity_unit = 'X'.
ls_component_up-vendor_no = 'X'.
ls_component_up-preq_name = 'X'.
ls_component_up-mrp_relevant = 'X'.
ls_component_up-plant = 'X'.
ls_component_up-pur_group = 'X'.
ls_component_up-matl_group = 'X'.
ls_component_up-purch_org = 'X'.
ls_component_up-item_number = 'X'.
ls_operation_up-mrp_relevant = 'X'.
ls_component_up-stge_loc = 'X'.
ls_component_up-trackingno = 'X'.
append ls_component_up to lt_component_up.
call function 'BAPI_ALM_ORDER_MAINTAIN'
tables
it_methods = lt_methods
it_header = lt_header
it_header_up = lt_header_up
it_operation = lt_operation
it_operation_up = lt_operation_up
it_component = lt_component
it_component_up = lt_component_up
it_partner = it_partner
it_partner_up = it_partner_up
return = lt_return
et_numbers = lt_numbers.
loop at lt_return into ls_return..
if ls_return-type eq 'E'.
g_error = 'SVO'.
lt_error-text = g_svo_desc.
lt_error-text2 = ls_return-message.
append lt_error.
perform send_s.
message ' Fail Create SVO' type 'S'.
stop.
else.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
if ls_return-message_v2(1) = '9'.
g_aufnr = ls_return-message_v2.
endif.
endif.
endloop.
No comments:
Post a Comment