BAPI_MATERIAL_SAVEDATA
品目マスタ登録変更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」を設定します。
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| MATERIAL | 品目コード | MAT0001 |
| IND_SECTOR | 産業コード | P |
| MATL_TYPE | 品目タイプ | HAWA |
| BASIC_VIEW | 基本データビュー | X |
| SALES_VIEW | 販売ビュー | X |
| PURCHASE_VIEW | 購買管理ビュー | X |
| ACCOUNT_VIEW | 会計ビュー | X |
基本データビューのパラメータを設定する
クライアント依存の品目データ(CLIENTDATA)には品目グループ、基本数量単位などを設定します。対となるチェックボックスパラメータとしてCLIENTDATAの更新情報(CLIENTDATAX)があります。更新する項目には「X」を設定します。
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| MATL_GROUP | 品目グループ | 0001 |
| BASE_UOM | 基本数量単位 | ST |
| NET_WEIGHT | 正味重量 | 1 |
| UNIT_OF_WT | 重量単位 | KG |
| TRANS_GRP | 輸送グループ | 0001 |
| ITEM_CAT | 一般明細カテゴリグループ | NORM |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| 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)があります。
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| PLANT | プラント | 1000 |
| PUR_GROUP | 購買グループ | 001 |
| LOADINGGRP | 積載グループ | 0001 |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| PLANT | プラント | 1000 |
| PUR_GROUP | 購買グループ | X |
| LOADINGGRP | 積載グループ | X |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| SALES_ORG | 販売組織 | 1000 |
| DISTR_CHAN | 流通チャネル | 00 |
| SALES_UNIT | 販売単位 | ST |
| ITEM_CAT | 明細カテゴリグループ | NORM |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| SALES_ORG | 販売組織 | 1000 |
| DISTR_CHAN | 流通チャネル | 00 |
| SALES_UNIT | 販売単位 | X |
| ITEM_CAT | 明細カテゴリグループ | X |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| VAL_AREA | 評価レベル | 1000 |
| PRICE_CTRL | 原価管理区分 | V |
| VAL_CLASS | 評価クラス | 3100 |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| VAL_AREA | 評価レベル | 1000 |
| PRICE_CTRL | 原価管理区分 | X |
| VAL_CLASS | 評価クラス | X |
品目テキスト、税のパラメータを設定する
品目テキスト(MATERIALDESCRIPTION)に言語別の品目テキスト設定します。
税データ(TAXCLASSIFICATIONS)には販売管理用の品目税分類を国別に設定します。
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| LANGU | 言語 | J |
| MATL_DESC | 品目テキスト | 品目A |
| 項目 | 項目名称 | 設定値 |
|---|---|---|
| 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的更多相关文章
- 复制物料(参考的MMCC想法)
MMCC这个事务码没用过,也是才听到的,都是业务搞起来的...然后感觉这个东西有点意思,就搞搞咯 网上找的一篇文章,自己修改的.改了默认收货工厂为创建时的工厂,因为这边一直报收货工厂必输...不管是不 ...
- [SAP ABAP开发技术总结]业务对象和BAPI
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- SAP BAPI一览 史上最全
全BADI一览 List of BAPI's BAPI WG Component Function module name Description Description Obj. Ty ...
- 登録更新(BAPI)
購買管理(MM) * [BAPI_REQUISITION_CREATE] 購買依頼登録 * [BAPI_REQUISITION_CHANGE] 購買依頼変更 * [BAPI_REQUISITION_D ...
- BAPI: TRANSACTION_BEGIN的作用
大概知道是启动一个新会话, CALL FUNCTION 'TRANSACTION_BEGIN' 业务数据处理, CALL FUNCTION 'TRANSACTION_END' 详细功能不清楚. CLE ...
- BAPI LIST
[转自 http://blog.csdn.net/minsenwu/article/details/8432081] 库存管理BAPI 库存: 1. BAPI_MATERIAL_AVAILABILIT ...
- SAP 各模块常用的BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- 常用BAPI list
2017-03-25 MD 主数据 1.创建物料主数据 CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' 2.创建供应商 CALL METHOD VMD_EI_API=&g ...
随机推荐
- C# Razor 小笔记和某些细节
知识小结:C# 的主要 Razor 语法规则 单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格. //不能有空格 ...
- Jquery 获取Checkbox值,prop 和 attr 函数区别
总结: 版本 1.6 1.6 1.4 1.4 函数 勾选 取消勾选 勾选 取消勾选 attr('checked') checked undefined true false .prop('checke ...
- Qt中限制IP输入的正则表达式:
这个例子中,是使用QLineEdit加入正则表达式来实现ip地址的输入功能的,不符合规范的数据将不能输入: QRegExp regExpIP("((25[0-5]|2[0-4][0-9]|1 ...
- ZT Linux系统环境下的Socket编程详细解析
Linux系统环境下的Socket编程详细解析 来自: http://blog.163.com/jiangh_1982/blog/static/121950520082881457775/ 什么是So ...
- [EffectiveC++]item06:若不想使用编译器自动生成的函数,就该明确决绝
- [原]Ubuntu 下安装apache+PHP
1.安装apache2 sudo apt-get install apache2 运行如下命令重启:sudo /etc/init.d/apache2 restart 在浏览器里输入http://loc ...
- Join的加强版CountDownLatch
CountDownLatch允许一个或多个线程等待其他线程完成操作. 假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据, ...
- java内部类之成员内部类之匿名内部类
匿名内部类特点:1.匿名内部类是没有名称的内部类,没办法引用它们.必须在创建时,作为new语句的一部分来声明并创建它们的实例.2.匿名内部类必须继承一个类(抽象的.非抽象的都可以)或者实现一个接口.如 ...
- Java虚拟机10:Client模式和Server模式的区别
部分商用虚拟机中,Java程序最初是通过解释器对.class文件进行解释执行的,当虚拟机发现某个方法或代码块运行地特别频繁的时候,就会把这些代码认定为热点代码Hot Spot Code(这也是我们使用 ...
- 排序算法Java版,以及各自的复杂度,以及由堆排序产生的top K问题
常用的排序算法包括: 冒泡排序:每次在无序队列里将相邻两个数依次进行比较,将小数调换到前面, 逐次比较,直至将最大的数移到最后.最将剩下的N-1个数继续比较,将次大数移至倒数第二.依此规律,直至比较结 ...