Add additional field to FBL*N reports with using BTE exit.
First of all, if you don't use BTE before, You must create a product on FIBF.
Call FIBF transaction -> Settings -> Products -> ...of a customer
Create a new line,
Product : ZFI
Text : BTE Products for FI Exit
Product active : tick check fro activation.
Then you must call SE11 for structure RFPOS.
You must use append structure function for this structure and you can define ZFI_RFPOS append structure
Define 4 fields.
Component : KUNNR - Component type : KUNNR
Component : NAMED - Component type : NAME1
Component : LIFNR - Component type : LINFR
Component : NAMEK - Component type : NAME1
Then save and active your RFPOS structure.
After that, you must do same step for structure RFPOSX.
Then go to SE37 and copy from SAMPLE_INTERFACE_00001650 to ZFI_INTERFACE_00001650 FM.
After copy action, you must uncomment this line on ZFI_INTERFACE_00001650 FM's source code. It's very very important;
E_POSTAB = I_POSTAB.
TABLES : bseg, kna1, lfa1.
IF sy-tcode = 'FBL3N'.
CLEAR : bseg.
SELECT SINGLE *
FROM bseg
WHERE bukrs = i_postab-bukrs
AND belnr = i_postab-belnr
AND gjahr = i_postab-gjahr
AND koart = 'K'.
IF sy-subrc EQ 0.
e_postab-lifnr = bseg-lifnr.
CLEAR: lfa1.
SELECT SINGLE *
FROM lfa1
WHERE lifnr = bseg-lifnr.
IF sy-subrc EQ 0.
e_postab-namek = lfa1-name1.
ENDIF.
ENDIF.
CLEAR : bseg.
SELECT SINGLE *
FROM bseg
WHERE bukrs = i_postab-bukrs
AND belnr = i_postab-belnr
AND gjahr = i_postab-gjahr
AND koart = 'D'.
IF sy-subrc EQ 0.
e_postab-kunnr = bseg-kunnr.
CLEAR: kna1.
SELECT SINGLE *
FROM kna1
WHERE kunnr = bseg-kunnr.
IF sy-subrc EQ 0.
e_postab-named = kna1-name1.
ENDIF.
ENDIF.
ENDIF.
Then save and active FM.
Call FIBF transaction again.
FIBF -> Settings -> Process Modules -> ...of a customer
Define a new line.
Process : 00001650
Function Module : ZFI_INTERFACE_00001650
Product : ZFI
and this customizing.
Then you go to SE38 transaction.
start report RFPOSXEXTEND. After starting, a pop-up appears, you must click YES.
(此处执行的时候会报错,
补充,在FIBF添加Process Module的时候,系统找不到00001650,可以用SM30维护TPS01解决。
First of all, if you don't use BTE before, You must create a product on FIBF.
Call FIBF transaction -> Settings -> Products -> ...of a customer
Create a new line,
Product : ZFI
Text : BTE Products for FI Exit
Product active : tick check fro activation.
Then you must call SE11 for structure RFPOS.
You must use append structure function for this structure and you can define ZFI_RFPOS append structure
Define 4 fields.
Component : KUNNR - Component type : KUNNR
Component : NAMED - Component type : NAME1
Component : LIFNR - Component type : LINFR
Component : NAMEK - Component type : NAME1
Then save and active your RFPOS structure.
After that, you must do same step for structure RFPOSX.
Then go to SE37 and copy from SAMPLE_INTERFACE_00001650 to ZFI_INTERFACE_00001650 FM.
After copy action, you must uncomment this line on ZFI_INTERFACE_00001650 FM's source code. It's very very important;
E_POSTAB = I_POSTAB.
TABLES : bseg, kna1, lfa1.
IF sy-tcode = 'FBL3N'.
CLEAR : bseg.
SELECT SINGLE *
FROM bseg
WHERE bukrs = i_postab-bukrs
AND belnr = i_postab-belnr
AND gjahr = i_postab-gjahr
AND koart = 'K'.
IF sy-subrc EQ 0.
e_postab-lifnr = bseg-lifnr.
CLEAR: lfa1.
SELECT SINGLE *
FROM lfa1
WHERE lifnr = bseg-lifnr.
IF sy-subrc EQ 0.
e_postab-namek = lfa1-name1.
ENDIF.
ENDIF.
CLEAR : bseg.
SELECT SINGLE *
FROM bseg
WHERE bukrs = i_postab-bukrs
AND belnr = i_postab-belnr
AND gjahr = i_postab-gjahr
AND koart = 'D'.
IF sy-subrc EQ 0.
e_postab-kunnr = bseg-kunnr.
CLEAR: kna1.
SELECT SINGLE *
FROM kna1
WHERE kunnr = bseg-kunnr.
IF sy-subrc EQ 0.
e_postab-named = kna1-name1.
ENDIF.
ENDIF.
ENDIF.
Then save and active FM.
Call FIBF transaction again.
FIBF -> Settings -> Process Modules -> ...of a customer
Define a new line.
Process : 00001650
Function Module : ZFI_INTERFACE_00001650
Product : ZFI
and this customizing.
Then you go to SE38 transaction.
start report RFPOSXEXTEND. After starting, a pop-up appears, you must click YES.
(此处执行的时候会报错,
End phase 002 ***********************************************************
Message no. D0322,)
补充,在FIBF添加Process Module的时候,系统找不到00001650,可以用SM30维护TPS01解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11782589/viewspace-702587/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11782589/viewspace-702587/