品目マスタデータを更新します

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 '。

 

エンドファンクション。

 

 

おすすめ

転載: blog.csdn.net/cylcylcylcylwo/article/details/114078035