Check On Hand Quantity in EnterpriseOne

Purpose of Document

The audience for this note is someone with developer level knowledge.

In EnterpriseOne, some of the inventory transaction routines check On Hand Quantity.  Others do not check On Hand Quantity. This document restricts transactions which is calling XT4111Z1 - Inventory Transaction in E1. Hence there can be more application which check On Hand Quantity but all these routine are not written through mentioned business function.

Below are list of inventory transactions and it's implementation:

Trans

Application

Check?

Others

1 P4112 - Inventory Issues 1  
2
8
16
P4114 - Inventory Adjustments
P4242 - Transfer Order Processing
P49660 - Disposition Loads
1  
3
12
P4113 - Inventory Transfers
P4116 - Item Reclassifications
1  
4 P4312 - PO Receipts
P4314 - Voucher Match
P43253 - Routing Disposition
P43250 - Receipt Routing Movement and Disposition
  Not In Routing (To Stock)
5, 13 P4205 - Shipment Confirmation
R42800 - Sales Update
   
6
7
R41413 - Cycle Count Update
R41610 - Tag Inventory Update
   
9
10
P31112 - obsolete object
P31114 - Work Order Completions
1 Work order completion
11 P31113 - Work Order Inventory Issues
P31114 - Work Order Completions
1 Work order Inventory Issue
14 P4205 - Shipment Confirmation
R42800 - Sales Update
   
15 P4312 - PO Receipts
P4314 - Voucher Match
P43253 - Routing Disposition
P43250 - Receipt Routing Movement and Disposition
  In Routing
17 Transportation Compartment - Based Load 1  
19 Manufacturing Variance Sales Order    
20 DFM - Completion   Completion
21 DFM - Issue   Issue

Note: Some transactions are obsolete (e.g., P31112) Same type of transaction was grouped together so even transaction defined is obsolete same routine take place.

As internal BSFN name implies, there are two different routines,

When is Check Quantity On Hand Performed?

cAllowQtyOverAvailable is NOT TRUE (i.e., Disallow Negative On Hand Quantity is ON)
AND nTransaction IN (1, 2, 3, 8, 9, 10, 11, 12, 16, 17)

When is Check Quantity Available Performed?

When nTransaction IN (4, 5, 13, 6, 7, 14, 15, 19, 20, 21)
AND F4102.CKAV (or F4101.CKAV) = 'Y'

Note:

What is detail the routine for IXT4111Z1_CheckQtyOnHand()?

A. If there is record for itm, mcu, locn (and not location created on the fly) from F41021 - Item Location then mnQuantity = mnQuantity + F41021.PQOH
B. if F41UI001.TQOH(Total Primary on Hand) < 0 AND mnQuantity <0 (in A) Set ERROR 1557 (if it is MPM part set error 0855)

What is the detail routine for IXT4111Z1_CheckQtyAvailable()?

Call BSFN CalculateQuantityAvailable for details reference E1: 42: Inventory Commitments In Sales (Doc ID 625559.1).
If quantity available < 0 set error 0855.

Note: