スポンサーサイト

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

利用在庫確認BAPI

BAPI_MATERIAL_AVAILABILITY

概要

指定した品目について在庫の有無や利用可能時期などを取得するBAPIです。受注在庫やプロジェクト在庫などの特殊在庫の在庫確認もすることが可能です。

パラメータ

プラント、品目コードが主なパラメータです。ロットや保管場所、特殊在庫の場合はWBS要素や受注明細番号も設定できます。
パラメータ一覧
種別パラメータ説明
インポートPLANTプラント
MATERIAL品目コード
UNIT表示数量単位
CHECK_RULE確認規則
STGE_LOC保管場所
BATCHロット
CUSTOMER得意先コード
DOC_NUMBER伝票番号
ITM_NUMBER明細番号
WBS_ELEMWBS要素
STOCK_IND特殊在庫区分
DEC_FOR_ROUDING小数点位置(その位置で丸める)
DEC_FOR_ROUDING_X関連ユーザデータ項目の更新情報
READ_ATP_LOCK管理区分: 利用可能在庫確認
READ_ATP_LOCK_X関連ユーザデータ項目の更新情報
MATERIAL_EVG
エクスポートENDLEADTME補充リードタイムの終了日付
AV_QTY_PLTプラントレベル利用可能数量
DIALOGFLAG区分(X = 利用不可 / N = 確認なし)
RETURNリターンパラメータ
テーブルWMDVSX入力テーブル(日付/数量)
WMDVEX出力テーブル(日付およびATP数量)

インポートパラメータを設定する

品目コード、プラント、表示数量単位は必須です。ロットや保管場所を指定することで限定した在庫確認をすることができます。どの範囲まで在庫計算に含めるかの確認規則にはA(受注)、B(出荷)などを指定可能です。
設定例:インポート
項目項目名称設定値
PLANTプラント1000
MATERIAL品目コードMAT0001
UNIT表示数量単位KG
CHECK_RULE確認規則A
STGE_LOC保管場所S001
BATCHロットBAT0001

日付/数量のパラメータを設定する

入力テーブル(WMDVSX)には、在庫確認をする所要日付と所要量を設定することができます。このパラメータを設定しない場合、実行日時点の利用可能な在庫数量が取得されます。
設定例:WMDVSX
項目項目名称設定値
REQ_DATE所要日付2015/06/01
REQ_QTY所要量10
DELKZMRP要素区分
Y_LINE内部テーブル行索引

在庫確認結果

在庫確認結果はエクスポートパラメータのDAILOGFLAGに設定されます。スペースの場合は利用可能在庫ありで、「X」の場合は利用可能在庫なしです。保管場所レベルで在庫確認した場合でもAV_QTY_PLTにはプラントレベルの在庫数量が参考値として設定されます。

出力テーブル(WMDVEX)には在庫確認結果が設定されます。確認日と確認数量に在庫確認の結果が設定されます。
設定例:エクスポートパラメータ
項目項目名称設定値
AV_QTY_PLTプラントレベル利用可能数量5
DIALOGFLAG区分(X = 利用不可 / N = 確認なし)X
設定例:WMDVEX
項目項目名称設定値
REQ_DATE所要日付2015/06/01
REQ_QTY所要量10
COM_DATE確認日2015/06/01
COM_QTY確認数量5

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードがあるかどうかで判定をします。
DATA: LV_PLANT      TYPE BAPIMATVP-WERKS,
      LV_MATERIAL   TYPE BAPIMATVP-MATNR,
      LV_UNIT       TYPE BAPIADMM-UNIT,
      LV_STGE_LOC   TYPE BAPICM61V-LGORT,
      LV_DAILOGFLAG TYPE BAPICM61V-DIAFL,
      LT_WMDVSX     TYPE TABLE OF BAPIWMDVS,
      LT_WMDVEX     TYPE TABLE OF BAPIWMDVE,
      LS_RETURN     TYPE BAPIRETURN.

* パラメータに値を設定する
LV_PLANT    = '1000'.     " プラント
LV_MATERIAL = 'MAT001'. " 品目コード
LV_STGE_LOC = 'S001'.   " 保管場所
*             :
*          (以下略)

CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
  EXPORTING
    PLANT      = LV_PLANT
    MATERIAL   = LV_MATERIAL
    UNIT       = LV_UNIT
    STGE_LOC   = LV_STGE_LOC
  IMPORTING
    DAILOGFLAG = LV_DAILOGFLAG
    RETURN     = LS_RETURN
  TABLES
    WMDVSX     = LT_WMDVSX
    WMDVEX     = LT_WMDVEX
  .

* エラーメッセージがない場合
IF LS_RETURN-TYPE <> 'E'.
  " 正常処理.
ELSE.
  " エラー処理.
ENDIF.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

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