Issue in tranforming Idoc structure using XSLT mapping

Hi,
I am working on the XSLT Mapping to transform the IDoc xml to the desired format.
Source structure single Idoc:
EDI_DC40 record
E1EDKxx records
E1EDPxx records
E1EDSxx records
suppose I have 4 E1EDP01 records, of which 2 are Original and next two are corresponding Correction E1EDP01 records.
I want the target Idoc to be:
EDI_DC40 record
E1EDKxx records and for (E1EDK14/ORGID = G2O)
E1EDPxx records  (1st Original E1EDP01 segment)
E1EDSxx records
E1EDKxx records for (E1EDK14/ORGID = G2)
E1EDPxx records  (1st corresponding correction E1EDP01 segment)
E1EDSxx records
E1EDKxx records for (E1EDK14/ORGID = G2O)
E1EDPxx records  (2nd Original E1EDP01 segment)
E1EDSxx records
E1EDKxx records for (E1EDK14/ORGID = G2)
E1EDPxx records  (2nd Corresponding correction E1EDP01segment)
E1EDSxx records
so correction segments follows original segments.
All the E1EDSxx records are identical. remaining all the other segments are Idential except the above changes.
correlate original and correction E1EDP01 segments is through POSEX of Original = HIPOS of Correction..
bold segments represents Original records
Italic segments represents correction records
How to achieve the above scenario. I am finding issue in generating and correlating the E1EDP01 segments using <key> element. and changing the vales in E1EDK14
Also does XSLT supports Dynamic Configuration for File Name ?
Regards
Edited by: Varun Reddy on Jul 7, 2011 12:44 PM

Also does XSLT supports Dynamic Configuration for File Name ?=   Yes.
refer - http://help.sap.com/saphelp_nwpi71/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/content.htm

