Hi,
we're trying to copy Items from a B1 (2005 SP01 PL45) to another B1 (2005 SP01 PL45) with B1i 2005 pl07.
The creation (insert of a new item) works fine but when we try to update it we receive the following error:
com.sap.b1i.xcellerator.XcelleratorException: XCE001 Nested exception: com.sap.b1i.bizprocessor.BizProcException: BPE117 BizFlow-Execution stopped due to one or multiple thrown Exceptions; a list of the originating exceptions exists => Next appended Exception: com.sap.b1i.bizprocessor.BizProcException: BPE117 BizFlow-Execution stopped due to one or multiple thrown Exceptions; a list of the originating exceptions exists => Next appended Exception: com.sap.b1i.bizprocessor.BizProcException: BPE001 Nested exception: com.sap.b1i.utilities.UtilException: UTE001 Nested exception: com.sap.engine.lib.xml.util.NestedException: Exception : com.sap.smb.sbo.wrapper.com.ComFailException: Invoke of: ReadXml Source: Description: Property 'QuantityOnStock' of 'Item' is read only =| (End of appended Exceptions) =| (End of appended Exceptions)BPE117 BizFlow-Execution stopped due to one or multiple thrown Exceptions; a list of the originating exceptions exists => Next appended Exception: com.sap.b1i.bizprocessor.BizProcException: BPE001 Nested exception: com.sap.b1i.utilities.UtilException: UTE001 Nested exception: com.sap.engine.lib.xml.util.NestedException: Exception : com.sap.smb.sbo.wrapper.com.ComFailException: Invoke of: ReadXml Source: Description: Property 'QuantityOnStock' of 'Item' is read only =| (End of appended Exceptions)
We're using this BIU:
<?xml version="1.0" encoding="UTF-8"?>
http://www.w3.org/1999/XSL/Transform" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:user=" http://www.altova.com/MapForce/UDF/user" xmlns:xs=" http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="user xs user">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:param name="Task" select="/b1im:B1IMessage/b1im:Header/b1im:System/@Task"/>
<!
From SystemID
>
<xsl:template match="/">
<xsl:apply-templates select="b1im:B1IMessage/b1im:Body/b1im:Payload[starts-with(@ObjectTypeId,'B1.200') and contains(@ObjectTypeId,'_ITM')]/BOM"/>
</xsl:template>
<xsl:template match="b1im:B1IMessage/b1im:Body/b1im:Payload[starts-with(@ObjectTypeId,'B1.200') and contains(@ObjectTypeId,'_ITM')]/BOM">
<BOM>
<BO>
<xsl:variable name="ItemCode" select="BO/Items/row/ItemCode" />
<AdmInfo>
<Object>4</Object>
<Version>2</Version>
</AdmInfo>
<QueryParams>
<ItemCode>
<xsl:value-of select="$ItemCode" />
</ItemCode>
</QueryParams>
<Items>
<row>
<xsl:if test="$Task='I'">
<ItemCode>
<xsl:value-of select="$ItemCode" />
</ItemCode>
</xsl:if>
<ItemName>
<xsl:value-of select="BO/Items/row/ItemName" />
</ItemName>
<ItemsGroupCode>
<xsl:value-of select="BO/Items/row/ItemsGroupCode" />
</ItemsGroupCode>
<ItemType>
<xsl:value-of select="BO/Items/row/ItemType" />
</ItemType>
<InventoryItem>
<xsl:value-of select="BO/Items/row/InventoryItem" />
</InventoryItem>
<PurchaseItem>
<xsl:value-of select="BO/Items/row/PurchaseItem" />
</PurchaseItem>
<SalesItem>
<xsl:value-of select="BO/Items/row/SalesItem" />
</SalesItem>
</row>
</Items>
</BO>
</BOM>
</xsl:template>
<xsl:template name="deleteLeadingZero">
<xsl:param name="strFragment" />
<xsl:variable name="len" select="string-length($strFragment)" />
<xsl:choose>
<xsl:when test="$strFragment= '0'" />
<xsl:when test="len <= 1 or substring($strFragment,1,1) != '0'">
<xsl:value-of select="$strFragment" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="deleteLeadingZero">
<xsl:with-param name="strFragment" select="substring($strFragment, 2, $len - 1)" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Someone can help us?
Thanks a lot