0

BAPI_SALESORDER_GETLISTと という名前の3 つの bapi がBAPI_SALESORDER_GETSTATUSありBAPI_SALESORDER_GETDETAILBOSます。

  1. 最初の bapi では、顧客番号と販売組織を入力として入力し、販売ドキュメント番号 (SD_DOC) と from_Date を取得する必要があります。

  2. 最初の BAPI から取得されたこの販売伝票番号 (SD_Doc) は、BAPI_SALESORDER_GETSTATUSデータを取得するために指定された他の bapi への入力として提供される必要があります。

  3. BAPI_SALESORDER_GETDETAILBOSまた、特定のデータを取得するために、同じ販売伝票番号を 3 番目の BAPI に入力する必要があります。

私の知る限り、私は bapi を使用していくつかの作業を行い、これまで作成したサービスで、SAP GATEWAY CLIENT の URI への入力として顧客番号のみを指定しました

例えば:

/sap/opu/odata/sap/ZOPENSALESORDER_SRV/openSalesOrderSet?$filter=Customerno eq '1'

誰かがこれに関して助けてくれるなら、とても感謝しています。

4

1 に答える 1

0

まず最初に、データを取得した 3 つの bapi があることをお伝えしたいと思います。

  1. 最初の Bapi では、顧客番号 (KUNNR) と販売組織 (VKORG) を入力し、販売ドキュメント番号を出力として取得します。
    1. この販売伝票番号は、他の関連データを取得するために、次の bapi BAPI_SALESORDER_GETSTATUS に与えられます。
    2. そして、同じ販売伝票番号が 3 番目の bapi BAPI_SALESORDER_GETDETAILBOS にも与えられます。

最初に手順を説明します

  • Import パラメータに入力パラメータを指定します。私のシナリオでは、kunnr と vkorg があります。画像はここをクリック1

    • 次に、標準の bapi のみを使用するため、内部テーブルは既に作成されています。表のセクションにあなたのバピの名前を書いてください

    • 次に、ソース セクションでコーディングを開始します。

    ここにコードを入力してください

    データ: "lt_bapiorders bapiorders のタイプ テーブル、lt_statusinfo bapisdstat のタイプ テーブル、lt_orderitem bapisditbos のタイプ テーブル、lt_orderscheduleline bapisdhedu のタイプ テーブル。

    FIELD-SYMBOLS: <lfs_order> TYPE bapiorders,
                   <lfs_statinfo> TYPE bapisdstat,
                   <lfs_orderitem> TYPE bapisditbos,
                   <lfs_orderscheduleline> TYPE bapisdhedu.
    
    "Fecth all the sales order for a customer
    CALL FUNCTION 'BAPI_SALESORDER_GETLIST'
      EXPORTING
        customer_number             = kunnr
        sales_organization          = vkorg
      TABLES
        sales_orders                = order.
    
    "Get status for the sales order
    LOOP AT order ASSIGNING <lfs_order> .
      IF <lfs_order> IS ASSIGNED.
      WRITE:/ <lfs_order>-sd_doc.
    
          "This function call is for getting the status of the
          "Sales document number derived from the BAPI_SALESORDER_GETLIST
            CALL FUNCTION 'BAPI_SALESORDER_GETSTATUS'
              EXPORTING
                salesdocument       = <lfs_order>-sd_doc
             TABLES
               statusinfo          = lt_statusinfo.
    
          APPEND LINES OF lt_statusinfo TO statusinfo_lt.
          "Read Processing and delivery Status
          READ TABLE lt_statusinfo ASSIGNING <lfs_statinfo> INDEX 1.
          IF sy-subrc EQ 0.
          WRITE: / 'Delivery Status', <lfs_statinfo>-dlv_stat_h,
                   'Required Date', <lfs_statinfo>-req_date_h,
                   'Delivery Number',<lfs_statinfo>-deliv_numb,
                   'Delivery Date',<lfs_statinfo>-deliv_date.
          ENDIF.
    
          CALL FUNCTION 'BAPI_SALESORDER_GETDETAILBOS'
            EXPORTING
              salesdocument            = <lfs_order>-sd_doc
    
           TABLES
    
             orderitems               = lt_orderitem
             orderschedulelines       = lt_orderscheduleline.
    APPEND LINES OF lt_orderitem to orderitem.
          "Read Processing and delivery Details
          READ TABLE lt_orderitem ASSIGNING <lfs_orderitem> INDEX 1.
          IF sy-subrc EQ 0.
          WRITE: / 'Material', <lfs_orderitem>-material,
                   'Plant', <lfs_orderitem>-plant,
                   'Short-text',<lfs_orderitem>-short_text,
                   'Req_qty',<lfs_orderitem>-req_qty,
                   'doc_number',<lfs_orderitem>-doc_number.
          ENDIF.
    
    APPEND LINES OF lt_orderscheduleline to orderscheduleline.
          "Read processing and delivery details -goods issue time
          READ TABLE orderscheduleline ASSIGNING <lfs_orderscheduleline> INDEX 1.
          IF sy-subrc EQ 0.
          WRITE: / 'Goods Issue Date', <lfs_orderscheduleline>-gi_date.
          ENDIF.
                    .
    
    
      ENDIF.
    ENDLOOP.
    

次に、それを実行します。

于 2016-09-19T05:52:51.133 に答える