BAPISDORDER 사용GETDETAILEDLIST S/4HANA의 Outbound Delivery 만들기

2592 단어 erpcrmsaprfcsapabap
S/4HANA에서 Outbound Delivery를 만들려면 먼저 판매 주문서가 있어야 한다. ID는 376이고 사무코드 VA03을 통해 볼 수 있다.
이 Sales Order를 기반으로 해당하는 outbound delivery를 생성하려면 61줄 코드만 사용하십시오.
REPORT zcreate_dn.

DATA:lv_ship_point        TYPE          bapidlvcreateheader-ship_point VALUE '0001',
     lv_due_date          TYPE datum VALUE '20181205',
     lv_delivery          TYPE          bapishpdelivnumb-deliv_numb,
     lt_so_items          LIKE TABLE OF bapidlvreftosalesorder,
     ls_so_items          LIKE LINE OF lt_so_items,
     lt_return            TYPE TABLE OF bapiret2,
     ls_read              TYPE order_view,
     lt_item              TYPE TABLE OF bapisdit,
     lt_order_headers_out TYPE TABLE OF bapisdhd,
     lt_header            TYPE TABLE OF sales_key,
     lt_bapisdtehd        TYPE TABLE OF bapisdtehd,
     lt_bapitextli        TYPE TABLE OF bapitextli,
     lt_bapiret2          LIKE bapiret2   OCCURS 0 WITH HEADER LINE.

APPEND INITIAL LINE TO lt_header ASSIGNING FIELD-SYMBOL(
). ls_read-item = 'X'.
-vbeln = '0000000376'. CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST' EXPORTING i_bapi_view = ls_read TABLES sales_documents = lt_header order_items_out = lt_item. LOOP AT lt_item ASSIGNING FIELD-SYMBOL(). APPEND INITIAL LINE TO lt_so_items ASSIGNING FIELD-SYMBOL(). -ref_doc = -doc_number. -ref_item = -itm_number. -dlv_qty = -req_qty. -sales_unit = 'EA'. ENDLOOP. CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS' EXPORTING ship_point = lv_ship_point due_date = lv_due_date IMPORTING delivery = lv_delivery TABLES sales_order_items = lt_so_items return = lt_return. LOOP AT lt_return ASSIGNING FIELD-SYMBOL(). WRITE:/ | Type: { -type }: { -message } | COLOR COL_NEGATIVE. ENDLOOP. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X' IMPORTING return = lt_bapiret2. LOOP AT lt_bapiret2 ASSIGNING . WRITE:/ 'Message:', -message COLOR COL_POSITIVE. ENDLOOP.

발상은 일단 함수로 BAPISDORDER.GETDETAILEDLIST는 판매 주문서의 항목 내역을 읽고 BAPIOUTB_DELIVERY_CREATE_SLS는 outbound delivery를 생성합니다.
Outbound Delivery 80000205가 성공적으로 작성되었음을 나타내는 리포트를 실행합니다.
트랜잭션 코드 VL03N을 사용하여 보려면 다음과 같이 하십시오.
Jerry의 오리지널 기사를 보려면 공식 계정인 "왕쯔희"를 주목해 주십시오.

좋은 웹페이지 즐겨찾기