IBM Support

How to prevent transaction CREATE_ORDER_INVOICE.0003 for return order placed on hold in Sterling Order Management

Question & Answer


Question

How do you prevent transaction CREATE_ORDER_INVOICE.0003 from executing when the Return Order has hold applied to it in IBM Sterling Order Management?

Cause

You do not want the Return Order to be invoiced until the hold is resolved.

Answer

With current Out of the Box ( OOB) configuration, the transaction CREATE_ORDER_INVOICE.003 cannot be prevented when the Return Order has been placed on hold. This is because the flag This Transaction Can be Stopped From Processing Orders That  Are on Hold is not selected for this transaction. You cannot enable this flag (grayed) for the transaction CREATE_ORDER_INVOICE.0003. You will have to create a completely new transaction (use Do not derive from abstract transaction) and customize it ahead by writing a custom class for restricting the Invoice being created for orders placed on hold.

Suggestions to customize :

  1. Create a new transaction by keeping the flag This Transaction can be stopped from processing Orders that are on hold as checked in the Others Tab.

  2. Write a a custom class for restricting the Invoice being created on order if this hold is present.
    Use class YCPTaskQueueAgent and interfaces YFSStatusDefns, YFSAPILiterals for extending and implementing the custom class.

  3. After creating a class give the name of the class with the package hierarchy in the field This transaction is time triggered (an agent) Java Class under Time Triggered Tab.

  4. Ensure Pick Statuses and Drop Statuses are taken care before running the agent.

  5. Next, configure Agent Criteria Definitions and run the agent.
    Once the agent runs and condition gets satisfied your order will not be invoiced till the hold exist on the order.


Please make sure you are not running out of the box CREATE_ORDER_INVOICE.003 agent when you are running above custom agent.

NOTE: Running command like the following is not recommended to change OOB configuration as it may lead to unknown consequences:

  • update yfs_transaction set hold_type_enabled = 'Y', hold_prevention_level = 'ORDER' where tranid = 'CREATE_ORDER_INVOICE.0003'

Additional Information:
Orders can be placed on hold manually or automatically, by applying a particular hold type.
Certain transactions can be configured to not process documents that are on a given hold. Likewise, modification types can be configured to not process documents that are on a given hold. By default, all transactions and modification types are allowed to process all documents for all hold types.

The transactions that can be prevented from processing orders on a given hold type have the checkbox "This Transaction Can Be Stopped From Processing Orders That Are On Hold" checked (for example Close Return transaction) in the others tab of the transaction details. This clearly tells that not all transactions will have this flag set to Y.

Related Information

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

Document Information

Modified date:
11 February 2020

UID

swg21668552