adesso business consulting Stellenangebote
Software Engineer Trainee · Senior
| (Senior) Cloud Software Engineer BTP | Senior Frontend Software Engineer SAP BTP
| (Senior) Consultant Technologie
Werkstudent Softwareentwicklung · Consulting
I PURCHASEORDERTP 2
Aus SAP Wiki ツ
Hinweis: Umlagerungserstellungen können damit nicht erstellt werden.
Bestellung erstellen
<syntaxhighlight line copy>
DATA lt_header_data TYPE if_mm_pur_po_bil=>tt_proj_level_po_create. lt_header_data = VALUE #( ( %cid = 'CID_PURORDER_1' PurchaseOrderType = 'NB' " cl_mmpur_create_test_pos=>get_valid_purchaseordertype( ) CompanyCode = lt_result[ 1 ]-CompanyCode "'1710' PurchasingOrganization = lt_result[ 1 ]-PurchasingOrganization "'1710' PurchasingGroup = lt_result[ 1 ]-PurchasingGroup "'001' Supplier = lv_supplier "'0017300001' %control = VALUE #( PurchaseOrderType = cl_abap_behv=>flag_changed CompanyCode = cl_abap_behv=>flag_changed PurchasingOrganization = cl_abap_behv=>flag_changed PurchasingGroup = cl_abap_behv=>flag_changed Supplier = cl_abap_behv=>flag_changed ) ) ).
DATA lv_pos_numbering TYPE I_PurchaseOrderItemAPI01-PurchaseOrderItem. lv_pos_numbering = 00010. DATA lv_cid_item_numbering TYPE abp_behv_cid. lv_cid_item_numbering = 1. DATA lt_items_data TYPE if_mm_pur_po_bil=>tt_proj_level_items_create. LOOP AT lt_result ASSIGNING FIELD-SYMBOL(<ls_res>). lt_items_data = VALUE #( BASE lt_items_data ( %cid_ref = 'CID_PURORDER_1' %target = VALUE #( ( %cid = |CID_POITEMT_{ lv_cid_item_numbering }| PurchaseRequisition = <ls_res>-%key-PurchaseRequisition PurchaseRequisitionItem = <ls_res>-%key-PurchaseRequisitionItem Material = <ls_res>-%data-Material ManufacturerMaterial = <ls_res>-%data-Material Plant = <ls_res>-%data-Plant OrderQuantity = <ls_res>-%data-RequestedQuantity PurchaseOrderItem = lv_pos_numbering NetPriceAmount = <ls_res>-%data-ItemNetAmount %control = VALUE #( Material = cl_abap_behv=>flag_changed ManufacturerMaterial = cl_abap_behv=>flag_changed Plant = cl_abap_behv=>flag_changed OrderQuantity = cl_abap_behv=>flag_changed PurchaseOrderItem = cl_abap_behv=>flag_changed NetPriceAmount = cl_abap_behv=>flag_changed PurchaseRequisition = cl_abap_behv=>flag_changed PurchaseRequisitionItem = cl_abap_behv=>flag_changed ) ) ) ) ). lv_pos_numbering += 10. lv_cid_item_numbering += 1. ENDLOOP.
MODIFY ENTITIES OF i_purchaseordertp_2 ENTITY purchaseorder CREATE FROM lt_header_data ENTITY purchaseorder CREATE BY \_PurchaseOrderItem FROM lt_items_data REPORTED DATA(ls_reported) FAILED DATA(ls_failed) MAPPED DATA(ls_mapped).
WAIT UP TO 2 SECONDS. IF ls_failed IS INITIAL.
APPEND VALUE #( %msg = new_message( id = ycl_p2p_prmonitor_constants=>cv_message_class number = '034' severity = if_abap_behv_message=>severity-success ) ) TO reported-prmonitor. ELSE. IF ls_reported-PurchaseOrder IS NOT INITIAL. APPEND VALUE #( %msg = new_message_with_text( severity = ls_reported-PurchaseOrder[ 1 ]-%msg->m_severity text = ls_reported-PurchaseOrder[ 1 ]-%msg->if_message~get_text( ) ) ) TO reported-prmonitor. ENDIF.
IF ls_reported-PurchaseOrderItem IS NOT INITIAL. LOOP AT ls_reported-PurchaseOrderItem ASSIGNING FIELD-SYMBOL(<ls_rep_po_item>). APPEND VALUE #( %msg = new_message_with_text( severity = ls_reported-PurchaseOrderItem[ sy-tabix ]-%msg->m_severity text = ls_reported-PurchaseOrderItem[ sy-tabix ]-%msg->if_message~get_text( ) ) ) TO reported-prmonitor. ENDLOOP. ENDIF.
APPEND VALUE #( PurchaseRequisition = keys[ 1 ]-PurchaseRequisition PurchaseRequisitionItem = keys[ 1 ]-PurchaseRequisitionItem ) TO failed-prmonitor. ENDIF.
LOOP AT keys ASSIGNING FIELD-SYMBOL(<ls_keys>). IF ls_mapped IS NOT INITIAL. APPEND VALUE #( %cid = <ls_keys>-%cid PurchaseRequisition = <ls_keys>-PurchaseRequisition PurchaseRequisitionItem = <ls_keys>-PurchaseRequisitionItem ) TO mapped-prmonitor. ENDIF. ENDLOOP.
</syntaxhighligh>
Dieses Wiki wird privat in Freizeit nach bestem Wissen und Gewissen gepflegt und dient primär als eigene Wissenssammlung für die tägliche Arbeit im SAP-ERP-Umfeld.
Alle dargestellten Softwareprodukte, auch in Form von Screenshots, sind Eigentum der SAP SE. Ihre Marken, vgl. Link, sind u.a.: SAP®, ABAP®, SAP Fiori®, SAP HANA®, SAP S/4HANA®, SAP S/4HANA® Cloud