品目マスタ登録変更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. 10G client连接数据库

    tnsnames.ora文件中的名字一定要顶格写(前面不留空格),不然连接时会如下报错. 已使用的参数文件:F:\oracle\product\10.2.0\client_1\network\admi ...

  2. 阿里云 CentOS 镜像和 EPEL 源

    配置阿里云网络yum源 阿里云镜像源地址http://mirrors.aliyun.com/ 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.re ...

  3. 链表回文判断(基于链表反转)—Java实现

    学习数据结构的时候遇到一个经典的回文链表问题 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构. 如果有链表反转的基础,实现链表回文判断就简单的多,如 ...

  4. mvvm模型

  5. 【php】获取ip

    addBoard.php中获取到ip $ip=$_SERVER['REMOTE_ADDR']; 通过ajax采取POST方式发送到服务器 $("#submit").on(" ...

  6. WiFi密码忘记了怎么办之解决方案

    随着科技不断进步,网络产品也越来越便宜了.家家户户基本上都有能力装上宽带. 但是有的时候,时间久了,我们可能会忘记密码(密码设置比较复杂的情况下).那么如何找到密码呢? 通常的办法有很多,百度或者Go ...

  7. PHP去重可用

    //国外 $arr6 = array_merge($arr2,$arr4); $arr8 = array(); $arr10 = array(); foreach($arr6 as $k6=> ...

  8. PAT——1055. 集体照

    拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任何人矮: 每排中最高者站中间(中间位置为m ...

  9. 配置tomcat的用户名和密码

    <role rolename="manager-gui"/> <role rolename="manager-script"/> < ...

  10. 【问题解决】增加https后 phpcms 分页错误

    https://m.cnbuses.com/m.cnbuses.com/index.php?page=2查看分页方法 function pages()中有个pageurl 查看该方法,发现有类似htt ...