| 発注伝票拡張後結果画面 |

| 実装 | |
| ステップ1 | SE11でEKKOとEKPOの定義に拡張項目を追加する |
| EKKOの定義に既存の構造CI_EKKODBに拡張項目を追加する |

| EKPOの定義に既存の構造CI_EKPODBに拡張項目を追加する |

| ステップ2 | SE80で汎用グループ実装、拡張画面定義及び拡張画面項目値の引渡汎用モジュールを実装する |

| ヘッダ拡張項目定義 |

| ※構造ZMM0S0130はZMM0S0020をインクルードしているので構造CI_EKKODBと同じ、ZMM0S0131も 構造CI_EKPODBと同じである。 |

| 明細拡張項目定義 |

汎用モジュールソースコード
************************************************************************
* 機能ID : MMP008
* 機能名称 : 購買発注伝票拡張(BADI)
* 機能概要 : 購買発注項目拡張
* 作成者 : XXX
* 作成日 : 2014/03/13
************************************************************************
* 変更履歴
* 変更管理番号 移送依頼 更新日付 更新者 変更内容
* xxxxxxxxxx xxxxxxxxxx YYYY/MM/DD 漢字名称
* B0608 RD1K906450 2014/06/08 XXX 全拡張項目を標準画面に実装(発注))
*-----------------------------------------------------------------------
FUNCTION Z_MMP008_HEAD01_POP.
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*" EXPORTING
*" REFERENCE(F_EP_ZMM0S0130) TYPE ZMM0S0130
*"----------------------------------------------------------------------
* 拡張画面値→標準へ戻す
F_EP_ZMM0S0130 = ZMM0S0130.
* 画面属性項目値をCHAR属性項目にセット
F_EP_ZMM0S0130-ZZBUFISKIN = ZMM0S0130-ZZBUFISKIN_W. "移送入部振伝票金額
SHIFT F_EP_ZMM0S0130-ZZBUFISKIN LEFT DELETING LEADING SPACE.
F_EP_ZMM0S0130-ZZGIKADKIN = ZMM0S0130-ZZGIKARKIN_W. "外貨金額
SHIFT F_EP_ZMM0S0130-ZZGIKADKIN LEFT DELETING LEADING SPACE.
F_EP_ZMM0S0130-ZZGIKADTCD = ZMM0S0130-ZZGIKADTCD_W. "外貨通貨
SHIFT F_EP_ZMM0S0130-ZZGIKADTCD LEFT DELETING LEADING SPACE.
ENDFUNCTION.
************************************************************************
* 機能ID : MMP008
* 機能名称 : 購買発注伝票拡張(BADI)
* 機能概要 : 購買発注項目拡張
* 作成者 : XXX
* 作成日 : 2014/03/13
************************************************************************
* 変更履歴
* 変更管理番号 移送依頼 更新日付 更新者 変更内容
* xxxxxxxxxx xxxxxxxxxx YYYY/MM/DD 漢字名称
* B0608 RD1K906450 2014/06/08 XXX 全拡張項目を標準画面に実装(発注))
*-----------------------------------------------------------------------
FUNCTION Z_MMP008_HEAD01_PUSH.
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*" IMPORTING
*" REFERENCE(F_IP_ZMM0S0130) TYPE ZMM0S0130
*"----------------------------------------------------------------------
* 標準→拡張画面で受ける
ZMM0S0130 = F_IP_ZMM0S0130.
* 関連NOが未指定で入力ルートがSAの場合のみ関連の自動提案を行う
IF ZMM0S0130-ZZKRENO IS INITIAL AND
ZMM0S0130-ZZNYUROKBN = CNS_ZZNYUROKBN.
IF W_ZZKRENO IS INITIAL.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = CNS_NRRANGENR
OBJECT = CNS_OBJECT
* QUANTITY = '1'
* SUBOBJECT = ' '
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
NUMBER = W_ZZKRENO
* QUANTITY =
* RETURNCODE =
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8.
IF SY-SUBRC IS INITIAL.
ZMM0S0130-ZZKRENO = W_ZZKRENO.
ELSE.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
ZMM0S0130-ZZKRENO = W_ZZKRENO.
ENDIF.
ENDIF.
* 数量金額拡張CHAR項目を画面数量金額属性Workにセット
ZMM0S0130-ZZBUFISKIN_W = ZMM0S0130-ZZBUFISKIN. "移送入部振伝票金額
ZMM0S0130-ZZGIKARKIN_W = ZMM0S0130-ZZGIKADKIN. "外貨金額
ZMM0S0130-ZZGIKADTCD_W = ZMM0S0130-ZZGIKADTCD. "外貨通貨
ENDFUNCTION.
************************************************************************
* 機能ID : MMP008
* 機能名称 : 購買発注伝票拡張(BADI)
* 機能概要 : 購買発注項目拡張
* 作成者 : XXX
* 作成日 : 2014/03/13
************************************************************************
* 変更履歴
* 変更管理番号 移送依頼 更新日付 更新者 変更内容
* xxxxxxxxxx xxxxxxxxxx YYYY/MM/DD 漢字名称
* B0608 RD1K906450 2014/06/08 XXX 全拡張項目を標準画面に実装(発注))
*-----------------------------------------------------------------------
FUNCTION Z_MMP008_INIT.
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*"----------------------------------------------------------------------
* 変数初期化
CLEAR : ZMM0S0130, ZMM0S0131, W_ZZKRENO.
ENDFUNCTION.
************************************************************************
* 機能ID : MMP008
* 機能名称 : 購買発注伝票拡張(BADI)
* 機能概要 : 購買発注項目拡張
* 作成者 : XXX
* 作成日 : 2014/03/13
************************************************************************
* 変更履歴
* 変更管理番号 移送依頼 更新日付 更新者 変更内容
* xxxxxxxxxx xxxxxxxxxx YYYY/MM/DD 漢字名称
* B0608 RD1K906450 2014/06/08 XXX 全拡張項目を標準画面に実装(発注))
*-----------------------------------------------------------------------
FUNCTION Z_MMP008_ITEM01_POP.
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*" EXPORTING
*" REFERENCE(F_EP_ZMM0S0131) TYPE ZMM0S0131
*"----------------------------------------------------------------------
* 拡張画面値→標準へ戻す
F_EP_ZMM0S0131 = ZMM0S0131.
* 画面属性項目値をCHAR属性項目にセット
F_EP_ZMM0S0131-ZZDETTNK = ZMM0S0131-ZZMEISITNK_W. "明細単価
SHIFT F_EP_ZMM0S0131-ZZDETTNK LEFT DELETING LEADING SPACE.
F_EP_ZMM0S0131-ZZDETKIN = ZMM0S0131-ZZDETCUKIN_W. "明細金額
SHIFT F_EP_ZMM0S0131-ZZDETKIN LEFT DELETING LEADING SPACE.
F_EP_ZMM0S0131-ZZBUFIDTNK = ZMM0S0131-ZZBUFIDCUTNK_W. "移送入部振明細単価
SHIFT F_EP_ZMM0S0131-ZZBUFIDTNK LEFT DELETING LEADING SPACE.
F_EP_ZMM0S0131-ZZBUFIDKIN = ZMM0S0131-ZZBUFIDCUKIN_W. "移送入部振明細金額
SHIFT F_EP_ZMM0S0131-ZZBUFIDKIN LEFT DELETING LEADING SPACE.
ENDFUNCTION.
************************************************************************
* 機能ID : MMP008
* 機能名称 : 購買発注伝票拡張(BADI)
* 機能概要 : 購買発注項目拡張
* 作成者 : XXX
* 作成日 : 2014/03/13
************************************************************************
* 変更履歴
* 変更管理番号 移送依頼 更新日付 更新者 変更内容
* xxxxxxxxxx xxxxxxxxxx YYYY/MM/DD 漢字名称
* B0608 RD1K906450 2014/06/08 XXX 全拡張項目を標準画面に実装(発注))
*-----------------------------------------------------------------------
FUNCTION Z_MMP008_ITEM01_PUSH.
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*" IMPORTING
*" REFERENCE(F_IP_ZMM0S0131) TYPE ZMM0S0131
*"----------------------------------------------------------------------
* 標準→拡張画面で受ける
ZMM0S0131 = F_IP_ZMM0S0131.
* 数量金額拡張CHAR項目を画面数量金額属性Workにセット
ZMM0S0131-ZZMEISITNK_W = ZMM0S0131-ZZDETTNK. "明細単価
ZMM0S0131-ZZDETCUKIN_W = ZMM0S0131-ZZDETKIN. "明細金額
ZMM0S0131-ZZBUFIDCUTNK_W = ZMM0S0131-ZZBUFIDTNK. "移送入部振明細単価
ZMM0S0131-ZZBUFIDCUKIN_W = ZMM0S0131-ZZBUFIDKIN. "移送入部振明細金額
ENDFUNCTION.
| PBO、PAIメソッド実装する |

