Reserved capacity not getting released on order cancellation

Technote (troubleshooting)


Problem(Abstract)

There is a bundle item with one regular item (I1) and a provided service (PSER-1) as its components. A capacity reservation of 1 hour is made for a particular date. The same reservation Id is passed to the input of createOrder while creating an order for 1 quantity of the bundle component. The order gets created and capacity appears consumed when viewed under consumption section in Capacity console window. However, upon cancelling the order, the consumed capacity doesn’t release.

Cause

Issue in capacity consumption configuration

Diagnosing the problem

When a capacity reservation is made, a row is inserted into YFS_RES_POOL_CONSMPTN_DTLS table with the corresponding RESERVATION_ID and a null value for ORDER_LINE_KEY.

When a new order is created and the above RESERVATION_ID is passed to it, the corresponding row in YFS_RES_POOL_CONSMPTN_DTLS table gets updated as below – RESERVATION_ID is updated to null while the ORDER_LINE_KEY gets updated with the order_line_key of the newly created order. Thus the reserved capacity gets consumed.

Upon cancelling the order, the entry in the YFS_RES_POOL_CONSMPTN_DTLS table corresponding to the order_line_key of the order being cancelled, gets deleted, thus releasing the consumed capacity.

To diagnose the problem, verbose level logs for manageCapacityReservation API, createOrder API and changeOrder API were analysed.

On analyzing the manageCapacityReservation API, it was observed that an entry was made into the YFS_RES_POOL_CONSMPTN_DTLS table, confirming that the reservation happened successfully.

However, in the createOrder API logs, no query could be spotted updating the above entry with the corresponding order line key. This brought the focus to the fact that though the capacity was reserved, it was not getting consumed by the order at all.
In the changeOrder API logs, it was observed that the query searching for the specific order line key,
returned zero rows (which was expected as the same row couldn’t be updated with the concerned order_line_key during createOrder API call).
:SQLDEBUG:http-10.7.18.148-7075-6: Executing sql
[Prepared Statement - SELECT /*YANTRA*/ YFS_RES_POOL_CONSMPTN_DTLS.*
FROM YFS_RES_POOL_CONSMPTN_DTLS YFS_RES_POOL_CONSMPTN_DTLS WHERE
ORDER_LINE_KEY = 'yyyymmddHHMMSSXXXXXXXX' [vnegin]: YFCEntityDBHome

This entry thus could not be deleted from the capacity consumption details table. Hence the capacity appeared as consumed in the capacity console window even after cancelling the order.

On further analyzing the createOrder API logs, following entry was found –
#####Map now contains:{SERVICE_QUANTITY=0.0}
This indicated that the capacity was perhaps not configured properly.

Upon checking the provided service configuration under “fixed capacity consumption” tag in SBC, the value of x under the field “A fixed capacity of x hour will be consumed for each quantity of the line” was found to be zero.

Resolving the problem

The value under the field “A fixed capacity of x hour will be consumed for each quantity of the line” under Fixed capacity consumption section in SBC was updated to 1 and tested. The reserved capacity then got consumed and later released successfully upon cancelling the order.

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Sterling Selling and Fulfillment Suite
Distributed Order Management

Software version:

9.2

Operating system(s):

All

Reference #:

1635882

Modified date:

2013-06-30

Translate my page

Machine Translation

Content navigation