Update repository to reflect latest changes on PO.

This commit is contained in:
crey443
2024-10-08 11:54:07 +02:00
parent 606bade556
commit a8b5c0b11f
46 changed files with 396 additions and 22769 deletions
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- change for gln -->
<xsl:template name="WriteOffGLNs">
<xsl:param name="sendToGLN" />
<xsl:choose>
<xsl:when test="$sendToGLN = '7321609001155'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609001162'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609004118'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609004125'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609004668'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609004675'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609005566'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609005573'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609006662'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609006679'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609007119'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609007126'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609007911'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609007928'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609008567'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609008574'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609008710'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609008727'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609009168'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:when test="$sendToGLN = '7321609009175'">
<xsl:value-of select="true()" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"
exclude-result-prefixes="xs">
<xsl:output method="xml"
indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="/ns0:Messages/ns0:Message1">
<xsl:variable name="writeOff">
<xsl:call-template name="WriteOffGLNs">
<xsl:with-param name="sendToGLN">
<xsl:value-of
select="./XMLDESADV/XMLDESADVHEADER/SendToGLN" />
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$writeOff = true()">
<xsl:call-template name="WRITE_OFF" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="STOCK_TRANSFER_ORDER" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:include href="./GLNValueMap.xsl" />
<xsl:include href="./writeOff.xsl" />
<xsl:include href="./stockTransferOrder.xsl" />
</xsl:stylesheet>
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"
exclude-result-prefixes="xs">
<xsl:output method="xml"
indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template name="STOCK_TRANSFER_ORDER">
<ns0:Messages>
<ns0:Message1>
<WGSREQ02>
<IDOC>
<xsl:attribute name="BEGIN"><xsl:value-of
select="1" /></xsl:attribute>
<EDI_DC40>
<xsl:attribute name="SEGMENT"><xsl:value-of
select="1" /></xsl:attribute>
<TABNAM>EDI_DC40</TABNAM>
<MANDT></MANDT>
<DOCNUM></DOCNUM>
<DOCREL></DOCREL>
<STATUS></STATUS>
<MESCOD>
<xsl:if
test="./XMLDESADV/XMLDESADVHEADER/SendFromGLN != ''">
<xsl:value-of select="SFS" />
</xsl:if>
</MESCOD>
<DIRECT>2</DIRECT>
<OUTMOD></OUTMOD>
<IDOCTYP>WGSREQ02</IDOCTYP>
<MESTYP>WGSREQ</MESTYP>
<SNDPOR>SAPPO</SNDPOR>
<SNDPRT>KU</SNDPRT>
<SNDPRN>XXXX</SNDPRN>
<RCVPOR>SAP</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPFC></RCVPFC>
<RCVPRN>SAP</RCVPRN>
<SNDLAD>
<xsl:value-of
select="./XMLDESADV/XMLDESADVHEADER/SendFromGLN" />
</SNDLAD>
<RCVLAD>
<xsl:value-of
select="./XMLDESADV/XMLDESADVHEADER/SendToGLN" />
</RCVLAD>
<CREDAT>
<xsl:value-of
select="format-dateTime(xs:dateTime(./XMLDESADV/XMLDESADVHEADER/DocumentDate),'[Y0000][M00][D00]')" />
</CREDAT>
<CRETIM>
<xsl:value-of
select="format-dateTime(xs:dateTime(./XMLDESADV/XMLDESADVHEADER/DocumentDate),'[H00]:[m00]:[s00]')" />
</CRETIM>
<SERIAL>
<xsl:value-of select="current-dateTime()" />
</SERIAL>
</EDI_DC40>
<E1WGRK1>
<xsl:attribute name="SEGMENT"><xsl:value-of
select="1" /></xsl:attribute>
<DATUM>
<xsl:value-of
select="format-dateTime(xs:dateTime(./XMLDESADV/XMLDESADVHEADER/DocumentDate),'[Y0000][M00][D00]')" />
</DATUM>
<ACTION></ACTION>
<xsl:for-each
select="./XMLDESADV/XMLSSCCGROUP/XMLITEMS">
<E1WGRP1>
<xsl:attribute name="SEGMENT"><xsl:value-of
select="1" /></xsl:attribute>
<MENGE>
<xsl:value-of select="./DeliveredQuantity" />
</MENGE>
<EAN11>
<xsl:value-of select="./GTIN" />
</EAN11>
<BEDAT>
<xsl:value-of
select="format-dateTime(xs:dateTime(../../XMLDESADVHEADER/DocumentDate),'[Y0000][M00][D00]')" />
</BEDAT>
<EINDT>
<xsl:value-of
select="format-dateTime(xs:dateTime(../../XMLDESADVHEADER/DeliveryDate),'[Y0000][M00][D00]')" />
</EINDT>
<BEDNR>
<xsl:value-of
select="../../XMLDESADVHEADER/DocumentId" />
</BEDNR>
<RESWK>
<xsl:value-of
select="../../XMLDESADVHEADER/SendFromGLN" />
</RESWK>
<KUNNR>
<xsl:value-of
select="../../XMLDESADVHEADER/SendToGLN" />
</KUNNR>
<POSEX>
<xsl:value-of select="./PositionNumber" />
</POSEX>
</E1WGRP1>
</xsl:for-each>
</E1WGRK1>
</IDOC>
</WGSREQ02>
</ns0:Message1>
<ns0:Message2></ns0:Message2>
</ns0:Messages>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"
exclude-result-prefixes="xs">
<xsl:output method="xml"
indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template name="WRITE_OFF">
<ns0:Messages>
<ns0:Message1></ns0:Message1>
<ns0:Message2>
<WPUWBW01>
<IDOC>
<xsl:attribute name="BEGIN"><xsl:value-of
select="1" /></xsl:attribute>
<EDI_DC40>
<xsl:attribute name="SEGMENT"><xsl:value-of
select="1" /></xsl:attribute>
<TABNAM>EDI_DC40</TABNAM>
<MANDT></MANDT>
<DOCNUM></DOCNUM>
<DOCREL></DOCREL>
<STATUS></STATUS>
<MESCOD></MESCOD>
<DIRECT>2</DIRECT>
<OUTMOD></OUTMOD>
<IDOCTYP>WPUWBW01</IDOCTYP>
<MESTYP>WPUWBW</MESTYP>
<SNDPOR>SAPPO</SNDPOR>
<SNDPRT>KU</SNDPRT>
<SNDPRN>XXXX</SNDPRN>
<RCVPOR>SAP</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPFC></RCVPFC>
<RCVPRN>SAP</RCVPRN>
<SNDLAD>
<xsl:value-of
select="./XMLDESADV/XMLDESADVHEADER/SendFromGLN" />
</SNDLAD>
<RCVLAD>
<xsl:value-of
select="./XMLDESADV/XMLDESADVHEADER/SendToGLN" />
</RCVLAD>
<CREDAT>
<xsl:value-of
select="format-dateTime(xs:dateTime(./XMLDESADV/XMLDESADVHEADER/DocumentDate),'[Y0000][M00][D00]')" />
</CREDAT>
<CRETIM>
<xsl:value-of
select="format-dateTime(xs:dateTime(./XMLDESADV/XMLDESADVHEADER/DocumentDate),'[H00]:[m00]:[s00]')" />
</CRETIM>
<SERIAL>
<xsl:value-of select="current-dateTime()" />
</SERIAL>
</EDI_DC40>
<E1WPG01>
<xsl:attribute name="SEGMENT"><xsl:value-of
select="1" /></xsl:attribute>
<BELEGDATUM>
<xsl:value-of
select="format-dateTime(xs:dateTime(./XMLDESADV/XMLDESADVHEADER/DocumentDate),'[Y0000][M00][D00]')" />
</BELEGDATUM>
<BONNUMMER>
<xsl:value-of
select="./XMLDESADV/XMLDESADVHEADER/DocumentId" />
</BONNUMMER>
<xsl:for-each
select="./XMLDESADV/XMLSSCCGROUP/XMLITEMS">
<E1WPG02>
<xsl:attribute name="SEGMENT"><xsl:value-of
select="1" /></xsl:attribute>
<!-- use GTIN -->
<QUALARTNR>003</QUALARTNR>
<LITEM>
<xsl:value-of select="PositionNumber" />
</LITEM>
<ARTNR>
<xsl:value-of select="GTIN" />
</ARTNR>
<!-- send to gln (letzten drei zifern ohne prüf) -->
<xsl:variable name="SendToGLN">
<xsl:value-of
select="../../XMLDESADVHEADER/SendToGLN" />
</xsl:variable>
<xsl:variable name="SendToGLNLength">
<xsl:value-of select="string-length($SendToGLN)" />
</xsl:variable>
<BEWART>
<xsl:value-of
select="substring($SendToGLN, $SendToGLNLength - 3, 3)" />
</BEWART>
<MENGE>
<xsl:value-of select="DeliveredQuantity" />
</MENGE>
</E1WPG02>
</xsl:for-each>
</E1WPG01>
</IDOC>
</WPUWBW01>
</ns0:Message2>
</ns0:Messages>
</xsl:template>
</xsl:stylesheet>