天天看點

ABAP MIGO增強實施MB_MIGO_BADI

這是一個有異議的需求,具體需求如下:

  在MIGO增強一個頁簽,通過頁簽裡的資料+行項次的資料建立資産卡片,然後會寫回MIGO行項次的指定欄位。

思路如下:

  1.通過MIGO的增強MB_MIGO_BADI實作增加一個頁簽的功能

  2.通過增強的方法LINE_MODIFY去建立資産卡片并回寫資料

(有異議出在,建立資産卡片需要調用BAPI:BAPI_FIXEDASSET_CREATE1,并執行COMMIT,這樣存着影響MIGO功能的潛在風險)

這邊使用異步調用,希望能解決潛在危險!!!!!!!

具體操作如下:

  1.建立表,結構,表類型

ABAP MIGO增強實施MB_MIGO_BADI
ABAP MIGO增強實施MB_MIGO_BADI
ABAP MIGO增強實施MB_MIGO_BADI

此結構用于建立資産卡片的函數調用

ABAP MIGO增強實施MB_MIGO_BADI

  2.建立函數組(裡面包括6個FUNCTION和一個螢幕):

  

   ZCREATE_ASSET :因為要異步調用,是以需要勾上遠端啟用的子產品

ABAP MIGO增強實施MB_MIGO_BADI
ABAP MIGO增強實施MB_MIGO_BADI
ABAP MIGO增強實施MB_MIGO_BADI

  源代碼如下:

  ZMIGO_BADI_ITEM_CREATE_ASSET

   

ABAP MIGO增強實施MB_MIGO_BADI

  源代碼如下:

  ZMIGO_BADI_ITEM_GET_DATA

ABAP MIGO增強實施MB_MIGO_BADI

   源代碼如下:

  ZMIGO_BADI_ITEM_SET_DATA

ABAP MIGO增強實施MB_MIGO_BADI

  ZMIGO_BADI_ITEM_SET_GOACTION

ABAP MIGO增強實施MB_MIGO_BADI

  ZMIGO_BADI_ITEM_UPDATE_DATA

ABAP MIGO增強實施MB_MIGO_BADI

  螢幕9001

ABAP MIGO增強實施MB_MIGO_BADI
ABAP MIGO增強實施MB_MIGO_BADI
ABAP MIGO增強實施MB_MIGO_BADI

  包含檔案:LZMIGOF01

  包含檔案:LZMIGOO01

  包含檔案:LZMIGOTOP

  包含檔案:LZMIGOUXX

   3.針對BADI:MB_MIGO_BADI 建立新的實施 ZMB_MIGO_BADI

ABAP MIGO增強實施MB_MIGO_BADI

  類/接口ZCL_IM_MB_MIGO_BADI做如下操作:

  新增屬性

ABAP MIGO增強實施MB_MIGO_BADI

   如下幾個方法 寫入代碼:

ABAP MIGO增強實施MB_MIGO_BADI

   IF_EX_MB_MIGO_BADI~INIT

  IF_EX_MB_MIGO_BADI~PBO_DETAIL

  IF_EX_MB_MIGO_BADI~PAI_DETAIL

  IF_EX_MB_MIGO_BADI~LINE_MODIFY

  IF_EX_MB_MIGO_BADI~LINE_DELETE

  IF_EX_MB_MIGO_BADI~RESET

  IF_EX_MB_MIGO_BADI~POST_DOCUMENT

  IF_EX_MB_MIGO_BADI~MODE_SET

最後效果圖:

ABAP MIGO增強實施MB_MIGO_BADI

OK.......不知道有沒有漏,将就用吧,不行在百度

繼續閱讀