Skip to Content
Former Member
Oct 26, 2007 at 03:39 PM

UOMs on Item (height/width unit1) invalid


Hi Everybody

I'm trying to duplicate an inventory item by saving the xml for the existing item and retrieving it back into a new object. My code seems to be working, EXCEPT for this message: [OITM.SHght1Unit] , 'The connected value '0' was not found in table Length Units'.

The saved XML has a value of zero, though, and so does the oItem object that generated the XML Zero is invalid in the OWGT table, but that IS the value in a retrieved item object. When I replace the zero with a 1 (for testing, that's obviously not the solution), that message goes away, but I get a similar message about OrdrIntrvl (OCYC), which also won't allow zeros, even though that's what's in the existing object.

Here's the code:

            tempXML = System.IO.Path.GetTempFileName()

            'retrieve template item object's xml into string
            itemObjectXML = zTmpltItm.GetAsXML

            'replace the template item code with the new one
            itemObjectXML = Replace(itemObjectXML, String.Format(ItemCodeXML, zTmpltItm.ItemCode), _
                            String.Format(ItemCodeXML, zNewCode))

            'replace the template item name with the new one
            itemObjectXML = Replace(itemObjectXML, String.Format(ItemNameXML, zTmpltItm.ItemName), _
                String.Format(ItemNameXML, zNewName))

            'Desperate attempt to fix Hght1Unit error
            itemObjectXML = Replace(itemObjectXML, String.Format(HeightXML, 1), _
                            String.Format(HeightXML, 1))
            itemObjectXML = Replace(itemObjectXML, String.Format(HeightXML, 2), _
                String.Format(HeightXML, 2))

            'save the template to disk
            sw = New System.IO.StreamWriter(tempXML, False)

            'retrieve the new item's xml into a new item object for adding to the DB
            oNewItem = oCompany.GetBusinessObjectFromXML(tempXML, 0)

            retval = oNewItem.Add
            If retval <> 0 Then
                continue = False

Any Ideas? - Thanks

Problem solved by adding this line of code at the top:


Message was edited by:

John Chadwick