BAPI_MATERIAL_SAVEREPLICA品目マスタデータの一括更新
BAPI_MATERIAL_SAVEDATA単一更新(たとえば、保管場所は工場および保管場所によっても更新されます)
品目にすでに原価があり、その品目の価格を維持する場合、エラーM8 155が報告されます。「標準原価は2016年12月の期間に存在すると推定されます」。これは、原価をmm02で維持できないことを意味します。そしてmr21で維持する必要があります。
BAPI_OBJCL_CREATEを使用して分類ビューを作成します
ユーザー名を書き込みたい場合は、sy-unameを変更します。ユーザーがsapに存在しない場合は、ユーザーも書き込むことができます。
デモ
関数zwm_xxx_material_update。
* "------------------------------------------------ ----------------------
* "*"ローカルインターフェース:
* "インポート
* "VALUE(IV_MATNR)TYPE MATNR
* "エクスポート
* "VALUE(RTYPE)TYPE BAPI_MTYPE
* "VALUE(RTMSG)TYPE BAPI_MSG
* "テーブル
* "T_DATA STRUCTURE ZWM_S_XXX_MATERIAL_UPDATE
* "------------------------------------------------ ----------------------
zfmparavalsave1'ZWM_XXX_MATERIAL_UPDATE '。
zfmparavalsave2'B '。
iv_matnrを変更してfrm_matn1_inputを実行します。
テーブルt_dataインデックス1を読み取ります。
データls_headdataタイプbapimathead。
データls_clientdataタイプbapi_mara。
データls_clientdataxタイプbapi_marax。
データls_warehousenumberdataタイプbapi_mlgn。
データls_warehousenumberdataxタイプbapi_mlgnx。
データls_returnタイプbapiret2。
データlt_unitsofmeasureタイプbapi_marmの標準テーブルとヘッダー行。
datalt_unitsofmeasurexタイプのbapi_marmxの標準テーブルとヘッダー行。
data lt_returnmessagesは、ヘッダー行を含むbapi_matreturn2の標準テーブルを入力します。
ls_headdata-material = iv_matnr。
ls_clientdata-size_dim = t_data-groes。「サイズ/寸法
ls_clientdata-net_weight = t_data-ntgew。"正味重量
ls_clientdatax-size_dim = 'X'。
ls_clientdatax-net_weight = 'X'。
単一の枝角を選択、gewei
@data(ls_mara)に
マラから
ここで、matnr = @ iv_matnrです。
lt_unitsofmeasure-alt_unit = ls_mara-meins。
lt_unitsofmeasure-gross_wt = t_data-brgew。"総重量
lt_unitsofmeasureを追加します。
lt_unitsofmeasurex-alt_unit = ls_mara-meins。
lt_unitsofmeasurex-gross_wt = 'X'。
lt_unitsofmeasurexを追加します。
ls_warehousenumberdata-whse_no = t_data-lgnum。「倉庫番号/倉庫コンプレックス
ls_warehousenumberdata-placement = t_data-ltkze。"在庫配置の保管域タイプ区分
ls_warehousenumberdata-withdrawal = t_data-ltkza。"在庫削除用の保管域タイプ区分
ls_warehousenumberdatax-whse_no = t_data-lgnum。
ls_warehousenumberdatax-placement = 'X'。
ls_warehousenumberdatax-withdrawal = 'X'。
関数 'BAPI_MATERIAL_SAVEDATA'を呼び出す
エクスポート
headdata = ls_headdata
clientdata = ls_clientdata
clientdatax = ls_clientdatax
Warehousenumberdata = ls_warehousenumberdata
Warehousenumberdatax = ls_warehousenumberdatax
インポート
return = ls_return
テーブル
unitsofmeasure = lt_unitsofmeasure
unitsofmeasurex = lt_unitsofmeasurex
returnmessages = lt_returnmessages。
ls_return-type = 'A'またはls_return-type = 'E'またはls_return-type = 'X'の場合。
関数 'BAPI_TRANSACTION_ROLLBACK'を呼び出します。
lt_returnmessagesでループします。タイプはca'AEX 'です。
rtype = 'E'。
メッセージIDlt_returnmessages-IDタイプlt_returnmessages-タイプ番号lt_returnmessages-番号
lt_returnmessages-message_v1を使用lt_returnmessages-message_v2
lt_returnmessages-message_v3lt_returnmessages-message_v4
data(lv_msg)に。
rtmsg = rtmsg && lv_msg && ';'。
エンドループ。
そうしないと。
rtype = 'S'。
rtmsg = '成功'。
endif。
zfmparavalsave2'R '。
エンドファンクション。