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 ...
随机推荐
- 10G client连接数据库
tnsnames.ora文件中的名字一定要顶格写(前面不留空格),不然连接时会如下报错. 已使用的参数文件:F:\oracle\product\10.2.0\client_1\network\admi ...
- 阿里云 CentOS 镜像和 EPEL 源
配置阿里云网络yum源 阿里云镜像源地址http://mirrors.aliyun.com/ 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.re ...
- 链表回文判断(基于链表反转)—Java实现
学习数据结构的时候遇到一个经典的回文链表问题 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构. 如果有链表反转的基础,实现链表回文判断就简单的多,如 ...
- mvvm模型
- 【php】获取ip
addBoard.php中获取到ip $ip=$_SERVER['REMOTE_ADDR']; 通过ajax采取POST方式发送到服务器 $("#submit").on(" ...
- WiFi密码忘记了怎么办之解决方案
随着科技不断进步,网络产品也越来越便宜了.家家户户基本上都有能力装上宽带. 但是有的时候,时间久了,我们可能会忘记密码(密码设置比较复杂的情况下).那么如何找到密码呢? 通常的办法有很多,百度或者Go ...
- PHP去重可用
//国外 $arr6 = array_merge($arr2,$arr4); $arr8 = array(); $arr10 = array(); foreach($arr6 as $k6=> ...
- PAT——1055. 集体照
拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任何人矮: 每排中最高者站中间(中间位置为m ...
- 配置tomcat的用户名和密码
<role rolename="manager-gui"/> <role rolename="manager-script"/> < ...
- 【问题解决】增加https后 phpcms 分页错误
https://m.cnbuses.com/m.cnbuses.com/index.php?page=2查看分页方法 function pages()中有个pageurl 查看该方法,发现有类似htt ...