Similar Messages

  • IDOC Generation Using XSLT Mapping[Query]

    Hi,
    I am working on File to IDOC scenario. I have used XSLT mapping. It is necessary to generate EDI_DC40 segment for IDOC in XSLT?
    -Kavita

    Hi Kavita,
    please take a look at note: 728792
    (Fields of the IDoc control record )
    it describes your scenario
    Regards,
    michal

  • How to Count schedule lines in IDoc ORDERS05 using XSLT Mapping

    Hi Experts,
    In a Scenario where we are sending Purchase order (ORDERS05) to SAP SNC using XSLT Mapping,
    where in we need to count the no. of schedule lines against the Purchase Order line.
    As in Schedule line segment there is no such provision, so it needs to be handle in XSLT mapping to count the schedule lines.
    Can you all please guide me how to go about the same.
    Regards,
    Nitin P

    Hi Satish,
    Thank you very much for the reply,
    as there is only Quantity and other information is maintained against schedule lines how we can count the schedule line repeatation against PO line ? Is that very simple as you suggested or some other consideration also needs to be taken.
    Please clarify the same and let me also know if there are some standard documents also for the same.
    Regards,
    Nitin P

  • Handling Multi hierarchial Structure using  XSLT or Java Mapping in XI

    Hello Experts,
    I have an requirement wherein i have sender as IDOC and File as Receiver.My target File structure is multi hierarchial with parent level and many child sub level node.
    I tried to generate flat structure using graphical mapping by creating an intermediate structure and then mapping it to flat structure but that seems to be very complex for my scenario as there are many sub level at target structure..
    Is there any simple way of handlng these????
    Thanks

    Hi ,
    I tried to implement your solution ..I am able to convert my idoc to XMLusing XLST but i have a question that how to convert that XMP to flat file as XI Receiver File adapter understand only 1st level of hierarchy..It doesnt understand nested level of hierarchy which is in my case...
    Below is the xslt code which i have written:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <MT_SALES_PO_DATA_INBOUND>
                   <xsl:value-of select="WPUBON01/IDOC"/>
                   <xsl:for-each select="WPUBON01/IDOC/E1WPB01">
                        <E1WBBB01>
                             <Store_ID>A001</Store_ID>
                             <SYS_INVOICE_NO>
                                  <xsl:value-of select="substring(BONNUMMER,'3','15')"/>
                             </SYS_INVOICE_NO>
                             <Cashier_ID>
                                  <xsl:value-of select="KASSID"/>
                             </Cashier_ID>
                        </E1WBBB01>
                   </xsl:for-each>
                   <xsl:for-each select="WPUBON01/IDOC/E1WPB01/E1WPB02">
                        <E1WBB02>
                             <Transaction_Type>
                                  <xsl:value-of select="VORGANGART"/>
                             </Transaction_Type>
                             <Article_Description>
                                  <xsl:value-of select="QUALARTNR"/>
                             </Article_Description>
                             <ITEM_CODE>
                                  <xsl:value-of select="ARTNR"/>
                             </ITEM_CODE>
                             <xsl:for-each select="WPUBON01/IDOC/E1WPB01/E1WPB02/E1WBB03">
                                  <E1WBB03>
                                       <Condition_Type>
                                            <xsl:value-of select="KONDITION"/>
                                       </Condition_Type>
                                       <xsl:for-each select="">
                                            <E1WBB04>
                                                 <TAX_Code>
                                                      <xsl:value-of select="MWSKZ"/>
                                                 </TAX_Code>
                                                 <TAX_Amount>
                                                      <xsl:value-of select="MWSBT"/>
                                                 </TAX_Amount>
                                            </E1WBB04>
                                       </xsl:for-each>
                                  </E1WBB03>
                             </xsl:for-each>
                        </E1WBB02>
                   </xsl:for-each>
              </MT_SALES_PO_DATA_INBOUND>
         </xsl:template>
    </xsl:stylesheet>
    Any idea how do i convert these XML to falt file USing XSLT or File Receiver adapter in XI???
    Thanks

  • Change Filename using XSLT mapping without variable subtitution

    Hi,
    My scenario is IDOC to file...i am using XSLT mapping, i want to change the filename format to OUT_<Purchase Number>_<DDMMYYYYhhmmss>_KKKK.txt, i cannot use UDF function as i do XSLT mapping i also i cannot use variable substitution as the target structure doesn't have PO and timestamp as tag elements. Can i acheive using writing a adapter module? I appreciate if anyone could help me with this..
    Many thanks

    >
    Ravibabu Adari wrote:
    > Hi,
    > If i go with Option1: what changes i need to do in the file adapter to tell the adapter to pick the filename from XSLT ?
    > If i go with Option2: To which element to the target structure should i map the filename using UDF ? do i have to add additional element to the target structure? what changes i need to do in the file adapter to tell the adapter to pick the filename from Message mapping ?
    >
    > Many thanks
    Hi,
         in both cases you need to enable file adapter specific properties and enable the file name...
    for this you need to use the dynamic configuration properties for the same...
    usage of this option using udf in message mapping is rather easy than to use in XSLT...for this you dont need to change the structure in the message mapping...message mapping is just needed for execution of the udf.. thats it..
    HTH
    Rajesh

  • To filter records using XSLT mapping

    Hi all,
    I am using XSLT mapping in my scenario.
    I have below structure.
    <Node>
        <emp_id>123<emp_id>
        <begin_date>dd/mm/yyyy<begin_date/>
        <end_date>dd/mm/yyyy<end_date/>
        <check_date>dd/mm/yyyy<check_date/>
    <Node/>
    I want to filter out the records based on check_date. If checkdate is less than enddate, i want to filter out that particular records.
    If anyone knows, Please suggest me in this issue.

    hi,
                   <xsl:variable name="checkdate">
         <xsl:for-each select="Node/check_date">
         <xsl:value-of select="substring(concat(substring(Node/checkdate,1,2),substring
                            (Node/checkdate,4,2),substring(Node/checkdate,7,4)),1,8)"/>
         </xsl:for-each>
                    </xsl:variable>
         Like wise create a variable for end date....
       <xsl:for-each select="Node">
              <xsl:if test="$checkdate > ''$enddate">
                       <emp_id>
                              <xsl:value-of select="Node/emp_id"/>
                       </emp_id>
                like wise create map for other filed...
                  </xsl:if>
        </xsl:for-each>
      I think this will solve your requirement......
    Regards,
    Prakasu

  • ERROR WHILE USING XSLT MAPPING IN INTERFACE MAPPING

    Hi,
      We are using an xslt mapping in our scenario but while i load the XSLT mapping in the interface mapping i get a message :
    Transformer configuration exception occurred when loading XSLT
    sorce interface :outbound and asyncronous.
    mapping : XSLT mapping (imported as a zip file)
    target interface: abstract,asyncronous.
    The xslt runs well in standalone and its well formed and there is no name space issue.
    please help if any one has faced such a situation while using XSLT mapping.
    regards,
    Anirban.

    Hi Anirban
    When you say it runs well <i>standalone</i> what exactly do you mean? Which XSLT processor are you using to run it? There are subtle difference between XSTL processors that can sometimes result in incompatibilities. For instance, I have seen XSLTs run correctly in XMLSpy but incorrectly (or at least slightly differently) in XI.
    Regards,
    Thorsten

  • Advantages of using XSLT mapping

    Can any one explain me the advantages of using XSLT mapping compare to graphical.java and abap mappings

    Hi
    Please go through the below links for details on XSLT Mappings..
    XSLT Mapping
    /people/udo.martens/blog/2006/04/26/xslt-recursive-templates
    Thread:
    Sample XSLT mapping required
    XSLT Mapping Links::->
    /people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
    /people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    XSLT Mapping with java enhancement
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    XSLT - ABAP.
    /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
    exception handling errors in respect with XSLT mapping
    http://help.sap.com/saphelp_nw2004s/helpdata/en/8a/7672f7d7e444439fd7024f806221a4/content.htm
    Hope this will help
    Regards
    Piyush
    **reward points if found useful.

  • File TO File-Using XSLT mapping (for Beginners) --- Error in XSLT

    Hi,
    I am following this wiki (TO File-Using XSLT mapping (for Beginners))
    https://wiki.sdn.sap.com/wiki/display/XI/FileTOFile-UsingXSLTmapping%28forBeginners%29
    When creating  Xslt from the MapForce, when I click on the XSLT Tab I am getting the following error
    http://www.flickr.com/photo_zoom.gne?id=1216715484&size=o
    How to correct this error ?.....
    Thanks
    srini
    Message was edited by:
            srinivas

    Hello,
    The XSD you are using is from Data Type and you are using it for mapping.
    Instead export XSD for Message Type and also pass the XML schema for source that will solve the issue and your XSLT will be generated.
    Regards,

  • Can we use XSLT mapping after graphical Mapping

    Hi,
    Can we use XSLT mapping after graphical mapping?
    My requirement is to generate two namespace attributes in the target output.
    So first I want to generate a structure using graphical mapping and then want to use XSLT mapping only to generate the second namespace XSI (leaving the rest of the structure as it is). Is it possible?
    <ns1:Test xmlns:ns1="wmdata.dwbi.interface" xsi:schemaLocation="wmdata.dwbi.interface w_interface_1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    Please post some solution. (I will reward points)
    Br,
    Madan Agrawal

    Hi Madan,
    Can we use XSLT mapping after graphical mapping?
    To me it seems feasible...
    But to using the two mappings one after another you will have to use BPM .
    Use transformation step for this to use the mapping and change in structure.
    Regards,

  • Luck Up using XSLT Mapping

    Dear SDN,
    I have a interface SOAP(HTTP) -> XI -> R/3.
    In this interface, 3rd party sending 4 fields and are getting updated  in R/3.
    Now, I need to change in this interface.
    There are  4 fields in sender side and one field is like primary field. while updating this fields, I have to check whather the primary field is exist in R/3 then only update remaining fields else do not update the record/IDOC in R/3.
    And we are using XSLT mapping.
    In this scenario, how can I procede further.
    Please need your help and help me.
    Thanks
    Bala Prasad

    Hi Bala,
    u need go for XSLT look up methods were it chk for the primary key if it is found then it update or else nothing .
    pls chk for this blogs
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3823 [original link is broken] [original link is broken] [original link is broken]
    /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
    pls chk for this
    if found worth pls do the req
    Thanx
    Sampath

  • Using XSLT mapping to avoid File content conversion

    Hi all,
    Can we avoid FCC by using XSLT mapping? I have a scenario in which I have to avoid FCC in the adapter and save the file in a excel/csv format. I have been through the different blogs and forums in SDN.
    I have been through Michal Krawczyk's Blog https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2803. [original link is broken] [original link is broken] [original link is broken] [original link is broken]
    Got a bit confused whether that blog serves my purpose. Expecting your valid inputs.
    Thanks and regards,
    Harikumar. S

    Hi,
    There are multiple ways in which you can avoid Content Conversion in the Sender / Receiver File adapters.
    I think there was a heated discussion already regarding this in one of your earlier threads,
    Read/Write csv files without file converter
    Basically, if you want to avoid content conversion on the sender file adapter,
    1. Write an Adapter Module. or,
    2. Use a Java Mapping.
    If you want to avoid content conversion on the receiver File adapter,
    1,. Use a Adapter Modules or,
    2. Use Java Or XSLTmapping ( XSLT can be used if the input to the mapping is XML and output needs to be say a Excel File etc).
    Regards
    Bhavesh

  • How to skip first TWO Lines of   .txt  file    using XSLT Mapping

    Hi Friends  ,
                              I have an .txt file in has the format as
                               <TEST>
                                4564564545
                                56456444566
                                56465
                                    How can i skip the first two Lines when i am writing the XSLT Mapping ?
                              That <TEST> and empty line shouldn't go the rfc  .
                             How can i skip and sent to rfc  using XSLT Mapping ?
    Best Regards .,
    V.Rangarajan

    you can avoid the empty lines in your File Content Conversion by defining offset.
    <i>Under Document Offset, specify the number of lines that are to be ignored at the beginning of the document.
    This enables you to skip comment lines or column names during processing. If you do not make an entry, the default value is zero lines.</i>
    ref: http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    then the generated XML after FCC will not have the empty lines.

  • Sorting on specific  field using XSLT Mapping

    Hi All,
    I am trying to sort the records on specific field using XSLT mapping.But I'm unable get the proper output for the following code.
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://xxxxxxxx">
    <xsl:output method="xml" indent="yes" />
         <xsl:template match="/">
              <a:T1>
                   <Row>
                             <xsl:for-each select="a:S1/Record">
                             <xsl:sort select="EmpID" />
                             <EMPID>
                                  <xsl:value-of select="EmpID"/>
                             </EMPID>
                             <ENAME>
                                  <xsl:value-of select="EmpName"/>
                             </ENAME>
                        </xsl:for-each>
                        </Row>
              </a:T1>
         </xsl:template>
    </xsl:stylesheet>>
    Currently getting following output :
    http://www.flickr.com/photos/21390012@N04/2074799747/
    Expected output should be like below :
    http://www.flickr.com/photos/21390012@N04/2074807393/
    Kindly send me suggestion to achieve this.
    Regards
    Pullarao

    Hi ,
    I donno much about srting in XSLT but i can give you one example on that.
    Example :
    This is how to sort numbers in xslt.
    Try this :
    <xsl:for-each select="learn[@kind='done']">
         <xsl:sort select="number(@rank)" data-type="number"/>
         <table border="00" cellpadding="3" width="100%">
                   <tr>
                        <td width="100" valign="top" align="right"><input type="checkbox" checked="checked" readonly="readonly"/></td>
                        <td width="10" valign="top" align="right"><xsl:value-of select="position()"/>. </td>
                        <td valign="top">
                             [<xsl:value-of select="@rank"/>] <xsl:value-of select="@title"/>
                        </td>
                   </tr>
         </table>
         <table border="00" cellpadding="3" width="100%">
                   <tr>
                        <td width="100"> </td>
                        <td valign="top">
                             <xsl:apply-templates/>
                        </td>
                   </tr>
         </table>
    </xsl:for-each>
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • Remove SOAP Envelop using XSLT  mapping.

    Hi,
    I need a code to remove SOAP Envelop using XSLT mapping.
    Source:
    <?xml version="1.0" encoding="UTF-8" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
    <soapenv:Body>
    <getServerTimestampResponse>
    <result>
      <timestamp>2008-06-19T14:22:25.004Z</timestamp>
      </result>
      </getServerTimestampResponse>
      </soapenv:Body>
      </soapenv:Envelope>
    target:
    <?xml version="1.0" encoding="UTF-8" ?>
    <a>
          <b>
             <c>2008-06-19T14:22:25.004Z<c>
           </b>
    </a>
    Please help me in this
    Thanks&Regards,
    Yuga

    hi,
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
       <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
       <xsl:template match="/">
          <ns0:c>       
                   <xsl:copy-of select="SOAP-ENV:Envelope/SOAP-ENV:Body"/ />
          </ns0:c>
       </xsl:template>
    </xsl:stylesheet>
    This will get your whole body...
    Your root node should belong to some namesapce...i.e. getServerTimestampResponse .
    Thanks,
    Vijaya.

Maybe you are looking for

  • Campaign element creation

    Hello , My requirement is to create Campaigns and Campaigns elements from flat file. I am able to create Campaigns through BAPI MKT_ELEMENT_CREATE, but i am unable to find a BAPI to create Campaign elements under the created Campaign. Can anyone plea

  • Lost Access to Files on Time Capsule After Reset

    Hello, We had some very nasty weather yesterday, and I sent my son to reset the modem and Time Capsule. For whatever reason, instead of simply unplugging the thing, he hit the small reset button on the back of it. We have several folders of IMMENSELY

  • Is it possible to use my iMac as a display monitor ?

    I'd like to use my iMac as display monitor but I don't know if its possible. Anyone knows how it works ?

  • Sap Server movement from physical to virtual(p2v)

    Hi all, We currently have two older versions of R/3 running 4.6c and 4.7ee, both IDES versions. These versions have been out of support for some time. We have these instances running for reference purposes. We have new versions of R/3 ECC 5.0, 6.0 al

  • Creating concordancer for two words

    I'm reading in a file, for example, text file: The big red cat jumped The big red bird flew I want to concordance this into word bigrams so that I get output: The big 2 big red 2 red cat 1 cat jumped 1 red bird 1 bird flew 1 Which counts the frequenc