MARX#39622: Roadmap: AX-Bestellingen via Mareon laten verlopen
svn path=/Website/branches/v2016.3/; revision=33007
This commit is contained in:
66
CUST/MARX/xsl/AX_TU.xsl
Normal file
66
CUST/MARX/xsl/AX_TU.xsl
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:template match="bestelopdracht">
|
||||
<!--Facilitor custom XSL template for cXML bestelopdracht-->
|
||||
<Order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.gs1.nl">
|
||||
<OrderHeader>
|
||||
<OrderVersion>008</OrderVersion>
|
||||
<OrderTypeCode>220</OrderTypeCode>
|
||||
<Document>
|
||||
<DocumentNumber><xsl:value-of select='bestelling/kenmerk[@key=6]'/></DocumentNumber>
|
||||
<Date><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/></Date>
|
||||
</Document>
|
||||
<ScenarioCode>X1</ScenarioCode>
|
||||
<ProjectNumber/>
|
||||
<EndCustomerOrderNumber><xsl:value-of select="id"/></EndCustomerOrderNumber>
|
||||
<Supplier>
|
||||
<GLN><xsl:value-of select='bedrijf/leverancier_nr'/></GLN>
|
||||
</Supplier>
|
||||
<Buyer>
|
||||
<GLN><xsl:value-of select='bestelling/voor/afdeling/bedrijf/leverancier_nr'/></GLN>
|
||||
</Buyer>
|
||||
<DeliveryParty>
|
||||
<PartyName><xsl:value-of select='bestelling/kenmerk[@key=1]'/></PartyName>
|
||||
<StreetAndNumber><xsl:value-of select='bestelling/kenmerk[@key=3]'/></StreetAndNumber>
|
||||
<Postcode><xsl:value-of select='bestelling/kenmerk[@key=4]'/></Postcode>
|
||||
<CityName><xsl:value-of select='bestelling/kenmerk[@key=5]'/></CityName>
|
||||
</DeliveryParty>
|
||||
</OrderHeader>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
<xsl:sort select="bestelitem/kenmerk[@key='8']"/>
|
||||
<xsl:element name="OrderLine">
|
||||
<LineItemNumber><xsl:value-of select="bestelitem/kenmerk[@key='8']"/></LineItemNumber>
|
||||
<GTIN><xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/></GTIN>
|
||||
<OrderedQuantity>
|
||||
<Quantity><xsl:value-of select="aantal"/></Quantity>
|
||||
<MeasureUnitQualifier><xsl:value-of select="bestelitem/srtdeel/eenheid"/></MeasureUnitQualifier>
|
||||
</OrderedQuantity>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
</Order>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="bestelopdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">xml</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
63
CUST/MARX/xsl/A_GetBestelOpdracht.xsl
Normal file
63
CUST/MARX/xsl/A_GetBestelOpdracht.xsl
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:ns1="http://www.gs1.nl" version="1.0">
|
||||
<xsl:output method="text" encoding="UTF-8"/>
|
||||
|
||||
|
||||
<!-- bes_bestelling_memo alvast gereserveerd, nu nog leeg gelaten, indien gevuld komt die in bes_bestelling_opmerking C320 terecht -->
|
||||
<!-- bes_orderline_art_code kan naast GTIN worden gebruikt, de naam XML-tag (node) is onbekend en hier is SidB term gebruikt (SuppliersTradeItemId), kan evt zo worden aangepast. GTIN of dit veld komt in bes_srtdeel_nr C32 terecht -->
|
||||
<!-- bes_orderline_art_descr wordt nog niet gevuld, komt wel in bes_srtdeel_omschrijving C100 terecht indien gevuld -->
|
||||
<!-- bes_orderline_art_prijs is leeg komt als 0 in bes_srtdeel_prijs_prijs terecht -->
|
||||
<!-- bes_orderline_art_btw wordt nu hard op 21 gezet gezien dat vanuit AX dit niet wordt aangeleverd en komt in bes_srtdeel_btw terecht -->
|
||||
|
||||
<!-- Let op: namespace ns1 is zomaar een naam, en is nodig vanwege die default lege namespace die in de input XML staat -->
|
||||
<xsl:template match="ns1:Order">gln_supplier;gln_buyer;bes_afleveradres_code;bes_afleveradres_straat_huisnr;bes_afleveradres_postcode;bes_afleveradres_plaats;bes_bestelling_memo;bes_ordernr;bes_aflever_datumbes_orderline_nr;bes_orderline_gtin;bes_orderline_art_code;bes_orderline_art_descr;bes_orderline_art_eenheid;bes_orderline_art_aantal;bes_orderline_art_prijs;bes_orderline_art_btw
|
||||
<xsl:for-each select="ns1:OrderLine"><xsl:value-of select="../ns1:OrderHeader/ns1:Supplier/ns1:GLN"/>;<xsl:value-of select="../ns1:OrderHeader/ns1:Buyer/ns1:GLN"/>;<xsl:value-of select="../ns1:OrderHeader/ns1:DeliveryParty/ns1:PartyName"/>;<xsl:value-of select="../ns1:OrderHeader/ns1:DeliveryParty/ns1:StreetAndNumber"/>;<xsl:value-of select="../ns1:OrderHeader/ns1:DeliveryParty/ns1:Postcode"/>;<xsl:value-of select="../ns1:OrderHeader/ns1:DeliveryParty/ns1:CityName"/>;;<xsl:value-of select="../ns1:OrderHeader/ns1:Document/ns1:DocumentNumber"/>;<xsl:value-of select="../ns1:OrderHeader/ns1:Document/ns1:Date"/>;<xsl:value-of select="ns1:LineItemNumber"/>;<xsl:value-of select="ns1:GTIN"/>;<xsl:value-of select="ns1:SuppliersTradeItemId"/>;;<xsl:value-of select="ns1:OrderedQuantity/ns1:MeasureUnitQualifier"/>;<xsl:value-of select="ns1:OrderedQuantity/ns1:Quantity"/>;;21; </xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="vrije_tekst">
|
||||
<xsl:param name="p_string"/>
|
||||
<xsl:variable name="l_string_esc_quotes"><xsl:call-template name="escape_quote"><xsl:with-param name="string" select="$p_string"/></xsl:call-template></xsl:variable>
|
||||
<xsl:variable name="l_string_esc_linebreaks"><xsl:call-template name="escape_linebreaks"><xsl:with-param name="string" select="$l_string_esc_quotes"/></xsl:call-template></xsl:variable>"<xsl:value-of select="$l_string_esc_linebreaks"/>"</xsl:template>
|
||||
|
||||
<xsl:template name="escape_quote">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, '"')"><xsl:value-of select="substring-before($string, '"')"/>""<xsl:call-template name="escape_quote">
|
||||
<xsl:with-param name="string" select="substring-after($string, '"')"/></xsl:call-template></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="escape_linebreaks">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, '
')"><xsl:value-of select="substring-before($string, '
')"/>@@<xsl:call-template name="escape_linebreaks">
|
||||
<xsl:with-param name="string" select="substring-after($string, '
')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="*">
|
||||
<xsl:choose>
|
||||
<!-- Zonder prefix en facilitor-node, dan -->
|
||||
<!-- als response: toevoegen envelop! -->
|
||||
<!-- als update: 1-op-1 door! -->
|
||||
<xsl:when test="substring-before(name(),concat(':', local-name()))='' and local-name()='Order'">
|
||||
<xsl:value-of select="name()"/>
|
||||
<xsl:apply-templates select="ns1:Order"/>
|
||||
</xsl:when>
|
||||
<!--xsl:when test="local-name()='Envelope'">
|
||||
<xsl:apply-templates select="soap:Envelope"/>
|
||||
</xsl:when-->
|
||||
<!-- Met prefix, dus insert/update: prefix weg + evt. velden "injecteren"! -->
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
66
CUST/MARX/xsl/F_GetBestelOpdracht_SIDB_INSBOU004.xsl
Normal file
66
CUST/MARX/xsl/F_GetBestelOpdracht_SIDB_INSBOU004.xsl
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:template match="bestelopdracht">
|
||||
<!--Facilitor custom XSL template for cXML bestelopdracht-->
|
||||
<Order xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.gs1.nl/order/insbou/004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gs1.nl/order/insbou/004 Order_insbou004.xsd">
|
||||
<OrderType>220</OrderType>
|
||||
<OrderNumber><xsl:value-of select='bestelling/kenmerk[@key=6]'/></OrderNumber>
|
||||
<OrderDate><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/></OrderDate>
|
||||
<OrderTime><xsl:value-of select="datum/tijd"/>:00</OrderTime>
|
||||
<ScenarioTypeCode>X1</ScenarioTypeCode>
|
||||
<EndCustomerOrderNumber><xsl:value-of select="id"/></EndCustomerOrderNumber>
|
||||
<Buyer>
|
||||
<GLN><xsl:value-of select='bestelling/voor/afdeling/bedrijf/leverancier_nr'/></GLN>
|
||||
</Buyer>
|
||||
<Supplier>
|
||||
<GLN><xsl:value-of select='bedrijf/leverancier_nr'/></GLN>
|
||||
</Supplier>
|
||||
<DeliveryParty>
|
||||
<Name><xsl:value-of select='bestelling/kenmerk[@key=1]'/></Name>
|
||||
<StreetAndNumber><xsl:value-of select='bestelling/kenmerk[@key=3]'/></StreetAndNumber>
|
||||
<PostalCode><xsl:value-of select='bestelling/kenmerk[@key=4]'/></PostalCode>
|
||||
<City><xsl:value-of select='bestelling/kenmerk[@key=5]'/></City>
|
||||
<LocationDescription><xsl:value-of select='bestelling/kenmerk[@key=1]'/></LocationDescription>
|
||||
</DeliveryParty>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
<xsl:sort select="bestelitem/kenmerk[@key='8']"/>
|
||||
<OrderLine>
|
||||
<LineNumber><xsl:value-of select="bestelitem/kenmerk[@key='8']"/></LineNumber>
|
||||
<OrderedQuantity><xsl:value-of select="aantal"/></OrderedQuantity>
|
||||
<OrderedQuantityUoM><xsl:value-of select="bestelitem/srtdeel/eenheid"/></OrderedQuantityUoM>
|
||||
<LineIdentification><xsl:value-of select="bestelitem/kenmerk[@key='8']"/></LineIdentification>
|
||||
<TradeItemIdentification>
|
||||
<GTIN><xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/></GTIN>
|
||||
</TradeItemIdentification>
|
||||
<DeliveryDateTimeInformation>
|
||||
<RequiredDeliveryDate><xsl:value-of select="../bestelling/leverdatum/jaar"/>-<xsl:value-of select="../bestelling/leverdatum/maand"/>-<xsl:value-of select="../bestelling/leverdatum/dag"/></RequiredDeliveryDate>
|
||||
</DeliveryDateTimeInformation>
|
||||
</OrderLine>
|
||||
</xsl:for-each>
|
||||
</Order>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="bestelopdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">xml</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
177
CUST/MARX/xsl/cXML.xsl
Normal file
177
CUST/MARX/xsl/cXML.xsl
Normal file
@@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="xml" encoding="UTF-8"/>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:template match="bestelopdracht">
|
||||
<!--Facilitor custom XSL template for cXML bestelopdracht-->
|
||||
<xsl:element name="cXML">
|
||||
<xsl:attribute name="version">1.2.016</xsl:attribute>
|
||||
<xsl:attribute name="payloadID">
|
||||
<xsl:value-of select="key"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="timestamp">
|
||||
<xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/>T<xsl:value-of select="datum/tijd"/>:00+01:00</xsl:attribute>
|
||||
<xsl:attribute name="xml:lang">NL</xsl:attribute>
|
||||
<Header>
|
||||
<From>
|
||||
<xsl:element name="Credential">
|
||||
<xsl:attribute name="domain">
|
||||
<xsl:value-of select='bestelling/voor/afdeling/bedrijf/naam'/>
|
||||
</xsl:attribute>
|
||||
<!--Klantcode / GLN van de woco -->
|
||||
<Identity><xsl:value-of select='bestelling/voor/afdeling/bedrijf/leverancier_nr'/></Identity>
|
||||
</xsl:element>
|
||||
</From>
|
||||
<To>
|
||||
<xsl:element name="Credential">
|
||||
<xsl:attribute name="domain">
|
||||
<xsl:value-of select="bedrijf/naam"/>
|
||||
</xsl:attribute>
|
||||
<!--Klantcode / GLN van de leverancier -->
|
||||
<Identity><xsl:value-of select='bedrijf/leverancier_nr'/></Identity>
|
||||
</xsl:element>
|
||||
</To>
|
||||
<Sender>
|
||||
<Credential domain="Mareon">
|
||||
<Identity><xsl:value-of select="id"/></Identity>
|
||||
</Credential>
|
||||
<UserAgent/>
|
||||
</Sender>
|
||||
</Header>
|
||||
<Request>
|
||||
<OrderRequest>
|
||||
<xsl:element name="OrderRequestHeader">
|
||||
<xsl:attribute name="orderID">
|
||||
<xsl:value-of select='bestelling/kenmerk[@key=6]'/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="orderDate">
|
||||
<xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/>
|
||||
</xsl:attribute>
|
||||
<Total>
|
||||
<Money currency="EUR">
|
||||
<xsl:value-of select="format-number(sum(bestelopdrachtitem/totaal), '0.00', 'european')"/>
|
||||
</Money>
|
||||
</Total>
|
||||
<ShipTo>
|
||||
<xsl:element name="Address">
|
||||
<xsl:attribute name="addressID">
|
||||
<xsl:value-of select='bestelling/kenmerk[@key=1]'/>
|
||||
</xsl:attribute>
|
||||
<Name xml:lang="NL"><xsl:value-of select='bestelling/kenmerk[@key=1]'/></Name>
|
||||
<PostalAddress>
|
||||
<DeliverTo>
|
||||
<xsl:value-of select='bestelling/voor/afdeling/bedrijf/naam'/>
|
||||
</DeliverTo>
|
||||
<Street>
|
||||
<xsl:value-of select='bestelling/kenmerk[@key=3]'/>
|
||||
</Street>
|
||||
<City>
|
||||
<xsl:value-of select='bestelling/kenmerk[@key=5]'/>
|
||||
</City>
|
||||
<State/>
|
||||
<PostalCode>
|
||||
<xsl:value-of select='bestelling/kenmerk[@key=4]'/>
|
||||
</PostalCode>
|
||||
<Country isoCountryCode="NL"/>
|
||||
</PostalAddress>
|
||||
</xsl:element>
|
||||
</ShipTo>
|
||||
<!--
|
||||
<BillTo>
|
||||
<xsl:element name="Address">
|
||||
<xsl:attribute name="addressID">SKAF</xsl:attribute>
|
||||
<Name xml:lang="NL">
|
||||
<xsl:value-of select="afleveradres/naam"/>
|
||||
</Name>
|
||||
<PostalAddress>
|
||||
<Street>
|
||||
<xsl:value-of select="factuuradres/post_adres"/>
|
||||
</Street>
|
||||
<City>
|
||||
<xsl:value-of select="factuuradres/post_plaats"/>
|
||||
</City>
|
||||
<State/>
|
||||
<PostalCode>
|
||||
<xsl:value-of select="factuuradres/post_postcode"/>
|
||||
</PostalCode>
|
||||
<Country isoCountryCode="NL"/>
|
||||
</PostalAddress>
|
||||
</xsl:element>
|
||||
</BillTo>
|
||||
-->
|
||||
<!--
|
||||
<Contact>
|
||||
<Name xml:lang="NL">
|
||||
<xsl:value-of select="bestelling/aanvrager/naam_full"/>
|
||||
</Name>
|
||||
<Email>
|
||||
<xsl:value-of select="bestelling/aanvrager/email"/>
|
||||
</Email>
|
||||
</Contact>
|
||||
-->
|
||||
<Extrinsic name="MareonOrderId">
|
||||
<xsl:value-of select="id"/>
|
||||
</Extrinsic>
|
||||
|
||||
</xsl:element>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
<xsl:sort select="bestelitem/kenmerk[@key='8']"/>
|
||||
<xsl:element name="ItemOut">
|
||||
<xsl:attribute name="quantity">
|
||||
<xsl:value-of select="aantal"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="lineNumber">
|
||||
<xsl:value-of select="bestelitem/kenmerk[@key='8']"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="requestedDeliveryDate">
|
||||
<xsl:value-of select="../bestelling/leverdatum/jaar"/>-<xsl:value-of select="../bestelling/leverdatum/maand"/>-<xsl:value-of select="../bestelling/leverdatum/dag"/>
|
||||
</xsl:attribute>
|
||||
<ItemID>
|
||||
<SupplierPartID>
|
||||
<xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/>
|
||||
</SupplierPartID>
|
||||
</ItemID>
|
||||
<ItemDetail>
|
||||
<UnitPrice>
|
||||
<Money currency="EUR">
|
||||
<xsl:value-of select="format-number(prijs, '0.00', 'european')"/>
|
||||
</Money>
|
||||
</UnitPrice>
|
||||
<Description xml:lang="NL">
|
||||
<xsl:value-of select="bestelitem/srtdeel/omschrijving"/>
|
||||
</Description>
|
||||
<UnitOfMeasure>
|
||||
<xsl:value-of select="bestelitem/srtdeel/eenheid"/>
|
||||
</UnitOfMeasure>
|
||||
<Classification domain=""/>
|
||||
</ItemDetail>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
</OrderRequest>
|
||||
</Request>
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="bestelopdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">xml</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
Reference in New Issue
Block a user