Open qling717 opened 2 years ago
カスタマ拡張に関する
既存の SAP データベーステーブルをベースとした BAPI の拡張 追加カスタマデータベーステーブルの追加による BAPI の拡張 データベースレベル以外のインポートデータを使用した BAPI の拡張
[既存の SAP データベーステーブルをベースとした BAPI の拡張]
データインポートのための拡張パラメータ(ExtensionIn、ExtensionOut)を使用
拡張パラメータは常に構造BAPIPAREXをベースとする
BAPIPAREXのSTRUCTUREにはBAPIテーブル拡張構造名(BAPI_TE_テーブル名)を指定する。 BAPIテーブル拡張構造は一つのデータベーステーブルにのみ割り当てられる プログラムによって拡張されたテーブルを決定することができる BAPIテーブル拡張構造定義にキー項目含む必要
BAPIPAREXのVALUEPART1~VALUEPART4について キー値が含まれる。データレコードのデータが書き込まれるデータベーステーブルの行を決定するために渡す必要 テーブル行を識別するキー値、およびテーブルに挿入されるデータ項目が含まれる 長さは最大960桁
データベーステーブル(STRAVELAG)を拡張するには得意先固有項目を含むデータ構造を登録、このデータ構造はデータベーステーブルおよびBAPIテーブル拡張の両方に追加、そうすると、両方の拡張が常に同じになる **得意先固有項目のデータ構造登録(TRAVELAG)** **データベーステーブル(STRAVELAG)にIncludeする** **BAPIテーブル拡張構造(BAPI_TE_STRAVELAG)にIncludeする**
BAPIテーブル拡張では得意先はデータ型Charおよび同様のデータ型の項目のみを使用することができ
BAPI_PO_CHANGE をCALL DATA: i_wa_extension TYPE bapiparex, i_it_extension type standard table of bapiparex, s_bapi_te_stravelag type bapi_te_stravelag, s_bapi_te_stravelagx type bapi_te_stravelagx, i_return type bapiret2 occures 0 with header line.
旅行会社データ(拡張)の設定 s_bapi_te_stravelag-agencynum = 旅行代理店番号. s_bapi_te_stravelag-s_seatsmax = 最大乗客数. 得意先独自の項目(インポートパラメータ)格納処理 perform fm_transfer_to_extensionin using s_bapi_te_stravelag changing i_wa_extension. "BAPIテーブル拡張構造 i_wa_extension-structure = 'bapi_te_stravelag'. "拡張パラメータ append i_wa_extension to i_it_extension.
*最大乗客数(更新対象) clear i_wa_extension. s_bapi_te_stravelagx-agencynum = 旅行代理店番号. s_bapi_te_stravelagx-s_seatsmax = 'X'. perform fm_transfer_to_extensionin using s_bapi_te_stravelagx changing i_wa_extension. "BAPIテーブル拡張構造 i_wa_extension-structure = 'bapi_te_stravelagx'. "拡張パラメータ append i_wa_extension to i_it_extension.
call function 'bapi_po_change' exporting purchaseorder = 旅行代理店番号 tables retrun = i_return "リターンパラメータテーブル POITEM = L_IT_POITEM "購買発注明細データ POITEMX = L_IT_POITEMX "購買発注明細データ変更ツールバー extensionin = i_it_extension. "得意先独自の項目
得意先独自の項目(インポートパラメータ)変換処理
既存の SAP データベーステーブルをベースとした BAPI の拡張 追加カスタマデータベーステーブルの追加による BAPI の拡張 データベースレベル以外のインポートデータを使用した BAPI の拡張
データインポートのための拡張パラメータ(ExtensionIn、ExtensionOut)を使用
拡張パラメータは常に構造BAPIPAREXをベースとする
BAPIPAREXのSTRUCTUREにはBAPIテーブル拡張構造名(BAPI_TE_テーブル名)を指定する。 BAPIテーブル拡張構造は一つのデータベーステーブルにのみ割り当てられる プログラムによって拡張されたテーブルを決定することができる BAPIテーブル拡張構造定義にキー項目含む必要
BAPIPAREXのVALUEPART1~VALUEPART4について キー値が含まれる。データレコードのデータが書き込まれるデータベーステーブルの行を決定するために渡す必要 テーブル行を識別するキー値、およびテーブルに挿入されるデータ項目が含まれる 長さは最大960桁
データベーステーブル(STRAVELAG)を拡張するには得意先固有項目を含むデータ構造を登録、このデータ構造はデータベーステーブルおよびBAPIテーブル拡張の両方に追加、そうすると、両方の拡張が常に同じになる **得意先固有項目のデータ構造登録(TRAVELAG)** **データベーステーブル(STRAVELAG)にIncludeする** **BAPIテーブル拡張構造(BAPI_TE_STRAVELAG)にIncludeする**
BAPIテーブル拡張では得意先はデータ型Charおよび同様のデータ型の項目のみを使用することができ
BAPI_PO_CHANGE をCALL DATA: i_wa_extension TYPE bapiparex, i_it_extension type standard table of bapiparex, s_bapi_te_stravelag type bapi_te_stravelag, s_bapi_te_stravelagx type bapi_te_stravelagx, i_return type bapiret2 occures 0 with header line.
旅行会社データ(拡張)の設定 s_bapi_te_stravelag-agencynum = 旅行代理店番号. s_bapi_te_stravelag-s_seatsmax = 最大乗客数. 得意先独自の項目(インポートパラメータ)格納処理 perform fm_transfer_to_extensionin using s_bapi_te_stravelag changing i_wa_extension. "BAPIテーブル拡張構造 i_wa_extension-structure = 'bapi_te_stravelag'. "拡張パラメータ append i_wa_extension to i_it_extension.
*最大乗客数(更新対象) clear i_wa_extension. s_bapi_te_stravelagx-agencynum = 旅行代理店番号. s_bapi_te_stravelagx-s_seatsmax = 'X'. perform fm_transfer_to_extensionin using s_bapi_te_stravelagx changing i_wa_extension. "BAPIテーブル拡張構造 i_wa_extension-structure = 'bapi_te_stravelagx'. "拡張パラメータ append i_wa_extension to i_it_extension.
call function 'bapi_po_change' exporting purchaseorder = 旅行代理店番号 tables retrun = i_return "リターンパラメータテーブル POITEM = L_IT_POITEM "購買発注明細データ POITEMX = L_IT_POITEMX "購買発注明細データ変更ツールバー extensionin = i_it_extension. "得意先独自の項目