PI node with recursive mapping

Hi,
Not sure if this is possible but thought I would ask the experts. I have a an IDOC --> XML mapping for orders scenario where  our Products have multiple BOM levels, and our target mapping should have all the BOMs collected under the parent product, meaning
Source context
  Product 123 -  (parent item -000)
..........Bom 111 (parent item - 123)
..........Bom 222 (parent item - 123)
.................. Bom ABC (parent item - 222)
.......................... Bom xyz (parent item - ABC)
.................. Bom DEF  (parent item - 222)
.......................... Bom +++ (parent item - DEF)
.......................... Bom ###(parent item - DEF)
     It can have upto 15 levels max like this
Target context
      Product 123
               - BOM 111
               - BOM 222
               - BOM ABC
               - BOM DEF
               - BOM xyz
               - BOM +++
               - BOM ###
The target application don't care how BOM's are configured in SAP and they just want this for Total net value per product.
Since I cannot change the IDOC structure on SAP side or come up with some custom mapping in ABAP I have to either do this mapping in PI or we should use some other middle ware too or ask the target application to develop the logic on their side from IDOC.
so I would like to know if this is even possible to do in PI before I venture to start mapping this IDOC .
Thanks!
Sunil
<< Moderator message - Please do not offer points >>
Edited by: sunil kumar on Nov 18, 2010 4:48 PM
Edited by: Rob Burbank on Nov 19, 2010 4:54 PM

I ended up changing the input/output structure in PI and external Middleware to a more simpler format. The target structure is not possible very easily. Don't try to build a recursive mapping like this unless you have to absolutely build that.
Closing this thread and changing this to answered.
Thanks
Sunil
Edited by: sunil kumar on Jan 13, 2011 8:46 PM
Edited by: sunil kumar on Jan 13, 2011 8:47 PM

