品目マスタ登録変更BAPI

概要

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

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

パラメータ


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

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

また、指定したビューに対して全ての項目を設定する必要はなく、更新する項目を指定するチェックボックスパラメータあります。チェックボックスパラメータはパラメータの名称の最後が「X」になっています。

パラメータ一覧
種別 パラメータ 説明
インポート SALESDOCUMENTIN 販売管理伝票番号
HEADDATA ヘッダセグメントと管理情報
CLIENTDATA クライアント依存の品目データ
CLIENTDATAX CLIENTDATAの更新情報
PLANTDATA プラント固有品目データ
PLANTDATAX PLANTDATAの更新情報
FORECASTPARAMETERS 需要予測パラメータ
FORECASTPARAMETERSX FORECASTDATAの更新情報
STORAGELOCATIONDATA 保管場所固有品目データ
STORAGELOCATIONDATAX STORAGELOCATIONDATAの更新情報
VALUATIONDATA 評価データ
VALUATIONDATAX VALUATIONDATAの更新情報
WAREHOUSENUMBERDATA 倉庫番号固有品目データ
WAREHOUSENUMBERDATAX WAREHOUSEDATAの更新情報
SALESDATA 販売データ
SALESDATAX SALESDATAの更新情報
STORAGETYPEDATA 保管域タイプ固有品目データ
STORAGETYPEDATAX STORAGETYPEDATAの更新情報
FLAG_ONLINE ALE 項目選択なし
FLAG_CAD_CALL CADシステムからコール
NO_DEQUEUE Dynpro, ユーザエントリ照会
NO_ROLLBACK_WORK エラー発生時のロールバック無効
エクスポート RETURN リターンパラメータ
テーブル MATERIALDESCRIPTION 品目テキスト
UNITSOFMEASURE 数量単位
UNITSOFMEASUREX UNITOFMEASUREの更新情報
INTERNATIONALARTNOS 国際商品コード(EAN)
MATERIALLONGTEXT テキスト(長)
TAXCLASSIFICATIONS 税分類
RETURNMESSAGES 全メッセージ
PRTDATA 品目マスタの生産資源/治工具(PRT)項目
PRTDATAX PRTDATAXの更新情報
EXTENSIONIN BAPIパラメータのEXTENTIONIN / EXTENSIONOUTの参照構造
EXTENSIONINX BAPIパラメータの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 税カテゴリ1 MWST
TAXCLASS_1 税分類1 1

サンプルコード

通常の汎用モジュールを実行するのと同様に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.

  

BAPI_MATERIAL_SAVEDATA的更多相关文章

  1. 复制物料(参考的MMCC想法)

    MMCC这个事务码没用过,也是才听到的,都是业务搞起来的...然后感觉这个东西有点意思,就搞搞咯 网上找的一篇文章,自己修改的.改了默认收货工厂为创建时的工厂,因为这边一直报收货工厂必输...不管是不 ...

  2. [SAP ABAP开发技术总结]业务对象和BAPI

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. BAPI

    MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...

  4. SAP BAPI一览 史上最全

    全BADI一览  List of BAPI's       BAPI WG Component Function module name Description Description Obj. Ty ...

  5. 登録更新(BAPI)

    購買管理(MM) * [BAPI_REQUISITION_CREATE] 購買依頼登録 * [BAPI_REQUISITION_CHANGE] 購買依頼変更 * [BAPI_REQUISITION_D ...

  6. BAPI: TRANSACTION_BEGIN的作用

    大概知道是启动一个新会话, CALL FUNCTION 'TRANSACTION_BEGIN' 业务数据处理, CALL FUNCTION 'TRANSACTION_END' 详细功能不清楚. CLE ...

  7. BAPI LIST

    [转自 http://blog.csdn.net/minsenwu/article/details/8432081] 库存管理BAPI 库存: 1. BAPI_MATERIAL_AVAILABILIT ...

  8. SAP 各模块常用的BAPI

    MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...

  9. 常用BAPI list

    2017-03-25 MD 主数据 1.创建物料主数据 CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' 2.创建供应商 CALL METHOD VMD_EI_API=&g ...

随机推荐

  1. August 02nd 2017 Week 31st Wednesday

    Love means never having to say you are sorry. 爱就是永远不必说对不起. If there is ture love, you will never do ...

  2. December 07th 2016 Week 50th Wednesday

    Life is a flower, and love is the honey of the flower. 人生是花儿,而爱情就是花的蜜. My life is not as beautiful a ...

  3. Io性能分析

    一.iostat使用说明 1.命令使用方法 使用ixstat –x 1 可以每隔1秒钟采集所有设备的io信息.其中的1类似于使用“vmstat  1”后面的1. 2.命令格式说明 ―――――――――― ...

  4. c++抽象类,纯虚函数

  5. [HEOI2012]朋友圈

    题目 我们发现我们要求的是一个最大团问题,众所周知这是一个\(NP\)难问题,除了爆搜没有什么别的方法,但是这道题我们可以根据图的特殊性质入手 我们如果把\(B\)国的人分成奇数和偶数两类,就会发现奇 ...

  6. [19/04/20-星期六] Java的动态性_字节码操作(Javassist类库(jar包),assist:帮助、援助)

    一.概念 [基本] /** * */ package cn.sxt.jvm; import javassist.ClassPool; import javassist.CtClass; import ...

  7. 基于物理文件的HBase备份还原

    前提说明: 1.HBase数据分表,所以备份的粒度是表. 2.备份的内容为Azure的Blob存储. HBase Blob备份 备份时,需要先将表disable,以保持数据一致性. 备份的工具可以用A ...

  8. PAT——1060. 爱丁顿数

    英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E.据说爱丁顿自己的E等于87. 现给定某人N天的骑车距离,请你算出对应的爱 ...

  9. POJ 2299 Ultra-QuickSort 求逆序数 (归并或者数状数组)此题为树状数组入门题!!!

    Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 70674   Accepted: 26538 ...

  10. (转)解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误

    重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() "/usr ...