IBM Support

reserveAvailableInventory throws "Mandatory Parameters Missing" error when ReservationParameters passed at PromiseLine

Troubleshooting


Problem

reserveAvailableInventory throws "Mandatory Parameters Missing" error when ReservationParameters passed at PromiseLine

Symptom

Sterling Multi-Channel Fulfillment 8.2, Hot Fix 5, contained this fix amongst others:

Defect ID 171140
Case ID 00008430
Description The application must be enhanced with the capability to pass the “reservationID” attribute at the promise line level of the reserveAvailableInventory API.
Solution: The “ReservationParameters” element has been included in the promise line level of the reserveAvailableInventory API. The “reservationID” attribute and the “ExpirationDate” attribute can be passed for each promise line using this element. If a promise line does not contain the “ReservationParameters” element, or the “ReservationParameters” element at line level does not contain these attributes, or these attributes are void, the “ReservationParameters” element of the promise header level will be used.

Error Message

But if this new functionality is not used properly, the following error can occur when executing reserveAvailableInventory():

        <InboxReferences Name="ApiName" ReferenceType="TEXT" Value="reserveAvailableInventory"/>
        <InboxReferences Name="ERRORDESCRIPTION" ReferenceType="TEXT" Value="Mandatory Parameters for the Operation are missing"  [UniqueExceptionId='01003317017012392192552340000000000001']"/>

Resolving The Problem

This fix now allows the reserveAvailableInventory() API to specify the <ReservationParameters> element under the <PromiseLine> element, thereby allowing reservations at the Promise Line level instead of only at the Promise Header level.

To achieve this, both the ReservationID and ExpirationDate attributes must be passed in the <ReservationParameters> element under the <PromiseLine> element.  If either one is missing, the "Mandatory Parameters for the Operation are missing" error is thrown.

Note: The AllowMultipleReservation and AllowPartialReservations attributes, which are normally available under the <ReservationParameters> element when at the Promise Header level, do not apply when working at the Promise Line level.

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

NFX5911

Product Synonym

[<p><b>]Function Area[</b><p>];reserveAvailableInventory();[<p><b>]Escalation ID[</b><p>];8430;30786;[<p><b>]Fix ID[</b><p>];MCF 8.2 HF5;[<p><b>]Severity[</b><p>];Normal;[<p><b>]Type[</b><p>];NewFunctionality

Document Information

Modified date:
16 June 2018

UID

swg21555539