XK01サプライヤーの作成

vmd_ei_api => maintain_direct_input

 

*サプライヤーヘッダー

  ls_vendors-header-object_instance-lifnr = lv_vendor。 "ベンダー

  ls_vendors-header-object_task = 'M'。 "作成/変更

* 一般的なデータ

  ls_vendors-central_data-central-data-stceg = stceg。 "VAT登録番号

  ls_vendors-central_data-central-data-ktokk = '0001'。 "アカウントグループ

  ls_vendors-central_data-central-data-j_1kfrepre = j_1kfrepre。 "代表的な名前

  ls_vendors-central_data-central-datax-stceg = 'X'。 "VAT登録番号

  ls_vendors-central_data-central-datax-ktokk = 'X'。 "アカウントグループ

  ls_vendors-central_data-central-datax-j_1kfrepre = 'X'。 "代表的な名前

*電話

  ls_phone-contact-data-telephone = phone。

  ls_phoneをls_vendors-central_data-address-communication-phone-phoneに追加します。

  ls_phoneをクリアします。

* Eメール

  ls_smtp-contact-data-e_mail = smtp。

  ls_smtpをls_vendors-central_data-address-communication-smtp-smtpに追加します。

  ls_smtpをクリアします。

 

  ls_vendors-central_data-address-postal-data-name = name。

  ls_vendors-central_data-address-postal-data-name_2 = name。

  ls_vendors-central_data-address-postal-data-sort1 = sort1。 "プロパティ(SAPは検索アイテム1です)

  ls_vendors-central_data-address-postal-data-street = street。 "番地/番地

  ls_vendors-central_data-address-postal-data-postl_cod1 = postl_cod1。 "郵便番号

  ls_vendors-central_data-address-postal-data-city = city。「城市

  ls_vendors-central_data-address-postal-data-country = country。

  ls_vendors-central_data-address-postal-data-region = region。

  ls_vendors-central_data-address-postal-data-langu = '1'。"语言

  ls_vendors-central_data-address-postal-datax-name = 'X'。

  ls_vendors-central_data-address-postal-datax-name_2 = 'X'。

  ls_vendors-central_data-address-postal-datax-sort1 = 'X'。

  ls_vendors-central_data-address-postal-datax-street = 'X'。

  ls_vendors-central_data-address-postal-datax-postl_cod1 = 'X'。

  ls_vendors-central_data-address-postal-datax-city = 'X'。

  ls_vendors-central_data-address-postal-datax-country = 'X'。

  ls_vendors-central_data-address-postal-datax-region = 'X'。

  ls_vendors-central_data-address-postal-datax-langu = 'X'。

*組織データの購入

  ls_purchasing-task = 'M'。

  ls_purchasing-data_key-ekorg = '1000'。

  ls_purchasing-data-values =値。

  ls_purchasing-data-verkf = verkf。

  ls_purchasing-data-telf1 = telf1。

  ls_purchasing-data-eikto = eikto。

  ls_purchasing-data-webre = 'X'。

  ls_purchasing-datax-waers = 'X'。

  ls_purchasing-datax-verkf = 'X'。

  ls_purchasing-datax-telf1 = 'X'。

  ls_purchasing-datax-webre = 'X'。

  ls_purchasing-datax-eikto = 'X'。

 

  requesttype = 'CREATE'の場合。

    ls_functions-task = 'I'。

    ls_functions-data_key-parvw = 'BA'。

    ls_functions-data-defpa = ''。

    ls_functions-data-partner = lv_vendor。

    ls_functions-datax-defpa = 'X'。

    ls_functions-datax-partner = 'X'。

    ls_functionsをlt_functionsに追加します。

    ls_functions-data_key-parvw = 'LF'。

    ls_functions-data-defpa = ''。

    ls_functions-data-partner = lv_vendor。

    ls_functions-datax-defpa = 'X'。

    ls_functions-datax-partner = 'X'。

    ls_functionsをlt_functionsに追加します。

    ls_functions-data_key-parvw = 'RS'。

    ls_functions-data-defpa = ''。

    ls_functions-data-partner = lv_vendor。

    ls_functions-datax-defpa = 'X'。

    ls_functions-datax-partner = 'X'。

    ls_functionsをlt_functionsに追加します。

    ls_purchasing-functions-functions = lt_functions。

  endif。

  ls_purchasingをls_vendors-purchasing_data-purchasingに追加します。

  ls_purchasingをクリアします。

 

  ls_vendorsをlt_vendorsに追加します。

  ls_vendorsをクリアします。

  ls_main-vendors = lt_vendors。

 

*サプライヤーを作成または更新する

  メソッドvmd_ei_api => maintain_direct_inputを呼び出す

    エクスポート

      is_master_data = ls_main

    インポート

      es_master_data_correct = l1

      es_message_correct = l2

      es_master_data_defective = l3

      es_message_defective = l4。

  l4-is_error = ''の場合。

    関数 'BAPI_TRANSACTION_COMMIT'を呼び出す

      エクスポート

        待機= 'X'。

    return_status = 'S'。

    requesttype = 'CREATE'の場合。

      return_value = 'サプライヤーが正常に作成されました!'。

    elseif requesttype = 'UPDATE'。

      return_value = 'サプライヤーの更新に成功しました!'。

    endif。

    sapcode = lv_vendor。

  そうしないと。

    関数 'BAPI_TRANSACTION_ROLLBACK'を呼び出します。

    return_status = 'F'。

    ls_messageをクリアします。

    テーブルl4-messagesをキータイプ= 'E'でls_messageに読み込みます。

    sy-subrc = 0の場合。

      メッセージIDls_message-id

              タイプls_message-type

              番号ls_message-番号

              ls_message-message_v1を使用

                    ls_message-message_v2

                    ls_message-message_v3

                    ls_message-message_v4

              return_valueに。

    endif。

  endif。

 

おすすめ

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