Mapping split by value
Hello friends,
I have the following scenario where i get data from SQL table via JDBC and map it to an IDOC.
<Row>
<Header Ind>1111<Hearer Ind>
<Det1>5<Det1>
<Det1>5<Det1>
<Det1>5<Det1>
<Row>
<Header Ind>2222<Hearer Ind>
<Det1>6<Det1>
<Det1>6<Det1>
<Det1>6<Det1>
The above is the source Payload. In the Mapping I have taken the Header Ind node and done the below for all the target segments.
Header Ind --- Split by Value [value change] -
collapse context --- IDOC
Header Ind --- Split by Value [value change] -
collapse context --- EDIDC40
Header Ind --- Split by Value [value change] -
collapse context --- EIBPACH08
Header Ind --- Split by Value [value change] -
collapse context --- EIBACGL08
My question is where do I map the <row> node too ?? I am still getting an error below
Cannot create target element /ACC_GL_POSTING01/IDOC[2]/EDI_DC40. 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
Thank you,
Teresa
If i map <row context to destination IDOC then split by value and collapse context is not required?? I would like to genereate a new IDOC every time the header Ind changes.
Thanks,
Teresa
Similar Messages
-
Mapping Issue: How to split the value of Lineitem
Hi All,
I have issue in Mapping .XML-> BAPI Scenario
1 line item has the one 50% Cost Centre , another 50% Cost centre data
2 line item has only 100% WBS elemnt
WBS elemnt mapping :
If A |EQUALS (Text) | WBS_ELEMNT |If without else| B(WBS value) |REmoveContexs| SplitByValue| WBS_ELEMNT(BAPI field)
But this supress second line item : WBS_ELEMNT data and uploads into1.Item .Hence PO is not getting created in SAP.
Could you please giv me a logic to actaually split the value into 2 seperate so that respective data of each line item are split properly .
Thank you ,
VaraHi I think you need an udf for this:
int total = Integer.parseInt(value[0]);
result.addValue(Integer.toString(a/2));
result.addValue(Integer.toString(a/2));
and after it you can add a splitbyvalue -
Split Message value in Multi-Mapping
Hello everybody,
I got the following problem with 1:n Mapping
My Source Structure is
<root>
.<element_list> // 1:1
..<element> // 1:unbounded
...<value>
...</value>
..</element>
.</element_list>
</root>
Sample for source structure:
<root>
.<element_list>
..<element>
...<value><b>WILLIAM</b>
...</value>
..</element>
..<element>
...<value><b>RICHARD</b>
...</value>
.</element_list>
</root>
I want to split by multi-mapping!
The target structure looks similar as source target structure (just <element_list> is missing)!
So my structure looks in target:
<Messages>
.<Messages1>
..<element>
...<value>
...</value>
..</element>
.<Messages2>
..<element>
...<value>
...</value>
..</element>
For splitting the <value> tag is responsible:
Every RICHARD should be mapped to <Messages1>
Every WILLIAM should be mapped to <Messages2>
--> so I use the if-function (I dont want to use the SORT function!)
But this seems not to work.
Any suggestions?
Regards Mario
nullHi Vijaya
annotation:
I need different messages!
So in the tab >messages< of massage mapping
Target Message: The message type must occur in row 1 & 2
Like in thread: /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
Here: First screen shot under >Message Mapping<
Did you do this?
Regards Mario
Message was edited by:
Mario Müller -
How do i test split by value functionality in mesage mapping with multiple
how do i test split by value functionality in mesage mapping with multiple values ?
regards,
venkatrepeat your source node. in mapping editor you can view queues by right clicking to mapped element.. selecting Display Queues option.. this will show u your values .
You can also select this Display Queue option for splitByValue option
for example
source--->splitByValue>target
Try viewing your queues to each this step... for splitByValue in display Queue you will see context inserted(grey colour) accodingly -
How Can I Split Multi-Valued Attributes in Syndicator Map?
Is the option to split multi-values only available for fields and not on attributes that are also multi-valued?
How Can I Split Multi-Valued Attributes in Syndicator Map?
Currently this feature are not in MDM you can split this value by using any middleware software for e.g. PI
Is the option to split multi-values only available for fields and not on attributes that are also multi-valued?
Correct, Multi-values option only available for field not for attributes
Thanks,
Jignesh Patel -
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 -
Hi Experts,
I am learing about Split By Value and Context in Mapping Node Functions,
What is Split By Value ?
What is Context ?
Can anyone give some light on this topic WITH REAL TIME EXAMPLE.
Regards,
Study SAPHi,
What is Split By Value ?
-->
suppose you have an XML Like
code<root>
<node>1</node>
<node>2</node>
</root>[/code]
split by value(node) returns:
code<root>
<node>1</node>
</root>
<root>
<node>2</node>
</root>[/code]
Instead remove context does the opposite.
What is Context ?
-->
refer
http://help.sap.com/saphelp_nw2004s/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/content.htm
/people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
Here is a scenario where context objects were used for BPM
Technical Context Object in ccBPM
Get the details here:
http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/frameset.htm
Technical Context Objects :
http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/frameset.htm
A list of the Technical Context Objects names can be found here:
http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
Thanks
Swarup -
Split By Value and Collapse context
Please give me the business requirement in your project that leads to work on split by value and collapse context?
I read so many documents but i am still confusing with above mentioned node functions?Hi praveen,
Check these links
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
Message Mapping Simplified - Part I
/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
New functions in the Graphical Mapping Tool XI 3.0 SP13
http://help.sap.com/saphelp_nw04/helpdata/en/ef/df564b6aa24fc9ab0d685460747de5/frameset.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/b9af5e71-0701-0010-d0b8-f612fb6593dd
regards
srinivas -
How to map a missing value to a member?
Hi all,
Let say I have 3 dimensions in my data source file:
Account, Entity, Product, Data
A400, E100, P200, 10000
A401, E110, P300, 20000
A401, ,P400, 30000
As you can see in the third record, Entity is missing. How can I map this to, let's say, No_Entity? In my Entity mapping table, Type: Like, I have tried using Null and Missing as the Rule Definition, but neither worked.
Couple of clarifications: This is for an Essbase BSO cube. In my real case, the missing values are not Entity members, but 3 custom dimension members.
Any ideas?
We are on 11.1.2.2.
Thanks,
MehmetYou have a couple of options:
1) Add a wilcard mapping to your entity maps which maps anything you have not explicitly mapped to NoEntity i.e. * --> NoEntity
2) You cannot have an empty string as a source value so in your import format, associate an import script with the Entity dimension source field entry and check the length of the string of the source field as it comes in. If the length is 0 assign a value of NoEntity to be returned and map that source value explicitly inyour Entity map -
Need of value mapping and fixed values in (conversions)under graphical map
hi.
helo all.
i just want to know what is the need of value mapping and fixed values in (conversions)under graphical mappping.
can any body explain me with real time example .
waiting for your response.
bye.
regards.
seeta ram.Hi Seetha Ram,
Value mapping: Where we maintain a table of values which are mapped.
based on the incoming value we can send the respective resultant value.
for Eg: for language SAP maintains as EN --> English etc
can u refer these
http://help.sap.com/saphelp_nw04/helpdata/en/2a/9d2891cc976549a9ad9f81e9b8db25/frameset.htm
Re: Value mapping table
Thanks and Regards
Harsha Vardhan.P
**Reward points if found useful** -
How to map the Resultset values to multiple tags on target strcture
Hi All,
We have an UDF ,whihc is returing Resultset . How do we map/extract the each element of resultset to diffrent fields on the target strcure in graphical mapping.
Let me know,if any blog exist for same.
Thanks for your support and advice.
MKHi,
you should be having some condition based on which you will map your resultset values to different target fields.......so have that condition as an input to your UDF in graphical mapping.............then use this condition value in your UDF and output the data which should come on this condition in the resultset..........then in graphical mapping, map your target fields with this UDF and condition and output the UDF output to the target node.........
Regards,
Rajeev Gupta -
How to map single context value attribute to multiple value attributes?
Hello,
is there any way to map a single value attribute
from view's context into several value attributes
in controller's context?
The business context of what I want to achieve
is the following: I have a view which can be called
in two modes: read only (RO) and read-write (RW).
The input parameters to the view are the same for
both modes, however when in RO mode, the view calls
a different set of web services than when called
in RW mode. Before calling each of the web services
I need to populate their context value attributes
with appropriate input values.
I know I can do it in Java code, but is it possible
to do it without any programming (doing it in the
source code is prone to errors)?
Any help highly appreciated.
Greetings,
Tomek.Hi Kishore,
than you very much for your kind help.
I have already created a value attribute of type
boolean and mapped it into the read-only property
of the UI elements. This however does not solve all
of the problems... I will describe it with an
example:
Let's say the form I want to implement will be
used to: create (read-write mode), update (read-
write mode) or show (read-only mode) customer's
data. The customer's data is complex (lots of
data, including tree structures).
The problem is that:
- when the form is called in read-only mode,
it should populate its fields with values
provided by the getCustomerData web service,
- when the form is called to create a new
customer (in read-write) mode, it should
not use the getCustomerData web service.
Instead it should map the input values
entered by the user into input parameters
of the createNewCustomer web service,
- when the form is called to update customer's
data, it should first display values returned
by the getCustomerData web service, and then
it should map the modified values entered by
the user into input parameters of the
updateCustomer web service,
In all the above cases I must map my view's
context data to different controller's context
elements. Doing it directly in the source code
is not a nice solution. Is there any other
way to achieve this?
Calling a form in different modes in not an
unusual thing, so I was hoping that maybe
there are any built-in mechanisms that would
solve the obove problem...
Greetings,
Tomek. -
Value Mapping and Dynamic Value Mapping
Hi Experts,
Could you please give a example for Value Mapping and Dynamic Value Mapping?
Regards
SaraSara,
I am assuming that you are going to use the Receiver JDBC adapter to select the data from the database.
In this case, take a look at this blog of mine to understand how te dataypes should be created for the request and response JDBC Select Query.
/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
The only difference would be that in the mapping when you create the Request Message for the JDBC adapter, the columns you create would be determined from the Source,
i.e, if value = 1 , only the required Columns should be mapped as Blank constants,
likewise for the other requirement.
the columns you do not want to select you should not create them in theoutput of your request mapping.
Regards
Bhavesh -
Remove context and split by value.
Hi Friends,
the SAP Library seems to bge a bit tough for me. Any url where I can find easy definition to Remove context and split by value , with exampl!!
Thanks in advance!!
Arnab .Hi,
Remove Context Simply remove the Context. SplitByValue inserts Context.
Case 1: Remove Context is not Used.
Source Message:
<Test_Out_Remove>
<header name=u201CA">
<item>A.one</item>
<item>A.two</item>
<item>A.three</item>
</header>
<header name="B">
<item>B.one</item>
<item>B.two</item>
</header>
</Test_Out_Remove>
TargetMessage:
<Test_In_Remove>
<item>A.one</item>
<item>A.two</item>
<item>A.three</item>
</Test_In_Remove>
Case 2: Using Remove Context.
Source Message:
<Test_Out_Remove>
<header name=u201CA">
<item>A.one</item>
<item>A.two</item>
<item>A.three</item>
</header>
<header name="B">
<item>B.one</item>
<item>B.two</item>
</header>
</Test_Out_Remove>
TargetMessage:
<Test_In_Remove>
<item>A.one</item>
<item>A.two</item>
<item>A.three</item>
<item>B.one</item>
<item>B.two</item>
</Test_In_Remove>
Case 3: Without SplitByValue
Source Message :
<Test_Out_Split>
<header>
<item>one</item>
<item>two</item>
<item>three</item>
<item>four</item>
</header>
</Test_Out_Split>
Target Message :
<Test_In_Split>
<new_context>
<item>one</item>
<item>two</item>
<item>three</item>
<item>four</item>
</new_context>
<new_context />
<new_context />
<new_context />
</Test_In_Split>
Case4: Using SplitBYValue
Source Message :
<Test_Out_Split>
<header>
<item>one</item>
<item>two</item>
<item>three</item>
<item>four</item>
</header>
</Test_Out_Split>
Target Message :
<Test_In_Split>
<new_context>
<item>one</item>
</new_context>
<new_context>
<item>two</item>
</new_context>
<new_context>
<item>three</item>
</new_context>
<new_context>
<item>four</item>
</new_context>
</Test_In_Split>
Reward points if needful.
Thanks,
RamuV -
Importance of split by value function options
In split by value function, we have Each value, value changed and emply value options. What are the functions of these options? ( I know split by value function will generate a field in the target, under a different target node, for every value of that in the source sturcture.). Please help me with the answer.
Regards,
Suresh.Hi,
SplitByValue() is the counterpart to removeContexts(): Instead of deleting a context, you can insert a context change in the source value queue. You 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.
You 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 link for more details:
http://help.sap.com/saphelp_nw04/helpdata/en/21/3bb8c495125e4eb5969f0377885fe0/content.htm
Regards,
Nithiyanandam
Maybe you are looking for
-
Output message can not be created in a PO
Hi to you all, Output message can not be created in a PO for a customer. During my tests, the yellow output message was created automatically after I have saved the PO. I checked ME9F and the table NAST, there is no entry for the PO of the customer.
-
[SOLVED] Enabling debug for ath9k in compat-drivers-patched from AUR
Wireless card: TP-LINK TL-WN951N. lspci says that it is an Atheros AR5416 adapter [AR5008]. Some background: I'm having the same issues as the OP in this thread, which references this bug report. The problem is that I get a 2000 ms ping every 30 seco
-
Hey, While listening to songs on my iPod Classic 120gb, some songs will start to play, after 2-3 seconds, stop and start again from the beginning and play through the entire song no problems. On iTunes the songs still plays fine no stopping or starti
-
Best way to set up to new iPad?
My iPad should arrive next week, and I am excited to get it set up. I am curious as to the best way to do so... Between my wife and I, we share a MacBook and an iMac, each with our own user accounts on each computer. We share an iTunes library and an
-
JGRASP 1.8.3 Help me set up class Path
I have a package called jpb in a folder called jpb with two files: SimpleIO.java and Convert.java. I want all my .java files to be able to see these files every time I compile. I tried apprehend the path to C:\jpb but Jgraps keeps complaining the pac