スポンサーサイト

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

品目マスタ登録変更BAPI

BAPI_MATERIAL_SAVEDATA

概要

品目マスタを登録または変更するBAPIです。品目マスタのビューの拡張も行うことができます。

BAPIでは品目マスタ登録画面(MM01)のような入力チェックがかからないため、品目コードが番号範囲外であったり必須項目が未入力でも品目マスタを登録することができます。

パラメータ

品目マスタのデータ構成に近い形でBAPIのパラメータも定義されています。
(クライアントデータ、プラントデータ、販売データ、会計データなど)

パラメータは非常に多いですが、品目マスタ登録画面(MM01)のように品目を登録するビューをHEADDATAパラメータで選択することができます。ここで選択した品目マスタのビューのみパラメータを設定する必要があります。

また、指定したビューに対して全ての項目を設定する必要はなく、更新する項目を指定するチェックボックスパラメータあります。チェックボックスパラメータはパラメータの名称の最後が「X」になっています。
パラメータ一覧
種別パラメータ説明
インポートSALESDOCUMENTIN販売管理伝票番号
HEADDATAヘッダセグメントと管理情報
CLIENTDATAクライアント依存の品目データ
CLIENTDATAXCLIENTDATAの更新情報
PLANTDATAプラント固有品目データ
PLANTDATAXPLANTDATAの更新情報
FORECASTPARAMETERS需要予測パラメータ
FORECASTPARAMETERSXFORECASTDATAの更新情報
STORAGELOCATIONDATA保管場所固有品目データ
STORAGELOCATIONDATAXSTORAGELOCATIONDATAの更新情報
VALUATIONDATA評価データ
VALUATIONDATAXVALUATIONDATAの更新情報
WAREHOUSENUMBERDATA倉庫番号固有品目データ
WAREHOUSENUMBERDATAXWAREHOUSEDATAの更新情報
SALESDATA販売データ
SALESDATAXSALESDATAの更新情報
STORAGETYPEDATA保管域タイプ固有品目データ
STORAGETYPEDATAXSTORAGETYPEDATAの更新情報
FLAG_ONLINEALE 項目選択なし
FLAG_CAD_CALLCADシステムからコール
NO_DEQUEUEDynpro, ユーザエントリ照会
NO_ROLLBACK_WORKエラー発生時のロールバック無効
エクスポートRETURNリターンパラメータ
テーブルMATERIALDESCRIPTION品目テキスト
UNITSOFMEASURE数量単位
UNITSOFMEASUREXUNITOFMEASUREの更新情報
INTERNATIONALARTNOS国際商品コード(EAN)
MATERIALLONGTEXTテキスト(長)
TAXCLASSIFICATIONS税分類
RETURNMESSAGES全メッセージ
PRTDATA品目マスタの生産資源/治工具(PRT)項目
PRTDATAXPRTDATAXの更新情報
EXTENSIONINBAPIパラメータのEXTENTIONIN / EXTENSIONOUTの参照構造
EXTENSIONINXBAPIパラメータのEXTENTIONIN / EXTENSIONOUTの参照構造

ヘッダと管理情報のパラメータを設定する

ヘッダセグメントと管理情報(HEADDATA)には、品目コード、産業コード、品目タイプと品目マスタのビューを指定します。登録または拡張するビューの項目には「X」を設定します。
設定例:HEADDATA
項目項目名称設定値
MATERIAL品目コードMAT0001
IND_SECTOR産業コードP
MATL_TYPE品目タイプHAWA
BASIC_VIEW基本データビューX
SALES_VIEW販売ビューX
PURCHASE_VIEW購買管理ビューX
ACCOUNT_VIEW会計ビューX

基本データビューのパラメータを設定する

クライアント依存の品目データ(CLIENTDATA)には品目グループ、基本数量単位などを設定します。対となるチェックボックスパラメータとしてCLIENTDATAの更新情報(CLIENTDATAX)があります。更新する項目には「X」を設定します。
設定例:CLIENTDATA
項目項目名称設定値
MATL_GROUP品目グループ0001
BASE_UOM基本数量単位ST
NET_WEIGHT正味重量1
UNIT_OF_WT重量単位KG
TRANS_GRP輸送グループ0001
ITEM_CAT一般明細カテゴリグループNORM
設定例:CLIENTDATAX
項目項目名称設定値
MATL_GROUP品目グループX
BASE_UOM基本数量単位X
NET_WEIGHT正味重量X
UNIT_OF_WT重量単位X
TRANS_GRP輸送グループX
ITEM_CAT一般明細カテゴリグループX

他のビューのパラメータを設定する

プラント固有品目データ(PLANTDATA)には、プラント、購買グループなどを設定します。対となるパラメータとしてPLANTDATAの更新情報(PLANTDATAX)があります。

