‎2008 Dec 23 8:01 AM
Hi Experts,
I am using an idoc which is internally calling a BAPI - BAPI_ACC_DOCUMENT_POST
I need to pass data custom fields from idoc to bapi BAPI_ACC_DOCUMENT_POST .
For this in the change method of the BADI BADI_ACC_DOCUMENT, I have written the code.
The BAPI has extension2 defined in it.
The inbound idoc has a segment E1BPPAREX which has the contents like this:
STRUCTURE
VALUEPART1
VALUEPART2
VALUEPART3
VALUEPART4
How to fill the data to see whether my Zfields are getting passed?
The code in the change method of the BADI is:
DATA: WA_EXTENSION TYPE BAPIPAREX,
WA_ACCIT TYPE ACCIT,
EXT_VALUE TYPE C LENGTH 960,
L_TABIX TYPE SY-TABIX.
FIELD-SYMBOLS: <L_STRUC> TYPE ANY,
<L_FIELD> TYPE ANY.
DATA: L_REF TYPE REF TO TE_STRUC.
SORT C_EXTENSION2 BY STRUCTURE.
LOOP AT C_EXTENSION2 INTO WA_EXTENSION.
AT NEW STRUCTURE.
CREATE DATA L_REF TYPE (WA_EXTENSION-STRUCTURE).
ASSIGN L_REF TO <L_STRUC>.
ENDAT.
CONCATENATE WA_EXTENSION-VALUEPART1 WA_EXTENSION-VALUEPART2
WA_EXTENSION-VALUEPART3 WA_EXTENSION-VALUEPART4
INTO EXT_VALUE.
MOVE EXT_VALUE TO <L_STRUC>.
ASSIGN COMPONENT 'ITEMNO_ACC' OF STRUCTURE <L_STRUC> TO <L_FIELD>.
CLEAR: WA_ACCIT.
READ TABLE C_ACCIT WITH KEY POSNR = <L_FIELD> INTO WA_ACCIT.
IF SY-SUBRC IS INITIAL.
L_TABIX = SY-TABIX.
MOVE-CORRESPONDING <L_STRUC> TO WA_ACCIT.
MODIFY C_ACCIT FROM WA_ACCIT INDEX L_TABIX TRANSPORTING ZZPRDCD
ZZXXX
ZZXXX.
ENDIF.
ENDLOOP.
where ZZXXX is my custom fields.
Regards,
Sangeeta.
‎2008 Dec 23 12:32 PM
Hi,
I donu2019t know , if I understand ur issue correctly or not.
You wanna know whether ur zfield in the extension idoc are getting fiiled thru Bapi or not?
Just go to WE19 and give any Existing idoc number realted to Document posting and fill the Extended segments with your data and execute. Befor this put a break-point in ur badi implemantation and check it.
Revrt back if any issues.
regards,
Naveen
‎2009 Jan 08 1:06 PM