2010 Dec 23 3:34 AM
Hi Experts,
I want to round off BSEG-WRBTR(amount) and BSEG-DMBe3 fileds during the simulation or POST in MIRO transaction when user
create INVOICE
Please provide any BADi or place for implicit Enhancement to do the same.
thanks in advance.
regards,
Deepanker
Edited by: Deepanker Dwivedi on Dec 23, 2010 4:36 AM
Moderator message: please do your own research before asking.
Edited by: Thomas Zloch on Dec 23, 2010 11:29 AM
2010 Dec 23 8:31 AM
HI,
BTE 1120 is the best way for your case.
You should copy from SAMPLE_PROCESS_00001120 FM into customized FM. After that you must make some customizing with using FIBF transaction.
i hope u are having knowledge of BTE.
If not, den refer below lines...
Call FIBF transaction -> Settings -> Products -> ...of a customer
Create a new line,
Product : ZXX
Text : BTE Products for FI Exit
Product active : tick checkbox.
Call SE37 for exit function and copy from FM SAMPLE_PROCESS_00001120 to ZFI_PROCESS_00001120. Then active your FM and go to FIBF transaction again.
FIBF -> Settings -> Process Modules -> ...of a customer
Define a new line.
Process : 00001120
Function Module : ZFI_PROCESS_00001120
Product : ZFI
You must add fields to BKPF_SUBST or BSEG_SUBST structure which you want to update while posting. In your case, you want to update XBLNR and this field also in BKPF_SUBST. So that you don't need to add new field to BKPF_SUBST stucture.
Then, you can set break in your ZFI_PROCESS_00001120 FM. It must be triggered.
Don't forget, If you want to substitute some field you can not update T_BKPF or T_BSEG, you must always use T_BKPFSUB or T_BSEGSUB internal table.
I'm writing sample code below. It's update business area for automaticlly generate VAT lines. (It's a document splitting inactive system 😃 )
DATA : LV_GSBER TYPE GSBER.
CLEAR : LV_GSBER.
LOOP AT T_BSEG WHERE GSBER NE SPACE.
LV_GSBER = T_BSEG-GSBER.
EXIT.
ENDLOOP.
LOOP AT T_BSEGSUB WHERE BUZID EQ 'T'.
T_BSEGSUB-GSBER = LV_GSBER.
MODIFY T_BSEGSUB.
ENDLOOP.
I hope it helps you!
Regards,
VG