Find target XSLT mapping

Hi experts,
The situation is that we have a outbound IDoc which gets transformed using XSLT mapping and is the sent out as an attachment.
Interface Mapping looks like this:
Idoc --> XSLT Mapping1
             XSLT Mapping2 --> Mail (attachment)
Now, the requirement is to add another FTP receiver, which needs the XML resulting from Mapping1.
So, I know the source and the mapping program but do not know how or what the target from it is but I do know that whatever that mapping is producing is what I need to put at the FTP location!
Please send your advise on how to get the target.
Thanks and regards
AJ

Hi All,
Thanks for your prompt response.
I think I was not clear about what I am exactly after. So, I'll try again.
I have the following:
1) SOURCE XSD.
2) XSL (Mapping program1)
I need to FIND the following:
1) the TARGET XML it is producing so that I can post it to a FTP location.
and yes, I can do it without a BPM.
regards
AJ

Similar Messages

  • Source of xslt mapping and XSD/ XMT target structures for standard Idocs

    Hi,
    I am working on R/3 - XI - ICH scenario. I need xslt mapping and XSD/ XML target structures for standard IDoc like PROACT01,DELFOR01, DELVRY03. I tried to search it on marketplace but couldn't find it there. As per configuration document, these things are shipped with XI mapping content in live cache CD. But I don't have this CD with me. Can anybody tell me the source for these target structures and mapping program. ( Please share marketplace, site link or send me across the mail [email protected])
    Thank you in advance.
    Anand More.

    Anand the other option is to import the corresponding idocs into your integration repository and then you can view the generated XSD there.
    As regards XSLT mapping, you need to basically first identify as to what form you want to transform your source idoc into.
    For some help on XSLT mapping check the following threads,
    https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/topusers.jspa%3FforumID%3D44
    https://www.sdn.sap.com/sdn/collaboration.sdn?node=linkFnode1-6&contenttype=url&content=https://Process Integration (PI) & SOA Middleware
    Also have a look at my code samples,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-code-samples/generic xslt mapping in sap xi, part i.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    cheers
    Sameer

  • How to find the existence of a tag in  XML file through  XSLT Mapping?

    Hello Friends,
    Working on an SAP XI interface ,I have come across a situation where I need to map the values only when a particular tag exists in the inbound XML file.I need to use the XSLT mapping for the same.
    Requesting your advice on as to how may I validate the existence of a tag through XSLT mapping?
    Thanks.

    Hello Friends
    After research , I could also find another way to check the existence of a node .We can even use CHOOSE to check the existence.
    <xsl:choose>
          <xsl:when test="(/mynode)">
              your action if the mynode is found
          </xsl:when>
          <xsl:otherwise>
                    action if mynode is not found
          </xsl:otherwise>
    </xsl:choose>
    Thanks.
    Wishes
    Richa

  • XSLT mapping, how can I include a Runtime Constants in target message

    Hi, I would like in my XSLT mapping, to have an attribute include the MessageID.
    From my understanding of the online help [http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm|http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm], I have the following code in my XSL:
                   <xsl:param name="MessageId" />
                   <xsl:attribute name="filename">Output_<xsl:value-of select="$MessageId"/>.xml</xsl:attribute>
    But for now the result is to have a filename attribute that only contains: "Output_.xml" as if the $MessageId is empty.
    Anyone experienced successfully using one of those runtime constants with XSLT mapping ?
    Cheers,
    greg

    Hi, found the answer of why it was not running: I'm in a transform step of a BPM:
    For more info check this thread:
    [/message/435521#435521 [original link is broken]|/message/435521#435521 [original link is broken]]

  • How to Supress null target Elements in XSLT Mapping

    Hi Experts,
    I need to Strip off (remove) Null tags from my ouput XML document.
    My XSLT Mapping file
    <?xml version='1.0' ?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <a:A2ACU>
    <a:PartNo>
    <xsl:value-of select="Specifications/Specification/PARTNO"/>
    </a:PartNo>
    <a:Revision>
    <xsl:value-of select="Specifications/Specification/REVISION"/>
    </a:Revision>
    <a:ENERGY>
    <xsl:for-each select="Specifications/Specification/Section">
    <xsl:variable name="Sec_ID">
    <xsl:value-of select="SECTIONID"/>
    </xsl:variable>
    <xsl:if test="$Sec_ID = '700015'">
    <xsl:for-each select="Item">
    <xsl:variable name="Item_ID">
    <xsl:value-of select="ITEMID"/>
    </xsl:variable>
    <xsl:if test="$Item_ID = '701134'">
    <xsl:for-each select="PropertyGroup/Property">
    <xsl:variable name="Pro_ID">
    <xsl:value-of select="PROPERTYID"/>
    </xsl:variable>
    <xsl:if test="$Pro_ID = '700232'">
    <xsl:variable name="Atr_ID">
    <xsl:value-of select="ATTRIBUTEID"/>
    </xsl:variable>
    <xsl:if test="$Atr_ID = '700064'">
    <xsl:value-of select="STRING2"/>
    </xsl:if>
    </xsl:if>
    </xsl:for-each>
    </xsl:if>
    </xsl:for-each>
    </xsl:if>
    </xsl:for-each>
    </a:ENERGY>
    </a:A2ACU>
    </xsl:template>
    </xsl:stylesheet>
    If any one of the condition in ENRGY TAG FAILS it is giving a output as
    - <A2ACU>
    <PartNo>123456789</PartNo>
    <Revision>2</Revision>
    <ENERGY></ENERGY>
    - </A2ACU>
    But as per my new requirement I need to check the Empty value in all the tags and need to strip of them form final output ...like..
    - <A2ACU>
    <PartNo>123456789</PartNo>
    <Revision>2</Revision>
    - </A2ACU>
    Can any one please suggest me whether any function is availble to this stripping
    Thanks in Advance
    Ram

    Hi Ram,
    try to put the tag inside the IF conditions.
    It'd be something like:
    > <xsl:for-each select="Specifications/Specification/Section">
    > <xsl:variable name="Sec_ID">
    > <xsl:value-of select="SECTIONID"/>
    > </xsl:variable>
    > <xsl:if test="$Sec_ID = '700015'">
    > <xsl:for-each select="Item">
    > <xsl:variable name="Item_ID">
    > <xsl:value-of select="ITEMID"/>
    > </xsl:variable>
    > <xsl:if test="$Item_ID = '701134'">
    > <xsl:for-each select="PropertyGroup/Property">
    > <xsl:variable name="Pro_ID">
    > <xsl:value-of select="PROPERTYID"/>
    > </xsl:variable>
    > <xsl:if test="$Pro_ID = '700232'">
    > <xsl:variable name="Atr_ID">
    > <xsl:value-of select="ATTRIBUTEID"/>
    > </xsl:variable>
    > <xsl:if test="$Atr_ID = '700064'">
    > <a:ENERGY><xsl:value-of select="STRING2"/></a:ENERGY>
    > </xsl:if>
    > </xsl:if>
    > </xsl:for-each>
    > </xsl:if>
    > </xsl:for-each>
    > </xsl:if>
    > </xsl:for-each>
    Regards,
    Henrique.

  • 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

  • Multi Mapping using condition & Dynamic Receiver determination – Used XSLT Mapping

    Dear Experts,
         I am struggling to identify an error on the Technical Routing. Firstly according to my scenario, I receive an XML file with multiple PO's and I have to split the file to 2 different target messages. and also according to the source payload I have to send the file to 2 different receivers. first receiver is ABAP Proxy to the back end system and the 2nd one is to a file location. I have used XSLT to split the message into 2 target message type and I have used a XSLT mapping for receiver determination. Does any one have any idea of what I am doing wrong.
    Note: some time I will only be able to fill in on target message.
    I have attached my XSLT message split mapping with this post, please let me know if you have further question.
    Your help is more appreciated.
    Advance Thanks,
    Pradeep
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
      <xsl:variable name="vFlag"/>
      <xsl:variable name="vPONUM" select="POTRACKING/Lines[1]/PONumber"/>
      <xsl:template match="/">
        <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
          <ns0:Message1>
            <ns1:MT_Tracking xmlns:ns1="http://www.findel-education.co.uk/axapta">
              <xsl:for-each select="POTRACKING/Lines">
                <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
                  <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
                  <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
                </sap:call-external>
                <xsl:if test="$vFlag = 0">
                  <Lines>
                    <DDate>
                      <xsl:value-of select="DespatchDate"/>
                    </DDate>
                    <PONumber>
                      <xsl:value-of select="PONumber"/>
                    </PONumber>
                    <POLine>
                      <xsl:value-of select="POLine"/>
                    </POLine>
                    <QTY>
                      <xsl:value-of select="Quantity"/>
                    </QTY>
                    <VendorMaterial>
                      <xsl:value-of select="VendorMaterialNumber"/>
                    </VendorMaterial>
                    <AccountRef>
                      <xsl:value-of select="AccountReference"/>
                    </AccountRef>
                    <ConsignNumber>
                      <xsl:value-of select="ConsignmentNumber"/>
                    </ConsignNumber>
                    <CarrierURL>
                      <xsl:value-of select="CarrierURL"/>
                    </CarrierURL>
                    <ConsignURL>
                      <xsl:value-of select="ConsignmentURL"/>
                    </ConsignURL>
                  </Lines>
                </xsl:if>
              </xsl:for-each>
            </ns1:MT_Tracking>
          </ns0:Message1>
          <ns0:Message2>
            <ns2:MT_Tracking xmlns:ns2="http://www.findel-education.co.uk/ecc/ax/po/ftp">
              <xsl:for-each select="POTRACKING/Lines">
                <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
                  <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
                  <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
                </sap:call-external>
                <xsl:if test="$vFlag = 1">
                  <Lines>
                    <DDate>
                      <xsl:value-of select="DespatchDate"/>
                    </DDate>
                    <PONumber>
                      <xsl:value-of select="PONumber"/>
                    </PONumber>
                    <POLine>
                      <xsl:value-of select="POLine"/>
                    </POLine>
                    <QTY>
                      <xsl:value-of select="Quantity"/>
                    </QTY>
                    <VendorMaterial>
                      <xsl:value-of select="VendorMaterialNumber"/>
                    </VendorMaterial>
                    <AccountRef>
                      <xsl:value-of select="AccountReference"/>
                    </AccountRef>
                    <ConsignNumber>
                      <xsl:value-of select="ConsignmentNumber"/>
                    </ConsignNumber>
                    <CarrierURL>
                      <xsl:value-of select="CarrierURL"/>
                    </CarrierURL>
                    <ConsignURL>
                      <xsl:value-of select="ConsignmentURL"/>
                    </ConsignURL>
                  </Lines>
                </xsl:if>
              </xsl:for-each>
            </ns2:MT_Tracking>
          </ns0:Message2>
        </ns0:Messages>
      </xsl:template>
    </xsl:stylesheet>

    Hi Hareesh,
    Please find my determination in the XSLT below, I am using enhanced receiver determination.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" xmlns:p1="http://sap.com/xi/XI/System" xmlns:ns="urn:sap-com:document:sap:idoc:messages" version="1.0">
      <xsl:variable name="vFlag"/>
      <xsl:variable name="vAX" select="0"/>
      <xsl:variable name="vSAP" select="0"/>
      <xsl:variable name="vBoth" select="0"/>
      <!--  <xsl:variable name="vPONUM" select="POTRACKING/Lines[1]/PONumber"/>-->
      <xsl:template match="/">
        <xsl:for-each select="POTRACKING/Lines">
          <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
            <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
            <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
          </sap:call-external>
          <xsl:choose>
            <xsl:when test="$vFlag = 0">
              <!--          <p1:Receivers>
                <Receiver>
                  <Service>
                    <xsl:text>BS_AXAPTA_TST</xsl:text>
                  </Service>
                </Receiver>
              </p1:Receivers>-->
              <xsl:variable name="vAX" select="$vAX + 1"/>
            </xsl:when>
            <xsl:when test="$vFlag = 1">
              <!--          <p1:Receivers>
                <Receiver>
                  <Service>
                    <xsl:text>BS_ECQCLNT300</xsl:text>
                  </Service>
                </Receiver>
              </p1:Receivers>-->
              <xsl:variable name="vSAP" select="$vSAP + 1"/>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
        <xsl:if test="$vSAP &gt; 0">
          <xsl:if test="$vAX &gt; 0">
            <xsl:variable name="vBoth" select="$vBoth + 1"/>
            <xsl:variable name="vSAP" select="0"/>
            <xsl:variable name="vAX" select="0"/>
          </xsl:if>
        </xsl:if>
        <xsl:if test="$vBoth &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_AXAPTA_TST</xsl:text>
              </Service>
            </Receiver>
            <Receiver>
              <Service>
                <xsl:text>BS_ECQCLNT300</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
        <xsl:if test="$vAX &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_AXAPTA_TST</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
        <xsl:if test="$vSAP &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_ECQCLNT300</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
      </xsl:template>
    </xsl:transform>

  • XSLT Mapping :-- End to End Scenario

    Can any one provide XSLT Mapping End to End scenario with screen shots?

    HI
    XSLT Mapping
    XSLT stands for EXtensible Stylesheet Language Transformations. It is an XML based language for transforming XML documents into any other formats suitable for browser to display, on the basis of set of well-defined rules.
    Using XSLT mapping in a ccBPM scenario
    File to Multiple IDocs (XSLT Mapping)
    Steps required for developing XSLT Mapping
    u2022 Create a source data type and a target data type
    u2022 Create Message types for the source and target data types.
    u2022 Create Message Interfaces includes Inbound Message interface and Outbound Message interface.
    u2022 XSLT Mapping does not require creation of Message mapping, so donu2019t create any Message mapping.
    u2022 Create an .XSL file which converts source data type into target data type.
    u2022 Zip that .xsl file and import it into Integration Repository under Imported Archives.
    u2022 In Interface Mapping choose mapping program as XSL and specify this zip program. (Through search help you will get XSL Mapping programs that you imported under Imported Archives, select your corresponding XSL Program)
    u2022 Test this mapping program by navigating to Test tab.
    By having look at above steps you can easily find out that this mapping is no where different from other mapping programs, here the challenging lies in creating an XSLT file. If you spend couple of minutes in studying XPATH tutorial you would be in ideal position to create an XSL Transformation (.xsl extension).
    If you still find difficulties in generating XSL Transformation, then you can make use of a tool u201CAltova MapForceu201D which will create XSL file for you.
    Steps for creating XSL file using this tool:
    1. Open the Alto MapForce, import the source .xml and .xsd file in it
    2. Similarly import the target .xml and .xsd in MapForce.
    3. These two data files should match with source and target data types in Integration Repository.
    4. Complete the graphical mapping using extensive list of XSLT functions available there.
    5. Save the mapping file.
    6. Click the XSLT tab. You will have the entire xslt logic there.
    7. Copy that content and save it as .xsl file.
    8. Zip above .xsl file and import the same into IR under Imported Archives.
    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#
    complete mapping guide:
    http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
    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
    cheers
    Edited by: vemuganti naga phalguna on Jul 2, 2008 8:59 AM
    Edited by: vemuganti naga phalguna on Jul 2, 2008 9:07 AM

  • Node checking in xslt mapping

    Hi All,
    I have a requirement in xslt mapping (java)where i need to find the existence of a node , if it is existed the node should be created with the value on target side , if it is not existed the empty node should be created in the target.
    Thanks in Advance
    Prasad

    Hello,
    You can use the "<b>choose</b>" test:
    <u>Here an example:</u>
    <xsl:choose>
      <xsl:when test="InvoiceType/InvoiceTypeCoded = 'DebitMemo'">
        <InvoiceType stdValue="380"/>
      </xsl:when>
      <xsl:when test="InvoiceType/InvoiceTypeCoded = 'CreditMemo'">
        <InvoiceType stdValue="381"/>
      </xsl:when>
    </xsl:choose>
    If you have only one test without an else you can use the "<b>if</b>" test:
    <u>Here an example:</u>
    <xsl:if test="InvoiceIssueDate != 'N/A'">
      <InvoiceDate/>
    </xsl:if>
    You can find more detailed on this site:
    http://www.zvon.org/xxl/XSLTreference/Output/index.html
    Regards,
    Chris

  • XSLT mapping query

    Hi All
    I have done a XSLT mapping to map a flat file structure to a hierarchical structure. But my 3rd level node is getting repeated for 2nd level node. Please find the details below
    Source Structure - flat file
    Header - 1
    Record - 1....unbound
    Forecast - 1....unbound
    Target Structure
    level1 - MessageHeader - 1
    level1 - ProductActivity  - 1
               level 2 Record  - 1...unbound
                         level 3 Forecast - 1...unbound
    *Sample Format of Source file*
    Header
    Record1
    Forecast1.1
    Forecast1.2
    Record2
    Forecast 2.1
    Forecast 2.2
    Now after execution of XSLT mapping the output I am getting contains all Forecast nodes for every record. For example output of above mentioned format is
    *Sample Format of target structure*
    MessageHeader
    ProductActivity
               Record1
                      Forecast1.1
                      Forecast1.2
                      Forecast2.1
                      Forecast2.2
               Record2
                      Forecast1.1
                      Forecast1.2
                      Forecast2.1
                      Forecast2.2
    Expected Output
    MessageHeader
    ProductActivity
               Record1
                      Forecast1.1
                      Forecast1.2
               Record2
                      Forecast2.1
                      Forecast2.2
    Here is code for forcast row
    <!-- TimeSeries: Net demand forecast(Dynamic replenishment) and Planned Receipt (SNI)-->
    <xsl:if test="$ProcessFlag= 'SM'">
    <OrderForecastTimeSeries>
    <xsl:for-each select="//Forecast">
    <Item>
    <ValidityPeriod>
    <StartDateTime><xsl:value-of select="substring(./ForecastDate, 1,4)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring(./ForecastDate,5,2)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring(./ForecastDate,7,2)"/>
    <xsl:text>T</xsl:text>
    <xsl:text>00:00:00</xsl:text>
    </StartDateTime>
    <EndDateTime>
    <xsl:value-of select="substring(./ForecastDate, 1,4)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring(./ForecastDate,5,2)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring(./ForecastDate,7,2)"/>
    <xsl:text>T</xsl:text>
    <xsl:text>00:00:00</xsl:text>
    </EndDateTime>
    </ValidityPeriod>
    <Quantity>
    <xsl:attribute name="unitCode"><xsl:value-of select="Unit"/></xsl:attribute>
    <xsl:value-of select="Quantity"/>
    </Quantity>
    </Item>
    </xsl:for-each>
    </OrderForecastTimeSeries>
    </xsl:if>
    Edited by: Amol on Jul 21, 2009 3:26 AM

    Hi Amol,
    Try the below mentioned and see if can achieve this:
    Hi Amol,
    Try to do it this way and see if it works:
    In side loop for <xsl:for-each select = "/Record">
    Dont use for-each for ForeCast.
    Take the count of "ForeCast" by using the Count() function. Now use it as a predicate for ForeCast.
    EG: /ForeCast [CountValue - (CountValue-i)]
    Here i should be 1 and every time the loop is incremented, i should also increment by one.
    Just try if you can achieve this.
    Regards,
    Anshul
    Warm Regards,
    Anshul

  • FileName in ABAP XSLT Mapping

    Dear SDN,
    In an integration scenario we are using sender File Adapter and a  ABAP XSLT Mapping.
    Is there any way to get the source FileName from such mapping.  Im trying to use the adapter-specific message attributes, but it doesn't work, and I didn´t find an example, probably I and doing somthing wrong.
    regards,
    GP

    Thank you for your help,
    I just try to access the adapter-specific attibutes using:
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
    <xsl:variable name="filename"  select="key:create('http://sap.com/xi/XI/System/File', 'Directory')" />
    </xsl:stylesheet>
    but the following error raised:
    <SAP:Stack>Error while calling mapping program YXSLT_TEST (type Abap-XSLT, kernel error ID CX_XSLT_RUNTIME_ERROR) Call of unknown function</SAP:Stack>
    have you had this situation?

  • XSLT MAPPING

    In which cases we will go for XSLT MAPPING?
    What are different functions available in altova map force ? please provide me the helpful material regards this?

    Hi,
    Check this link..
    http://help.sap.com/saphelp_nwpi711/helpdata/en/73/f61eea1741453eb8f794e150067930/frameset.htm
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    STEPS.
    1.  Open the Alto MapForce, import the source .xml and .xsd file in it
    2. Similarly import the target .xml and .xsd in MapForce.
    3.These two data files should match with source and target data types in Integration Repository.
    4.Complete the graphical mapping using extensive list of XSLT functions available there.
    5. Save the mapping file.
    6.Click the XSLT tab. You will have the entire xslt logic there.
    7.Copy that content and save it as .xsl file.
    8. Zip above .xsl file and import the same into IR under Imported Archives.
    Thanks.

  • XSLT mapping Help Required.

    XSLT mapping Help Required.
    Hi Experts,
    I am New to XSLT Mapping. I am practising the below Example:
    InputXML File:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
    <ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
    <Person>
    <FirstName>Anshul</FirstName>
    <LastName>Chowdhary</LastName>
    <Gender>Male</Gender>
    <Address>
    <Street>2nd Main</Street>
    <Houseno>83/b</Houseno>
    <City>Mysore</City>
    </Address> </Person>
    </ns0:MT_XSLT_Source>
    XSL StyleSheet File:
    <?xml version='1.0' encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/Gen"
    Xmlns:ns1=”http://XYZ.com/Test”>
    <xsl:template match="/">
    <ns1:MT_XSLT_Target>
    <Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title>
    <Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/>
    </Name>
    <Street> <xsl:value-of select="concat(concat(ns0:Mt_XSLT_Source/Person/Address/Houseno,' '),
    ns0:Mt_XSLT_Source/Person/Address/Street)"/> </Street>
    <City> <xsl:value-of select="ns0:Mt_XSLT_Source/Person/Address/City"/> </City>
    </ns1:MT_XSLT_Target>
    </xsl:template>
    </xsl:stylesheet>
    The Desired Output shuold be:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:MT_XSLT_Target xmlns:ns1="http://XYZ.com/Test">
    <Title>Male</Title>
    <Name>Anshul Chowdhary</Name>
    <Street>83/b 2nd Main</Street>
    <City>Mysore</City>
    </ns1:MT_XSLT_Target>
    I have refered the xsl in xml and i am getting the below Oupt in a Single line like this:
    Anshul Chowdhary Male 2nd Main 83/b Mysore
    I am Unable to display in Target XML Fomrat as shown above. Please check and do the needful.
    Regards,
    GIRIDHAR

    Hi,
    I have used below for testing.
    Input xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
    <ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
    <Person>
    <FirstName>Anshul</FirstName>
    <LastName>Chowdhary</LastName>
    <Gender>Male</Gender>
    <Address>
    <Street>2nd Main</Street>
    <Houseno>83/b</Houseno>
    <City>Mysore</City>
    </Address> </Person>
    </ns0:MT_XSLT_Source>
    xsl code:
    <?xml version='1.0' encoding="UTF-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/gen" 
        xmlns:ns1="http://XYZ.com/Test"> 
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
        <xsl:template match="/"> 
            <ns1:MT_XSLT_Target> 
                <Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title> 
                <Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/> 
                </Name> 
                <Street> <xsl:value-of select="concat(concat(/ns0:MT_XSLT_Source/Person/Address/Houseno,' '), 
                    /ns0:MT_XSLT_Source/Person/Address/Street)"/> </Street> 
                <City> <xsl:value-of select="/ns0:MT_XSLT_Source/Person/Address/City"/> </City> 
            </ns1:MT_XSLT_Target> 
        </xsl:template> 
    </xsl:stylesheet>
    For testing in PI ,change the extension from .txt to .xsl and zip it and upload into PI as an imported archive .
    Regards
    Venkat

  • XSLT mapping code to replace ns1: tag as plm: in XML file in PI mapping

    Hi
    I am sending XML file to HTTP server as below format
    <?xml version="1.0" encoding="UTF-8" ?>
       - <ns1:Responses xmlns:ns1="http://">
    -    <ns1:Response Application="SAP">
        <ns1:field1>12345</ns1:field1>
        <ns1:field2>abc</ns1:field2>
       - <ns1:Items>
        <ns1:doc></ns1:doc>
      </ns1:Items>
      </ns1:Response>
      </ns1:Responses>
    i hve to replace <ns1: as <plm:, i could able to delete <ns1: tag uisng XSLT mapping(in sdn), but i dont know how to add tag with <plm:
    Hi XSLT experts/if any has come across this requirment, please send XSLT code to add tag in XML.
    Regards,
    Rajesh

    No need for XSLT, just use the XMLAnonymizerBean module in your receiver communication channel.
    http://help.sap.com/saphelp_nw70/helpdata/EN/45/d169186a29570ae10000000a114a6b/frameset.htm
    /people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean
    If your receiver CC cannot process modules (ABAP receiver, for example), in your XSLT just define the target namespace with the desired prefix.
    Regards,
    Henrique.

  • XSLT mapping throws error in XI, but not in XMLSPY

    Hi everybody,
    I got a really complex XSLT mapping. It works fine in XMLSPY.
    But when I execute the mapping in XI, I get the following error:
    Error during XSLT Transformation: Could not load stylesheet.com.sap.engine.lib.xml.util.NestedException: Operator or ')' expected.
    I asume there is a special character that XI cannot execute.
    has anybody an idea of finding this character?
    Thanks, regards Mario

    Hi Mario
    Check your input data, and also try to see test in Interface mapping test tab,
    you will get an idea about the input is correct or not
    see the below links..
    <u><b>XSLT Mapping</b>[/u
    /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
    <u><b>XSLT Mapping with java enhancement</b></u>
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping - Using ABAP XSLT Extensions for XI Mapping
    Cheers..
    Vasu
    <i>** Reward Points if found useful **</i>

Maybe you are looking for

  • HOW TO READ  EMAIL  FROM ANY MESSAGE

    Hi all, Actually i want to retrieve email value from "TO" field in any message, in jsp page,is there anyway??? Thanks in advance..

  • Can we Call onother transection from webdynpro?

    Hi Experts , I just need to ask that can we call an standard transaction from Web Dynpro ABAP application ( like call transaction ) . I know that we can run web-dynpro in portal as well as standard transaction but the question is can we link then in

  • How to find the application type fora Script based on Form name?

    Hi Guys,             can anybody tell me how to find the Application Type and output type based on Form name and print program name? I am having form name as: ZINVENT (INVENT is the actual) and program name as RM07IDRU.How can i find the Appliction n

  • ALV Grid Heading

    Hi I need to have two level of heading for my ALV grid. The first level will have two columns that is supposed to span for say 3 columns. The next header will have 6 columns headings for each of the six columns. For example      1-1-2004        |    

  • Do I need to Start Journal after Stream process restarting

    I have a CDC process using JKM  with "Oracle Streams Consistent set" in place. Do I need to start the Journal once the Database is back up after a shutdown and the stream process is restarted?