品目マスタ登録変更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. 数据链路层 点对点协议 PPP

    点对点协议 PPP 一. PPP 协议应满足的需求 简单.提供不可靠的数据报服务,比IP协议简单,不需要纠错,不需要序号,不需要流量控制. 工作方式:接收方每收到一个帧就进行CRC校验,如正确就接受该 ...

  2. ZT自老罗的博客 Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析

    Android系统的智能指针(轻量级指针.强指针和弱指针)的实现原理分析 分类: Android 2011-09-23 00:59 31568人阅读 评论(42) 收藏 举报 androidclass ...

  3. [原]外网访问用azure虚拟机搭建的网站

    1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...

  4. 关于eclipse没有js、xml代码提示的解决:下载一个插件

    1)eclipse打开帮助 2)Eclipse Marketplace,然后搜索AngularJS Eclipse 安装后重启就行了 xml的搜索Rinzo. 没有vpn,我的网络到达不了.

  5. echarts仪表盘配置参数

    require.config({ paths:{ echarts:"js/chart" } }); require([ 'echarts', 'echarts/chart/gaug ...

  6. 让IE6、7、8兼容@media属性

    通常做页面适配的时候,经常会用到@media属性,对不同屏幕范围内的元素设置不同的样式.但是@media属性不兼容IE8及IE8以下的浏览器 解决方法: 直接在页面中引入respond.src.js即 ...

  7. win10中显示资源管理器扩展

    一年前从有两台机器win7升级到win10,一台上装了我常用的资源管理器扩展setExBar,但另一台没有.升级后原来有插件的依然默认显示插件,我在另一台机器上安装了setExBar时默认不显示.如果 ...

  8. 随手练——洛谷-P1002 过河卒(动态规划入门)

    题目链接:https://www.luogu.org/problemnew/show/P1002 题目还算良心,提醒了结果可能很大,确实爆了int范围, 这是一开始写的版本,用递归做的,先给地图做标记 ...

  9. js中时间的操作

    var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1 ...

  10. python3之安装mysql问题

    python3是不能通过pip install mysql或pipinstall mysqldb这样的形式来安装mysql. 只能 pip install PyMySQL 至于如何在文件中引用? 答曰 ...