me21n增强BADI:ME_PROCESS_PO_CUST之process_account
生活随笔
收集整理的這篇文章主要介紹了
me21n增强BADI:ME_PROCESS_PO_CUST之process_account
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當實施ME_PROCESS_PO_CUST這個badi來增強ME21N的時候,用了到方法process_account,既對ME21N的行項目的科目分配做增強。主要用到如下類:
IF_PURCHASE_ORDER_ITEM_MM:獲取PO行項目內容
IF_PURCHASE_ORDER_ACCOUNT_MM:PO行項目科目分配相關
1、實施增強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,"科目分配字段結構
???????lv_sakto?TYPE?saknr.?"總帳科目編號
2、取得PO行項目數據 ??CALL?METHOD?lc_account->get_item
????RECEIVING
??????re_item?=?lc_item.
??CALL?METHOD?lc_item->get_data
????RECEIVING
??????re_data?=?ls_poitem. 3、根據行項目數據,去自建表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、取得科目分配視圖下的數據 ??????CALL?METHOD?lc_account->get_data
????????RECEIVING
??????????re_data?=?ls_account.
??????MOVE:?lv_sakto?TO?ls_account-sakto. 5、設置科目分配視圖中的數據 ??????????CALL?METHOD?lc_account->set_data
????????????EXPORTING
??????????????im_data?=?ls_account.
注意:如果第4步沒有先獲取科目分配視圖下的數據,直接進行更新,那么可能會因為傳入參數不足,導致報如下錯誤“沒有采用附加業務 ME_PROCESS_PO_CUST 的數據”,消息號為:MEPO151
IF_PURCHASE_ORDER_ACCOUNT_MM:PO行項目科目分配相關
- 需求描述:根絕ME21N輸入的行項目信息,從自建表ZMMT003中自動帶出總帳科目字段
1、實施增強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,"科目分配字段結構
???????lv_sakto?TYPE?saknr.?"總帳科目編號
2、取得PO行項目數據 ??CALL?METHOD?lc_account->get_item
????RECEIVING
??????re_item?=?lc_item.
??CALL?METHOD?lc_item->get_data
????RECEIVING
??????re_data?=?ls_poitem. 3、根據行項目數據,去自建表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、取得科目分配視圖下的數據 ??????CALL?METHOD?lc_account->get_data
????????RECEIVING
??????????re_data?=?ls_account.
??????MOVE:?lv_sakto?TO?ls_account-sakto. 5、設置科目分配視圖中的數據 ??????????CALL?METHOD?lc_account->set_data
????????????EXPORTING
??????????????im_data?=?ls_account.
注意:如果第4步沒有先獲取科目分配視圖下的數據,直接進行更新,那么可能會因為傳入參數不足,導致報如下錯誤“沒有采用附加業務 ME_PROCESS_PO_CUST 的數據”,消息號為:MEPO151
總結
以上是生活随笔為你收集整理的me21n增强BADI:ME_PROCESS_PO_CUST之process_account的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP里会话结束方法(杀死进程)
- 下一篇: 离线版的SAP中F1帮助