How to Support User Defined Inventory Transaction Source Types In Install Base (Doc ID 396257.1)

Last updated on SEPTEMBER 06, 2016

Applies to:

Oracle Installed Base - Version 11.5.9 to 12.1.3 [Release 11.5 to 12.1]
Information in this document applies to any platform.
***Checked for relevance on 01-Aug-2016***


This datafix has been approved by development for customer consumption on 13/Feb/2012.

IMPORTANT: The information contained in this document may contain omissions, inaccuracies or other errors. It is provided "as is" and without warranty. Oracle does not warrant that the information in the materials is up to date or error free, nor does it provide any other warranties, whether expressed or implied in law, including the implied warranties of merchantability or fitness for a particular purpose. The materials are not a program or documentation under the terms of your license agreement(s) with Oracle.
In no event shall Oracle be liable for any direct, indirect, incidental, special or consequential damages, or damages for loss of profits, revenue, data or use, incurred by you or any third party, whether in an action in contract or tort, arising from your access to, or use of, this information.

If you have any questions or concerns please contact Oracle Support before running the script.

In Inventory it is possible to create user-defined transaction types and user-defined transaction source types. The transaction types have to be associated to a transaction action code (eg. Receipt into Stores). When an item is trackable in Install Base it would be expected that a transaction in inventory for that item also updates install base.

Out of the box user-defined transaction types are supported by Install Base, as long as they are associated to a seeded Transaction source type (and action code). When the transaction type is associated to a user-defined transaction source type, the transaction will not update Install Base. The reason for that is that install base cannot know what kind of transaction it is - the code handles each transaction type differently (ie submit an SFM message type based on the combination of transaction action code and source type). However, a client extension has been provided within the standard code that allows adding of custom code to support user-defined transaction source types. The name of the client extension is CSI_CLIENT_EXT_PUB.mtl_post_transaction.  This procedure is defined by $CSI_TOP/patch/115/sql/csiclexb.pls

When an Install Base trackable item is transacted in inventory, INV_TXNSTUB_PUB takes care of the call to CSI_INV_TXN_HOOK_PKG.postTransaction, which submits the SFM messages to create the IB transactions. This CSI procedure handles all seeded transaction types currently supported by Install Base. When a transaction type is not supported by this package, it calls CSI_CLIENT_EXT_PUB.mtl_post_transaction to see if there is any custom code defined that handles it.

This note is to provide an example how to add code to this client extension to support a user-defined transaction.


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms