IBM Support

Receiving shipment in Store Engagement leads to the error Product received quantity is greater than the allowed limit

Troubleshooting


Problem

Attempts to receive shipment leads to the error Product received quantity is greater than the allowed limit in IBM Sterling Store Engagement.

Symptom

Steps to reproduce:

  1. Create a purchase order for 12 quantities.
    =====================
    <Order EnterpriseCode="DEFAULT" DocumentType="0005" BuyerOrganizationCode="DEFAULT" OrderNo="O1">
            <OrderLines>
                    <OrderLine OrderedQty="12" PrimeLineNo="1" SubLineNo="1" ReceivingNode="N2"
                               ReqDeliveryDate="2018-06-14T14:10:00-04:00" ShipNode="N1">
                        <Item ItemID="I1" UnitOfMeasure="EACH"/>
                    </OrderLine>
            </OrderLines>
    </Order>
    =====================

     
  2. Create & confirm 2 Shipments for Qty=6 each
    =====================
    <Shipment ExpectedDeliveryDate="2018-06-14T14:10:00-04:00" SCAC="UPSN" DocumentType="0005" EnterpriseCode="DEFAULT"
            ReceivingNode="N2" ShipNode="N1" ShipmentNo="S1">
            <Containers Replace="N">
                <Container ContainerNo="S1" TrackingNo="T1" ContainerScm="S1"
                            ContainerType="Case">
                    <ContainerDetails Replace="N">
                        <ContainerDetail>
                            <ShipmentLine ItemID="I1" OrderHeaderKey="2018061309250731459"
                                OrderLineKey="2018061309250731460" UnitOfMeasure="EACH"/>
                        </ContainerDetail>
                    </ContainerDetails>
                </Container>
            </Containers>
            <ShipmentLines>
                <ShipmentLine ItemID="I1" OrderHeaderKey="2018061309250731459" OrderLineKey="2018061309250731460"
                    Quantity="6" UnitOfMeasure="EACH"/>
            </ShipmentLines>
    </Shipment>
    =====================

    <Shipment ExpectedDeliveryDate="2018-06-14T14:10:00-04:00" SCAC="UPSN" DocumentType="0005" EnterpriseCode="DEFAULT"
            ReceivingNode="N2" ShipNode="N1" ShipmentNo="S2">
            <Containers Replace="N">
                <Container ContainerNo="S2" TrackingNo="T2" ContainerScm="S2"
                            ContainerType="Case">
                    <ContainerDetails Replace="N">
                        <ContainerDetail>
                            <ShipmentLine ItemID="I1" OrderHeaderKey="2018061309250731459"
                                OrderLineKey="2018061309250731460" UnitOfMeasure="EACH"/>
                        </ContainerDetail>
                    </ContainerDetails>
                </Container>
            </Containers>
            <ShipmentLines>
                <ShipmentLine ItemID="I1" OrderHeaderKey="2018061309250731459" OrderLineKey="2018061309250731460"
                    Quantity="6" UnitOfMeasure="EACH"/>
            </ShipmentLines>
    </Shipment>
    =====================

     
  3. Login to Store Engagement. Navigate to Receive Shipments portlet. Click on Advanced Search.

     
  4. Input PO # (O1) in (PO # or TO #) textbox & click Search.

     
  5. In Information pop up, with (Shipment # S1) selected, click OK.

     
  6. In Received Quantity textbox input 7 & click Update.
    Note: Store allows to receive 7 quantity while receiving the first shipment which has 6 quantity.

     
  7. Click Continue & then Done button.

     
  8. Repeat Step 4.

     
  9. In Information pop up, with (Shipment # S2) selected, click OK.

     
  10. In Received Quantity textbox input 6 & click Update.
    As a result, the trror 'Product received quantity is greater than the allowed limit' appears.

Cause

This is working as designed.

Environment

IBM Order Management 18.1

Diagnosing The Problem

Store user will be allowed to receive quantity up to available quantity at same order release line.
OOTB, you can not put any constraint both at UI and API level as the product does support all possible mismatch shipment quantity scenarios.

When there are multiple shipments for an order line of an order then below scenarios may occur:

1. Node has sent shipment which has quantity mismatch from ASN (Advanced Shipment Notification)/Shipment

Since order information is available on system, it will allow user to receive quantity till Order line quantity and
for quantity more than order line it will throw error only if over receipt is not allowed.
Otherwise it will allow to receive more quantity based on over receipt percentage configured.

For Example:
Order > Order line > 12 quantity
Shipment1 : 6 quantity
Shipment2 : 6 quantity

Scenario A:

  • Actual Shipment1: 7 quantity > System will allow user to receive all 7 quantity as order can receive up to 12 quantity  which is coming from the same source.
     
  • Actual Shipment2: 6 quantity > System will allow receiving only 5 if over receipt % is set to 0. If over receipt is set then based on configuration system will allow user to receive all 6. Otherwise user will have to handle the discrepancy as per business.

           
Scenario B:

  • Actual Shipment1: 7 quantity > System will allow user to receive all 7 quantity as order can receive up to 12 quantity which is coming from the same source.
     
  • Actual Shipment2: 5 quantity > System will allow receiving all 5 quantity and user will handle discrepancy for extra quantity present in ASN/Shipment.
     

2. Node has sent the shipment with same quantity as ASN/Shipment.

Here if user enters quantity more than shipment (manual error) and if he realizes that he has entered the wrong quantity then he can perform un-receive operation immediately. Otherwise some admin should be involved to handle such manual error scenarios such as receive only 5 quantity against second shipment and handle discrepancy for extra quantity present in ASN/Shipment.
 
For Example:
Order > Order line > 12 quantity
Shipment1: 6 quantity
Shipment2: 6 quantity
           
Scenario A:

  • Actual Shipment1: 6 quantity > System will allow user to receive all 7 quantity (due to manual error) as order can receive up to 12 quantity which is coming from the same source.
    Solution: Immediately change the quantity to 6 and un-receive extra quantity.
     
  • Actual Shipment2: 6 quantity > Now user can receive all available 6 quantity.

           
Scenario B:

  • Actual Shipment1: 6 quantity > System will allow user to receive all 7 quantity (due to manual error) as order can receive up to 12 quantity which is coming from the same source.
     
  • Actual Shipment2: 6 quantity > Now user will be allowed to receive only 5 quantity and he will have to handle discrepancy for 1 quantity.
    Possible Solution: Mark line missing and add a note saying quantity already received against some other shipment. In this case overall order will have 12 quantity received.

Resolving The Problem

If as per business, there are no mismatch scenarios then to address this requirement you can implement any of the below solution:
 

  • In 'Receive Shipment' screen, put a validation and restrict entering quantity more than shipment line quantity.
    A. At Mashup level (i.e. Mashup id="store.views.receiving.receiveShipmentLine" and implementation class is WSCReceiveShipmentLine)

    B. At YFSBeforeReceiveOrderUE user exit level.

     
  • If you have actually received total 13 quantities 7 against first shipment and 6 against second shipment and you want to receive all the quantities then set over receive percentage as per business requirement. It will allow you to receive all 13 quantities.
     

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS6PEW","label":"Sterling Order Management"},"Component":"","Platform":[{"code":"PF016","label":"Linux"}],"Version":"IBM Order Management 18.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
30 July 2018

UID

ibm10719191