SAP CPI xslt mapping: from examples how to access property values in cpi

 


<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  xmlns:cpi="http://sap.com/it/" exclude-result-prefixes="cpi" version="2.0">

<!-- include exchange parameter -->

  <xsl:param name="exchange"/>

<!-- define property quantity -->

  <xsl:param name="quantity"/>

<!-- define header orderid -->

  <xsl:param name="orderid"/>

  

  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

  <xsl:strip-space elements="*"/>


  <xsl:template match="@* | node()">

    <xsl:apply-templates select="@* | node()"/>

  </xsl:template>


  <xsl:template match="/">

<!-- set headers -->

    <xsl:value-of select="cpi:setHeader($exchange, 'context', 'ModelingBasics-HeaderPropertiesInXSLT')"/>

    <xsl:value-of select="cpi:setHeader($exchange, 'content-type', 'application/xml')"/>

    <xsl:element name="PurchaseOrder">

      <xsl:element name="PurchaseOrderNumber">

<!-- use header orderid -->

        <xsl:value-of select="$orderid"/>

      </xsl:element>

      <xsl:element name="Items">

        <xsl:for-each select="/Products/Product">

          <xsl:call-template name="Order_Items"/>

        </xsl:for-each>

      </xsl:element>

    </xsl:element>

  </xsl:template>

  <xsl:template name="Order_Items">

    <xsl:element name="Item">

      <xsl:element name="ProductId">

        <xsl:value-of select="./ProductId"/>

      </xsl:element>

      <xsl:element name="ProductName">

        <xsl:value-of select="./Name"/>

      </xsl:element>

      <xsl:element name="Category">

        <xsl:value-of select="./Category"/>

      </xsl:element>

      <xsl:element name="Quantity">

<!-- use property quantity -->

        <xsl:value-of select="$quantity"/>

      </xsl:element>

      <xsl:element name="Price">

        <xsl:value-of select="./Price * $quantity"/>

      </xsl:element>

      <xsl:element name="Currency">

        <xsl:value-of select="./CurrencyCode"/>

      </xsl:element>

    </xsl:element>

  </xsl:template>


</xsl:stylesheet>

--------------


propertires

productID HT-1082

quantity 2

SAP_AuthHeaderName Proxy-Authorization

input

<Products>

<Product>

<Category>Scanners</Category>

<WeightUnit>KG</WeightUnit>

<ProductId>HT-1082</ProductId>

<DimensionUnit>m</DimensionUnit>

<DimensionHeight>0.1200</DimensionHeight>

<Weight>3.200</Weight>

<Name>Jet Scan Professional</Name>

<ShortDescription>Flatbed scanner - Letter - 2400 dpi x 2400 dpi - 216 x 297 mm - Hi-Speed USB - Bluetooth Ver. 1.2</ShortDescription>

<CurrencyCode>EUR</CurrencyCode>

<DimensionWidth>0.3300</DimensionWidth>

<SupplierId>100000048</SupplierId>

<LongDescription>Flatbed scanner - Letter - 2400 dpi x 2400 dpi - 216 x 297 mm - Hi-Speed USB - Bluetooth Ver. 1.2</LongDescription>

<Price>169.000</Price>

<CategoryName>Scanners</CategoryName>

<PictureUrl>HT-1082.jpg</PictureUrl>

<DimensionDepth>0.4100</DimensionDepth>

<QuantityUnit>EA</QuantityUnit>

</Product>

</Products>

output:

<?xml version="1.0" encoding="UTF-8"?>

<PurchaseOrder>

<PurchaseOrderNumber>8216000002</PurchaseOrderNumber>

<Items>

<Item>

<ProductId>HT-1082</ProductId>

<ProductName>Jet Scan Professional</ProductName>

<Category>Scanners</Category>

<Quantity>2</Quantity>

<Price>338</Price>

<Currency>EUR</Currency>

</Item>

</Items>

</PurchaseOrder>


Popular posts from this blog

pss book : శ్రీకృష్ణుడు దేవుడా, భగవంతుడా completed , second review needed. 26th April 2024

pss book: గురు ప్రార్థనామంజరి . completed 21st july 2024

pss book: కధల జ్ఞానము read review pending. 25th june 2024