Single source to create multiple target nodes
Hi Guys,
I need to create multiple target node as many occurrence of source node. how should i achieve it?
Source node (1...999999) to Target node(1..1)
please suggest.
Regards
Swapnil
Hi Nutan,
Sorry formatting got messed up so posting again.
Sorry for the confusion. Target structure is 0..unbounded.
Source structure ...................................... Target structure
Message 1 ...................................................Message 1
ZHRMD_A07 (1...1)..........................................MT_EMPLOYEE (0....unbounded)
E1PLOG1(1...unbounded)................................ Field1
I need to create MT_EMPLOYEE multiple times depend upon occurences of E1PLOG1.
Regards
Swapnil
Edited by: Swapnil Bhalerao on Mar 3, 2010 12:41 PM
Edited by: Swapnil Bhalerao on Mar 3, 2010 12:47 PM
Similar Messages
-
[Solved] How to create multiple target nodes from single input node (XSL)
Hello all,
I have identified what I think is a bug in the visual XSLT mapper (JDev 10.1.3.3). Here is the simplified scenario:
I have a source XML file that contains a bill-to address and a ship-to address, something like this:
<header>
<bill-to-name>My Customer Bill To</bill-to-name>
<bill-to-address>123 main street</bill-to-address>
<ship-to-name>My Customer Ship To</ship-to-name>
<ship-to-address>567 first avenue</ship-to-address>
</header>I want to translate it to a target XML file that looks like this:
<addresses>
<address>
<address-type>BILLTO</address-type>
<name>My Customer Bill To</name>
<street-address>123 main street</street-address>
</address>
<address>
<address-type>SHIPTO</address-type>
<name>My Customer Ship To</name>
<street-address>567 first avenue</street-address>
</address>
</addresses>Note that what I am trying to do is to create two nodes in the target (something like a for-each), but where there is no repeating node in the source.
I was able to do this quite simply with a map like this:
<xsl:template match="/">
<ns2:addresses>
</ns2:address>
<ns2:address-type>
<xsl:text disable-output-escaping="no">BILLTO</xsl:text>
</ns2:address-type>
<ns2:name>
<xsl:value-of select="/ns1:header/bill_to_name"/>
</ns2:name>
<ns2:street-address>
<xsl:value-of select="/ns1:header/bill_to_address"/>
</ns2:name>
</ns2:address>
</ns2:address>
<ns2:address-type>
<xsl:text disable-output-escaping="no">SHIPTO</xsl:text>
</ns2:address-type>
<ns2:name>
<xsl:value-of select="/ns1:header/ship_to_name"/>
</ns2:name>
<ns2:street-address>
<xsl:value-of select="/ns1:header/ship_to_address"/>
</ns2:name>
</ns2:address>
</ns2:addresses>
</xsl:template>As long as I only use the source view for the xsl file, this works fine and tests just fine. As soon as I switch over to the graphical (design view), the source gets mangled to:
<xsl:template match="/">
<ns2:addresses>
</ns2:address>
<ns2:address-type>
<xsl:text disable-output-escaping="no">BILLTOSHIPTO</xsl:text>
</ns2:address-type>
<ns2:name>
<xsl:value-of select="/ns1:header/bill_to_name"/>
<xsl:value-of select="/ns1:header/ship_to_name"/>
</ns2:name>
<ns2:street-address>
<xsl:value-of select="/ns1:header/bill_to_address"/>
<xsl:value-of select="/ns1:header/ship_to_address"/>
</ns2:name>
</ns2:address>
</ns2:addresses>
</xsl:template>which obviously does not work.
So:
1). Should my original map work? If not, what is the correct way to do it?
2). If the map should work (it does), this looks like a bug in the design view.
3). If my map should work, is there a way to do this in the design view?
Kind regards,
JohnJohn,
GUI has limited functionality and hence it does not support all the constructs. If you want to implement soln that is visible in gui follow this steps.
for-each(bill-to-name)
create <address>tag
map concat(BILLTO) to <address-type>
map value of <bill-to-name> to <name>
map value of <bill-to-address> to <street-address>
select the for-each you created - right click -> add xsl node ->clone for-each
repeat similar steps for mapping <ship-to_name>...etc
If you still unsure send me the source & target xsd and I will send the xsl your way. You can email me at [email protected]
Dipal -
ABAP MAPPING Querry - How to create Different Target NODE NAME as of Source
Hi,
In abap Mapping
<b>DATA READ FROM SOURCE XML NODE into <u>incode</u></b> ******
data: incode type ref to if_ixml_node_collection.
incode = idocument->get_elements_by_tag_name( 'BUSINESS_DAY' ).
<b>CREATE OUTPUT XML NODE WITH SAME NAME AS <u>'BUSINESS_DAY'</u></b> **
data: outcode type ref to if_ixml_node.
outcode = incode->get_item( index = 0 ).
data irc type i.
irc = msgtype->append_child( outcode ).
*<b>BUT TO CREATE OUTPUT XML NODE WITH <u>DIFFERENT NAME AS 'BUSS_DAY'</u></b>*
data: ws_val type string VALUE 'xyz'.
data: elementsender type ref to if_ixml_element.
elementsender = odocument->create_simple_element(
name = 'BUSS_DAY'
value = ws_val
parent = msgtype ).
<b>Please guide me how I can assign <u>incode</u> value to ws_val.
So that I can generate <u>OUTPUT XML NODE with different name as of SOURCE XML NODE</u></b>
i.e. How to create Different Target NODE NAME as of
Source with same Data
<Note>: I am using "How to... Use ABAP Mapping in XI 3.0 ver.1.00" and to create different NODE name as of source
is not given in it.
Thanks & Regards.Hi ABAPers,
Please Guide Me .....
<u>This is ABAP Mapping problem in XI.</u>
<b>How can I read data from incode into ws_val.</b>
data: <b>ws_val</b> type string
data: <b>incode</b> type ref to if_ixml_node_collection.
<b>incode</b> = idocument->get_elements_by_tag_name( 'BUSINESS_DAY' ).
Best Regards -
Single source can transmit multiple group in multicast
single source can transmit multiple group in a multicast domain
I am not sure how to start explaining this, but I will give it a try to my understanding.
1)
Look up the MAC Learning section in this link.
http://www.ciscopress.com/articles/article.asp?p=101367&rl=1
2)
Once you have read through then your question would be if switches deliver traffic based on mac address of the end hosts, how is this mapping achieved for multicast addresses, as they are not assigned to any host.
in this case the switch will consider the multicast packet as unknown as will broadcast it. To avoid that a simple mechanism of multicast
IP to mac conversion was introduced which would create these temporary mac's based on the membership report of end hosts
for a certain group. So when this conversion is done apart from the real host mac address pointing to the port where it is connected,
multicast mac also points to the same port. Based on which the switch is able to forward the traffic intelligently to a set of hosts
who want that group received.
3)
Now see this link which explains how Mcast IP to MAC convesion is done.
IP to MAC Conversion
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ipmulti.htm#wp1020628
To summarize this, since only 23 bits are available for converting the IP to MAC, the 24th bit is lost .
which in terms of binary to decimal means you have lost 128 from the decimal. so it loops from the start of the multicast range of 224-239 at every 128 bits.
if the starting decimal was 224.1.1.1(if the received membership report was for 224.1.1.1) then next would be 224.129.1.1, 225.1.1.1 , 225.129.1.1 and so on till 239.......
hence when it loops through all the 224 - 239 addres range and it catches up 32 mapped addresses.
Now to conclude,
"32 IP multicast addresses corresponding to each MAC " In here the MAC referenced is not the host mac but the converted MAC.
Even though the conversion is done, because of the available bits the MAC address hence created overlaps 32 multicast IP
addresses. (closest resemblence would be the ACL example with the mask assigned. based on this mask and the starting value
it will keep catching values based on the mask. )
You can try this practically. Assume you have a host and it sends a membership report for 225.10.10.10. Now the switch has to convert this to Mcast MAC.
To do this yourself, write down the binary of this address, and look at the rightmost 23 bits (that is from the left ignore the first 9 binary values.) now if you look at the remaining binary values, these will map and look alike for 226.10.10.10 226.139.10.10 and so on. And hence if you run through from 224-239 you will get 32 adresses.
HTH-Cheers,
Swaroop -
Reciever File Adapter to create multiple target files
Hi All,
I have done the mapping to create multiple output messages . I would like each of the messages to be stored as a separate file in the target .
Below is the output message with 2 separate MT_CANCELOUT messages . However, both end up in one single xml file .
How do I configure the receiver file adapter to ouput 2 separate xml files ?
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:MT_CANCELOUT xmlns:ns1="urn://gm.com:VBVTEST">
<LineItem>
<id>456</id>
<name>HEY</name>
</LineItem>
</ns1:MT_CANCELOUT>
<ns1:MT_CANCELOUT xmlns:ns1="urn://gm.com:VBVTEST">
<LineItem>
<id>567</id>
<name>RAT</name>
</LineItem>
</ns1:MT_CANCELOUT>
</ns0:Message1>
</ns0:Messages>Hi,
Sorry to say you that but your post show the opposite, it shows you have only one target message !
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>______<<<<<<<
<ns1:MT_CANCELOUT xmlns:ns1="urn://gm.com:VBVTEST">
<LineItem>
<id>456</id>
<name>HEY</name>
</LineItem>
</ns1:MT_CANCELOUT>
<ns1:MT_CANCELOUT xmlns:ns1="urn://gm.com:VBVTEST">
<LineItem>
<id>567</id>
<name>RAT</name>
</LineItem>
</ns1:MT_CANCELOUT>
</ns0:Message1>______<<<<<<<
</ns0:Messages>
If you want two files, you should generate two Messages, and so to do that:
In MM, in your target (tab before "function"), you should have 1 source MT and in target MT, you should have two lines (even if you use the same target MT), after having changed the ouccurence 1->N.
do the same in your operation mapping: 1->N with two receiver service interface (even if it's the same)
because you should have something like:
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:MT_CANCELOUT xmlns:ns1="urn://gm.com:VBVTEST">
<LineItem>
<id>456</id>
<name>HEY</name>
</LineItem>
</ns1:MT_CANCELOUT>
</ns0:Message1> _____<<<<<<<
<ns0:Message2> _____<<<<<<<
<ns1:MT_CANCELOUT xmlns:ns1="urn://gm.com:VBVTEST">
<LineItem>
<id>567</id>
<name>RAT</name>
</LineItem>
</ns1:MT_CANCELOUT>
</ns0:Message2>
</ns0:Messages>
regards
mickael
Edited by: Mickael Huchet on Dec 2, 2011 8:58 PM -
Biztalk Map create duplicate target node
Using biztalk mapper, I need a target node to be duplicated.. I have created a simplified version of my issue. Please see below map
link for source and destination schema.
I need the target Option node to be duplicated for each OptionNotes. The value of OptionNotes is to be split by a pipe ("|"),
then map to target Code and Description.
The input is as below:
<ns0:Source xmlns:ns0="http://Test.SOAP.Source1">
<Option>
<OptionID>ID0_NoNotes</OptionID>
<OptionName>OptionName_0</OptionName>
</Option>
<Option>
<OptionID>ID1_NoNotes</OptionID>
<OptionName>OptionName_1</OptionName>
<OptionNotes>NOTE1|BLAH1</OptionNotes>
<OptionNotes>NOTE2|BLAH2</OptionNotes>
</Option>
</ns0:Source>
The output should be as below:
<Destination>
<Options>
<Option>
<Code>ID0_NoNotes</Code>
<Description>OptionName_0</Description>
</Option>
<Option>
<Code>ID1_NoNotes</Code>
<Description>OptionName_1</Description>
</Option>
<Option>
<Code>NOTE1</Code>
<Description>BLAH1</Description>
</Option>
<Option>
<Code>NOTE2</Code>
<Description>BLAH2</Description>
</Option>
</Options>
</Destination>
Tried to use Looping and combination with Value Mapping, but to no avail. Do I have to resort to inline xslt?
Thanks.Thanks for all your answers.
@Pi_xel_xar Your suggestion requires a change in the message schema.
@Nadeem We have already tried the solution on the blog, but it's not quite the scenario we face. The issue is the OptionNote is in the same layer as OptionID and OptionName.
We have used another tool, which has done this easily. We then get the XSLT and import it as part of Inline XSLT scripting functoid.
The XSLT produced was as below:
<xsl:for-each select="ns0:Source/Option">
<Option>
<xsl:for-each select="OptionID">
<Code>
<xsl:value-of select="string(.)"/>
</Code>
</xsl:for-each>
<xsl:for-each select="OptionName">
<Description>
<xsl:value-of select="string(.)"/>
</Description>
</xsl:for-each>
</Option>
</xsl:for-each>
<xsl:for-each select="ns0:Source/Option/OptionNotes">
<xsl:variable name="var1_resultof_cast" select="string(.)"/>
<Option>
<Code>
<xsl:value-of select="substring-before($var1_resultof_cast, '|')"/>
</Code>
<Description>
<xsl:value-of select="substring-after($var1_resultof_cast, '|')"/>
</Description>
</Option>
</xsl:for-each>
Thanks everyone. -
Split source message into multiple target messages
Hi Experts,
I have a scenario where a source message needs to be split up into multiple messages for the corresponding target systems.
One source system and three target systems.
Source system is a .Net application
Target systems - SAP R/3, Two webservices on different application systems
Can i implement the scenario above using BPM in the following manner?
Source->WS Adapter->PI-->RFC Adapter->SAP R/3
Source->WS Adapter->PI-->WS Adapter->Target 2
Source->WS Adapter->PI-->WS Adapter->Target 3
I could have a webservice at the source which would be called by the .Net Application
Webservice request would be passed to an integration process which would split the message for the three target systems specified.
Correct me if am wrong.
Also please get back to me if you need more inputs
Regards,
KalyanHi,
You can implement the same with out using the BPM itself...
you can use either of the below options
1. if target messages are optional like based on certain conditions if you need to route the message to the particular targets
then you can use multimappings for the same which generates the mappings based on the condition for the particular target.
2. if each incoming message needs to be routed to the three receivers each time then configure the three receivers at the receiver determinations one for each target...
3. if you are using the same business system for all the three receivers then create the three interface mappings and configure the same at the interface determination level so that for each message three target messages will be generated and send to target...
HTH
Rajesh -
Create Multiple dynamic Node in Web Dynpro Abap
Hi Friends,
I need your help.My object is to create Multiple dynamic dropdown UI element.I am able to create this dynamic Dropdown element. But i need to assign default different values to this dropdown elements.So i created dynamic nodes for each dropdown and created attribute with same name as that of value table.
My issue is its giving me error as : -
Lower-Level Node with Name ZDCN_BRD_STATUS.ME Does Not Exist
Help me to rectify this error..
Regards,
SantoshHi,
This information is not enough for anybody to help you. Write more in detail about your code and where exactly in the code this error is coming.
One trial experiment can be that you split your problem into two or more level.
Create several nodes in your context with attribute and sample data.
Create Dynamic UI (DDBI) and Bind these attributes to your DDBI.
When it works perfectly, then tryout how to create the Node and attribute dynamically. This way you are not making it too complex to solve this problem. -
How to create multiple root node in a tree
Hi Experts,
As per my requirement I have two requirements for tree creation:
1) Create a Tree which can display multiple root node.
2) Cretae a Tree which can display data directy without any folder.
I am new in Tree development.
Can any body help me out to get it done.
If it is not possible then also i need a confirmation from experts.
Regards,
Madhuuse method add_node of the class Cl_gui_alv_tree to add a node to the tree.
In case of root node the parameter lv_relat_key is passed as blank.In order to create further child nodes pass the node key of the parent as the relat key of the child and use the method again.
Regards,
Abhi -
Can I create multiple Targets for one Trigger?
What I would ultimately like to have is a target by my trigger as well as another target at a different location on the page, both appear when I rollover the trigger.
Please let me know of ways I can achieve this.
Thanks guys!Hi Jendarhy, I'm also trying to get one trigger to display multiple targets. Were you able to figure out how to do it? If so, would you be kind enought to share the answer?
I saw someone post this answer but I still can't figure out how to set it up:
In this case, the target container is a canvas. You can draw anything you like in this container. If you want two targets, draw them both, seperatly, but inside of the target container. everything in that container will appear when you activate the trigger. -
Hi Experts,
In my SOAP to RFC scenario , the SOAP req contains one input value i.e. MAtnr . I have mapped this field with a field Mat_Number in RFC -Req . Its simply direct mapping . Its working for a single value perfectly .
My requirement is If SOAP -Req contains many matnr values , Its not working . How can I build this MEss Mapping to produce multiple Mat_Number field in RFC-Req.
Presently It is MATNR----
>MAT_NUMBER.
Can you pls suggest how to build mapping to produce multiple MAT_NUMBER .
Thanks.
DrumiMark,
This is source and target structures.
Source::
MT 1..1
-Records 1..Unb
-Matnr 1..Unb
Target::
ZRFC 1..1
-IMPORT 1..1
-Item 0..Unb
- werks 0..1
Here I have mapped matnr -
> werks and Records -
> item .
Can you now explain If I want multiple werks values at target side .
-Drumi -
Multiple source directories to multiple target directories
Hi All,
I have a file to file scenario like this.....
source:
\folder1\source1.xml
\folder2\source2.xml
\folder3\source3.xml
target:
\test1\source1.xml
\test2\source2.xml
\test3\source3.xml
The files from diffarent folders should be copied corresponding target directories with same file name.
for example,
source1.xml from the source directory folder1 should be copied to target directory test1 with the file name source1.xml.
here the target path depends on source directory.
so we need to know the source path to decide the target path.
please help me to solve this..Hi,
If you have lots of similar scenarios in your project you can opt for a Managed file transfer , i think using tools like RMFT you can manage the direct file transfer scenarios well and also reduce the pain of XI server.
refer the link below.
http://www.repliweb.com/solutions/web-user-file-transfer.php
As its obvious from the comments ...I assume that you have 1 source FTP with different folders to pick files from and files are getting transfered to single FTP but different folders.
if you deceid to write a module then .. refer this link which gives a good insight to module development .
/people/rinku.gangwani/blog/2008/07/16/customized-adapter-module
Again if you want to write a UDF you may need to have a mapping program..
Do you have same structure for all source files.?
Regards,
srinivas
Edited by: Srinivas on Mar 23, 2010 12:28 AM -
How to map one element to multiple target nodes? Kindly help!
Hi Experts,
I have a source XML:
<Inventory>
<MaterialNo>Z001</MaterialNo>
<InventoryLineItem>
<BatchNo>B001</BatchNo>
<Quantity>100</Quantity>
</InventoryLineItem>
<InventoryLineItem>
<BatchNo>B002</BatchNo>
<Quantity>120</Quantity>
</InventoryLineItem>
<InventoryLineItem>
<BatchNo>B003</BatchNo>
<Quantity>50</Quantity>
</InventoryLineItem>
</Inventory>
I want the target output as: This is a RFC function module which has an internal table ITAB_STOCK as the input parameter.
YGET_STOCK
ITAB_STOCK
Item
MM - Z001
Batch - B001
Qty - 100
Item
MM - Z001
Batch - B002
Qty - 120
Item
MM - Z001
Batch - B003
Qty - 50
What I am getting is:
YGET_STOCK
ITAB_STOCK
Item
MM - Z001
Batch - B001
Qty - 100
Item
Batch - B002
Qty - 120
Item
Batch - B003
Qty - 50
The MaterialNo (MM) is not coming in all the items. What could be the problem in my graphical mapping? How to achieve the expected target uisng graphical mapping?
Kindly help!
Thanks
GopalHello,
Just do the below mapping you will get it...
Map InventoryLineItem to Item in your table.
Then MaterialNo--->CopyValue---->MM
[0]
You will get it let me know if not.
Regards, -
Assign one source field to multiple target fields in FileContentConversio
Hi All,
I have a file to proxy scenario. I am using file content conversion to read the text file. My question is can I assign one set of data from the text file to multiple fields in Source Data Type using file content conversion?
Regards,
XIerthese kind of requirements are not possible via the FCC. Handle such things via the mapping after you read the file in the normal FCC way
-
Single source message to multiple receivers
my requirement is
My source message contains four fields a, b, c , d
It should go to two different receivers , but both of my target messages need fields a, b of my source message.
Please let me know the possibilitiesI have found the issue with xsds and tried the split mapping . (Iam unsing PI 7.1)
In repository I have two inbound interfaces 1st one for first xsd, 2nd inbound interface with 2nd xsd.
Iam stuck in configuration , what needs to be done in configuration inorder to generate two files.
My receiver is same. I just need to send two files to same location.
I noticed there is no enhanced interface determination in PI 7.1 .
Please share your thoughts.
Maybe you are looking for
-
Hi All, My requirement is to change a "field to edit" which is in "customer fields tab" of an item in "crmd_order" transaction. Please find the screen shot. Please help me with this issue
-
Oracle Database Express Edition SQL Developer
Hi all, I did download the Oracle Database Express Edition from Oracle's website and am trying to create a new connection with the following info Connection Name: myconnection Username: ora21 Password: ora21 Hostname: localhost Port: 1521 SID: orcl N
-
Setting up posterframe with quicktime?
Hello, I have: •Quicktime Pro Version 7.6.4 (518.35) •Dreamweaver CS4 I'm trying to set up a poster frames for my quicktimes on my site. Right now its just defaulted to the first frame which is black. I want it to preview the section of the video i w
-
Setting the Size of a Column in a JTable
Hi there, does anybody knows a way how to set the size of a specified column in a JTable without changinge the size of the other columns? thx anyway Errraddicator
-
I encoured this error when I wanted to save my work on a Muse site: "Object UID:U6875 has two (or more) owners: U3633 and U3165" I just want to tell that since I have upgraded Muse in 2014.3, I had lost all my add ons, and followed the instructions