IDOC to FILE(xml) graphical mapping using node function createIf

Greetings All,
            My Scenario is Idoc to File(XML)
Target Structure is 
                       MO_MAT_LAN....................(0: unbound)
                            LAN_KEY.......................(0 :1)
                            DESCRIPTION.................(0 : 1)
Source MATMAS Idoc
                       E1MAKTM.........................(0 : 99)
                            SPRAS_ISO..................(0 :1) 
                            MAKTX..........................(0 :1)
initially i had mapped E1MAKTM----->MO_MAT_LAN but i dont want target node MO_MAT_LAN to be created when the SPRAS_ISO is equal to EN
I have tried using node function createIf but the node is geting created only once although the input stucture is having occurance more than 5.
Can anyone please help me to achive this.
Many thanks,
Rohit

U have to use:-
SPRAS_ISO mak the context to E1MAKTM compare (Use equals) it with Constant function EN out put to be given to If without else and in then Give E1MAKTM and map out put of If node to MO_MAT_LAN.
chirag

Similar Messages

  • Create Attachment within Graphical Mapping using UDF

    Hi!
    We want to create an attachment witihn a graphical mapping using an UDF function.
    I use that function:
    public String addAttachment(String filename, String mimeType, String content, Container container) throws StreamTransformationException{
         BASE64Decoder decoder=new BASE64Decoder();
         try {
              GlobalContainer globalContainer = container.getGlobalContainer();
              OutputAttachments outputAttachments = globalContainer.getOutputAttachments();
              Attachment attachments = outputAttachments.create(filename, mimeType,decoder.decodeBuffer(content));
              outputAttachments.setAttachment(attachments);
              return "Adde1: "+filename;
         } catch (Exception e) {
              return e.toString();
    (SDN helped me much in creating that
    This function has no compiling errors, anything workes fine:
    It takes 3 input-parameters, see also: http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/aii/mapping/api/OutputAttachments.html
    filename (ok, more or less contentID)
    mimeType (more or less contentType)
    content: Base64-encoded String which should be set as content
    In my sample I use the following constants for that function:
    filename = "fn1.txt"
    mimeType="application/xml"
    content = "UG9seWZvbiB6d2l0c2NoZXJuZCBhw59lbiBNw6R4Y2hlbnMgVsO2Z2VsIFLDvGJlbiwgSm9naHVydCB1bmQgUXVhcms=" --> cames directly from http://de.wikipedia.org/wiki/Base64
    When using the message, I got this error within SXMB_MONI:
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not queue receive for
    message 0022642d-b106-02df-8e8c-f41c243bd112(INBOUND). Reason: java.lang.NullPointerException: while trying to
    invoke the method com.sap.aii.af.sdk.xi.lang.Binary.getBytes() of an object returned from
    com.sap.aii.af.sdk.xi.mo.xmb.XMBPayload.getContent()</SAP:AdditionalText>
    This looks pretty much the same as Add Attachment from ABAP Mapping but this tread is also not answered.
    Adding attachment from PI level looks also in that direction, again, no answer.
    So, I was wondering if someone has solved such problem?

    Hi Divyesh!
    We did it that way:
    1. Choosing the XML-Mailstructure as Destination as described in Configuring the Receiver Mail Adapter - Advanced Adapter Engine - SAP Library -  Example (XI payload with mail package)
    2. now we have created a UDF for creating the "content"
    public void getContent(String[] text, String[] attFname, String[] attType, String[] attContent, ResultList result, Container container) throws StreamTransformationException{
    // vergleich ob alle att-Arrays selbe anzahl haben
    if (attFname.length!=attType.length || attFname.length!=attContent.length) {
        result.addValue(Integer.parseInt("Fehler: alle Attachment-Eingänge müssen die selbe Anzahl an Elementen haben!"));
        String CRLF = "\r\n";
        String output="This is a multi-part message in MIME format."+CRLF+CRLF+
        "--"+getBoundary(container)+CRLF+
        "Content-Type: text/plain; charset=UTF-8"+CRLF+
        "Content-Disposition: inline" + CRLF + CRLF +
        text[0]+CRLF;
    for (int i=0;i<attFname.length;i++) {
        output+="--"+getBoundary(container)+CRLF+
        "Content-Type: "+attType[i]+"; name="+((char)34)+attFname[i]+((char)34)+CRLF+
        "Content-Disposition: attachment; filename="+((char)34)+attFname[i]+((char)34)+CRLF+
        "Content-Transfer-Encoding: Base64"+CRLF+CRLF+attContent[i]+CRLF;
    output+="--"+getBoundary(container)+CRLF;
    result.addValue(output);
    This UDF is configured as "QUEUE"
    We have configured this input-structure
    The Content itself is allready base64.
    So we can call this mapping and it creates a Multipart-Mail for us.

  • FILE to IDOC using node functions; IDOC parent, child segment

    I have file with 10 recors.
    Each record has f1,f2 (two fields)
    The target IDOC segments are
    E1PARENT1 occurance 0 to 99
    E1PARENT1-field_p1
    E1PARENT1-E1CHILD1 occurance 0 to 5
    E1PARENT1-E1CHILD1-field_c1
    I have to map
    FILE field1 to E1PARENT1-field_p1
    and
    FILE field2 to E1PARENT1-E1CHILD1-field_c1
    I tried
    RemoveContext -> SplitByValue(value change) -> CollapseContext ->E1PARENT1
    RemoveContext -> SplitByValue(value change) -> CollapseContext ->E1PARENT1-E1CHILD1
    With above i'm getting output
    a) parent IDOC segment E1PARENT1 repeated 10 times (source FILE got 10 records) .. .This is correct
    b) The first parent segment E1PARENT1 got 5 child segments E1CHILD1. -- this is incorrect
    c) The second parent segment  E1PARENT1  has NO child segments E1CHILD1 -- this is incorrect
    I want
    first parent segment E1PARENT1 to have 1 child segment  E1CHILD1 having 1st record field2 of input FILE
    2nd parent segment E1PARENT1 to have 1 child segment  E1CHILD1 having 2nd record field2 of input FILE
    3rd parent segment E1PARENT1 to have 1 child segment  E1CHILD1 having 3rd record field2 of input FILE
    I think by changing occurance (ECC value is 0 to 5) of child IDOC segment E1PARENT1-E1CHILD1 to 1 could solve this issue. (I tried to change the text file, but it is no confusing where to change using Notepad). Basically i don't know how to control the queue context of CHILD segment of IDOC matching with PARENT segment of the IDOC.
    Any better alternative. Please help. Thanks

    This is the IDOC target
    E1PARENT1 (o to 99 occurance)
    E1PARENT1-field_p1
    E1PARENT1-E1CHILD1 (0 to 5 occurance)
    E1PARENT1-E1CHILD1-field_c1
    I resolved using standard function of message mapping. The mistake was SplitByvalue(value change), when changed to SplitByvalue(each value) got desired result. Here is the mapping to benefit others. Please correct or add if any, thanks.
    a) Target - Parent segment
    SOURCE-RECS->RemoveContext -> E1PARENT1
    SOURCE-RECS-F1->RemoveContext -> E1PARENT1-field_p1
    b) Target - Child segment
    SOURCE-RECS->RemoveContext -> SplitByValue(each value) -> E1PARENT1-E1CHILD1
    SOURCE-RECS-F1->RemoveContext -> SplitByValue(each value) -> E1PARENT1-E1CHILD1-field_c1

  • DESADV.DELVRY 03 IDOC to file  Issue with Mapping

    Hi All,
    We have DESADV.DELVRY03 used in this scenario. The Header Text Field : E1TXTH8 had the segment :TDID(Text ID) .
    The Codition is : If TDID =9500 Condition , then the field of :E1EDL41 - BSTNR (Customer PO number ) should be mapped , sent as file data
    I am doing the Graphical (Visual Mapping tool) as i am not expertised in XSLT .
    Since the TDID and BSTNR  fields are from diffrent  segments , it is throwing an error.
    Could you please suggest how to solve this isuse as it is  crtical task .
    -I tried with:  if TDID=9500 , then BSTNR = (CutomerPONo--interface field) , this throws an error :
    RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:ShipmentDelivery_Request/ReferenceData_Party/CustomerPONumber. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast 9500 to boolean] in class com.sap.aii.mappingtool.flib3.Bool method equals[9500, 9500, com.sap.aii.mappingtool.tf3.rt.Context@54039b37]
    Edited by: Varalakshmi SB on Jan 13, 2011 11:18 AM

    Hi,
    Create the graphical mapping as below:
    Use IfWithoutElse. If TDID equalS "9500" then E1EDL41 - BSTNR.
    Since TDID and BSTNR are in different contexts, change the contexts to segment level.
    After that use, removeContexts and SplitByValue node functions.
    It would roughly look like below:
    IfWithoutElse -- TDID equalS 9500 -- then -- BSTNR -- removeContexts SplitByValue -- <Target Structure>
    Thank you.
    Regards,
    Subbu

  • IDOC to File - Clarification needed while using business service.

    Hi all,
    I have 2 scenarios to be implemented in PI..one is IDOC to File and another one File to IDOC.File systems in the above mentioned scenarios are 2 different legacy applications when business is concerned.So i am creating separate business services for the two legacy apps.I have included ECC in SLD and created proper LS name corresponding to that maintained in partner profile in ECC.File to IDOC scenario is working fine.
    In the second scenario (i.e. IDOC to File) also i need to mention adapter-specific identifiers. But since i have already used the R/3 system id and client in the File to IDOC it is throwing an error while trying to activate the buss service.The XML message is failing at Receiver identification step when i have omitted r/3 sys id and client.In the acknowledgement i am getting the message as "Unable to convert the sender service INTEGRATION_SERVER_DEVPI to an ALE logical system"
    I have checked entire SDN but didnt find any solution for the same.
    Is there any work around for this issue?
    Rgds,
    Lekshmi.

    Hi,
      Go through these blogs....
    /people/rajeshkumar.pasupula/blog/2009/03/16/unable-to-convert-the-sender-service-to-an-ale-logical-system
    /people/michal.krawczyk2/blog/2005/03/29/xi-error--unable-to-convert-the-sender-service-to-an-ale-logical-system
    /people/sravya.talanki2/blog/2005/12/02/manipulating-idoc-control-records-from-payload
    Also chk these threads also.....
    Error: Unable to convert the sender service xxxxx to an ALE logical system
    Unable to convert sender service to an ALE logical system
    Might help you....
    Regds,
    Pinangshuk.

  • How to convert IDOC-PI-JMS to IDOC-PI-File with exsting mapping?

    I have a scenario,  ECC-PI-Message broker. ECC sending IDOC to  PI, PI execute mapping and  sends data to Message borker(thru JMS channel).(with almost one to one mapping)., IDOC(AAE)-PI-JMS. Now my requirement is., from PI  after mapping we need to create file with same data what ever send to Message broker and put the file in SAP folder without touching mapping. Is it possible? Please advise with the steps. We are using the ICO for this senario. Quick response is appriciated.

    Hello,
    U can add one more receiver for file and reuse the same message mapping
    Thanks
    Amit Srivastava

  • How to use node functions in Message mapping !!

    Hi  Gurus,
    I have got one issue in message mapping, please can any one put some ideas on this !!
    Source Structure
    <Group_ZA>  0..unbound
         <D02_ZA>           0.. unbound
             ZA_01             0..1   - QA
             ZA_02             0..1      20
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1     QD
             ZA_02             0..1     40
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
          iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
         <D02_ZA>          
             ZA_01             0..1     QA
             ZA_02             0..1      20
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1     QD
             ZA_02             0..1     40
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    <D02_ZA>          
             ZA_01             0..1     QA
             ZA_02             0..1      20
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1     QD
             ZA_02             0..1     40
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
    </Group_ZA>
    Target Structure
    ProductActivityNotification                                                       0..unbound
                          ProductActivity                                                             1..1
                                        Item                                                                 1..unbound
                                              Inventory                                                   0..1
                                                     UnrestrictedUseQuantity                    0..1
    The Group_ZA comes 'n' number of times and D02_ZA comes sometimes 5 times and sometimes 6 times etc.,
    ZA_01 field can come with 5 to 6 different values like 'QA','QD','QN' etc., sometimes ZA_01 comes only 3 times QA,QD,QN.
    if ZA_01 = 'QA' then only  we need to pass   ZA_02 value on to ''UnrestictedUseQuantity'' (target side),
    I mapped the fields, the vlaue ZA_02  passing properly on to 'UnrestictedUseQuantity' when D02_ZA comes 5 or 6 times, all the times 'QA'  value comes into ZA_01 field. In case if QA value missed or doesn't come from source, the Target side ' 'UnrestictedUseQuantity' field last value comes into last but one.
    Ex: QA value is in 3 times, but I have 4 source message on top. values comes into target side like
    20
    20
    20
    suppose to come like
    20
    20
    -- (Space)
    20
    Please required your valuable inputs in bit urget !!
    how to map field level please?
    Many Thanks in Advance
    Kind Regards
    San

    Petre:
    If you want to use standard functions then you try this:
    If-->currentdate -OR- Constant(01.02)
    currentdate -OR- Constant(02.02)   --> OR -->
    currentdate -OR- Constant(03.02)
    Then give some output
    Else give some output
    So give the output for the first two conditions to another OR and the result of the third to the same OR. So whenever the condition is true in any of the condition you will get the THEN value else you will get the ELSE value.
    ---Satish

  • File scenario error in Used defined function

    Hi Everyone,
    I was doing file to file scenario, i want to get the same source file name in target also.
    I created the structure as FileName, Company, Address. I did direct mapping for Company and Address
    but for field FileName, i created a userdefined function as i want the same file name.
    I mentioned the following code in  Used defined function
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName; 
    When i test the mapping in IR, with sample data, i am getting this error.
    RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:Target_File_MT/FileName. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Source_File_to_Target_File_MM_ method DynamicFile$[, com.sap.aii.mappingtool.tf3.rt.Context@1763e46]
    Could anyone please help me with the issue.
    I have done only IR part, I didnot configured ID.
    Regards,
    Varun.

    HI,
    Check Adapter Specific Message attributes.This blog will  help you
    The specified item was not found.
    You can also go for variable substitution :-
    When you specify the target directory and file name schema, you have option of setting variables and defining them in a table. The variables are replaced by elements from the XML structure at runtime.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/8e/464442c1a1c253e10000000a1550b0/content.htm
    links on the dynamic variable substitution
    The specified item was not found.
    The specified item was not found.
    Dynamic File Name Part 1
    Dynamic File Name using XI 3.0 SP12 Part - I
      Dynamic File Name Part 2
    Dynamic file name(XSLT Mapping with Java Enhancement) using XI 3.0 SP12 Part -II
    Thanks

  • How to delte empty segments/fields from input XML graphical mapping

    Hi
      I would like to delete segments which don have any values in their child segments in graphocal mapping?
    How should i use createif and existsmapping functions for this?
    Edited by: Rajesh on Jun 15, 2009 8:42 PM

    I would like to delete segments which don have any values in their child segments in graphocal mapping?
    How should i use createif and existsmapping functions for this?
    If you want to check if a value if present in a particular node or not then I dont think exists function will help you....exists function will only check if the node is existing or not.....
    <SRC>
    <Node1>
    <Field1>SAP</Field1>
    </Node1>
    <Node2>
    <Field2></<Field2>
    </Node2>
    </SRC>
    If above is your structure on which you want to implement the logic..then as per your req you dont need to have the Node2 as the field(s) within it is not having any value....then you need to implement the below logic:
    Field
                             ----------> equalS ----> Not ---> If...then / createIf ----> Target
    Constant(keep it blank)
    Regards,
    Abhishek.

  • How can we do the Testing in Idoc to File Scenario( With out using We19)

    Hi All,
    As all we know we can generate the Idocs from SAP R/3 to XI using the change Pointers,this we will apply in Production time.
    But as of now in the Test system we can'd do it daily.
    So we have already created materials in the SAP R/3 system.
    I want to send the Idoc to XI by selecting  some n number of materials.means i want to generate the Idoc for materials.this is like i have to do repeatedly for testing purpose.
    Is there any T-code
    How can we do this
    Regards

    Hi Vamsi,
       For the Message Type ORDERS you can configure Output Type (txn NACE) for IDoc generations and then you can trigger the IDoc using transaction WE15.
      Selection Parameter will be as follows
    Output application: This will be from Output Type
    Object key          : Order Number
    Output type         : Output Type name, that you configured
    Transmission medium : A
    Check the checkbox "Send Again".
    Thanks,
    Punit

  • How to return two XML result sets using the function

    Hi Experts,
    Thanks.

    So that I want to return two XML result sets if the query returns more than 50,000 records.
    One XML result set with 50,000 and another XML result set with remaining records.
    How to incorporate this in my function.
    Have the function return a collection of CLOB then.
    DBMS_XMLGEN can handle pagination so it's easy to adapt your existing code.
    Here's an example fetching data in batches of max. 3 rows each, using a pipelined function :
    SQL> create or replace type clob_array is table of clob;
      2  /
    Type created
    SQL>
    SQL> create or replace function genXmlRowset (p_deptno in number) return clob_array pipelined
      2  is
      3    ctx    dbms_xmlgen.ctxHandle;
      4    doc    clob;
      5  begin
      6 
      7    ctx := dbms_xmlgen.newContext('SELECT empno, ename FROM scott.emp WHERE deptno = :1');
      8    dbms_xmlgen.setBindValue(ctx, '1', p_deptno);
      9    dbms_xmlgen.setMaxRows(ctx, 3);
    10 
    11    loop
    12 
    13      doc := dbms_xmlgen.getXML(ctx);
    14      exit when dbms_xmlgen.getNumRowsProcessed(ctx) = 0;
    15      pipe row (doc);
    16 
    17    end loop;
    18 
    19    dbms_xmlgen.closeContext(ctx);
    20 
    21    return;
    22 
    23  end;
    24  /
    Function created
    SQL> set long 5000
    SQL> select * from table(genXmlRowset(30));
    COLUMN_VALUE
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
      <EMPNO>7499</EMPNO>
      <ENAME>ALLEN</ENAME>
    </ROW>
    <ROW>
      <EMPNO>7521</EMPNO>
      <ENAME>WARD</ENAME>
    </ROW>
    <ROW>
      <EMPNO>7654</EMPNO>
      <ENAME>MARTIN</ENAME>
    </ROW>
    </ROWSET>
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
      <EMPNO>7698</EMPNO>
      <ENAME>BLAKE</ENAME>
    </ROW>
    <ROW>
      <EMPNO>7844</EMPNO>
      <ENAME>TURNER</ENAME>
    </ROW>
    <ROW>
      <EMPNO>7900</EMPNO>
      <ENAME>JAMES</ENAME>
    </ROW>
    </ROWSET>
    SQL>
    (and don't forget to use bind variables in your query)

  • Questions to a Mapping for IDOC-to-File Scenario

    Hi all,
    I want do develop a Message-Mapping for an IDOC-to-File Scenario. A SAP System sends an IDOC to the XI-System and the XI-System should make a mapping an send a XML-File to a FTP-Server. The Strukture of the target message is very easy:
    <xdoc>
       <Invoice>
          @purno
          <HeaderInfo>
             <invno/>
             <shipdate/>
             <extvalue/>
          </HeaderInfo>
          <DetailInfo>
             <LineItem>
                @lineno
                <vpartno/>
                <descrip/>
                <qtyord/>
                <cost/>
                <vendmemo/>
             </LineItem>
          </DetailInfo>
       </Invoice>
    </xdoc>
    The source message is an IDOC. This IDOC can contain one or more positions (E1EDP01). Those different positions should be mapped into different LineItem's (see target structure) -> so in the target file one or more LineItems can appear.
    Is it possible to implement this process with a common message-mapping or have I to implement a business process?
    Thanks
    with best regards
    Christopher

    Hi Christopher,
    <i>Is it possible to implement this process with a common message-mapping or have I to implement a business process?</i> - This thing is possible with common message mapping......you dont need business proces for it.......in msg mapping after taking the source IDOC and target xml struc, map the E1EDP01 field to LineItem field.......just check the occurance of these nodes.....it should be 0..unbounded.........so as many E1EDP01 nodes will be there in idoc, that many LineItem nodes in target will be created.......
    Thanks,
    Rajeev Gupta

  • Is Mapping Lookup table possible with IDOC to FIle scenario

    Hi all,
    Need suggestion, I am using SP16
    My sceanrio is IDOC to FIles, and have to use a Mapping Lookup tables for some of the fields within the mapping...
    'Crossref:  PlantLoc_to_WhseComDiv.  Value mapping lookup to take two fields from SAP and convert to WMS 3-digit value'
    How to go with this, since i have checked in SAP library that it is for only RFC,JDBC,SOAP adapters ...
    Need u r valuable inputs,
    Regards,
    sridhar

    You can use RFC or SOAP or JDBC lookup in your mapping.Why not?..It does not mean that we use the lookups only in RFC secnarios.You can use them in any scenario.

  • Is it possible to replace  XSLT mapping in place of Graphical mapping

    Is it possible to do XSLT mapping in place of Graphical mapping, in any normal scenario?
    Means the fuctionality we do by using Graphical mapping(like the operations by using node functions etc...) could possible to do with XSLT Mapping?

    HI
    yes it is possible to replace the graphical mapping with the XSLT mapping.
    But using XSLTs degrade the performance of the interface and moreover they are not easily maintainable.
    Refer the below links for assistance on XSLT Mapping:
    XSLT MAPPING:
    Generic XSLT Mapping for SAP XI,Part I
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    Generic XSLT Mapping for SAP XI,Part II
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    XSLT: Recursive Templates
    XSLT: Recursive Templates
    Easy RFC lookup from XSLT mappings using a Java helper class
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
    Step u2013 By u2013 Step Simple Approach for XSLT Mapping
    Step – By – Step Simple Approach for XSLT Mapping
    http://www.devguru.com/Technologies/xslt/quickref/xslt_element_applytemplates.html
    XSLT Mapping
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
    xpath functions in xslt mapping
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=xslt+mapping&adv=false&sortby=cm_rnd_rankvalue#
    Using XSLT mapping in a ccBPM scenario
    File to Multiple IDocs (XSLT Mapping)
    Comparsion of Different mappings:
    Comparing Performance of Mapping Programs
    Complete mapping guide url:
    http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
    cheers

  • Idoc to File -- Records will depend on repetition of particular segment.

    Hi Experts,
    Iam doing a Idoc to file scenario.
    Based on the sales organization(VKORG),i need to create the multiple records in the file.
    For example :
    E1MARAM  0..Unbounded
         |
         |E1MARMM   0..Unbounded
         |
         E1MARMM
         |
         E1MARMM
         |
         E1MARMM
         |
    <b> E1MVKEM   0..Unbounded
         |
         E1MVKEM</b>           
    When E1MVKEM-VKORG = Z200 then i need to create a file with 4 records (for 4 E1MARAM segments 4 records will be created)
    When one more E1MVKEM-VKORG  = Z201 present then we need to create 4 more records for Z201 in the same file.
    So now i will be getting a single file with 8 records.
    Please suggest me how to approach these kind of scenario.
    PS: we are not using BPM in our scenario.
    Thank You.
    Regards
    Seema.

    Hey seema,
    This can be achieved using node function <b>createif</b>.
    Refer this link which help you doing the same
    http://help.sap.com/saphelp_nw04/helpdata/en/d9/3033f96c79674f90e3ab8d101a595b/frameset.htm
    and also refer stefan's blog
    /people/stefan.grube/blog/2006/01/09/the-use-of-suppress-in-the-xi-30-graphical-mapping-tool
    Hope it helps you
    Regards,
    Ramesh P

Maybe you are looking for

  • How to get editable value from thtmlb:tableView

    Hi, I create a tableview using tag thtmlb:tableView and set column editable. Now the value in the tableview can be changed, but I don't know how to get the changed value from tableview. Pls help me. thanks in advance!

  • Can we work on WEBDYNPRO application in SAP R/3 4.7  version

    Hi. U all must be good. am new in ABAP development.n i have a question:- can u plz tell me TCode to start working on WEBDYNPRO?.I am presently using SAP R/3 Enterprise Edition(4.7 version).Can we start Webdynpro on SAP 4.7? I have seen it in SAP ECC

  • How  to copy data from one internal table to another

    i am using some function module to get some data for my function module and the retrieved data is not getting populated in mu fumctional module i am sucessful in getting the data to an internal table in my function module but dont know how to pass it

  • Adobe Flash Player refuses to load on my Mac Pro running OS10.7

    I have tried to download Adobe Flash PLayer numerous times, but it refuses to open.

  • Bug with ListView!?

    Can someone please run the following code and tell me what is wrong? We have the following problem: If some cell is selected, and then you select another cell, the previously selected cell becomes partly blank (only the text element). If I mouse over