| グローバル変数定義 |

FUNCTION-POOL ZMMP008. "MESSAGE-ID ..
* 画面用TABLES定義
TABLES :
ZMM0S0130, " ヘッダ
ZMM0S0131. " 明細
CONSTANTS CNS_NRRANGENR TYPE INRI-NRRANGENR VALUE '01'. "番号範囲番号
CONSTANTS CNS_OBJECT TYPE INRI-OBJECT VALUE 'ZCM001'. "番号範囲OBJ
CONSTANTS CNS_ZZNYUROKBN TYPE ZENYUROKBN VALUE 'SA'. "入力ルート区分
*----------------------------------------------------------------------*
* 変数宣言(DATA)
*----------------------------------------------------------------------*
DATA : OK-CODE TYPE SY-UCOMM. " INCLUDE LMEVIEWSF01用 OKCODE
DATA W_ZZKRENO TYPE ZEKRENO. "関連No
INCLUDE LMEVIEWSF01. " 標準部品
| 汎用モジュールの実装箇所 |

| ステップ3 | SE18で拡張BADI(ME_GUI_PO_CUST)実装、拡張画面項目値の引渡メソッドを実装する |

| 変数定義 |

CNS_APPL Constant Private Type STRING40 'PO'
CNS_ELEMENT_HEAD Constant Private Type STRING40 shmtable_s 内の 40 文字文字列 'HEADER'
CNS_ELEMENT_ITEM Constant Private Type STRING40 shmtable_s 内の 40 文字文字列 'ITEM'
CNS_SCNAME_HEAD Constant Private Type MEPO_SUBSCRIBERS-NAME 'HEADERSCREEN01'
CNS_SCNAME_ITEM Constant Private Type MEPO_SUBSCRIBERS-NAME 'ITEMSCREEN01'
CNS_PROGRAM Constant Private Type MEPO_SUBSCRIBERS-PROGRAM 'SAPLZMMP008'
CNS_DYNPRO_HEAD Constant Private Type MEPO_SUBSCRIBERS-DYNPRO '9000'
CNS_DYNPRO_ITEM Constant Private Type MEPO_SUBSCRIBERS-DYNPRO '9010'
CNS_STRUCT_HEAD Constant Private Type MEPO_SUBSCRIBERS-STRUCT_NAME 'ZMM0S0130'
CNS_STRUCT_ITEM Constant Private Type MEPO_SUBSCRIBERS-STRUCT_NAME 'ZMM0S0131'
CNS_POSITION_HEAD Constant Private Type MEPO_SUBSCRIBERS-POSITION 11
CNS_POSITION_ITEM Constant Private Type MEPO_SUBSCRIBERS-POSITION 99
CNS_HEIGHT_HEAD Constant Private Type MEPO_SUBSCRIBERS-HEIGHT 7
CNS_HEIGHT_ITEM Constant Private Type MEPO_SUBSCRIBERS-HEIGHT 7
STR_ZMM0S0130 Instance Attribute Private Type ZMM0S0130
STR_ZMM0S0131 Instance Attribute Private Type ZMM0S0131
STR_ZMM0S0130_PBO Instance Attribute Private Type ZMM0S0130
STR_ZMM0S0130_PAI Instance Attribute Private Type ZMM0S0130
STR_ZMM0S0131_PBO Instance Attribute Private Type ZMM0S0131
STR_ZMM0S0131_PAI Instance Attribute Private Type ZMM0S0131
メソッドソースコード
*======================================================================================
*画面を開く
*======================================================================================
METHOD IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
DATA: L_STR_SUBSCRIBER LIKE LINE OF RE_SUBSCRIBERS. " MEPO: 独自の画面の公開
* APPLICATIONがPOの場合のみ処理を行う
CHECK IM_APPLICATION = CNS_APPL.
* 画面設定判定
CASE IM_ELEMENT.
WHEN CNS_ELEMENT_HEAD. " ヘッダ
* ヘッダ画面設定
CLEAR RE_SUBSCRIBERS[].
L_STR_SUBSCRIBER-NAME = CNS_SCNAME_HEAD. " ビュー名
L_STR_SUBSCRIBER-DYNPRO = CNS_DYNPRO_HEAD. " DYNPRO
L_STR_SUBSCRIBER-PROGRAM = CNS_PROGRAM. " プログラム名
L_STR_SUBSCRIBER-STRUCT_NAME = CNS_STRUCT_HEAD. " テーブル名
L_STR_SUBSCRIBER-LABEL = TEXT-001. " ラベル=ヘッダ
L_STR_SUBSCRIBER-POSITION = CNS_POSITION_HEAD. " ポジション(タブの位置)
L_STR_SUBSCRIBER-HEIGHT = CNS_HEIGHT_HEAD. " 高さ
WHEN CNS_ELEMENT_ITEM. " 明細
* 明細画面設定
L_STR_SUBSCRIBER-NAME = CNS_SCNAME_ITEM. " ビュー名
L_STR_SUBSCRIBER-DYNPRO = CNS_DYNPRO_ITEM. " DYNPRO
L_STR_SUBSCRIBER-PROGRAM = CNS_PROGRAM. " プログラム名
L_STR_SUBSCRIBER-STRUCT_NAME = CNS_STRUCT_ITEM. " テーブル名
L_STR_SUBSCRIBER-LABEL = TEXT-002. " ラベル=明細
L_STR_SUBSCRIBER-POSITION = CNS_POSITION_ITEM. " ポジション(タブの位置)
L_STR_SUBSCRIBER-HEIGHT = CNS_HEIGHT_ITEM. " 高さ
WHEN OTHERS.
" 処理なし
ENDCASE.
APPEND L_STR_SUBSCRIBER TO RE_SUBSCRIBERS.
ENDMETHOD. "IF_EX_ME_GUI_PO_CUST~SUBSCRIBE
*======================================================================================
*支払条件の制御
*======================================================================================
METHOD IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS.
CONSTANTS L_CNS_ZZMETA TYPE C LENGTH 2 VALUE 'ZZ'. " FIELDNAME(頭2桁) アドオン項目判定用
DATA L_STR_MAPPING LIKE LINE OF CH_MAPPING.
* 項目カタログのFIELDNAME頭2桁が"ZZ"の場合、支払条件のメタ項目を設定する
LOOP AT CH_MAPPING[] INTO L_STR_MAPPING.
IF L_STR_MAPPING-FIELDNAME+000(002) = L_CNS_ZZMETA.
L_STR_MAPPING-METAFIELD = MMMFD_PMNTTRMS. " 支払条件(METAFIELD)
MODIFY CH_MAPPING[] FROM L_STR_MAPPING.
ENDIF.
ENDLOOP.
* ソートテーブルCH_MAPPING[]の最初の1件目に強制カーソル指定されるため1件目にダミーレコードを挿入
CLEAR L_STR_MAPPING.
L_STR_MAPPING-METAFIELD = MMMFD_PMNTTRMS. " 支払条件(METAFIELD)
INSERT L_STR_MAPPING INTO CH_MAPPING[] INDEX 1.
ENDMETHOD. "IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS
*======================================================================================
*DBデータ=>モデル
*======================================================================================
METHOD IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL.
DATA L_REF_PO_HEAD TYPE REF TO IF_PURCHASE_ORDER_MM. " 参照変数(IF_PURCHASE_ORDER_MM)
DATA L_STR_MEPOHEADER TYPE MEPOHEADER. " GET_DATA用 MEPOHEADER
DATA L_REF_PO_ITEM TYPE REF TO IF_PURCHASE_ORDER_ITEM_MM. " 参照変数(IF_PURCHASE_ORDER_ITEM_MM)
DATA L_STR_MEPOITEM TYPE MEPOITEM. " GET_DATA用 MEPOITEM
CASE IM_NAME.
* ヘッダ
WHEN CNS_SCNAME_HEAD.
L_REF_PO_HEAD ?= IM_MODEL. " IM_MODELをCAST
L_STR_MEPOHEADER = L_REF_PO_HEAD->GET_DATA( ). " IF_PURCHASE_ORDER_MM~GET_DATAでヘッダ項目取得
MOVE-CORRESPONDING L_STR_MEPOHEADER TO STR_ZMM0S0130_PBO. " 拡張画面用構造に設定
STR_ZMM0S0130_PBO-WAERS_W = L_STR_MEPOHEADER-WAERS.
* 明細
WHEN CNS_SCNAME_ITEM.
L_REF_PO_ITEM ?= IM_MODEL. " IM_MODELをCAST
L_STR_MEPOITEM = L_REF_PO_ITEM->GET_DATA( ). " IF_PURCHASE_ORDER_MM~GET_DATAでヘッダ項目取得
MOVE-CORRESPONDING L_STR_MEPOITEM TO STR_ZMM0S0131_PBO. " 拡張画面用構造に設定
*
WHEN OTHERS.
" 処理なし
ENDCASE.
ENDMETHOD. "IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL
*======================================================================================
*モデル=>DBデータ
*======================================================================================
METHOD IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_MODEL.
DATA :
L_REF_PO_HEAD TYPE REF TO IF_PURCHASE_ORDER_MM, " 参照変数(IF_PURCHASE_ORDER_MM)
L_STR_MEPOHEADER TYPE MEPOHEADER, " GET_DATA用 MEPOHEADER
L_REF_PO_ITEM TYPE REF TO IF_PURCHASE_ORDER_ITEM_MM, " 参照変数(IF_PURCHASE_ORDER_ITEM_MM)
L_STR_MEPOITEM TYPE MEPOITEM. " GET_DATA用 MEPOITEM
CASE IM_NAME.
* ヘッダ
WHEN CNS_SCNAME_HEAD.
L_REF_PO_HEAD ?= IM_MODEL. " IM_MODELをCAST
L_STR_MEPOHEADER = L_REF_PO_HEAD->GET_DATA( ). " IF_PURCHASE_ORDER_MM~GET_DATAでヘッダ項目取得
MOVE-CORRESPONDING STR_ZMM0S0130 TO L_STR_MEPOHEADER. " 拡張画面用構造の値を設定
CALL METHOD L_REF_PO_HEAD->SET_DATA( L_STR_MEPOHEADER ). " IF_PURCHASE_ORDER_MM~GET_DATAでヘッダ値更新
* 明細
WHEN CNS_SCNAME_ITEM.
L_REF_PO_ITEM ?= IM_MODEL. " IM_MODELをCAST
L_STR_MEPOITEM = L_REF_PO_ITEM->GET_DATA( ). " IF_PURCHASE_ORDER_ITEM_MM~GET_DATAでヘッダ項目取得
MOVE-CORRESPONDING STR_ZMM0S0131 TO L_STR_MEPOITEM. " 拡張画面用構造の値を設定
CALL METHOD L_REF_PO_ITEM->SET_DATA( L_STR_MEPOITEM ). " IF_PURCHASE_ORDER_ITEM_MM~GET_DATAでヘッダ値更新
WHEN OTHERS.
" 処理なし
ENDCASE.
ENDMETHOD. "IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_MODEL
*======================================================================================
*拡張画面=>モデル
*======================================================================================
METHOD IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP.
DATA :
L_REF_PO_HEAD TYPE REF TO IF_PURCHASE_ORDER_MM, " 参照変数(IF_PURCHASE_ORDER_MM)
L_STR_MEPOHEADER TYPE MEPOHEADER, " GET_DATA用 MEPOHEADER
L_REF_PO_ITEM TYPE REF TO IF_PURCHASE_ORDER_ITEM_MM, " 参照変数(IF_PURCHASE_ORDER_ITEM_MM)
L_STR_MEPOITEM TYPE MEPOITEM. " GET_DATA用 MEPOITEM
CASE IM_NAME.
* ヘッダ
WHEN CNS_SCNAME_HEAD.
* PAI値受取(ヘッダ)
CALL FUNCTION 'Z_MMP008_HEAD01_POP'
IMPORTING
F_EP_ZMM0S0130 = STR_ZMM0S0130_PAI. "拡張画面WORK→標準WORKに取得
* PBO≠PAIの場合、RE_CHANGED(変更あり)を設定
IF STR_ZMM0S0130_PAI <> STR_ZMM0S0130_PBO.
STR_ZMM0S0130 = STR_ZMM0S0130_PAI.
RE_CHANGED = MMPUR_YES.
ELSE.
" 処理なし
ENDIF.
* 明細
WHEN CNS_SCNAME_ITEM.
* PAI値受取(明細)
CALL FUNCTION 'Z_MMP008_ITEM01_POP'
IMPORTING
F_EP_ZMM0S0131 = STR_ZMM0S0131_PAI.
* PBO≠PAIの場合、RE_CHANGED(変更あり)を設定
IF STR_ZMM0S0131_PAI <> STR_ZMM0S0131_PBO.
STR_ZMM0S0131 = STR_ZMM0S0131_PAI.
RE_CHANGED = MMPUR_YES.
ELSE.
" 処理なし
ENDIF.
WHEN OTHERS.
" 処理なし
ENDCASE.
ENDMETHOD. "IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP
*======================================================================================
*モデル=>拡張画面
*======================================================================================
METHOD IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP.
* 画面判定
CASE IM_NAME.
WHEN CNS_SCNAME_HEAD. " ヘッダ
* PBO値受渡(ヘッダ)
CALL FUNCTION 'Z_MMP008_HEAD01_PUSH'
EXPORTING
F_IP_ZMM0S0130 = STR_ZMM0S0130_PBO. "標準WORK→拡張画面WORK
WHEN CNS_SCNAME_ITEM. " 明細
* PBO値受渡(明細)
CALL FUNCTION 'Z_MMP008_ITEM01_PUSH'
EXPORTING
F_IP_ZMM0S0131 = STR_ZMM0S0131_PBO.
WHEN OTHERS.
" 処理なし
ENDCASE.
ENDMETHOD. "IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP
| SE24でBADI(ME_PROCESS_PO_CUST)のIF(IF_EX_ME_PROCESS_PO_CUST)を実装して、変数初期化する。 |

| ※つまり、BADIを定義しなくても SE24で直ちにIFを利用してクラスを定義して同じメソッドを実装できる。 |

ここまで、実装完了。
補足:正常の場合、画面が定義されてから、BADIの IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.実装されたら 且つ IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS.も実装されて、標準購買伝票に拡張画面が表示されます。表示できない場合、下記定義追加必要。

補足:BAPIコールする場合、BAPIの拡張構造も更新する必要です。

SAP発注拡張実装
本文詳細にSAPの発注伝票拡張実装手順を説明。SE11やSE80での定義追加、SE18でのBADI実装などを通じて、拡張画面とその値の移動方法を紹介します。
2296

被折叠的 条评论
为什么被折叠?



