Difference between revisions of "SAP SD BAPI MAP"
From SapWiki
| Line 1: | Line 1: | ||
| − | + | ver INCLUDE L2032FXX, ejemplo: | |
| − | + | <nowiki>*---------------------------------------------------------------------* | |
| − | + | FORM move_item_data_out. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | * ITEMS | |
| − | + | REFRESH order_items_bapi_out. | |
| − | + | LOOP AT www_order_items_imp. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | == | + | CLEAR order_items_bapi_out. |
| − | + | ||
| − | + | MOVE www_order_items_imp-posnr TO order_items_bapi_out-itm_number. | |
| − | + | MOVE www_order_items_imp-posex TO order_items_bapi_out-po_itm_no. | |
| − | + | MOVE www_order_items_imp-matnr TO order_items_bapi_out-material. | |
| − | + | MOVE www_order_items_imp-matwa TO order_items_bapi_out-mat_entrd. | |
| − | + | MOVE www_order_items_imp-arktx TO order_items_bapi_out-short_text. | |
| − | + | MOVE www_order_items_imp-netwr TO order_items_bapi_out-net_value. | |
| − | + | MOVE www_order_items_imp-kzkfg TO order_items_bapi_out-configured. | |
| − | + | MOVE www_order_items_imp-waerk TO order_items_bapi_out-currency. | |
| − | + | MOVE www_order_items_imp-kzwi1 TO order_items_bapi_out-subtotal_1. | |
| − | + | MOVE www_order_items_imp-kzwi2 TO order_items_bapi_out-subtotal_2. | |
| − | + | MOVE www_order_items_imp-kzwi3 TO order_items_bapi_out-subtotal_3. | |
| − | + | MOVE www_order_items_imp-kzwi4 TO order_items_bapi_out-subtotal_4. | |
| − | + | MOVE www_order_items_imp-kzwi5 TO order_items_bapi_out-subtotal_5. | |
| − | + | MOVE www_order_items_imp-kzwi6 TO order_items_bapi_out-subtotal_6. | |
| − | + | MOVE www_order_items_imp-vrkme TO order_items_bapi_out-sales_unit. | |
| − | + | MOVE www_order_items_imp-mngwt TO order_items_bapi_out-qty_req_dt. | |
| − | + | MOVE www_order_items_imp-edatu TO order_items_bapi_out-dlv_date. | |
| − | + | MOVE www_order_items_imp-wzeitc TO order_items_bapi_out-repl_time. | |
| − | + | ||
| − | + | MOVE www_order_items_imp-bstkd TO order_items_bapi_out-purch_no_c. | |
| − | + | MOVE www_order_items_imp-bstdk TO order_items_bapi_out-purch_date. | |
| − | + | MOVE www_order_items_imp-bsark TO order_items_bapi_out-po_method. | |
| − | + | MOVE www_order_items_imp-ihrez TO order_items_bapi_out-ref_1. | |
| − | + | MOVE www_order_items_imp-bstkd_e TO order_items_bapi_out-purch_no_s. | |
| − | + | MOVE www_order_items_imp-bstdk_e TO order_items_bapi_out-po_dat_s. | |
| − | + | MOVE www_order_items_imp-bsark_e TO order_items_bapi_out-po_meth_s. | |
| − | + | MOVE www_order_items_imp-ihrez_e TO order_items_bapi_out-ref_1_s. | |
| − | + | MOVE www_order_items_imp-posex_e TO order_items_bapi_out-po_itm_no_s. | |
| − | + | * 4.0 Erweiterungen1 | |
| − | + | * move internal format into external format | |
| − | + | IF NOT www_order_items_imp-waerk IS INITIAL. | |
| − | + | IF NOT www_order_items_imp-netwr IS INITIAL. | |
| − | + | CLEAR order_items_bapi_out-net_value1. | |
| − | + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | |
| − | + | EXPORTING | |
| − | + | currency = www_order_items_imp-waerk | |
| − | + | amount_internal = www_order_items_imp-netwr1 | |
| − | + | IMPORTING | |
| − | + | amount_external = order_items_bapi_out-net_value1. | |
| − | + | ENDIF. | |
| − | + | ENDIF. | |
| − | + | * 4.0C Erweiterungen | |
| − | + | CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO' | |
| − | + | EXPORTING | |
| − | + | sap_code = www_order_items_imp-vrkme | |
| − | + | IMPORTING | |
| − | + | iso_code = order_items_bapi_out-s_unit_iso | |
| − | + | EXCEPTIONS | |
| − | + | not_found = 01 | |
| − | + | no_iso_code = 02. | |
| − | + | IF NOT www_order_items_imp-waerk IS INITIAL. | |
| − | + | CALL FUNCTION 'CURRENCY_CODE_SAP_TO_ISO' | |
| − | + | EXPORTING | |
| − | + | sap_code = www_order_items_imp-waerk | |
| − | + | IMPORTING | |
| − | + | iso_code = order_items_bapi_out-curr_iso | |
| − | + | EXCEPTIONS | |
| − | + | not_found = 01. | |
| − | + | ENDIF. | |
| − | + | ||
| − | + | MOVE www_order_items_imp-kwmeng TO order_items_bapi_out-req_qty. | |
| − | + | MOVE www_order_items_imp-werks TO order_items_bapi_out-plant. | |
| − | + | ||
| + | * 4.6A Enhancement * | ||
| + | IF NOT www_order_items_imp-waerk IS INITIAL. | ||
| + | IF NOT www_order_items_imp-mwsbp IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-tx_doc_cur. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-mwsbp | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-tx_doc_cur. | ||
| + | ENDIF. | ||
| + | * subtotal 1 | ||
| + | IF NOT www_order_items_imp-kozw1 IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-subtotal1. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-kozw1 | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-subtotal1. | ||
| + | ENDIF. | ||
| + | * subtotal 2 | ||
| + | IF NOT www_order_items_imp-kozw2 IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-subtotal2. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-kozw2 | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-subtotal2. | ||
| + | ENDIF. | ||
| + | * subtotal 3 | ||
| + | IF NOT www_order_items_imp-kozw3 IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-subtotal3. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-kozw3 | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-subtotal3. | ||
| + | ENDIF. | ||
| + | * subtotal 4 | ||
| + | IF NOT www_order_items_imp-kozw4 IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-subtotal4. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-kozw4 | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-subtotal4. | ||
| + | ENDIF. | ||
| + | * subtotal 5 | ||
| + | IF NOT www_order_items_imp-kozw5 IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-subtotal5. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-kozw5 | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-subtotal5. | ||
| + | ENDIF. | ||
| + | * subtotal 6 | ||
| + | IF NOT www_order_items_imp-kozw6 IS INITIAL. | ||
| + | CLEAR order_items_bapi_out-subtotal6. | ||
| + | CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' | ||
| + | EXPORTING | ||
| + | currency = www_order_items_imp-waerk | ||
| + | amount_internal = www_order_items_imp-kozw6 | ||
| + | IMPORTING | ||
| + | amount_external = order_items_bapi_out-subtotal6. | ||
| + | ENDIF. | ||
| + | ENDIF. | ||
| + | |||
| + | PACK www_order_items_imp-zmengc TO order_items_bapi_out-target_qty. | ||
| + | MOVE www_order_items_imp-zieme TO order_items_bapi_out-target_qu. | ||
| + | |||
| + | CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO' | ||
| + | EXPORTING | ||
| + | sap_code = www_order_items_imp-zieme | ||
| + | IMPORTING | ||
| + | iso_code = order_items_bapi_out-t_unit_iso | ||
| + | EXCEPTIONS | ||
| + | not_found = 01 | ||
| + | no_iso_code = 02. | ||
| + | |||
| + | MOVE www_order_items_imp-pstyv TO order_items_bapi_out-item_categ. | ||
| + | MOVE www_order_items_imp-vstel TO order_items_bapi_out-ship_point. | ||
| + | MOVE www_order_items_imp-uepos TO order_items_bapi_out-hg_lv_item. | ||
| + | |||
| + | MOVE www_order_items_imp-kdmat TO order_items_bapi_out-cust_mat. | ||
| + | MOVE www_order_items_imp-kztlf TO order_items_bapi_out-part_dlv. | ||
| + | MOVE www_order_items_imp-abgru TO order_items_bapi_out-reason_rej. | ||
| + | MOVE www_order_items_imp-faksp TO order_items_bapi_out-bill_block. | ||
| + | MOVE www_order_items_imp-lgort TO order_items_bapi_out-stge_loc. | ||
| + | MOVE www_order_items_imp-prodh TO order_items_bapi_out-prod_hier. | ||
| + | MOVE www_order_items_imp-matkl TO order_items_bapi_out-matl_group. | ||
| + | MOVE www_order_items_imp-sgt_rcat TO order_items_bapi_out-req_segment."Segmentation | ||
| + | |||
| + | APPEND order_items_bapi_out. | ||
| + | |||
| + | ENDLOOP. | ||
| + | |||
| + | ENDFORM.</nowiki> | ||
Revision as of 16:51, 6 April 2020
ver INCLUDE L2032FXX, ejemplo:
*---------------------------------------------------------------------*
FORM move_item_data_out.
* ITEMS
REFRESH order_items_bapi_out.
LOOP AT www_order_items_imp.
CLEAR order_items_bapi_out.
MOVE www_order_items_imp-posnr TO order_items_bapi_out-itm_number.
MOVE www_order_items_imp-posex TO order_items_bapi_out-po_itm_no.
MOVE www_order_items_imp-matnr TO order_items_bapi_out-material.
MOVE www_order_items_imp-matwa TO order_items_bapi_out-mat_entrd.
MOVE www_order_items_imp-arktx TO order_items_bapi_out-short_text.
MOVE www_order_items_imp-netwr TO order_items_bapi_out-net_value.
MOVE www_order_items_imp-kzkfg TO order_items_bapi_out-configured.
MOVE www_order_items_imp-waerk TO order_items_bapi_out-currency.
MOVE www_order_items_imp-kzwi1 TO order_items_bapi_out-subtotal_1.
MOVE www_order_items_imp-kzwi2 TO order_items_bapi_out-subtotal_2.
MOVE www_order_items_imp-kzwi3 TO order_items_bapi_out-subtotal_3.
MOVE www_order_items_imp-kzwi4 TO order_items_bapi_out-subtotal_4.
MOVE www_order_items_imp-kzwi5 TO order_items_bapi_out-subtotal_5.
MOVE www_order_items_imp-kzwi6 TO order_items_bapi_out-subtotal_6.
MOVE www_order_items_imp-vrkme TO order_items_bapi_out-sales_unit.
MOVE www_order_items_imp-mngwt TO order_items_bapi_out-qty_req_dt.
MOVE www_order_items_imp-edatu TO order_items_bapi_out-dlv_date.
MOVE www_order_items_imp-wzeitc TO order_items_bapi_out-repl_time.
MOVE www_order_items_imp-bstkd TO order_items_bapi_out-purch_no_c.
MOVE www_order_items_imp-bstdk TO order_items_bapi_out-purch_date.
MOVE www_order_items_imp-bsark TO order_items_bapi_out-po_method.
MOVE www_order_items_imp-ihrez TO order_items_bapi_out-ref_1.
MOVE www_order_items_imp-bstkd_e TO order_items_bapi_out-purch_no_s.
MOVE www_order_items_imp-bstdk_e TO order_items_bapi_out-po_dat_s.
MOVE www_order_items_imp-bsark_e TO order_items_bapi_out-po_meth_s.
MOVE www_order_items_imp-ihrez_e TO order_items_bapi_out-ref_1_s.
MOVE www_order_items_imp-posex_e TO order_items_bapi_out-po_itm_no_s.
* 4.0 Erweiterungen1
* move internal format into external format
IF NOT www_order_items_imp-waerk IS INITIAL.
IF NOT www_order_items_imp-netwr IS INITIAL.
CLEAR order_items_bapi_out-net_value1.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-netwr1
IMPORTING
amount_external = order_items_bapi_out-net_value1.
ENDIF.
ENDIF.
* 4.0C Erweiterungen
CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO'
EXPORTING
sap_code = www_order_items_imp-vrkme
IMPORTING
iso_code = order_items_bapi_out-s_unit_iso
EXCEPTIONS
not_found = 01
no_iso_code = 02.
IF NOT www_order_items_imp-waerk IS INITIAL.
CALL FUNCTION 'CURRENCY_CODE_SAP_TO_ISO'
EXPORTING
sap_code = www_order_items_imp-waerk
IMPORTING
iso_code = order_items_bapi_out-curr_iso
EXCEPTIONS
not_found = 01.
ENDIF.
MOVE www_order_items_imp-kwmeng TO order_items_bapi_out-req_qty.
MOVE www_order_items_imp-werks TO order_items_bapi_out-plant.
* 4.6A Enhancement *
IF NOT www_order_items_imp-waerk IS INITIAL.
IF NOT www_order_items_imp-mwsbp IS INITIAL.
CLEAR order_items_bapi_out-tx_doc_cur.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-mwsbp
IMPORTING
amount_external = order_items_bapi_out-tx_doc_cur.
ENDIF.
* subtotal 1
IF NOT www_order_items_imp-kozw1 IS INITIAL.
CLEAR order_items_bapi_out-subtotal1.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-kozw1
IMPORTING
amount_external = order_items_bapi_out-subtotal1.
ENDIF.
* subtotal 2
IF NOT www_order_items_imp-kozw2 IS INITIAL.
CLEAR order_items_bapi_out-subtotal2.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-kozw2
IMPORTING
amount_external = order_items_bapi_out-subtotal2.
ENDIF.
* subtotal 3
IF NOT www_order_items_imp-kozw3 IS INITIAL.
CLEAR order_items_bapi_out-subtotal3.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-kozw3
IMPORTING
amount_external = order_items_bapi_out-subtotal3.
ENDIF.
* subtotal 4
IF NOT www_order_items_imp-kozw4 IS INITIAL.
CLEAR order_items_bapi_out-subtotal4.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-kozw4
IMPORTING
amount_external = order_items_bapi_out-subtotal4.
ENDIF.
* subtotal 5
IF NOT www_order_items_imp-kozw5 IS INITIAL.
CLEAR order_items_bapi_out-subtotal5.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-kozw5
IMPORTING
amount_external = order_items_bapi_out-subtotal5.
ENDIF.
* subtotal 6
IF NOT www_order_items_imp-kozw6 IS INITIAL.
CLEAR order_items_bapi_out-subtotal6.
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency = www_order_items_imp-waerk
amount_internal = www_order_items_imp-kozw6
IMPORTING
amount_external = order_items_bapi_out-subtotal6.
ENDIF.
ENDIF.
PACK www_order_items_imp-zmengc TO order_items_bapi_out-target_qty.
MOVE www_order_items_imp-zieme TO order_items_bapi_out-target_qu.
CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO'
EXPORTING
sap_code = www_order_items_imp-zieme
IMPORTING
iso_code = order_items_bapi_out-t_unit_iso
EXCEPTIONS
not_found = 01
no_iso_code = 02.
MOVE www_order_items_imp-pstyv TO order_items_bapi_out-item_categ.
MOVE www_order_items_imp-vstel TO order_items_bapi_out-ship_point.
MOVE www_order_items_imp-uepos TO order_items_bapi_out-hg_lv_item.
MOVE www_order_items_imp-kdmat TO order_items_bapi_out-cust_mat.
MOVE www_order_items_imp-kztlf TO order_items_bapi_out-part_dlv.
MOVE www_order_items_imp-abgru TO order_items_bapi_out-reason_rej.
MOVE www_order_items_imp-faksp TO order_items_bapi_out-bill_block.
MOVE www_order_items_imp-lgort TO order_items_bapi_out-stge_loc.
MOVE www_order_items_imp-prodh TO order_items_bapi_out-prod_hier.
MOVE www_order_items_imp-matkl TO order_items_bapi_out-matl_group.
MOVE www_order_items_imp-sgt_rcat TO order_items_bapi_out-req_segment."Segmentation
APPEND order_items_bapi_out.
ENDLOOP.
ENDFORM.