Idoc mapping conversion unwanted
Hi @,
we have a mapping from a sap-standard idoc to a foreign structure. In this mapping a unit field converts automatically the units (from GER->ST to EN->PC). This behavior is unwanted, is there a way to stop this?
Regards,
Bernd Kresse
Hi,
for this it's a simple 1:1 mapping without any conversion. When i test it and load the idoc structure and process the mapping, there happens an automatic conversion from "PC" to "ST" and this should not happen.
I can accept this, if the test is with my user (which has german as default language), but it also happens in the background.
I'd a look to every system user but no one has german as language.
For my opinion XI should not do any conversion by themself.
So what i look for is some kind of parameter e.g. to stop this behavior.
Regards
Bernd
Similar Messages
-
Mapping conversion of source value 4448601.75 to target value 448601
Mapping conversion of source value 4448601.75 to target value 4448601 or source value 999999.99 to target value 999999
Here standard functions like round, floor, ceil..etc, will not work because they will convert source value 4448601.75 to 4448602 and source value 999999.99 to 1000000.
Also i may have blank or white spaces coming in front of the source value from R/3 side like _____999999.99 and i want the value at the target side as _____999999. Here _____ representing blank or white spaces.
How i will do the mapping, can someone help me out.
Thanks,
Ashish
Edited by: Ashish Soni on Sep 6, 2008 9:53 PM>>Here standard functions like round, floor, ceil..etc, will not work because they will convert source value 4448601.75 to 4448602 and source value 999999.99 to 1000000.
No....! The floor function can be used. It returns the largest integer that is not greater than the passed value. However this will also trim the spaces.
So u can write a UDF that accept the number and substring till the decimal point and returns it.
Try this.. It works..
public String converv(String a,Container container)
return a.substring(0,a.indexOf('.'));
Thanks
SaNv... -
Hello,
We'd like to store the idoc data extracted from EDI 852 inbound transaction in an infocube for DP. SAP Note 154604 suggests that trx <b>/sapapo/map_tser</b> can be used for specifying the infocube.
However, in SCM 4.1, this trx has a field for PA only, not infocube. I was wondering how to pull the data into infocube.
Any suggestions would be appreciated.
Thank you,
MalliHello,
I'm afraid that i can not help you.
I am witting you because i am trying to get information about VMI/ SMI implementation, for ex. IDOC mapping, best practices, etc.
I will be appreciate if you can provide me this information.
Thanks&Rgds
Angélica -
Need to generate 2 idoc"mapping issue"
Hi Experts,
When the Purchase_order_type is coming like HIGH,REGULAR,NEW,BOUNCED. In this case i need to generate 2 idoc, based on HIGH is one and Other than HIGH is one, even though if it's REGULAR,NEW,BOUNCED.
I can't generate. pl suggest
rgds
selvamHi,
Please make sure you will sort the data in your select query.
Now, you need to have two idocs in mapping. Click on Duplicate Subtree to have second IDOC. Now lets assume, your first IDOC represents mapping when ORDER TYPE is HIGH and your second IDOC represents mapping when your ORDER TYPE is not equal to HIGH that is NEW, BOUNCED, REGULAR etc.
I have defined Source and Target data type as follows.
Source Data Type:
SDN
<Row>
<CQ_NO/>
<ORDER_TYPE/>
<LINE_NO/>
</Row>
Target Data Type:
SDNTarget
<IDOC>
<Node>
<CQ_NO/>
<ORDER_TYPE/>
<ItemNode>
<LINENO/>
</ItemNode>
</Node>
</IDOC>
Mapping for IDOC 1:
IDOC:
Order Type -->Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed) -->collapse context
Output of point 4 will be first input to u201CStart withu201D function and second input will be constant u201Ctrueu201D
Output of Point 5 --> create if --> IDOC
Node:
Map with constant
CQ_NO:
Order Type --> Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed)
User Format By example. Pass CQ_NO (Context of CQ_NO should be at Row) as first input and second input should be output of point 4.
Pass Output of format by example that is point no 5, to collapse context --> Split by value (Each Value) --> CQ_NO
ORDER_TYPE
Order Type --> Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed)
User Format By example. Pass ORDER_TYPE (Context of CQ_NO should be at Row) as first input and second input should be output of point 4.
Item Node:
Order Type --> Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed)
Output of point 4 will be first input to u201CStart withu201D function and second input will be constant u201Ctrueu201D
Output of Point 5 --> create if --> IDOC -
Help!! - File to Idoc Mapping with Nested structure
Scenario:
I have an inbound file that has three nested records.
eg. A00, B00 and C00. C00 is nested structure of B00 and B00 nested structure of A00. All these structure can repeat N number of times in a file.
How do I map this to IDoc structure that have one segment each for the three structures in the file and nested in the same way.
Question: How is the parent child relationship established?
Suppose I have a file
A00 1234 Sam 29
B00 london LE3 XYZ
B00 US 123456
C00 2 XYZ
A00 5678 Joe 22
B00 US 23456
If I make a nested structure and then say in the file conversion properties that A00 go to segA and then B00 go to segB, but then when I come back to A00, how do I move the data to the A00?
Thanks in Advance
RgdsFrom what you have layed out, you can create a data type with 3 children, all 1..unbounded cardinality, each containing their own elements. You say they are nested, but the example you gave isn't nested... it's just A's followed by B's followed by C's. If that is the case, you can then use a data type w/ 3 subelements (A, B & C) and each of those is actually a container with the real attributes of that line in your file. (I can email you a schema quickly if you need it)
If you are saying they can occur like this:
A00 1234 Sam 29
B00 london LE3 XYZ
B00 US 123456
C00 2 XYZ
B00 US 23456
C00 2 XYZ
THEN they are nested - ie B's & C's repeat under any A. Then you must create segment B as a subelement of segment A instead of on the same level, then bury C under B. (I find this easiest w/ a text tool rather than inside XI, as I can cut/paste segments where I want them to belong...)
Good luck with setting up content conversion on that file adapter... We have done this a few times, and it can be quite interesting.
If you have trouble with the schema, you can post your email & I can give you a quick example.
Message was edited by: Amanda Derringer -
Flat File to IDOC Mapping requirement to generate Multiple Segments
Hi Experts,
I got a requirement were i have 2 records in a file and i need to generate 2 IDOCs with multiple segments in it.
FILE :
10/01/2010 101 KRNA ic_quantity 30-0257 3526 1 1 ea 110000 10
10/01/2010 101 KRNA ic_quantity 90-0005 3526 1 2 ea 110000 10
Idoc should generate 2 IDOCs with multiple segments as shown below
I have imported the IDOC and changed the occurrence to " unbounded "
The Basic IDOC Type : WMMBID02
I need to generate Multiple segments of E1MBXY1
i.e.., First IDOC should contain two E1MBXY1 segments
Second IDOC should contain Four E1MBXY1 segments
IDOC1 : WMMBID02
Segment : E1MBXY1( 2 segments)
10/01/2010 101 KRNA ic_quantity 30-0257 3526 1 1 ea 110000 10
10/01/2010 101 KRNA ic_quantity 90-0005 3526 1 2 ea 110000 10
IDOC2 : WMMBID02
Segment : E1MBXY1 ( 4 segments)
10/01/2010 101 KRNA ic_quantity 30-0257 3526 1 1 ea 110000 10
10/01/2010 101 KRNA ic_quantity 30-0257 3521 1 1 ea 110000 10
10/01/2010 101 KRNA ic_quantity 90-0005 3526 1 2 ea 110000 10
10/01/2010 101 KRNA ic_quantity 90-0005 3521 1 2 ea 110000 10
Can anyone suggest me how to generate IDOCs with multiple segments
what are multiple ways of generating it
Whether it can be achieved using Multi-mapping or I need go for UDF
If any one has done has done this type of requirement ,please share the points.
Thanks
SaiBasically you need to generate idoc per record in the flat file. During fcc conversion you convert flat file to xml structure at the sender side. In the mapping use xml file structure source and idoc as receiver structure. You just export idoc and update the idoc segment 1 to unbounded. Please follow the michael blog for file to idoc multimapping without bpm. Yes without bpm it is possible.
see this link... This will answer your requirement.
https://wiki.sdn.sap.com/wiki/display/XI/File%20to%20Multiple%20IDOC%20Splitting%20without%20BPM
>Whether it can be achieved using Multi-mapping or I need go for UDF
you dont need udf for this. -
Mapping Record structure to IDOC (mapping fundamentals)
Hello,
how and WHAT should i map? Because all the time the test in Integration Builder works fine, but at runtime i got an exception during mapping (i dont know why).
Left Side (Message Type) Right Side (IDOC)
CMA_MSGTYP1 1..1 OILBLM.SAVE... 1..1
RECORD 1..1 IDOC 1..1
CONTROL 1..1 EDI_DC40 1..1
SEGMENT 0..unbounded E1BPP... 0..999
SEGMENT contains all values for the corresponding IDOC segment E1BPP..
The attributes BEGIN for IDOC and SEGMENT for EDI_DC40 are set to "1" with the constant function.
Do i really need to map EDI_DC40?
Do i need to map CMA_MSGTYP1, RECORD and CONTROL?
Thanks!Thanks for your help!
I have found the error. I just put the payload from SXMB_MONI into the test tab. The result was the same as described - empty. At a closer look i have found one small difference:
The incoming message SXMB_MONI files starts with
<ns:CMA_FILEINPUT1 xmlns:ns="http://ww..
The CMA_FILEINPUT1 is coming from the file adapter.
The xml source in message mapping test tab starts with
<ns:CMA_MSGTYP1 xmlns:ns="http://ww..
where CMA_MSGTYP1 is the name of the message type.
If i change now the parameter "document name" in conversion parameters of the file adapter to CMA_MSGTYP1 everything works fine!
That means: "document name" in conversion parameters of file adapter must be the same name of the message type in message mapping.
I must admit that i don't quite understand this... -
File to IDOC (content conversion)
Hi,
My scenario is File to IDOC.
My input file is as
"AAA",399,"DD",20050302,100642,3289
"B01","E",20051,39.1,"AC","M","L"
"B01","L",20051,38.3,"AC","F","D"
"B01","L",20301,37.7,"AC","F","W"
"L9",50
wherein the structure should look as follows:
<root>
<header> => occurence 1
<hdata1>.....</hdata1>
<hdatan>.....</hdatan>
<body> => occurance unbounded
<data1>.....</data1>
<datan>.....</datan>
</body>
</header>
<trailer> => occurance 1
<data2>....</data2>
</trailer>
</root>
Now my question is that how do we go for the content conversion in this scenario.(the problem is that header contains element data and subnode body)
Regards,
ShabzHi Amanda..
Thanx 4 the response.
But i have a query, since the target idoc is structured
with the heirarcy ( a header and a body inside the header, a footer ) during file conversion, if we change the structure as u said will that affect the context while the mapping takes place.
Ref: IDoc structure is
A
_B
C
Regards,
ShabZ
PS: I am not able to test your suggestion as my system is down -
Reduced message type - Idoc without conversion rules
Hi Friends,
Am facing a strange situation while converting the Material Master data from 4.7b to ECC using BD21 transaction with reduced custom message type. I have reduced the standard msg type MATMAS05 using BD53 for the required field mapping both systems and I written the code using the exit EXIT_SAPLMV01_002 based on client req.
The situation is that sometimes IDocs are failing and the error shows that some fields which I have not selected in E1MARAM segment of the reduced msg type are populated with some values(ex: zeroes-0, slash-/,spaces)
Note: Conversion rules are not needed for this scenario.
Please help me out how to get rid of this '/ ' or spaces which appear for unselected fields in outbound Idoc using reduced message type ?
Thanks
SaravananHi,
Please check the documentation in WE60 tcode and see if the fields are required to be passed...
Regards,
Nagaraj -
Hi All,
I have a question here.
Whenever we Syndicate from MDM an XML file which is using the MATMAS05 structure,we can view only the data segments and their fields in the destination preview that means,we are not syndicating the control and status segment.Will this not cause the idocs to fail as the control seg contains some required fields.
If we are using XI in the scenario,will it be able to do the control and status segment mapping without MDM syndicating those segments to XI in the xml file.
How do we take care of this?
Useful answers will be rewarded
Regards
SimonaBecky/Simona,
If you have gone through the blog provided by Maheswri, then please see the first method of sending Idoc, it says if dont click checkbox and disable the segment, the control record will go with default values.
I think Simona is sending data segment only from MDM not control segment. so just do mapping and try according to that blog.
Please also read this from help.sap.com:
Apply Control Record Values from Payload or not:
If you set the indicator, the conversion of communication parties to the IDoc partner is only possible for systems that are not logical systems.
If you do not set the indicator, all combinations of communication parties and services are handled as services without party.
If the IDoc XML structure contains a control record during outbound processing on the Integration Server, it is rejected and created again by the IDoc adapter. If you want to include additional values in the control record, set the indicator and provide an appropriate mapping for the values. See also: Fields of the IDoc Control Record.
So i think the scenario should work without control record .
BR,
Alok -
Hi,
For the idoc transfer from system A to System B. The idoc type defined is different in the 2 systems(segment definitions are the same) . So i have mentioned the mapping required for conversion in we70 and we73 in system B. Even after this , the idoc in not being converted to the format as specified in system B.
Please help.
RavishHi,
Please check the documentation in WE60 tcode and see if the fields are required to be passed...
Regards,
Nagaraj -
I am working on converting a inbound EDI 820 document to a SAP IDOC, PEXR2002. If anyone has any info as to where I can obtain a sample layout. Please let me know. Thanks!
Hi All,
If the source is an EDI and not an XML then you need an Adapter third party adapters from Seeburger are Provided for EDI integartions with SAP-XI.
Go to Following Links::
When we are integrating the EDI with XI we need seeburger Adapters
See the below links
/people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
/people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
/people/paul.medaille/blog/2005/11/17/more-on-the-sap-conversion-agent-by-itemfield
http://www.stylusstudio.com/edi/XML_to_X12.html
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b0b355ae-0501-0010-3b83-8f2bb566fa47
Details on XI EDI adapter from seeburger
EDI with XI
http://www.seeburger.com
http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/SEEBURGER_SAP_Adapter_engl.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
The complete installation manuals can be supplied by the seeburger vendors.
the adapter specific installations you can find in those manuals
Once a Seeburger sender adapter will pick the data from the EDI file's location it will have a seeburger provided map (Name will be addaed in the module of the Sender AS2 adapter)
Ask me if you need more details
Please provide forum points if find use full
regards
Piyush -
Issue in segment creation for File to IDOC mapping
Hi,
I have file with many feilds, i need to create a segment in IDOC for unique combination of 2 feilds.
eg:
408
430050
segment
208
430050
segment
208
430050
208
460100
segment
208
452010
segment
408
432000
segment
208
432000
segment
the value for the combination of first column and 2nd column are equal it should trigger one segment instead of 2segments else(for different combination) trigger the segment
eg from table:
in table for 208,430050 is occuring twice but it should trigger only one segment(unique combinations of 2 columns), for all other combinations it should trigger one segment for each.Hi Swapna,
You can use below mapping.
UDF:
Execution type : All Values Of Context
public void removeDuplicates(String[] context, ResultList result, Container container) throws StreamTransformationException{
HashSet<String> hashSet = new HashSet<String>();
for (int i = 0; i < context.length; i++) {
if (hashSet.add(context[i]))
result.addValue(context[i]);
else {
result.addSuppress();
Reards,
Praveen. -
Mapping conversion error in Dates
Hello Experts,
I am doing date conversion in Message Mapping from ECC date will come in YYYYMMDD for target i need to convert to YYYY_MM_DD for this i am using date transfer function.Issue is when date is coming like 20110908 it is converting properly like 2011-09-08
But when from ECC date is coming like 00000000 then by default it converting to 0002-11-30 how this date is coming i am not understanding actually it should convert like 0000-00-00 .
Please help meHi,
I am not quite sure why the conversion works like that. That said, the date 0000-00-00 is not a valid date, as that date has never existed. That may be the reason for the strange behaviour by PI.
I suggest you add fixed-values conversion before your dateConvert step in the mapping. Here you check for date 00000000 and map it to e.g. 00010101.
This should solve the issue, if you can live with a result date of 0001-01-01 in these cases.
Br,
Kenneth -
IDOC mapping 1 to 0..unbounded problem in PI 7.1
All,
We've recently implemented SAP PI 7.1 but we face an issue at the moment. Let me describe the case
We have a Source message which is the DEBMAS IDOC.
Within the IDOC we use mappings for Header data and for Detail Data.
Mapping the header data is no issue that is a 1 to 1 message mapping to our canonical data.
BUT
When we want to use the message split mapping in order to extract the detail data PER line we have discovered a problem.
When within a message mapping or within the operation mapping we use as Source the IDOC ( occurancy 1 ) and the target we take our detail canonical message (occurancy 0..unbounded) we are getting the message in our mapping that the IDOC cannot be resolved.
When we change the target occurancy to 1 then the mapping works well.
Is there any one facing the same issues as we do.
thanks in advanceThis is an issue with queues with different length. You should always avoid this, as you cannot be sure, what happens.
Instead of assigning a single entry queue to a target that expects a multiple entry queue, you should go for a generating function. A generating function delivers as many queue entries as requested.
In your scenario, just use an empty constant. Of you have a value to be repeated, use CopyValue.
Regards
Stefan
Maybe you are looking for
-
Flex sampling frequency changes when I use it with apple loops
Flex sampling frequency changes when I use it with apple loops in a 24 bit 88.2 project
-
Cannot install agent on 2 2012 Host servers
Hi, i am using SCVMM 2012 SP1 version 3.1.6011.0 i have 2 2012 Datacentre servers, both hyperv hosts, i am unable to install the agent, manually or remotely i get an error as soon as i run the installer "There is a problem with this windows installer
-
After reading some other threads I used EtreCheck. Below are my results. Any assistance would be appreciated. Other threads said it was best to start a new conversation to get the best answer. EtreCheck version: 1.9.13 (49) Report generated August
-
Kinect for windows v2 SDK and v1 sensors
Before upgrading to win 8 to utilize the Kinect for Windows SDK 2.0 I want to know if it is backwardly compatible with the v1 of the sensors. Thanks
-
Missing 3D graph ActiveX control
Hi I have LV 2009 f2 (64bit) version for Windows 7 and any of the "3D graph properties" vi and examples using the 3D graphs show "Control could not be loaded" in the 3D graph window. The LV help says it should be available in the basic version, I ha