天天看点

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.......不知道有没有漏,将就用吧,不行在百度

继续阅读