me21n增强BADI:ME_PROCESS_PO_CUST之process_account
生活随笔
收集整理的這篇文章主要介紹了
me21n增强BADI:ME_PROCESS_PO_CUST之process_account
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
當(dāng)實(shí)施ME_PROCESS_PO_CUST這個(gè)badi來(lái)增強(qiáng)ME21N的時(shí)候,用了到方法process_account,既對(duì)ME21N的行項(xiàng)目的科目分配做增強(qiáng)。主要用到如下類:
IF_PURCHASE_ORDER_ITEM_MM:獲取PO行項(xiàng)目?jī)?nèi)容
IF_PURCHASE_ORDER_ACCOUNT_MM:PO行項(xiàng)目科目分配相關(guān)
1、實(shí)施增強(qiáng)ME_PROCESS_PO_CUST并在方法process_account中定義變量 ??DATA:lc_account?TYPE?REF?TO?if_purchase_order_account_mm,
???????lc_item?TYPE?REF?TO?if_purchase_order_item_mm,
???????ls_poitem?TYPE?mepoitem,"po?item?datas
???????ls_account?TYPE?mepoaccounting,"科目分配字段結(jié)構(gòu)
???????lv_sakto?TYPE?saknr.?"總帳科目編號(hào)
2、取得PO行項(xiàng)目數(shù)據(jù) ??CALL?METHOD?lc_account->get_item
????RECEIVING
??????re_item?=?lc_item.
??CALL?METHOD?lc_item->get_data
????RECEIVING
??????re_data?=?ls_poitem. 3、根據(jù)行項(xiàng)目數(shù)據(jù),去自建表ZMMT003取總帳科目放到變量中 ????SELECT?SINGLE?saknr
??????INTO?lv_sakto
??????FROM?zmmt003
??????WHERE?werks?=?ls_poitem-werks
??????AND???knttp?=?ls_poitem-knttp
??????AND???matkl?=?ls_poitem-matkl. 4、取得科目分配視圖下的數(shù)據(jù) ??????CALL?METHOD?lc_account->get_data
????????RECEIVING
??????????re_data?=?ls_account.
??????MOVE:?lv_sakto?TO?ls_account-sakto. 5、設(shè)置科目分配視圖中的數(shù)據(jù) ??????????CALL?METHOD?lc_account->set_data
????????????EXPORTING
??????????????im_data?=?ls_account.
注意:如果第4步?jīng)]有先獲取科目分配視圖下的數(shù)據(jù),直接進(jìn)行更新,那么可能會(huì)因?yàn)閭魅雲(yún)?shù)不足,導(dǎo)致報(bào)如下錯(cuò)誤“沒(méi)有采用附加業(yè)務(wù) ME_PROCESS_PO_CUST 的數(shù)據(jù)”,消息號(hào)為:MEPO151
IF_PURCHASE_ORDER_ACCOUNT_MM:PO行項(xiàng)目科目分配相關(guān)
- 需求描述:根絕ME21N輸入的行項(xiàng)目信息,從自建表ZMMT003中自動(dòng)帶出總帳科目字段
1、實(shí)施增強(qiáng)ME_PROCESS_PO_CUST并在方法process_account中定義變量 ??DATA:lc_account?TYPE?REF?TO?if_purchase_order_account_mm,
???????lc_item?TYPE?REF?TO?if_purchase_order_item_mm,
???????ls_poitem?TYPE?mepoitem,"po?item?datas
???????ls_account?TYPE?mepoaccounting,"科目分配字段結(jié)構(gòu)
???????lv_sakto?TYPE?saknr.?"總帳科目編號(hào)
2、取得PO行項(xiàng)目數(shù)據(jù) ??CALL?METHOD?lc_account->get_item
????RECEIVING
??????re_item?=?lc_item.
??CALL?METHOD?lc_item->get_data
????RECEIVING
??????re_data?=?ls_poitem. 3、根據(jù)行項(xiàng)目數(shù)據(jù),去自建表ZMMT003取總帳科目放到變量中 ????SELECT?SINGLE?saknr
??????INTO?lv_sakto
??????FROM?zmmt003
??????WHERE?werks?=?ls_poitem-werks
??????AND???knttp?=?ls_poitem-knttp
??????AND???matkl?=?ls_poitem-matkl. 4、取得科目分配視圖下的數(shù)據(jù) ??????CALL?METHOD?lc_account->get_data
????????RECEIVING
??????????re_data?=?ls_account.
??????MOVE:?lv_sakto?TO?ls_account-sakto. 5、設(shè)置科目分配視圖中的數(shù)據(jù) ??????????CALL?METHOD?lc_account->set_data
????????????EXPORTING
??????????????im_data?=?ls_account.
注意:如果第4步?jīng)]有先獲取科目分配視圖下的數(shù)據(jù),直接進(jìn)行更新,那么可能會(huì)因?yàn)閭魅雲(yún)?shù)不足,導(dǎo)致報(bào)如下錯(cuò)誤“沒(méi)有采用附加業(yè)務(wù) ME_PROCESS_PO_CUST 的數(shù)據(jù)”,消息號(hào)為:MEPO151
總結(jié)
以上是生活随笔為你收集整理的me21n增强BADI:ME_PROCESS_PO_CUST之process_account的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAP里会话结束方法(杀死进程)
- 下一篇: 离线版的SAP中F1帮助