Hi Thomas,
I can confirm that this problem exists. I also mentioned it in a ticket to support - in the end I had to use DI API to get it working.. I can't find the information now, but I recall that I investigated it a lot ( ! ) since it was a big problem for me.
I just tried to reproduce - still problematic in SBO 9.0 PL 12.
When you create sales order -> picklist for 1 item and pick it completely via B1WS / DIS the "PickStatus" value in PKL1 is 'Y' - but it should be 'P'.
SDK Help PKL1
PKL1 :
Code :
svcPicklist.PickListsService myPickListSvc = new svcPicklist.PickListsService(); svcPicklist.MsgHeader oPLHeader = new svcPicklist.MsgHeader(); svcPicklist.PickListParams oPLParams = new svcPicklist.PickListParams(); oPLHeader.SessionID = SessionID; oPLHeader.ServiceName = svcPicklist.MsgHeaderServiceName.PickListsService; oPLHeader.ServiceNameSpecified = true; myPickListSvc.MsgHeaderValue = oPLHeader; oPLParams.Absoluteentry = 6393;//PickList AbsEntry oPLParams.AbsoluteentrySpecified = true; svcPicklist.PickList myPickList = myPickListSvc.GetByParams(oPLParams); svcPicklist.PickListPickListsLine[] myPickListLine = myPickList.PickListsLines; myPickListLine[0].PickedQuantity = 10; myPickListLine[0].PickedQuantitySpecified = true; svcPicklist.PickListPickListsLineDocumentLinesBinAllocation[] bins = new svcPicklist.PickListPickListsLineDocumentLinesBinAllocation[1]; bins[0] = new svcPicklist.PickListPickListsLineDocumentLinesBinAllocation(); bins[0].BinAbsEntry = 11517;//BinAbsEntry bins[0].BinAbsEntrySpecified = true; bins[0].Quantity = 10; bins[0].QuantitySpecified = true; myPickListLine[0].DocumentLinesBinAllocations = bins; myPickList.PickListsLines = myPickListLine; myPickListSvc.Update(myPickList);
From my side this is a bug which has to be reported to support ( my ticket was on an other issue - I just mentioned it and it was handled through a partner ).
I also recall a similar problem in sales order - You are not able to update a sales order via DIS/B1WS when a Picklist exists.
Because in OrdersService PickStatus is defined as BOYesNoEnum :
<s:element minOccurs="0" name="PickStatus"> <s:simpleType> <s:restriction base="s:string"> <s:enumeration value="tNO" /> <s:enumeration value="tYES" /> </s:restriction> </s:simpleType></s:element>
regards,
Maik