In my experience, deleting rows from Epicor through the business objects works differently between objects.
For some objects, you can call
For other objects,
In these cases, try deleting using the Update/RowMod option.
Call
For SalesOrder, my Service Connect trace looks like this:
<ext_UpdateRequest:UpdateRequest xmlns:ext_UpdateRequest="http://Epicor.com/SalesOrder/UpdateRequest">
<ext_UpdateRequest:loginOptions>EPIC03</ext_UpdateRequest:loginOptions>
<ext_UpdateRequest:ds>
<ext_UpdateRequest:OrderHed>
<ext_UpdateRequest:UpdExtSalesOrderDataSetTypeOrderHed>
<ext_UpdateRequest:OrderNum>2300091</ext_UpdateRequest:OrderNum>
<ext_UpdateRequest:RowMod>D</ext_UpdateRequest:RowMod>
</ext_UpdateRequest:UpdExtSalesOrderDataSetTypeOrderHed>
</ext_UpdateRequest:OrderHed>
</ext_UpdateRequest:ds>
</ext_UpdateRequest:UpdateRequest>
One thing to note that's been driving me crazy for a little while -- if you're calling Update from the Epicor Web Services, the RowMod for Delete should be '[Delete]' not 'D'. If you don't send '[Delete]' nothing happens.
ReplyDeleteAccording to the web services developer guide:
The Update method has logic to support instructional processing tags which can be passed in the RowMod column of a data row. In this case you need to pass the ‘[Delete]’ tag to indicate the row is to be deleted.
Thought I'd add this for anybody else running into this problem who neglected to read the FAQ on the Web Services Developer guide. :)
Would you be interested in doing some Epicor things for us? www.practicaltek.com jim@practicaltek.com
ReplyDeleteGreat Site, Explore epicor consultants. Grow your business with Epicor! Index Infotech, an authorized partner, provides expert implementation.
ReplyDelete