Message Mapping Split
Hi,
following task is 2 high 4 me:
<root>
<fieldA/>
<fieldB/> optional
</root>
should be mapped to
<root>
<elm>
<constant>A</constant>
<value>A</value>
</elm>
<elm>
<constant>B</constant>
<value>B</value>
</elm>
</root>
If only field A exist then only one result elm.
If field B exist then two result elm.
Any ideas?
Udo
Hi,
its prety staight forward, if you were to do the message mapping using custom ABAP mapping or java mapping.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/how to use abap-mapping in xi 3.0.pdf
Naveen
Similar Messages
-
Message Mapping Split Function Problem
Hi All,
Could somebody plz help me on this problem of splitting the messege:
Source Field:
-MATMAS
-Idoc
-EMARAM
-MTART: 1,
2,
3
Target Required:
Based on the occurrence of Mtart, the target Idoc should be generated:
-MATMAS
-Idoc
-EMARAM
-MTART: 1
-MATMAS
-Idoc
-EMARAM
-MTART: 2
-MATMAS
-Idoc
-EMARAM
-MTART: 3.
Should I use a User-def function for the same or a split by value is sufficient.
I want to generate several idocs in my target if there are several Emaram segments in a single file in the source...!
Thanks & Regards,Hi,
You cannot use Multi Mapping as you have the Idoc adapter on the inbound side. There is a work around though.
Use SAP note : 814393 and change the occurence of your IDOC from 1..1 to 0 to unbounded.
Your mapping requirement is notvery clear though. Can you give some more detail?
Regards,
Bhavesh -
ABAP mapping split messages and dynamic filename
Hello,
i have set up a IDOC to file scenario where the IDOC is split into several files, which works fine. In addition to this it is required to set a dynamic filename out of the ABAP mapping for each file. If only one file is created this works already as well but how do you set the dynamic configuration when the messages are split?
Regards,
Andreas
Edited by: Andreas on Feb 26, 2009 9:09 AMyou cannot do dynamic configuration for message splits. The below is from SAP help.
Adapter-Specific Attributes and Multi-Mappings
In multi-mappings, there are multiple message headers with adapter-specific attributes. The mapping API can only access one message header. This has the following consequences depending on whether there are multiple source or target messages:
u25CF 1:n Transformation
If there are multiple target messages, the header for the adapter-specific attributes is copied for each message. This means that you can only create one header for all adapter-specific attributes, and not individual headers.
u25CF n:1 Transformation
This variant is only possible for multi-mappings in integration processes. If there is more than one source message, read-access to the adapter-specific attributes of the various message headers is not possible at runtime.
u25CF m:n Transformation
All afore-mentioned restrictions apply here. Developers can at most write the same adapter-specific attributes for all target messages to the header, without read-access to the attributes of the source messages. m:n transformations are only supported within integration processes.
What i will suggest is to use BPM to have the message split i.e 1:N mapping and then after that have another mapping 1-1 to have the dynamic configuration -
Use Message Mapping to repeat top node and split Message
I am currently using XSLT Messaging to do majority of the mapping. I have two issues that remain, I need to repeat the top node for each or its child elements and split the message.
<Sensor xmlns="namespace">
<Observation>
<XML>Some Data</XML>
</Observation
</Sensor>
1. Can it be done in XSLT? I posted a thread asking for help on this. Where I would need to repeat the Sensor tag for each observation. If this is possible then I will able to split the messages at the HTTP adapter used for the target system.
2. Can Message Mapping be used. Using the same xsd on both source and target systems, Will sensor repeat if set to 1:n and observation set to 1:1. In source it is Sensor 1:1, Observation 1:n. If this works then I can use a BPM to shoot out individual messages using a for each.
Any help is greatly appreciated. I am fairly new to XI as this is my first major project. ThanksSource File Target File
> XI (XSLT) -
> Each observation as one file ---> Out via HTTP
Batch of all orders
Source File
<?xml version="1.0" encoding="ISO-8859-1"?>
<receipt>
<manufacturer>Manufacture Name</manufacturer>
<manufacturer_gln>999999</manufacturer_gln>
<transfer_recipt>0123456</transfer_recipt>
<prod>
<product_GTIN>99999999999999</product_GTIN >
<product_LOT>123456A</product_LOT >
<production_date>20090131</production_date>
<expire_date>20120131</expire_date>
<carrier>
<carrier_type>P</carrier_type>
<carrier_barcode>001</carrier_barcode>
<carrier_detail>
<carrier>
<carrier_type>C</carrier_type>
<carrier_barcode>01</carrier_barcode>
<carrier_detail>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089211</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089212</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089213</carrier_barcode></carrier>
</carrier_detail>
</carrier>
<carrier>
<carrier_type>C</carrier_type>
<carrier_barcode>02</carrier_barcode>
<carrier_detail>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089214</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089215</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089216</carrier_barcode></carrier>
</carrier_detail>
</carrier>
</carrier_detail>
</carrier>
<carrier>
<carrier_type>P</carrier_type>
<carrier_barcode>002</carrier_barcode>
<carrier_detail>
<carrier>
<carrier_type>C</carrier_type>
<carrier_barcode>03</carrier_barcode>
<carrier_detail>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089217</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089218</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089219</carrier_barcode></carrier>
</carrier_detail>
</carrier>
<carrier>
<carrier_type>C</carrier_type>
<carrier_barcode>04</carrier_barcode>
<carrier_detail>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089220</carrier_barcode></carrier>
<carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089221</carrier_barcode></carrier>
</carrier_detail>
</carrier>
</carrier_detail>
</carrier>
</prod>
</receipt>
Target File
<?xml version="1.0" encoding="UTF-8"?>
<pmlcore:Sensor xmlns:pmlcore="urn:autoid:specification:interchange:PMLCore:xml:schema:1" xmlns:pmluid="urn:autoid:specification:universal:Identifier:xml:schema:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:autoid:specification:interchange:PMLCore:xml:schema:1 cases.xsd">
<pmluid:ID>GPO_AI_LU_DC</pmluid:ID>
<pmlcore:Observation>
<pmlcore:DateTime>2008-10-13T17:53:00.265+02:00</pmlcore:DateTime>
<pmlcore:Command>PACK</pmlcore:Command>
<pmlcore:Tag>
<pmluid:ID>01</pmluid:ID>
<pmlcore:Data>
<pmlcore:XML>
<Memory>
<DataField fieldName="EXPIRATION_DATE">20120131</DataField>
<DataField fieldName="BATCH_ID">123456A</DataField>
<DataField fieldName="ZMFG_DATE">20090131</DataField>
<DataField fieldName="ZMFG_GLN">999999</DataField>
<DataField fieldName="ZMANUFACTURER">Manufacture Name</DataField>
<DataField fieldName="ZITEM_COUNT">16</DataField>
<DataField fieldName="ZWORK_ORDER_NUMBER">0123456</DataField>
</Memory>
</pmlcore:XML>
</pmlcore:Data>
</pmlcore:Tag>
<pmlcore:Tag>
<pmluid:ID>0108699547010089211</pmluid:ID>
<pmlcore:Data>
<pmlcore:XML>
<Memory>
<DataField fieldName="EXPIRATION_DATE">20120131</DataField>
<DataField fieldName="BATCH_ID">123456A</DataField>
<DataField fieldName="ZMFG_DATE">20090131</DataField>
<DataField fieldName="ZMFG_GLN">999999</DataField>
<DataField fieldName="ZMANUFACTURER">Manufacture Name</DataField>
<DataField fieldName="ZWORK_ORDER_NUMBER">0123456</DataField>
</Memory>
</pmlcore:XML>
</pmlcore:Data>
</pmlcore:Tag>
</pmlcore:Observation>
</pmlcore:Sensor>
I have the XSLT Mapping working to transform data from Source file to target File. But my target file has multiple Observations that need to be split into the Sensor, Observation structure. -
Multi-Mapping "Split mapping created no messages"
Hi there
I have some issie when trying to create multiple messages from a single message. I am using file to file adapter and in the interface determination, enhanced config. Also my file structures are setup correctly. The inbound and outbound structure looks the same so theres no funny mapping used. I cheked my comm channels in the RWB and its fine and when I do a test config in the integration builder it complains about my interface determination but does not say whats wrong. Just the icon. I looked at some of the other blogs but they do not really help. Any ideas what this might be? The inbound message looks like this:
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_Allocations_Reply_OUTB xmlns:ns="urn:metcash.co.za:test">
- <IDOC_Recordset>
- <IDOC_Structure>
<PLANT>134</PLANT>
<ORDER_NUM>50885006</ORDER_NUM>
<FILLER>1</FILLER>
<PLU_NUM>00000000074893650</PLU_NUM>
<QTY>000024.00</QTY>
<FILLER_2>j</FILLER_2>
</IDOC_Structure>
- <IDOC_Structure>
<PLANT>134</PLANT>
<ORDER_NUM>50885006</ORDER_NUM>
<FILLER>1</FILLER>
<PLU_NUM>00000000074893650</PLU_NUM>
<QTY>000024.00</QTY>
<FILLER_2>j</FILLER_2>
</IDOC_Structure>
- <IDOC_Structure>
<PLANT>134</PLANT>
<ORDER_NUM>50885006</ORDER_NUM>
<FILLER>1</FILLER>
<PLU_NUM>00000000074893650</PLU_NUM>
<QTY>000024.00</QTY>
<FILLER_2>j</FILLER_2>
</IDOC_Structure>
</IDOC_Recordset>
</ns:MT_Allocations_Reply_OUTB>
*And the Error:*
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">GENERIC</SAP:Code>
<SAP:P1>Split mapping created no messages</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Split mapping created no messages</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Thanx,
Jan
Edited by: Jan de Lange on Nov 24, 2008 10:25 AMI checked my config in the IR with the following payload, but is still only shows a stop icon on interface determination & mapping with no error trace:
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_Allocations_Reply_OUTB xmlns:ns="urn:metcash.co.za:test">
<IDOC_Recordset>
<IDOC_Structure>
<PLANT>134</PLANT>
<ORDER_NUM>50885006</ORDER_NUM>
<FILLER>1</FILLER>
<PLU_NUM>00000000074893650</PLU_NUM>
<QTY>000024.00</QTY>
<FILLER_2>j</FILLER_2>
</IDOC_Structure>
<IDOC_Structure>
<PLANT>134</PLANT>
<ORDER_NUM>50885006</ORDER_NUM>
<FILLER>1</FILLER>
<PLU_NUM>00000000074893650</PLU_NUM>
<QTY>000024.00</QTY>
<FILLER_2>j</FILLER_2>
</IDOC_Structure>
<IDOC_Structure>
<PLANT>134</PLANT>
<ORDER_NUM>50885006</ORDER_NUM>
<FILLER>1</FILLER>
<PLU_NUM>00000000074893650</PLU_NUM>
<QTY>000024.00</QTY>
<FILLER_2>j</FILLER_2>
</IDOC_Structure>
</IDOC_Recordset>
</ns:MT_Allocations_Reply_OUTB> -
Error in Multi Message Mapping
Hi,
I am getting the following error in my multi message mapping scenario where I am trying to create 2 different output files from a single input file based on some condition. I tested the message mapping by using a test file and it works fine, but when I use the same file and test it end to end the scenario is failing with the following error.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--
Request Message Mapping
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">GENERIC</SAP:Code>
<SAP:P1>Split mapping created no messages</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Split mapping created no messages</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Is there something wrong with my configuration?
The trace has the following content.
Trace level="1" type="T">*** START APPLICATION TRACE ***</Trace>
<Trace level="3" type="T">Document start</Trace>
<Trace level="3" type="T">Start tag [ns0:Messages]</Trace>
<Trace level="3" type="T">Add raw attribute [ xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"]</Trace>
<Trace level="3" type="T">Start tag [ns0:Message1]</Trace>
<Trace level="3" type="T">Close tag [ns0:Message1]</Trace>
<Trace level="3" type="T">Start tag [ns0:Message2]</Trace>
<Trace level="3" type="T">Close tag [ns0:Message2]</Trace>
<Trace level="3" type="T">Close tag [ns0:Messages]</Trace>
<Trace level="3" type="T">Document end</Trace>
<Trace level="1" type="T">*** END APPLICATION TRACE ***</Trace>
<Trace level="2" type="T">Java mapping com/sap/xi/tf/_Employee1_MT_To_Employee1_MT_AND_Employee2_MT_MM_ completed. (executeStep() of com.sap.xi.tf._Employee1_MT_To_Employee1_MT_AND_Employee2_MT_MM_).</Trace>
<Trace level="3" type="T">Message Type 1 Number of Messages 0</Trace>
<Trace level="3" type="T">Message Type 2 Number of Messages 0</Trace>
<Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>
</Trace>
<Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!--
-->
<Trace level="3" type="T">Persisting message Status = 014</Trace>
<Trace level="3" type="T">Message version 001</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</SAP:Trace>Hi,
The scenario I am trying to test is a multi mapping scenario where I am trying to split one source message and create two target messages by using two different receiver interfaces, one for each message.
I am on PI 7.1 and when I test message mapping and operation mapping using the payload from SXMB_MONI, it is successful. Whereas when I test the scenario end to end I am getting the following error messages:
Operation Mapping
Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
Name
Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
Namespace
http://accenture.com/1:N_multi-mapping
Runtime error
Split mapping created no messages
Start tag ns0:Messages Add raw attribute xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge" Start tag ns0:Message1 Close tag ns0:Message1 Start tag ns0:Message2 Close tag ns0:Message2 Close tag ns0:Messages
Could someone please help
Cheers,
S -
File-name not being fetched in a multi-message mapping by Dynamic Conf
In a scenario, i have a BPM which has a transformation step which contains a mutimapping ...means 2 messages mapped to 1 messgaes, here in the mapping i m using an UDF and written code to extract the file name from dynamic configuration.....
the problem is ...the same BPM contains another transformation step which contains a message mapping (which is not multi mapping), and here the code (UDF) works to fetch the file name...
the code is all correct....and it looks like
DynamicConfiguration conf = (DynamicConfiguration)
container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String sourceFileName = conf.get(key);
if (sourceFileName == null ){
sourceFileName = "ErrorFile.xml";}
return sourceFileName;Hi,
The scenario I am trying to test is a multi mapping scenario where I am trying to split one source message and create two target messages by using two different receiver interfaces, one for each message.
I am on PI 7.1 and when I test message mapping and operation mapping using the payload from SXMB_MONI, it is successful. Whereas when I test the scenario end to end I am getting the following error messages:
Operation Mapping
Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
Name
Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
Namespace
http://accenture.com/1:N_multi-mapping
Runtime error
Split mapping created no messages
Start tag ns0:Messages Add raw attribute xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge" Start tag ns0:Message1 Close tag ns0:Message1 Start tag ns0:Message2 Close tag ns0:Message2 Close tag ns0:Messages
Could someone please help
Cheers,
S -
Problem in message Mapping SAP PI 7.1
Hi Experts,
I have a problem in my Message Mapping,
Design: [Design|http://www.life-4-music.de/prob.jpg]
Messagemapping: [MappingTest|http://www.life-4-music.de/probII.jpg]
The Problem is, that ElementC from SourceMessage occours "0 to n" times in Element A, but I need to check every ElementC in ElementA to TargetElementA with a IF Statement.
I tried a lot of things, like change the CONTEXT of the ELEMENT or use SPLIT BY VALUE but without success.
Rgds,
SteffenHello, thanks a lot for the fast awnser. I tried this allready to change the Context of the Elements "system" in this Mapping: Changed Context
For Example in one field I check for Entry "ERP" in Source Field "system" , if "ERP" is in the first ELEMENT then it will be mapped correctly: Example ERP works
But If "ERP" is in an element below, then it doesn´t work, so it seems to be, that he only map the first occurrence of the Elements. : Example SCADA don´t work
Here is the View of the QUEUE from the don´t working Example: Show QUEUE of not working Example
maybe u have a tip for me again , because I´m allready desperate
Thanks a lot.
Rgds,
Steffen -
Request Message mapping in SXMB_MONI for File - RFC - File without BPM
Hi ,
In my File-RFC-File scenario, the messages are processed successfully.
but when i look into the SXMB_MONI for File to RFC step, the records are present only till the Message split According to Receiver List and not able to see the records from Request Message mapping step onwards.it contains
<?xml version="1.0" encoding="UTF-8" ?>
<ns1:Z_PI_LOTUSNOTES_UNIFORM xmlns:ns1="urn:sap-com:document:sap:rfc:functions" />
in my mapping for the receiver RFC i have not done the mapping for all the fields. few fields i have disabled. whether this could create a problem in message mapping. pls let me know what needs to be done.Is it only for this scenario that the above display issue is occuring or is it for all scenarios?
If onlt a particular Pipeline steps are displayed then you can check what is the TRACE level set in SXMB_ADM --> Integration Engine Configuration --> and check if the TRACE parameter is set to at least 2 (max is 3 which will ensure that your DB will get full quickly)
For more information refer: /people/michal.krawczyk2/blog/2005/05/10/xi-i-cannot-see-some-of-my-messages-in-the-sxmbmoni
Regards,
Abhishek. -
Filtering of records in Message Mapping
I am facing problem during filtering record in message mapping. My message comes from R3 and should be sent to one business service in entirety and should also be sent to another business service in part. To resolve this I created a message map for selecting record based on some conditions but this creates empty XML nodes wherever condition is not satisfied. Everything works fine but the scenario fails at the end while trying to convert XML to text using file adapter. The error is Conversion configuration error: Unknown structure '' found in document', probably configuration error in file adapter (XML parser error)
Hi Rajesh,
This scenario you are trying can be done using CONDITIONAL RECEIVER DETERMINATION and RB SPLIT, where you can basically have one sender and two receivers.
To do this without using a BPM.
1. Create your mapping program that will map the information from the source file
into the destination idoc. This has to be a 1:N split. Just make sure that the destination message type and message interface are are of occurrence N.
2. Also, you will have 2 destination interfaces and 2 interface mapping, one for the IDOC and one for the mail.
Now, there are a few essential steps in your configuration,
1. In the receiver determination, specify the 2 receiver systems, one for your IDOC and the other for your MAIL.
2. Now, you will have a condition window. Just type the condition on the basis of which the receiver has to be determined for the mail and the idoc business system. Just remember that the condition can be specified only for the source message.
3. In the Interface Determination, you have an option called RB CLASSIC and RB SPLIT. To do a 1:N split, you will have to do a RB_SPLIT.
And since you wanted to covert the XML format to text format you require content conversion at the receiver adapter end, for that please go through these links below. It clearly explains your requirement.
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/frameset.htm
I hope I have answered your query.
Regards,
Abhy
note: do reward points for the helpful answers. -
UDF for leading zero's in message mapping
Dear team,
I need UDF for leading zero's in my message mapping.
Source and Target both structures contains matnr field.But we have to maintain total 18 chars at target matnr , because RFC in R/3 needed.So I want to add leading zero's when mapping. Can anybody provide the UDF code.
Matnr[source]--->split by value(eachvalue) ->UDF->Matnr[Target]
Ex::if source matnr conatains value "9846538" ; I need matnr value at target side like "000000000009846538"[total 18 chars].
-DrumiHi Ambrish,
Good day...
I have enterd what you said and I got below error... and I gave "input" in place of var1, 18 in place of filedlenght in below program...
=================================
int len = Integer.parseInt(18);
int inputLength = input.length();
try {
Integer.parseInt(input);
// If it is an integer, add 0 (len - inputLength) times
for (int i=0; i< len-inputLength;i++)
input = "0" + input;
return input;
} catch (NumberFormatException numForEx) {
// return as it is, if alphanumeric
return input;
====================================
ERROR:
Source text of object Message Mapping: Lubrisur_SHPMNT_SHPMNT05_TO_WMMBXY_WMMBID02_TransferPosting | urn:bp:xi:dwn:lu:common:Logistics:100 has syntax errors:
Function LeadingZeros, Line 1:
cannot find symbol symbol : method parseInt(int) location: class java.lang.Integer int len = Integer.parseInt(18); ^ 1 error
=======================
Please suggest -
Hello Expert
I am woking in IS retail Outbound Scenario for article master where enhancement segment E1WXX01 repeat multiple time and contain different -2 value and I want to collect that different value in different Target filed
Suppose
When first time segment E1WXX01 come contain
fldname Zcolor
Fldvalue red
Target field Color
In second time segment E1WXX01 contain value
fldname ZSIZE
Fldvalue 40
Target filed SIZE
And so on
I want configure that scenario with the help of graphical message mapping
Thanks
Amit ShivhareHi Shakif,
<b>CONTEXT CHANGE</b>
Please go through these links which clearly explains context and context changes in mapping.....
http://help.sap.com/saphelp_nw04/helpdata/en/40/7b8e40496f6f1de10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/35/fb8c4057d5701de10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/42/f7293b2dbe1a71e10000000a422035/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/79/2835b7848c458bb42cf8de0bcc1ace/frameset.htm
Go thru this guide~good source
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
<b>REMOVE CONTEXT</b>
Remove context removes all the higher-level contexts of a source field thereby delete all hierarchy levels and generate a list.In simple form
removes all top hierarchy levels, so that all elements of the target queue are assigned to a root element of the source queue
<b>SPLIT BY VALUE</b>
The SplitByValue () function is the counterpart to removeContexts(): Instead of deleting a context, we can insert a context change in the source value queue. We then receive this element for each inserted context change instead of a top node element. However, for this to be possible, the top node source field must be assigned a top node target field and minOccurs must be >0. A maximum of minOccurs top node target fields can be inserted here.
We can insert a context change in the queue after each value, after each change to the value, or after each tag without a value.
refer this for node functions
http://help.sap.com/saphelp_nw2004s/helpdata/en/2c/2d8c4024d26e1de10000000a1550b0/content.htm
Cheers...
Vasu
<b>** REward POints if found useful **</b> -
A little help needed in message mapping
a little help needed in message mapping
I have to map one of the idoc header segments as many times as it occurs to each Idoc when using the split message funcionality
let us say we have the segment seg1 and there is a QUALF in it
<seg1>
<qualf>001</qualf>
</seg1>
<seg1>
<qualf>002</qualf>
</seg1>
then we use the vbeln to split the idoc into 2.
so if we have
<vbeln> 1 </vbeln>
and
<vbeln>2 </vbeln>
then 2 Idocs should be created like this
<Idoc>
<vbeln> 1 </vbeln>
<seg1>
<qualf>001</qualf>
</seg1>
<seg1>
<qualf>002</qualf>
</seg1>
</Idoc>
<Idoc>
<vbeln> 2 </vbeln>
<seg1>
<qualf>001</qualf>
</seg1>
<seg1>
<qualf>002</qualf>
</seg1>
</Idoc>
it is easy to create the segment by using createif with the QUALF field but my problem how to map the qualf twice for each idoc
Thanks.UseOneAsMany is the function you need to use.
It takes three parameters:
1 --- The node you want to duplicated
2 --- How many times you want to duplicated
3 --- The context you want to place for it.
Regards
Liang -
Runtime exception caught in Message mapping
Hi,
I have a scenario where I am splitting the source message and map them to 3 different target structures.
When I test the scenario in the Mapping under Test tab it is throwing an error as follows:
RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/Target1/xmlJob. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd.
The result for one of the target message in message mapping as follows: Is there some problem with the below lines in bold letters:There is a UDF which causing this transformation.
Please give some inputs on this.
Start tag [ns1:MT_O_T3]
Add raw attribute [ xmlns:ns1="http://pharma.com/"]
Start tag [Row]
Start tag [Title]
Put value [job titile]
Close tag [Title]
Start tag [JobID]
Put value [reference # 1]
Close tag [JobID]
Start tag [Country]
Put value [US]
Close tag [Country]
Start tag [City]
Put value [Mawo]
Close tag [City]
Start tag [State]
Put value [SA]
Close tag [State]
Start tag [ZipCode]
Put value [50123]
Close tag [ZipCode]
Start tag [Cname]
Put value [ ]
Close tag [Cname]
Start tag [Cphone]
Put value [ ]
Close tag [Cphone]
Start tag [Cemail]
Put value [ ]
Close tag [Cemail]
Start tag [Cweb]
Put value [http://www.pharma.com/]
Close tag [Cweb]
Start tag [Category]
Put value [9901]
Close tag [Category]
Start tag [Travel]
Put value [100]
Close tag [Travel]
Start tag [Telecommute]
Put value []
Close tag [Telecommute]
Start tag [JobType]
Put value [Executive]
Close tag [JobType]
Start tag [Clearance]
Put value [None]
Close tag [Clearance]
Start tag [Education]
Put value [1]
Close tag [Education]
before check 50000
after check 50000
before check 100000
after check 100000
after average 75000
Start tag [Salary]
Put value [Avg: 75000]
Close tag [Salary]
Start tag [Suitable]
Put value [ ]
Close tag [Suitable]
Start tag [Expire]
Put value [23]
Close tag [Expire]
Start tag [Sdesc]
Put value [job titile]
Close tag [Sdesc]
Start tag [Ldesc]
Put value [null]
Close tag [Ldesc]
Start tag [Requirements]
Put value [test description]
Close tag [Requirements]
Close tag [Row]
Close tag [ns1:MT_O_T3]
Thanks
BPRu replied that u r getting the erro while testing it from test tab.
Ur mapping is not correct check the same which i told u in my previous reply.
r u using any FCC.
chirag -
Problem in 1toN message mapping,payload not populated but file created
I am doing 1:N multimapping From Proxy to File scenario .Proxy send three types of data all having same stucture but depending on the value of First field we split the whole stucture in 3 parts on target side and generating three files on taget side.During testing values get Passed from the SXMB_MONI(processed) and we get whole payload data upto
"Message Branch Acording to Reciever List" .But when i check payload data in 'Request Message Mapping" we donot get any data in Payload.Taget File is generated but when we try to oen the file I get message " Unable to display the File".
can any expert help me resolve this problem.I need to generate 3 files each having similar structures depending upon the first field 'listcode' values whose values are 'N0','MA','MY' coming in a proxy structure.The source structure is as follows::
MT_Source
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
The target stuctures are:
MT_Target_N0
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
MT_Target_MA
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
MT_Target_MY
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
I need to do mapping of such 1:n multimapping mapping.I have done mapping but getting error in moni "Split mapping created no messages".Please suggest me some right way to do mapping
Maybe you are looking for
-
I have a Mac and 2 PCs and 2 laptops (windows) with the family. In addition, there is an Iphone, 2 Ipod classics and 1 Ipod touch. I have a substantial collection of music cds over the years and have copied some of it to one of the pcs / laptops. How
-
FLow of Purchase order TO Mail
Respected Members, I have a small requirement and i have to work on it. Please help me out. I will explain you the scenario. Right now what is happening that when i am creating a purchase order ,as soon as i click on Save button in Me21n tcode then a
-
Recent project won't list my most recent
When I close FCP and reopen it the most recent project won't open. I just reinstalled FCP 6. Also the window arrangement defaults to the basic setting each time I close.
-
When I graded my iPad the YouTube app went away
I upgraded my iPad 2 to the latest software and the YouTube app went away usually you can't even delete that app can someone help!
-
Unknown files being attached to outgoing mail
I recently sent an email to a friend who is on an AOL acct. I attached a JPEG to the email, and that came across fine. Also attached to the email were 4 .txt files (0001.txt, 0002.txt, etc) These files contained 'gibberish' according to the recipient