販売データ(SALESDATA)には、販売組織、流通チャネル、販売単位などを設定します。対となるパラメータとしてSALESDATAの更新情報(SALESDATAX)があります。

評価データ(VALUATIONDATA)には、評価エリア、原価、評価クラスなどを設定します。対となるパラメータとしてVALUATIONDATAの更新情報(VALUATIONDATAX)があります。
設定例:PLANTDATA
項目項目名称設定値
PLANTプラント1000
PUR_GROUP購買グループ001
LOADINGGRP積載グループ0001
設定例:PLANTDATAX
項目項目名称設定値
PLANTプラント1000
PUR_GROUP購買グループX
LOADINGGRP積載グループX
設定例:SALESDATA
項目項目名称設定値
SALES_ORG販売組織1000
DISTR_CHAN流通チャネル00
SALES_UNIT販売単位ST
ITEM_CAT明細カテゴリグループNORM
設定例:SALESDATAX
項目項目名称設定値
SALES_ORG販売組織1000
DISTR_CHAN流通チャネル00
SALES_UNIT販売単位X
ITEM_CAT明細カテゴリグループX
設定例:VALUATIONDATA
項目項目名称設定値
VAL_AREA評価レベル1000
PRICE_CTRL原価管理区分V
VAL_CLASS評価クラス3100
設定例:VALUATIONDATAX
項目項目名称設定値
VAL_AREA評価レベル1000
PRICE_CTRL原価管理区分X
VAL_CLASS評価クラスX

品目テキスト、税のパラメータを設定する

品目テキスト(MATERIALDESCRIPTION)に言語別の品目テキスト設定します。
税データ(TAXCLASSIFICATIONS)には販売管理用の品目税分類を国別に設定します。
設定例:MATERIALDESCRIPTION
項目項目名称設定値
LANGU言語J
MATL_DESC品目テキスト品目A
設定例:TAXCLASSIFICATIONS
項目項目名称設定値
DEPCOUNTRY税出荷国JP
TAX_TYPE_1税カテゴリ1MWST
TAXCLASS_1税分類11

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。品目マスタ登録のBAPIの内部ではコミットされるため、正常終了時はロールバックすることができません。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNMESSAGESパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LS_HEADDATA             TYPE BAPISMATHEAD,
      LS_CLIENTDATA           TYPE BAPI_MARA,
      LS_CLIENTDATAX          TYPE BAPI_MARAX,
      LS_PLANTDATA            TYPE BAPI_MARC,
      LS_PLANTDATAX           TYPE BAPI_MARCX,
      LS_SALESDATA            TYPE BAPI_MVKE,
      LS_SALESDATAX           TYPE BAPI_MBEW,
      LS_VALUATIONDATA        TYPE BAPI_MARA,
      LS_VALUATIONDATAX       TYPE BAPI_MBEWX,
      LS_RETURN               TYPE BAPIRET2,
      LT_MATERIALDESCRIPTION  TYPE TABLE OF BAPI_MAKT,
      LT_TAXCLASSIFICATIONS   TYPE TABLE OF BAPI_MLAN,
      LT_RETURNMESSAGES       TYPE TABLE OF BAPI_MATRETURN2.

* パラメータに値を設定する
LS_HEADDATA-MATERIAL   = 'MAT0001'. " 品目コード
LS_HEADDATA-IND_SECTOR = 'P'.       " 産業コード
LS_HEADDATA-MATL_TYPE  = 'HAWA'.    " 品目タイプ
LS_HEADDATA-BASIC_VIEW = 'X'.       " 基本データビュー
*             :
*          (以下略)

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    HEADDATA             = LS_HEADDATA
    CLIENTDATA           = LS_CLIENTDATA
    CLIENTDATAX          = LS_CLIENTDATAX
    PLANTDATA            = LS_PLANTDATA
    PLANTDATAX           = LS_PLANTDATAX
    SALESDATA            = LS_SALESDATA
    SALESDATAX           = LS_SALESDATAX
    VALUATIONDATA        = LS_VALUATIONDATA
    VALUATIONDATAX       = LS_VALUATIONDATAX
  IMPORTING
    RETURN               = LS_RETURN
  TABLES
    MATERIALDESCRIPTION  = LT_MATERIALDESCRIPTION
    TAXCLASSIFICATIONS   = LT_TAXCLASSIFICATIONS
    RETURNMESSAGES       = LT_RETURNMESSAGES
  .
* エラーメッセージの取得
READ TABLE LT_RETURNMESSAGES WITH KEY TYPE = 'E'.

* エラーメッセージがない場合
IF SY-SUBRC <> 0.
  " 正常処理.
ELSE.
  " エラー処理.
ENDIF.

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

このブログを気に入って頂いた方は、リンクを張っていただけると嬉しいです。

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