Skip to Content
0
Former Member
Jun 03, 2008 at 01:16 PM

B1ITEM2B1ITEM update error

32 Views

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 &lt;= 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