Skip to Content
author's profile photo Former Member
Former Member

Di server / B1ws Enum issue

I have an issue whereby if I set a row in a picklist as picked via the UI and then try to retrieve that document via B1ws I get the following error

Invalid valid value 'Y' in Enum 'BoPickStatus', the valid values are 'R', 'P', 'T', 'D', 'C'

To recreate this .. open a picklist in the UI and then set a rows pick status to picked. The open that pick list in B1ws using the getbyparam .. if you are like me you should get the same error.

This does not happen if I do the whole thing from b1ws but if I pick some from ui and then some from B1ws I get this error.

I found another post pointing out a similar issue, but it does not appear that issue was ever resolved. >http://scn.sap.com/thread/3266489

Any help would be appreciated.

Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • Posted on Oct 10, 2014 at 08:46 AM

    Hi Thomas,

    The other thread speaks of a very similar problem, but not exactly the same as yours (different enumerator, different field).

    The issue in that thread has probably been resolved by now. However, it is not uncommon for such problems to occur again in newer versions of B1, or, like you are experiencing, with another similar object.

    I recommend that you try to apply the same checks and work-arounds, that are suggested in the other thread, to your case.

    If nothing works, post a message to SAP Support about this issue (or do so anyway), so they can try to fix it.

    Regards,

    Johan

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Oct 10, 2014 at 09:22 PM

    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


    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Maik Delly

      Alright, well, it's not critical, we can still get whatever we need by querying the database directly.

      As far as I know, updating using DI server works as intended (using pickedquantity).

      It's a shame that SAP have bugs like that in some very important tools.

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.