on 08-01-2007 1:26 PM
Hi 2 All,
Friends I ran the scenario File 2 Idoc sucessfully ....but when i tried JDBC 2 IDoc using the similar business scenario it didn't worked....
I got the reason also...
IDoc is being received at R/3 ...but unfortunately could not be processed.because of error 51 ..on checking the XML structure after mapping i am clear that mapping is not appropriate .
when i am saying not appropriate i mean to say that constants values are being picked up from mapping but the values which are coming from oracle like LIFNR ( i.e VendorNumber...etc)..are not picked in mapping.as a result error message at R/ 3 side is "Acct group LIEF uses ext. no. assignment. Specify an account number " at the time of Idoc posting on viewing WE02
I didn't got any error at mapping time but definitely i missed something in mapping..can you guys help me to figure out where did i missed ...
Points will be awarded..surely..
Hi Yaghya,
Myself is populating the value in the table Vendor_tab.
At Inbound level in Moni i can see the the payload as
_______________________________________________________
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_VENDOR xmlns:ns="urn://mmis:group02:jdbc2idoc">
- <row>
<VENDORNUMBER>20</VENDORNUMBER>
<LASTNAME>BSP</LASTNAME>
<SEARCHTERM>SAI</SEARCHTERM>
<CURRENCY>INR</CURRENCY>
<STREET>IB</STREET>
<CITY>BHI</CITY>
<ZIP>490006</ZIP>
<COUNTRY>IN</COUNTRY>
<FLAG>N</FLAG>
</row>
</ns:MT_VENDOR
_____________________________________________________________
you can easily see the value vendornumber , last name ...etc which are being mapped with LIFNR and other fields are coming up from the database table in step 1.
but on request mapping step in MONI i am getting only this as payload :
____________________________________________________________
<?xml version="1.0" encoding="UTF-8" ?>
- <CREMAS03>
- <IDOC BEGIN="1">
- <E1LFA1M SEGMENT="1">
<MSGFN>009</MSGFN>
<ANRED>COMPANY</ANRED>
<KTOKK>LIEF</KTOKK>
- <E1LFB1M SEGMENT="1">
<MSGFN>009</MSGFN>
<BUKRS>3000</BUKRS>
<AKONT>31000</AKONT>
<FDGRV>A1</FDGRV>
</E1LFB1M>
- <E1LFM1M SEGMENT="1">
<MSGFN>009</MSGFN>
<EKORG>3000</EKORG>
</E1LFM1M>
</E1LFA1M>
</IDOC>
</CREMAS03>
________________________________________________________________
You can easily see there are only the constant values which i have mapped in Message Mapping...where as the payload should also contain the values from table...
Hope you got me..?
Can you let me know when i need to map the root of target and source structures though i have mapped the fields of the structures perfectly..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yaghya ,
SQL query is simple i am picking all the field values from the table on the basis of flag :
Select Query goes like :
select * from vendor_tab where flag = 'N'
Update query is :
update vendor_tab set flag = 'Y' where flag = 'N'
Interesting thing is my flag value is getting changed in the table....
but i am not getting the values at the time of request mapping in SXMB_MONI.
regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Rajesh,
not required ...is o.k...can you suggest some solution..
Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Rawat,
Check your mapping like mentioned in the weblog and see whether you are getting all the values which are mapped from the database:
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
Regards,
---Satish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yaghya,
Thanks a lot for the response....I checked the Payload in Request Mapping .....
_______________________________________________________________
<?xml version="1.0" encoding="UTF-8" ?>
- <CREMAS03>
- <IDOC BEGIN="1">
- <E1LFA1M SEGMENT="1">
<MSGFN>009</MSGFN>
<ANRED>COMPANY</ANRED>
<KTOKK>LIFE</KTOKK>
- <E1LFB1M SEGMENT="1">
<MSGFN>009</MSGFN>
<BUKRS>3000</BUKRS>
<AKONT>31000</AKONT>
<FDGRV>A1</FDGRV>
</E1LFB1M>
</E1LFA1M>
</IDOC>
</CREMAS03>
_____________________________________________________________
One can easily see no information of LIFNR and other required field...even after Request Mapping step there is no change in the payload...
On checking the XSD structure of CREMAS.CREMAS03 i found that min occurs parameter is 0 for fields like LIFNR , ANRED...
__________________________________________________________
<xsd:element name="LIFNR" minOccurs="0">
___________________________________________________________
So, Do i need to export the XSD schema of IDoc and have to change the minoccurs parameter to 1 from 0 and then again import it and use in mapping...?
Am i correct if not please correct me..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Santosh,
It sounds as if the correct data is not coming from the database, specifically, the value for LIFNR is not being returned by your query.
The reason why your mapping is not failing is probably because the destination field where LIFNR gets mapped to, is not mandatory (ie. it allows the occurrence of 0).
I would first verify that the data coming from the database is in/correct by going to transaction SXMB_MONI and opening the message and viewing the payload BEFORE the mapping. If it does not have the LIFNR, then either the query in the sender communication channel needs review, or their is a problem processing that query on the database.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the quick response Mr. Reddy...I had taken care of LIFNR field...Interesting thing is that values are not coming from the Table only at mapping time but the flag field is getting changed in the table and also on testing the mapping is showing me all the Fields...like LIFNR...etc.
Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
then map the LIFNR filed on taget IDOC field to vendor number field from source system database.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
101 | |
13 | |
13 | |
11 | |
11 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.