SQL to BAPI Message Mapping Issue
This is my datatype for source, which refered by resultset
<?xml version="1.0" encoding="UTF-8"?>
<mt_PhysCountInfo>
<row>
<PROCESSED/>
<TRANS_ID/>
<TRANS_RFC/>
<SAPABX_STATUS/>
<SIGN/>
<OPTION1/>
<LOW/>
<HIGH/>
</row>
</mt_PhysCountInfo>
When JBDC Sender Adapter polls SQL Database, SQL select statement is written in such way that its picks data from 5 tables among them datatypes in 4 tables is same(SIGN, OPTION1, LOW, HIGH) with different values....which in turn will be mapped to 4 corresponding tables in BAPI.
Here is my souce once JDBC adapter picks from SQL tables:
<?xml version="1.0" encoding="utf-8"?>
<mt_PhysCountInfo>
<row>
<PROCESSED>N</PROCESSED>
<TRANS_ID>1847201</TRANS_ID>
<TRANS_RFC>BAPI_MATPHYSINV_GETITEMS () <b>plant_ra, stge_loc_ra, count_status_ra, phys_inv_no_ra</b>, items, headers, return</TRANS_RFC>
<SAPABX_STATUS>x</SAPABX_STATUS>
<SIGN><b>I</b></SIGN>
<OPTION1><b>EQ</b></OPTION1>
<LOW> </LOW>
<HIGH></HIGH>
<SAPABX_STATUS>x</SAPABX_STATUS>
<SIGN><b>I</b></SIGN>
<OPTION1><b>BT</b></OPTION1>
<LOW></LOW>
<HIGH><b>ZZZZZZZZZZZZZZZZ</b></HIGH>
<SAPABX_STATUS>x</SAPABX_STATUS>
<SIGN><b>I</b></SIGN>
<OPTION1><b>EQ</b></OPTION1>
<LOW><b>WOIL</b></LOW>
<HIGH></HIGH>
<SAPABX_STATUS>x</SAPABX_STATUS>
<SIGN><b>I</b></SIGN>
<OPTION1><b>BT</b></OPTION1>
<LOW> </LOW>
<HIGH><b>ZZZZ</b></HIGH>
</row>
</mt_PhysCountInfo>
This is how my target stucture looks like now. But I am not getting right mapping here. If you see values for SIGN, OPTION1, LOW and HIGH they all are same for all tables...means its mapping first set values from source to all tables in target.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:BAPI_MATPHYSINV_GETITEMS xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<b><COUNT_STATUS_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>EQ</b></OPTION>
<LOW> </LOW>
<HIGH/>
</item>
<b></COUNT_STATUS_RA></b>
<HEADERS/>
<ITEMS/>
<b><PHYS_INV_NO_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>EQ</b></OPTION>
<LOW> </LOW>
<HIGH/>
</item>
<b></PHYS_INV_NO_RA></b>
<b><PLANT_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>EQ</b></OPTION>
<LOW> </LOW>
<HIGH/>
</item>
<b></PLANT_RA></b>
<RETURN/>
<b><STGE_LOC_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>EQ</b></OPTION>
<LOW> </LOW>
<HIGH/>
</item>
<b></STGE_LOC_RA></b>
</ns0:BAPI_MATPHYSINV_GETITEMS>
But target should look like this after mapping:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:BAPI_MATPHYSINV_GETITEMS xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<b><COUNT_STATUS_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>EQ</b></OPTION>
<LOW> <b>WOIL</b></LOW>
<HIGH/>
</item>
<b></COUNT_STATUS_RA></b>
<HEADERS/>
<ITEMS/>
<b><PHYS_INV_NO_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>BT</b></OPTION>
<LOW> </LOW>
<HIGH><b>ZZZZ</b></HIGH>
</item>
<b></PHYS_INV_NO_RA></b>
<b><PLANT_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>EQ</b></OPTION>
<LOW> </LOW>
<HIGH/>
</item>
<b></PLANT_RA></b>
<RETURN/>
<b><STGE_LOC_RA></b>
<item>
<SIGN><b>I</b></SIGN>
<OPTION><b>BT</b></OPTION>
<LOW> </LOW>
<HIGH><b>ZZZZZZZZZZZZZZZZ</b></HIGH>
</item>
<b></STGE_LOC_RA></b>
</ns0:BAPI_MATPHYSINV_GETITEMS>
Can I achieve this by using Message Mapping??? or If I have to do with XSLT or JAVA can anybody provide me code.
Thank You
Indrasena
Hi,
>>>Can I achieve this by using Message Mapping???
it depends:)
do you always get 4 values (one for each target table?)
if so then you create a few user advanced functions
that will return values in direct order:
first function:
result.addValue(a[0]);
sencond one:
result.addValue(a[1]);
and so on
then you can use those functions
to map values to different tables
if you have more then you can do some if conditions
in the user advanced function
Regards,
michal
Similar Messages
-
Message Mapping Issue with data without namespace
Hi,
I have a common xsd imported which has its own target namespace into my SWC namespace. Based on this xsd I have generated a Message Interface and webservice and given the wsdl to third party system for invoking my webservice.
The problem is I have done the message mapping based on xsd which has namespace but whereas the third party system which is consuming my webservice is sending the xml data without any namespace and because of which my mapping is failing (target structure is not getting generated as expected). I have tested the mapping with namespace and without namespace from IR already. I have explained this below with example.
I cannot change the xsd as it is a common and even cannot ask the end system to change the data format they are sending as they are sending the same data to some other systems also, which are not complaining.
How to resolve this issue in XI?
Actual xml data generated from my imported xsd (with namespace)
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Root xmlns:ns0="http://employee/types">
<ns0:EmployeeDetails>
<ns0:EmployeeId>12</ns0:EmployeeId>
<ns0:EmployeeName>XYZ</ns0:EmployeeName>
</ns0:EmployeeDetails>
</ns0:Root>
Actual Data coming from third party system (without namespace)
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<EmployeeDetails>
<EmployeeId>12</EmployeeId>
<EmployeeName>XYZ</EmployeeName>
</EmployeeDetails>
</Root>
Thanks
AmitJust wild guess:)
I am not 100% sure but i guess XSLT mapping does not checks the incoming payload against the sender message type.Within XSLT mapping you can add/remove namespace as you would like,use this XSLT mapping before your actual message mapping in interface mapping.
I am saying this coz recently i was able to generate XSLT mapping(in altova Map Transform) without even specifying any sender or receiver Message type and it worked just fine.
Thanx
Aamir -
Message Mapping Issue in PI 7.1
Hi Experts
I am working on a Message mapping, and I have the following structures on the Sender and receiver side
-->InterfaceHeader
-->DocumentHeader (1-Unbounded)
-->DocumentLineItems (1-Unbounded)
-->InterfaceTrailer -1
Same structure on the sender and Receiver, I am sending the data as follows
-->InterfaceHeader
-->DocumentHeader1
-->DocumentlineItems1
-->DocumentHeader2
-->DocumentlineItems2
-->InterfaceTrailer -1
after mapping I am getting the following results
-->InterfaceHeader
-->DocumentHeader1
-->DocumentHeader2
-->DocumentlineItems1
-->DocumentlineItems2
-->InterfaceTrailer -1
i.e Header 1 and 2 are coming same and then details are coming, I need the result xml the same way which I have sent.
find the example payload below, please let me know how can I get the structures in the same order of the sender payload.
results should be
-->InterfaceHeader
-->DocumentHeader1
-->DocumentlineItems1
-->DocumentHeader2
-->DocumentlineItems2
-->InterfaceTrailer -1
Thanks
PRCheck this blog...you have solution for this
/people/shabarish.vijayakumar/blog/2010/01/14/file-conversion-using-nodeception -
Message mapping issue in idoc to jdbc scenario
We have a scenario of idoc->XI-JDBC
the below given segment may get repeated , as shown below ,
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000034(EAN No)
Reqd mapping
if QUALF=003
THEN IDTNR----->Bar_code_Number_EAN
Now IDTNR has to be mapped with Bar_code_Number_EAN for the segment which comes last
Pl suggest how to map using graphical mapping for the above scenario.Hi Raj ,
The current mapping works fine if the parent segment E1EDP01 is only one but if that gets repeated then the last value of IDTNR is getting populated in the target side, very clearly i m giving the source and target structure and the mapping done using the UDF
Source structure
E1EDP01
E1EDP19[1]--idoc segment
QUALF---002
IDTNR---01000123(Bar Code No)
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000030(EAN No)
E1EDP01
E1EDP19[1]--idoc segment
QUALF---002
IDTNR---01000123(Bar Code No)
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000031(EAN No)
E1EDP01
E1EDP19[1]--idoc segment
QUALF---002
IDTNR---01000123(Bar Code No)
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000032(EAN No)
Target mapping
if QUALF=002
THEN IDTNR--->Article_No this is the direct mapping so , no issues
if QUALF=003
THEN IDTNR----->Bar_code_Number_EAN, now this IDTNR should get repeated every time the segment E1EDP01 gets repeated , currently only the last value form all the IDTNR is coming to the target side.
The current mapping works fine if the parent segment E1EDP01 is only one
Target structure
Access1
IDTNR--> Bar_code_Number_EAN( value is 20500000000030)
Access2
IDTNR--> Bar_code_Number_EAN( value is 20500000000031)
Access3
IDTNR--> Bar_code_Number_EAN( value is 20500000000032)
Current mapping
If QUALF = 003
Then QUALF ---->
mapBarCodeEAN---->Bar_code_Num_EAN
If QUALF = 003
Then IDTNR ---->
Context of QUALF is set to E1EDP01
Context of IDTNR is set to E1EDP01
thanks for your personalised help
rgds
mojib
Edited by: mohammad mojib ur rahman on Apr 9, 2010 1:30 PM -
Hi guys,
I am facing an issue in mapping.
it is IDOC to File scenario.
this is wat i have to perform.
(MARM-UMREN / MARM-UMREZ) for PC x (MARM-UMREZ / MARM-UMREN) for CAS.
here PC and CAS both taken from MARM-MARM..which i got from my IDOC.
How can i get make 2 values for MARM_meinh(PC and CAS).only 1 value comes in idoc.
please provide me some logic for this.
Thanks in advance.
SahilHi,
You can use advanced user defined function.
Give input as Header element.
add all the elements within header in the result set.
put splitByvalue at the output of user defined funstion and map it to sub..
i assume that sub is unbounded.
This should work. check this out.
reply if it works
thanks and regards
P.Venkat -
Hi,
I have HTML -> XI -> RFC scenario and I have a problem with maping ...
HTML outbound interface looks like:
s_element_1
s_element_2
s_element_3
s_element_3_1
s_element_3_2
s_element_3_2_1
s_element_3_2_2
s_element_3_2_3
RFC inbound interface is as follows
d_element_1
d_element_2
d_element_3
d_element_4
d_element_5
d_element_6
I have following mapping:
s_element_1 -> d_element_1
s_element_2 -> d_element_2
s_element_3_1 -> d_element_3
s_element_3_2_1 -> d_element_4
s_element_3_2_2 -> d_element_5
s_element_3_2_3 -> d_element_6
mapping of s_element_1, s_element_2 to d_element_1, d_element_2 works correctly. Mapping of other elements does not work ... I have direct mapping without any functions.
Has anybody an idea, why not?
Thank you.Ask your basis to increase the trace level.
Go to transaction sxmb_adm.
Integration engine configuration --> specific configuration
Category - Runtime
Parameter - Trace_level
Parameter TRACE_LEVEL
Meaning
The parameter TRACE_LEVEL enables you to locally set the trace level for all pipelines in an Integration Engine.
However, the diagnostic header of a message can specify the trace level at which it is to be processed. Runtime then uses the higher of the local trace level and the message trace level.
Usage
You set this parameter when you want to analyze message processing as it enables you to document either individual steps or all steps in a pipeline.
Possible Values
0 Trace deactivated
1 Document important processing steps
2 Document important processing steps and details
3 Document all processing steps and details
Thanks,
Beena. -
Message Mapping Issue on header level
HI all,
I am doing File to IDOC scenario where I am having issue wiht mapping :
Flat File
Row -0Unbound
FieldA1..1
FieldB1..1
IDOC
--Segment
---Field1
---Field2
Segment1
Field11
FieldA is Order number.. IDOCs will generate up on order numbers change... FieldB is discount... If Discount is avaliable in any of the order number then I need to Pass YES orelse NO... Segment is a header segment where I need to pass whether discount is YES or NO... Suppose there are 5 rows of same order with discount in 4 row then I need to pass YES if discount doesnt avaliable in all 5 rows then NO..
Row
--FieldA<123>
--FieldB<>
</Row>
Row
--FieldA<123>
--FieldB<>
</Row>
Row
--FieldA<123>
--FieldB<10>
</Row>
Row
--FieldA<222>
--FieldB<>
</Row>
Row
--FieldA<222>
--FieldB<>
</Row>
IDOC
--Segment
---Field1<123>
---Field2<YES>
Segment1
Field11
</IDOC>
IDOC
--Segment
---Field1<222>
---Field2<NO>
Segment1
Field11
</IDOC>
Any inputs how to get value on header level? I tried but I am able to get only first value..not drilling down to each value depending on order number?
Thanks
Rajeev.Hi Prakasu,
Its working but there is one issue:
If one fo the discount value is 99.00 then I need to pass NO.. How can I achieve this? I used the UDF but it is taking only the highest value which is 99.00 but even if it is 99.00 I need to pass NO..
Suppose if first row discount is 99.00 and second row its 2,00 then I need to pass YES as it has 2,00 in the second row..
Row
--FieldA<123>
--FieldB
</Row>
Row
--FieldA<123>
--FieldB<99>
</Row>
Row
--FieldA<123>
--FieldB<>
</Row>
Row
--FieldA<222>
--FieldB<8>
</Row>
Row
--FieldA<222>
--FieldB
</Row>
IDOC
--Segment
---Field1<123>
---Field2<NO>
Segment1
Field11
</IDOC>
IDOC
--Segment
---Field1<222>
---Field2<YES>
Segment1
Field11
</IDOC>
First row value is 99 and Null it has to give NO as if discount has 99 then it should pass NO.. in the second order first row is 8 and second row is null.. it should give YES but it is giving NO becuase if is taking only the last value in the Context change..
Any inputs how to achieve this?
Thanks
Rajeev.
Edited by: rajeev raj on Nov 23, 2009 2:52 PM -
XML message mapping issue!!
Hi ipbuff,
Many Thanks for your very quick reply. I have tried the way what explain, but not working . I am attaching both the structures, please guys throw your valuable openions and technical ways how to resolve this. I have 5 segments in Header, more than Lin item repeats more than 50 times. How do I map DTM Segment, <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> value for all target side node <ProductActivityNotification>ProductActitvity>Item>SalesTimeSeries>Item>Validate-->StartDate field.
This filed generates the same amount of lIn item generates.
Please your quick response.
I will really appreciate your quick and positive response.
http://img837.imageshack.us/img837/7786/mappinghelp.jpg
Many Thanks
Kind Regars
SanHi Sandhya,
I have 5 segments in Header, more than Lin item repeats more than 50 times. How do I map DTM Segment, <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> value for all target side node <ProductActivityNotification>ProductActitvity>Item>SalesTimeSeries>Item>Validate-->StartDate field
Upto my understanding, u want to map <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> to StartDate(as above mentioned path).
Since u have 50 occurences for <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> parent node, but in target its not..... am i rt?
If yes..
Map from <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> to StartDate, and u also add a node function collapse contexts.
Collapse context will give the very first value in every context.
<DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> > Collapse Context>StartDate.
I think this should solve ur problem.
If still not let us know...
Babu -
Hi Experts,
Im stuck up with a message mapping issue. Need your advice if I can handle this in message mapping or should I changed the FCC.
FILE to RFC scenario.
Input file sample.
1|OPENED|153-01-19|T001|005151|0237|20100705|17:35:55|001 |20100705
101|A005152|1|20100705|11:46:38|001 ||||001||1|N|SALE
111|WCAKE004|1.000|42.00|42.00||G||0.00|LIQUOR|||N|42.00|0.00|$|0.00|WCAKE004
111|WCAKE004|-1.000|42.00|42.00||G||0.00|LIQUOR|||N|-42.00|0.00|$|0.00|WCAKE004
111|WCAKE005|1.000|38.00|38.00||G||0.00|LIQUOR|||N|38.00|0.00|$|0.00|WCAKE005
121|38.00|0.00|0.00|0.00|0.00|I|N||0.00|0.00
131|T|CASH|S$|1.0000000|38.00||||38.00
141|G|0.00
1|CLOSED|153-01-19|T001|005162|0237|20100705|17:35:55|001 |20100705
After the FCC the message comes into XI in the format (Source message) .
GMRSTORES
--CODE1
1
OPENED etc..
--CODE101
101
A005152
1 etc..
--CODE111
111 etc..
--CODE111
111 etc..
--CODE111
--121
--131
--141
--1
The problem is on the target side when I try to map the Code111 (line item) to the targert RFC it comes only once or all the Code111 nodes comes under the same "ITEM_LI" The target RFC structure is like.
--/POSDW/CREATE_TRANSACTIONS_EXT
IT_TRANSACTION
ITEM
RetailLIne Item
ITEM_LI (here is the problem I expect 3 ITEM_LI nodes for each CODE111)
Pls advice.
Thanks
PrasannaThe problem is on the target side when I try to map the Code111 (line item) to the targert RFC it comes only once or all the
Code111 nodes comes under the same "ITEM_LI"
here is the problem I expect 3 ITEM_LI nodes for each CODE111
1) Ensure that you have raised the Context of the source node (CODE111) to a higher node.
2) Is your mapping logic proper..... is the ITEM_LI node or its parent node mapped properly so that when the CODE111 repeats, the target is also able to repeat?
3) did you check the max occurence of ITEM_LI node.....it should be more than 1
Regards,
Abhishek. -
MESSAGE MAPPING FROM SQL TO RFC(BAPI)
Hello Guys,
Im just new here in SAP XI version 7.0 . Can anyone teach me how to map objects using IR (design) between sender (data coming from sql 2005) and receiver (using Bapi_Salesorder_Createfromdat2)?
there are only specific fields i need to transfer the data like the followings :
do i need to map all fields from sender to receiver?tell me how..
*ORDER_HEADER_IN
-DOC_TYPE = ZTRV
-SALES_ORG =4000
-DISTR_CHAN =40
-DIVISION=41
-SALES_OFF=4101
-SALES_GRP=411
-PURCH_NO_C='TEST TPL1' (MUST BE UNIQUE)
-PMNTTRMS =Z015
-PURCH_DATE=09/04/2008
*ORDER_PARTNERS
-PARTN_ROLE= AG
-PARTN_NUMB=1100074
Thanks in advance
aVaDuDzHi,
Create :
1. Source & Target Data Types
2. Messge Type (for source & target data types)
3. Two Message Interface for using above message types
4. One Message mapping using source & target message Type
5. One Interface mapping.
In message mapping just map those field which you require. You can leave rest of the fileds un mapped at source which are not required to map.
Regards,
Sarvesh -
Duplicate Message ID issue in case of Multi mapping (without BPM)
Hi Experts,
I am doing one sample Example for my requirement of converting the single source message data into the multiple Target messages.
for example, when sender system is sending the 5 sale order details into a single message in PI then my Inbound proxy class of ECC R/3 receiver system must get this sale orders separately, that means inbound proxy class method must be triggered separately for 5 sale orders from sender system. for achieving this, I have used the Multi mapping concept in ESR (without BPM).
This scenario is in Asynchronous mode.
The below screen shots give the details on what I have configures so far.
IN ESR
IN ID
IN SXMB_MONI of PI
IN SXMB_MONI of ECC R/3 Receiver system (Error in Processing)
due to this error, inbound Proxy class method is not being triggered for the single Sale order details as well,
please let me know how to tackle this duplicate message ID issue when we have multiple payloads to process in a single message.
please also let me know if is there any other workaround to fulfil this requirement.
Thank you,
Regards,
JageshHi Nunu,
Check the below blog for restrictions.
Multi-Mapping without BPM - Yes, it’s possible!
Restrictions
Messages that result from the split in a mapping-based message split are sent using one AE. So only adapters running on the AE are supported. In particular, this means that target IDOC message splits are not supported since the IDOC adapter is not part of the AE.
Regards,
Praveen. -
PI 7.1 Operation mapping - Multiple message mapping - one to many issue
Dear Experts,
I am facing this issue in PI 7.1 and I beleive i did similar one in PI 7.0 successfully.
I have an operation mapping with two message mappings.
The occurence of source message of operation mapping is 1
The occurence of target message of operation mapping is 0..unbounded
Corresponding i configured two message mappings
For message mapping-1
Source message occurence = 1 and Target message occurence = 1
For message mapping-2
Source message occurence = 1 and Target message occurence = 0...unbounded
When i test message mappings individually they are working good. But when i test it in operation mapping, the operation mapping is not working..as it is not able to convert single occurence output of message mapping -1 to the second message mapping-2.
Any suggestions?
Thanks.The message that i get when testing in operation mapping:
Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_MessageMapping_1_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:MT_MessageMapping_1_TargetMessageType/RECORDSET. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
My question is, has somebody mapped similar scenario in your environment? If yes, can you please provide details.
Operation mapping : 1 to 0..unbounded
Message Mapping1: 1 to 1
Message Mapping2: 1 to 0...unbounded -
Hi,
A scenario File - BPM - BAPI call was developed, as described in blog 'RFC scenario using BPM' cfr. link
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
The Mapping is as follows:
MT_EDB_MATERIAL_REQ (1:1) --> BAPI_MATERIAL_EXISTENCE_CHECK (1:1)
MATNR (1:1) -
> MATERIAL (1:1)
When executing the scenario, an error appears in the trace of SXMB_MONI, step 'Request Message Mapping'
Cannot produce target element /ns1:BAPI_MATERIAL_EXISTENCECHECK. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd....
I tried the following:
1) import the XML-file into the testmapping: executed successfully
File:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_EDB_MATERIAL_REQ xmlns:ns0="http://agfa.com/SD_EDB">
<MATNR>15P6X</MATNR>
</ns0:MT_EDB_MATERIAL_REQ>
2) Removed the mapping on node level and left mapping only on element level (material): same error
3) Activated the message mapping, interface mapping, determinations, etc again...:same error
4) Removed the Interface Mapping and created it again: same error
5) Compared the version ID of the Interface Mapping/message mapping in the Monitor trace with the version ID of the IR and saw that there was a difference.
After the CPA full cache, SXI_CACHE full refresh and object refresh in the IB Administration, the differences remain, and also the error....
Anybody an idea ?Hi
>>>Cannot produce target element /ns1:BAPI_MATERIAL_EXISTENCECHECK. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd....
The error clearly says that one of the occurrence value for the target node mentioned is not coming from the source during mapping. The easiest way to solve the problem is as follows
<b>
First Execute the mapping as pointed out by "Raj" and the following steps.
</b>
1. Goto the Mapping Editor
2. Double click on the target node that is causing the problem here BAPI_MATERIAL_EXISTENCECHECK.
3. Right click on the same node and select "DisplayQueue".
4. View the Queue.
5. YOu will find "Suppress" entries, which means a value is expected but no value is coming in.
6.Go from right to left and check each node in the mapping and you will be able to trace where the suppress node comes from and take appropriate action
regards
krishna -
Issue with IDOC occurence and SeeBurger message mapping
Hey Guys
While developing a EDI 850 to IDOC scenario i came across this issue with pre-delivered Seeburger mapping(A_850_V4010_to_I_ORDERS05).
I actually need to post multiple IDOC's to SAP system in the same message so i changed the IDOC occurence to unbounded and re-imported that as a .XSD file in Integration repository.
Earlier the pre-delivered message mappings provided by SeeBurger(under SEEBURGER_HIGH-TECH, 1.7.1 of seeburger) was working fine for me since i was posting only 1 IDOC but now the mapping is failing as the IDOC occurence has changed(unbounded).
Is there a way we can do some settings on SeeBurger server or Bic so that we can use the pre-delivered mapping for Multiple IDOC's as well?
I just want to make sure before i start off with doing whole of the mapping manually.
Thanx
AamirThanx for the input guys
@Deepthi.
Doing whole of mapping manualy is definitely the last option but i m looking for ways to re-use the pre-delivered SeeBurger mapping.
>>Seeburger Mapping is only just to convert XML to EDI and EDI to XML.
Bic mapping designer does this,i m dealing with message mapping of XI(convert source to target) not Bic designer right now,and Bic does more than just XML to EDI and vice versa,it handles other industry standards too.
@Jens
>>The XI message mappings from Seeburger in the Industry solutions are mapping templates
Yeah,but the mapping template i have deals with 850 to ORDERS05,when i change IDOC occurence and re-import it back in Integration repository,it doesn't stays as ORDERS05,it has to be changed to user defined message interface(in my case MI_ORDERS05) so i m unable to use 850 to ORDERS05 template.
@Seshagiri
>>Open the Seeburger SWCV From the IR--goto External Def---Select the right one and copy it and paste it in notepad.
Changing the occurence is not an issue,i want to re-use the pre-delivered mapping in Integration repository,which is not working.
Looks like i need to do it manually
Thanx
Aamir -
Message mapping problem: BAPI with range table parameters
A kind hello to all,
I try to call the BAPI_ALM_ORDERHEAD_GET_LIST in a 4.70 system via RFC connector. The configuration already works with another BAPI. With this here I get message mapping exception:
Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Zielelement /ns1:BAPI_ALM_ORDERHEAD_GET_LIST kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt. at com.sap.aii.mappingtool.tf3.AMappingProgram.start
(How can I switch the trace language to English easily? I try to translate:
"BAPI_ALM_ORDERHEAD_GET_LIST cannot be created. Check if the XML instance meets the requirements for the output XSD and the destination field mapping meets the requirements of the destination XSD.")
But the mapping test tool in the Integration Builder Design does not report any warning or error.
My guess is that the problem lies in the parameter structure of the BAPI_ALM_ORDERHEAD_GET_LIST: I have to fill the IT_RANGES selection range table, so it looks as if I need several instances of the item in the corresponding XML. Can I use "Duplicate tree" in the mapping editor? Here I got another exception?
Many thanks for any help!
Regards,
CarstenHi Udo,
you gave the final hint, indeed I used a XML file that was not evidently not compliant to the message type I created (even though it had been validated by Altova XMLspy).
From now onwards I only use the "Create instance" function of the test tool to create the XML body of my test messages...
Thanks a lot,
and best regards,
Carsten
Maybe you are looking for
-
External hard drive does not register
Hi guys, I'm having a ball sitting till 3am and not going anywhere with this film project. Yesterday I bought a Seagate 300G IDE 16M firewire/usb drive to use with FCP on a G5 OSX because the lab I share only gives 15G individual workspace. I want to
-
Convert .dwg to .pdf in Acrobat X Standard
I have Acrobat X Standard running on Windows 7. Can I convert .dwg files to .pdf files without having AutoCAD installed?
-
Hello Experts, I am facing this major issue in BI Query. I am able to open the BI Query from BEx Analyzer. When i go on to attach a document in the query, it takes me to SAP NetWeaver Logon Page. After i login using authorized User ID and Password, i
-
Why isn't Downloadhelper working with Youtube?
I have been using the Downloadhelper add-on for years on my laptop with no problem. I noticed about three days ago it was no longer working with any Youtube videos. The rotating icon is still working, and when I click on it, it still gives me the fil
-
Print Save as Postscript...
The page size of my document is 6 x 9. When I "Print > Save as Postscript..." the resulting PS document comes out as US Letter Size. I can't find a way to specify the output size for PS printing/saving. Any suggestions?