スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

出荷伝票登録BAPI (受注参照出荷)

BAPI_OUTB_DELIVERY_CREATE_SLS

概要

受注伝票を参照して出荷伝票を新規登録するBAPIです。パラメータ数が少なく、設定できる項目が非常に限られているため、純粋に受注から出荷伝票を作成するという用途がメインになります。

尚、在庫転送用の発注参照出荷や参照なし出荷の登録は別のBAPIを利用します。

パラメータ

出荷ポイントや期日などの出荷伝票登録画面(VL01N)の抽出条件項目と参照元の受注明細、シリアル番号のパラメータで構成されています。

保管場所やロットなどの基本的な項目をパラメータから設定することができないため、これらの項目を出荷伝票に設定するには、事前に受注伝票で設定しておくか、出荷伝票登録後に変更画面で入力するかになります。
パラメータ一覧
種別パラメータ説明
インポートSHIP_POINT出荷ポイント
DUE_DATE期日
DEBUG_FLGデバッグフラグ
NO_DEQUEUEデキューしない
エクスポートDELIVERY出荷伝票番号
NUM_DELIVERIES出荷伝票数
テーブルSALES_ORDER_ITEMS受注明細
SERIAL_NUMBERSシリアル番号
EXTENSION_IN拡張
DELIVERIES出荷伝票一覧
CREATED_ITEMS登録明細
EXTENSION_OUT拡張
RETURNリターンテーブル

参照元受注明細のパラメータを設定する

受注明細(SALES_ORDER_ITEMS)には、参照元の受注の参照伝票、参照明細、出荷数量実績を設定します。受注の全明細を参照して出荷伝票を作成する場合は参照明細(REF_ITEM)の項目はブランクにして参照伝票(REF_DOC)のみ設定したレコードをパラメータに設定します。

出荷数量実績(販売単位)の項目を未設定にすると、受注明細の全数量が出荷伝票にコピーされます。受注明細の一部数量を出荷したい場合は、出荷数量実績(販売単位)の項目に値を設定します。
設定例:SALES_ORDER_ITEMS (全受注明細を出荷)
項目項目名称設定値
REF_DOC参照伝票0000001234
REF_ITEM参照明細
DLV_QTY出荷数量実績(販売単位)
設定例:SALES_ORDER_ITEMS (指定明細を出荷)
項目項目名称設定値設定値
REF_DOC参照伝票00000012340000001234
REF_ITEM参照明細000010000020
DLV_QTY出荷数量実績(販売単位)53

シリアル番号のパラメータを設定する

シリアル番号管理の品目の場合には、シリアル番号(SERIAL_NUMBERS)に参照伝票、参照明細、シリアル番号を設定することができます。
設定例:SERIAL_NUMBERS
項目項目名称設定値設定値設定値
REF_DOC参照伝票000000123400000012340000001234
REF_ITEM参照明細000010000010000010
SERIALNOシリアル番号SN000001SN000002SN000003

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。出荷登録のBAPIの内部ではコミットされないため、正常終了時は明示的にコミットを実行する必要があります。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LS_SALES_ORDER_ITEMS    TYPE BAPIDLVREFTOSALESORDER,
      LT_SALES_ORDER_ITEMS    TYPE TABLE OF BAPIDLVREFTOSALESORDER,
      LT_SERIAL_NUMBERS       TYPE TABLE OF BAPIDLVSERIALNUMBER,
      LV_DELIVERY             TYPE BAPISHPDELIVNUMB-DELIV_NUMB,
      LT_RETURN               TYPE TABLE OF BAPIRET2.

* パラメータに値を設定する
LS_SALES_ORDER_ITEMS-REF_DOC  = '0000001234'. " 参照伝票
LS_SALES_ORDER_ITEMS-REF_ITEM = '000010'.     " 参照明細

*             :
*          (以下略)

CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
  EXPORTING
    DELIVERY             = LV_DELIVERY
  TABLES
    SALES_ORDER_ITEMS    = LT_SALES_ORDER_ITEMS
    SERIAL_NUMBERS       = LT_SERIAL_NUMBERS
    RETURN               = LT_RETURN
  .
* エラーメッセージの取得
READ TABLE LT_RETURN WITH KEY TYPE = 'E'.

* エラーメッセージがない場合
IF SY-SUBRC <> 0.
  COMMIT WORK AND WAIT.
ELSE.
  ROLLBACK WORK.
ENDIF.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

2017年:ブログをリニューアルしました。(旧Zの高速道路)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。