Similar Messages

  • WD ABAP: Recursion Nodes that Repeat Tree Nodes with Embedded Tables ???

    At Rich H's suggestion, I'm posting this here as well as in the blogs.
    Suppose you've got a tree context with a node that has a table embedded under it. (For example, the TREE_WITH_TABLE view of WDR_TEST_EVNT has this kind of context substructure.) Call this node "NODE_WITH_TABLE."
    You now define a recursion node underneath "NODE_WITH_TABLE" and specify "NODE_WITH_TABLE" as the repeated node for this recursion node. Call this recurion node "RECURSION_NODE".
    Lo and behold - the table fills properly when you're on any instance of "NODE_WITH_TABLE", but not when you're on an instance of "RECURSION_NODE".
    I'm hoping that:
    a) I'm doing something wrong;
    OR
    b) There's an easy work-around/alternative I'm not seeing
    OR
    c) SAP will give recursion nodes enough memory to carry any table(s) embedded in the nodes they're repeating.
    'Cause I sure don't want to have to define "n" levels of tree-nodes that have different copies of the same table(s) embedded in them.
    Message was edited by: Armin Reichert

    /people/david.halitsky/blog/2006/08/16/recursion-nodes-that-repeat-tree-nodes-with-embedded-tables-in-wd-abap-not
    Maybe you might want to back out your weblog as it is not really a place to ask these types of questions.  Think of it this way,  if you are allowed to do this type of weblog,  what is stopping any other weblogger.  Hence the weblogs would just be another forum, which I don't think anyone wants. 
    Regards,
    Rich Heilman

  • Should we avoid Graphical mapping and stick with Java mapping?

    After developing mappings in XI for a month, I just don't see any good reasons to use Graphical mappings over Java mappings. Maybe some experienced users here can give me some valid reasons why we should choose Graphical mappings. Here is what I think:
    Disadvantages of Graphical mappings:
    1. No way to perform automated unit testings. This is probably the biggest reason I hate it. You can do some tests manually when you work in Integration Builder. But there is no way you can write some unit testing utilities to automate the task.
    2. Complexity. Even for some simple requirements, your Graphical mappings can become complicated and hard to understand. A lot of times, I find myself staring at several dozens of graphical nodes and try to understand what it does.
    3. Impossible to reuse. This is totally against the DRY (Don't repeat yourself) principle. For example, to generate messages for JDBC adapter, it is common to have two identical fields for primary keys: one in the access node and another in the key node. If you change the mapping logic in one, you have to remember to change the other.
    Advantage with Java mappings:
    1. Fully automated unit testing. You can create JUnit tests along with your Java mapping classes and use Maven or other build tools to perform automated unit testing.
    2. Your choice of XML parsing and binding. With Java mapping, you can choose any open source framework for XML parsing and binding. For example, with XMLBeans, I can convert XML input message to a Java object, transform to another Java object and write to output message. And each Java object is generated from its corresponding XML schema.
    3. Highly reusable. We can use fundamental object-oriented designs to create highly reusable mapping components.
    4. Better version control. Since the mappings are just Java classes, we can use CVS or SVN to track code changes.
    5. Better build tools. We can fully utilize build tools like Ant and Maven to automate the build, unit tests, or even generate documents and mapping web sites.
    So do you guys agree? Maybe I am still new to XI or I am missing some important things. But at this point, I just don't see why I should use Graphical mappings. Is there anyone developing XI interfaces completely with Java mappings?
    Thanks in advance for any comments!
    Kenny Cheang

    Hi Suraj,
    > Since its graphical the blocks will take space, but
    > there is always an adavntage of processing time.
    > Ebven though it may appear bigger, it will take less
    > time as compared with Java code (for the same
    > mapping).
    Could you explain more why the graphical mapping has better performance? I thought the graphical mapping is compiled into a Java class in the runtime anyway.
    > Yes thats there, but same goes with Java mapping too
    > right (if you haven't mentioned it as constants)
    I mainly think about inheritance. If I have to build 10 interfaces and they all have some common behavior, I can create a base interface class to encapsulate the common logic. But with graphical mapping, you have to duplicate them in each interface.
    > Disadvantages of Java mapping:
    > 1. Performance
    Same as above. I just don't see why Java has worse performance. I actually think Java should have better performance. You can optimize the code anyway you want. In some cases, you have to use queue functions in graphical mapping but it's not necessary in Java.
    > 2. All might not be well versed with Java Code(though
    > everyone may know basic java) .
    I am not asking everyone to abandon graphical mapping. I am just wondering which one is better when you have skills for both.
    > 3. Lot of standard functions are available in GM
    > which you can choose, but you have to remember the
    > exact code for those in Java mapping.
    You can create functions in Java too. All you have to do is to remember the function name.
    Kenny

  • How to handle duplicate nodes in xslt mapping

    Hi,
    in my scenario that i have a source mapped to the canonical structure and from canonical to target.
    source structure
    <empid>
    <national_id>
    canonical structure
    <id> 0 to unbounded
        <id>
        <type>
    the mapping from source to canonical
    is like i have duplicated the canonical structure and then mapped
    id -
    empid
    type--- assigned a constant employee
    id -
    national_id
    type--- assigned a constant National
    i have used xslt mapping using stylus studio and mapping from source to canonical is not the problem
    when i mapped the canonical to target there is a problem
    the node id is visible once in the canonical when the structure is a source  
    but there is a dupicate node in the structure but not visible. how to procedue with the mapping for canonical to target
    kindly help me
    with regards
    pradeep N

    hi,
    Udo Martens.
    <b>source xml</b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Materail_fileReceive xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
       <Emp_ID>12</Emp_ID>
       <National_ID>91</National_ID>
    </ns0:Materail_fileReceive>
    <b>canonical xml</b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile"><Material><ID>12</ID><Type>Employee</Type></Material><Material><ID>91</ID><Type>National</Type></Material></ns0:Materail_file>
    <b>source to canonical mapping is</b>
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
         <xsl:template match="/">
              <ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
                   <Material>
                        <ID>
                             <xsl:value-of select="ns0:Materail_fileReceive/Emp_ID"/>
                        </ID>
                        <Type>Employee</Type>
                   </Material>
                   <Material>
                        <ID>
                             <xsl:value-of select="ns0:Materail_fileReceive/National_ID"/>
                        </ID>
                        <Type>National</Type>
                   </Material>
              </ns0:Materail_file>
         </xsl:template>
    i want the<b> canonical to target mapping</b> where my target structure is similar to that of my source
    kindly help.
    regards
    pradeep N.

  • Unable to add value to model node with cardinality 0..n

    Hi All,
       Im working with Webdynpro Java.i have an issue here.i have a input field item named customer and a drop down box item location.when i give customer and location as inputs,a WSDL (named Equipment WSDL) is called.the result is a  drop down list containing equipments id
    i took a custom node location with cardinaliy 0..n.i gave static values as input for location.i need to set the location values to model node location.when i m giving a single value to custom node location,that static value is not accepted by model node location(in WSDL) whose cardinality is 0..n.
    Please suugest a solution for this issue
    With Regards,
    Ushasri.

    HI Ushashri,
    What do you mean by 'static value is not accepted by model node location'
    how you have done the mapping
    send me the hierarchy of rfc and ur value node
    With Regards
    Naidu

  • Context Mapping: child-nodes of non-mapped parent nodes

    I am somewhat curious about Context Mapping in WebDynpro.
    Which parents nodes need to be mapped in order to map child nodes ? Does a child node has more than one parent node (e.g. grandparent - two steps above) ?
    A.1  -
    MAPPED----
    >    B.1
      - A1.1   NOT MAPPED
      - A1.2   NOT MAPPED
            - A.1.2.1     MAPPED TO>    B.1.2.4
            - A.1.2.2   NOT MAPPED
      - A1.3   NOT MAPPED
    Is it sufficient that only one of these parent nodes (e.g. direct parent node not mapped, but parent node of this parent node is mapped) need to be mapped so that the child node can be mapped ?
    Is this assumption true or not ?
    The SAP library states:
    "Conversely, child nodes of non-mapped parent nodes cannot be mapped, otherwise this would result in irresolvable conflicts at runtime with respect to the parent-child relation in the context and the mapping relation." (http://help.sap.com/saphelp_nw04/helpdata/de/51/a3384162316532e10000000a1550b0/content.htm)
    This statement is not absolutely clear on this issue.

    Let me put it this way
    You have a node vehicle and you have a child node for that the car. The car node have parameters car1, car2.
    Let the vehicle node have parameters veh1 and veh2
    Then if you map vehicle node one to any other node (say in the comp. controller) you have the option of mapping its children i.e veh1,veh2 and carnode.
    You can have that veh1 is mapped and veh2 is not mapped.
    vehicle node(mapped)
    veh1(may or may not be mapped)
    veh2(may or may not be mapped)
    car node(may or may not be mapped)
    If instead you try to map only the car node the vehicle node will also get mapped automatically but not it's child parameters like veh1 and veh2.
    vehicle node(mapped)
    veh1(may or may not be mapped)
    veh2(may or may not be mapped)
    car nodemapped)
    car1(may or may not be mapped)
    car2(may or may not be mapped)
    Hope this would help.
    Do revert for further clarification
    Regards
    Noufal

  • Help with java mapping

    PI File adapter has a processing option u2018Empty-Message Handlingu2019 to ignore or Write Empty Files. In case there is no data created after mapping on target side then this option determines whether to write an empty file or not. But there is a catch to this option when it comes to using it with File Content Conversion which is described in SAP Note u2018821267u2019. It states following:
    I configure the receiver channel with File content conversion mode and I set the 'Empty Message Handling' option to ignore. Input payload to the receiver channel is generated out of mapping and it does not have any record sets. However, this payload has a root element. Why does file receiver create empty output file with zero byte size in the target directory?  Example of such a payload generated from mapping is as follows:                                                           
    <?xml version="1.0" encoding="UTF-8"?>                          
    <ns1:test xmlns:ns1="http://abcd.com/ab"></ns1:test>
    solution :
    If the message payload is empty (i.e., zero bytes in size), then File adapter's empty message handling feature does NOT write files into the target directory. On the other hand, if the payload is a valid XML document (as shown in example) that is generated from mapping with just a root element in it, the File Adapter does not treat it as an empty message and accordingly it writes to the target directory. To achieve your objective of not writing files (that have just a single root element) into the target directory, following could be done:
    Using a Java or ABAP Mapping in order to restrict the creation of node itself during mapping. (This cannot be achieved via Message Mapping)
    Using standard adapter modules to do content conversion first and then write file. 
    can someone help with java mapping that can be used in this case?

    Hi,
        You have not mentioned the version of PI you are working in. In case you are working with PI 7.1 or above then here is the java mapping code you need to add after message mapping in the same interface mapping
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import com.sap.aii.mapping.api.AbstractTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.TransformationInput;
    import com.sap.aii.mapping.api.TransformationOutput;
    public class RemoveRootNode extends AbstractTransformation{
         public void execute(InputStream in, OutputStream out)
         throws StreamTransformationException {
    // TODO Auto-generated method stub
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         if(docIn.getDocumentElement().hasChildNodes())
              docOut.appendChild(docOut.importNode(docIn.getDocumentElement(),true));
              transform.transform(new DOMSource(docOut), new StreamResult(out));
         else
              out.write(null);
    catch(Exception e)
    public void setParameter(Map arg0) {
    // TODO Auto-generated method stub
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
         RemoveRootNode genFormat=new RemoveRootNode();
         FileInputStream in=new FileInputStream("C:\\apps\\sdn\\rootNode.xml");
         FileOutputStream out=new FileOutputStream("C:\\apps\\sdn\\rootNode1.xml");
         genFormat.execute(in,out);
         catch(Exception e)
         e.printStackTrace();
    public void transform(TransformationInput arg0, TransformationOutput arg1)
              throws StreamTransformationException {
         // TODO Auto-generated method stub
         this.execute(arg0.getInputPayload().getInputStream(), arg1.getOutputPayload().getOutputStream());
    In case you are working in PI 7.0 you can use this code
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class RemoveRootNode implements StreamTransformation{
         public void execute(InputStream in, OutputStream out)
         throws StreamTransformationException {
    // TODO Auto-generated method stub
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         if(docIn.getDocumentElement().hasChildNodes())
              docOut.appendChild(docOut.importNode(docIn.getDocumentElement(),true));
              transform.transform(new DOMSource(docOut), new StreamResult(out));
         else
              out.write(null);
    catch(Exception e)
    public void setParameter(Map arg0) {
    // TODO Auto-generated method stub
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
         RemoveRootNode genFormat=new RemoveRootNode();
         FileInputStream in=new FileInputStream("C:\\apps\\sdn\\rootNode.xml");
         FileOutputStream out=new FileOutputStream("C:\\apps\\sdn\\rootNode1.xml");
         genFormat.execute(in,out);
         catch(Exception e)
         e.printStackTrace();
    The code for PI 7.0 should also work for PI 7.1 provided you use the right jar files for compilation, but vice-versa is not true.
    Could you please let us know if this code was useful to you or not?
    Regards
    Anupam
    Edited by: anupamsap on Dec 15, 2011 9:43 AM

  • Hardcode values of the node with cardinality 0..n

    Good day!
    I need to hardcode a list of element to the node with cardinality 0..n.
    Node has two attributes.
    How can I fill the node with a few element in the input mapping? I know I can do it with a single element by separating values by comma. Is it possible to fill the node?

    Hello.
    I've the same problem. Can you say how to set list of values for a structure?
    For example, we've node FIELD containing two attributes:  ID and NAME.
    FIELD is a node with cardinality 0..*. How to set at least two elements to the node?
    Your example works only for simple attributes with cardinality 0..*, but it doesn't work for structures.
    Best Regards,
    Timur Semenchuk.

  • Upgrading from XI/PI7.0 to 7.1 having problems with message mapping

    Hello,
    We are in the process over the past week of testing our XI/PI functionality after upgrading our 7.0 XI/PI environment to PI7.1; in particular several maps that were accessible in 7.0 will not open or diaplay in 7.1 complaining of a missing node in the mapping structure. Currently working with SAP on a possible fix but wanted to know if anyone else has done a true migration on top of an existing XI/PI7.0 system and experiencing similar issues (note: the maps can execute in the runtime environment but we can't display the maps source within message mapping; this also does not occur for all maps and there is no clear consistant theme to those that can be displayed and those that can't).
    The lattest issue just encountered related to message mapping is that in test mode of a map (that can be displayed) attempting to display the data queue for the mapped elements are blank no data being displayed giving an error noting that the source text of object message mapping: name of the map; has syntax errors, java area import line x, package ibm.com.xi.mapping does not exist/ import ibm.com.xi.mapping UDF:
    Has anyone upgraded from PI7.0 to 7.1 and experienced errors with existing maps that worked ok (ans still work in our QX/PRD systems) in their 7.0 envirinment but encountereing strange errors once upgrated to 7.1?
    Thanks
    Dereck Purnell
    NewellRubbermaid

    Here is the solution we received from SAP to address the issue, there were several mapping related issues we started havng from maps that worked in our 7.0 system prior to the upgrade to PI 7.1. I will try to encorporate the solutions in this response.
    a) From Customer to SAP
    1. We are unable to open some massage mapping, it is throwing
    exception
    2. Number Format functions throw exception.
    But following issue is still unresolved:
    3. When we display message queue, it throws exception
    ***) 05.02.2009 - 12:34:33 CET - Reply by SAP     
    The patch has been released at the Service Marketplace.
    Please update the scas described in the note 1264871.
    The "FormatNum" function issue has also been taken care in this patch.
    Please go through the Note 1264871 for other behaviour changes after
    upgrade. Let us know if you need any further help.
    Regards,
    B) From Customer to SAP
    04.02.2009 - 00:23:44 CET - Info for SAP
    We discovered another issue with mapping.
    For some of the mappings, we are unable to display mapping queue. When
    we execute, Interface mapping and Massage mapping, it works fine. But
    display queue throws exception. Itu2019s not able to recognize libraries
    used from dependent software component.
    Please find document "Display Mapping Queue Issue" providing example
    problem.
    25.02.2009 - 07:05:28 CET - *Reply by SAP*     
    Thank you for your update. I wanted to check with "CopyValue"
    function's index. It has to take an input integer and the problem that
    found while debugging the opening of your mapping is that the input
    was empty thus causing the exception.
    I was going to suggest the intended use of "CopyValue" function.
    When the input to "copyValue" is a constant, "copyValue" is totally
    not necessary. Thus constant can be directly mapped to other function.
    When the input is a node with values in context, you can treat one of
    values say input[0] to used in mapping by using CopyValue[0].
    But please make sure that input[0] will always produce a value.
    Note 877964 will describe in detail on Copyvalue usage.
    I am marking this Message as complete. Please confirm.

  • Error with context mapping

    Dear All,
    I am a novice to webdynpro. I have tried to create a program using MVC concept. Here is the below components that I have created while
    I was referring to an example mentioned in WEBDYNPRO ABAP by U Hoffmann.
    I have encountered a run time error which I am not able to resolve. Can anyone please help me out in this regard.
    Below is the error description I have received.
    Node UNITS Is Already Mapped.
    Below is the description of the components that I have created.
    Component 1- Model Component Contains the ROADMAP context node and 'UNITS' context node. This Units context node further has a tree structure with lower level node containing from and to unit nodes. I have provided a supply function for these 2 lower level nodes. Also I have declared the units context node as Interface node.
    Component 2- View Component_Sub
    This component contains the Units context context node and a view which is embedded in the window.
    Component 3- View Component_main
    This component contains the same Units context node and a roadmap node declared in component 1.
    I have created a view which uses roadmap node. Also it contains a view container UI element. In window section I have embedded the view of Component 2.
    Context node Units of component 3 is externally mapped with context node of component 2.
    Component - 4- Main Component.
    Again this contains same context nodes as mentioned in component 1 which is mapped to the context node of Model Component.
    Data from Component 1 is externally mapped with context node of Main component. Context node of Main component is again mapped with context node of Component 3.
    When I execute the program. I am the error as 'NODE IS ALREADY MAPPED'.
    Sorry If I have repeated the same problem mentioned in another thread.I have searched for this particular problem on internet and could not find any solution for this.
    It would be of great help if someone can provide me the solution for this problem.
    Thanks in advance.
    Regards,
    Girish

    Hello,
    There should be something that could correlate the Invoice_Header/Key and Invoice_Line/Key. In your example, both are the same for the first and data set. If the sample looks like the one below, it is possible to sort things by correlating the Invoice_Header key and Invoice_Line key
    <Invoice_Header>
      <Key>000<Key>
    </Invoice_Header>
    <Invoice_Line>
      <Key>000<Key>
    </Invoice_Line>
    <Invoice_Line>
      <Key>000<Key>
    </Invoice_Line>
    <Invoice_Header>
      <Key>001<Key>
    </Invoice_Header>
    <Invoice_Line>
      <Key>001<Key>
    </Invoice_Line>
    An example mapping could look like this
    For Header
    Invoice_Header --> Header_Invoice
    For Line
    /InvoiceLine/Key --> removeContext --> splitByValue:valueChanged --> Invoice_Line
    The subfields of the invoice line would also follow a similar logic, you just need to use formatByExample --> splitByValue:eachValue so that the context levels are the same.
    Hope this helps,
    Mark

  • ABAP Mapping with Value Mapping

    Hi folks,
    Anyone knows if it is possible to query a value mapping table inside an ABAP mapping?
    Thanks in advance,
    Ricardo.

    Hi Bhavesh,
    Thanks for your prompt answer.
    I’m already using the Value Mapping with Master data Replication on several graphical mappings. Unfortunately, some changes happened for one mapping program, the complexity increased and the graphical mapping doesn’t fulfill these new requirements. So, I thought to use ABAP mapping, because is a language that I know well.
    I understood your concern; we are talking about two levels, ABAP and Java stack. It will be needed a call from ABAP stack to Java Stack, but maybe there is an API for that? But, about system performance, I guess Value Mapping its better then RFC lookup, right?
    My mapping problem is: I need to generate two nodes (not a field) every time the code “MODI” (modification) comes in a source field. Inside these two nodes, I have to fill a field, into first node, with an old id and for the second node with the new id.
    I can’t found any standard function to fulfill this requirement. Maybe this is easy with UDF, but I’m not filling comfortable with Java and I don’t know how to do it. If you know, please let me know.
    Thanks in advance.
    Regards,
    Ricardo.

  • Copy of source message to an element with graphical mapping

    Hi all,
    Is there a way to copy the complete source message of a mapping to an element of the destination message (with CDATA) with the graphical mapping (or UDF, but I want to avoid XSL) ?
    For example, from this message:
    <source>
      <element>test</element>
      <element2>test2</element2>
    </source>
    I expect the following result:
    <dest>
      <data><![CDATA[<source><element>test</element><element2>test2</element2></source>]]>
      </data>
    </dest>
    Thanks for your help.
    Greg

    Hi,
    Use this Simple Concept
    XML node into a string with graphical mapping
    /people/michal.krawczyk2/blog/2005/11/01/xi-xml-node-into-a-string-with-graphical-mapping
    Regards
    Seshagiri

  • CLOSED- Recursive Tree with Recursive Table and seperate Relationship table

    Hi All,
    I am trying to achieve a adf recursive tree with recursive table but relationships are stored in separate table like
    Table A:
    id name
    1 Val1
    2 Val2
    3 Val3
    4 Val4
    5 Val5
    Table B:
    fromid rel_type toid
    1 Parent-of 2
    2 Parent-of 3
    3 Parent-of 4
    1 Parent-of 5
    I did lots of reading from forum and various posts but couldn't make it work.
    Any suggestion what would be best approach and/or sample code for this ?
    Thanks

    I think that you can get this done by defining a VO that fetches all the top level nodes and have a view link to a VO that has all the details with a self recursive viewlink
    Query for the top level
    Select A.id, A.name
    from A
    Where A.id not in (select disctinct toid from B)
    Query for the detail level
    Select A.id, A.name, B.from, B.to
    from A,b
    where a.id = b.toid;
    ViewLink is going to be:
    detail.from=master.id
    and another viewlink for the recursive relationship
    detail.from=detail.to

  • Build a tree with recursion

    I need to Create a tree and with recursion (not to use SAP FM)
    and i have a tree like the following
    assume i have a root like
    root is level  1 -> customer 
    child level 2 -> like contact person & address
    child level 3 like visiting hours (contact person ) & Email address (adress )
    e.g. of the table that i need to provide as output is
    item              parent_key   child_key         
    customer                 0001         
    contant person         0001         0002
    address                   0001         0002
    vist                        0002         0003
    email                      0002         0003
    etc...
    let say i get as input always the root and i check for his child and for this node i
    look for his child etc how can i provide a table like the above table
    Thanks and Regards
    James

    Hi,
    build your tree step-by-step:
    -root node is always shown -> initially add it to the node table of your alv-tree
    ->user expands root node
    ->event expand_no_children has to be handled
    ->check which node threw that event
    ->if root node, select all persons
    ->add the person nodes to your alv-tree node-list, as parent use the root node
    ->refresh alv tree
    ->user expands person-node
    ->event expand_no_children has to be handled
    ->check which node threw that event
    ->if person node, select all visiting hours
    ->add the visiting hour nodes to your alv-tree node-list, as parent use the person node
    ->refresh alv tree
    Greetings,
    dsp

  • Is Color Luma Curves the same as 'HueCureves' node with luminance selected?

    In Apple Color there are the "Luma Curves". Is this the exact same thing as the 'HueCureves' node with the luminance selected?
    here is what I am talking about in Apple Color
    http://www.vimeo.com/3418777

    No, the Curves Controls in Color consists of lookup tables.
    The Luma Curve in Color corresponds to using Shake's LookupHLS node
    with lExpr (luminance) selected.
    The other three curves in Color correspond to using the Lookup node
    with rExpr, gExpr, and bExpr selected.
    Lookup tables map input channel values to output channel values.
    (Color manual page 190). Shake's HueCurves node maps input hue
    to the amount that hue is boosted or cut.
    If you have experience in audio, it might make sense to think of
    a lookup table as a dynamics processor (compressor or expander),
    whereas a hue curve is like a filter (graphic equalizer).

Maybe you are looking for