Hello Experts,
i have a Problem at deleting Rows in Sales Order.
i habe create a Szenario similar this UpdatewithSubDeletion.
in my Example i have 140 Rows. I will delete for example 40 Rows of this.
so i have create following xml:
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:b1e="urn:com.sap.b1i.sim:b1event" xmlns:b1ie="urn:com.sap.b1i.sim:b1ievent" xmlns:b1im="urn:com.sap.b1i.sim:b1imessage" xmlns:bfa="urn:com.sap.b1i.bizprocessor:bizatoms" xmlns:jdbc="urn:com.sap.b1i.adapter:jdbcadapter" xmlns:rfc="urn:sap-com:document:sap:rfc:functions" xmlns:sim="urn:com.sap.b1i.sim:entity" xmlns:utils2="com.sap.b1i.bpc_tools.Utilities" xmlns:vpf="urn:com.sap.b1i.vplatform:entity" xmlns:xci="urn:com.sap.b1i.xcellerator:intdoc" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" bfa:force="" vpf:force="" jdbc:force="" rfc:force="" b1ie:force="" b1e:force="" xci:force="" sim:force="" utils2:force="" b1im:force=""> <xsl:output method="xml" encoding="UTF-8" indent="yes"></xsl:output> <xsl:param name="atom"></xsl:param> <xsl:param name="sessionid"></xsl:param> <xsl:variable name="msg" select="/vpf:Msg/vpf:Body/vpf:Payload[./@Role='S']"></xsl:variable> <xsl:variable name="vpSender" select="/vpf:Msg/vpf:Header/vpf:Sender/@Id"></xsl:variable> <xsl:variable name="vpObject" select="/vpf:Msg/vpf:Header/vpf:Sender/@ObjId"></xsl:variable> <xsl:variable name="vpReceiver" select="/vpf:Msg/vpf:Header/vpf:ReceiverList/vpf:Receiver[./@handover='P']/@Id"></xsl:variable> <xsl:variable name="vpseqno" select="/vpf:Msg/vpf:Header/vpf:Variables/vpf:var[./@id='seqno']/@value"></xsl:variable> <xsl:template match="/"> <Msg xmlns="urn:com.sap.b1i.vplatform:entity"> <xsl:copy-of select="/vpf:Msg/@*"></xsl:copy-of> <xsl:copy-of select="/vpf:Msg/vpf:Header"></xsl:copy-of> <Body> <xsl:copy-of select="/vpf:Msg/vpf:Body/*"></xsl:copy-of> <Payload Role="X" id="{$atom}"> <xsl:call-template name="transform"></xsl:call-template> </Payload> </Body> </Msg> </xsl:template> <xsl:variable name="retrievalPayload" select="/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom2']/BOM/BO/ORDR"></xsl:variable> <xsl:template name="transform"> <BOM> <BO> <AdmInfo> <Object>17</Object> <Version>2</Version> </AdmInfo> <Documents xmlns=""> <row> <xsl:copy-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom2']/BOM/BO/Documents/row/*"/> </row> </Documents> <Document_Lines> <xsl:for-each select="/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom2']/BOM/BO/Document_Lines/row"> <xsl:variable name="position" select="position()"></xsl:variable> <xsl:if test="U_PlanStatus = 'JIS_SYNCRO_FIRM'"> <row> <xsl:copy-of select="*"></xsl:copy-of> </row> </xsl:if> </xsl:for-each> </Document_Lines> </BO> </BOM> </xsl:template></xsl:stylesheet>
my get Atom
and my Update-Atom:
but when i start my Scenario i get a Error-Message:
Payload Role="C" id="atom12" system="0010000101" status="success" b1login="Technical User" method="updateDocWithSubDeletion" objectid="17" payload="atom13" keyname="DocEntry" keyvalue="4" DIresult="failure" DImsg=" Exception : DI Error: (-2035) This entry already exists in the following tables (ODBC -2035)"/>
What is my mystake?