1. Home
  2. Knowledge Base
  3. Optional Special User Functions
  4. Optional Special User Functions: Special User Feature – Stock Group Adjustment

Optional Special User Functions: Special User Feature – Stock Group Adjustment

Special User Feature – Stock Group Adjustment

Stock Group Adjustment

This special user feature is available in open source form in OpenVision.lbs.

This Special User Feature consists of 1 schema/table class, 3 window classes and 2 report classes.

Schema/Table: DYNFILE hold group quantity and other data.
Window: wOptLengthMaint is provided for creation and maintenance of Stock Group records. It is this class that needs to be entered in the Settings as a Special Function.
Window: wOptLengthPrint is provided for report printing and is opened by the Print button on the maintenance window.
Window: wOptLengthAdjust
is provided for in-process group quantity adjustment and is normally automatically opened from within the $PostStockTransaction method of oCustom1.
Report: rOptLengthList
Report: rOptLengthStatus

Note NOTE: Although the classes are all available in open source form in OpenVision.lbs, any customisation of them will inevitably lead to them diverging from the standard supported classes.

Customisation CUSTOM CAPABILITY: For the window to semi-automatically maintain group quantities, the $StockTransaction and $PostStockTransaction methods in oCustom1 requires the addition of special code. The following example code is appropriate for $StockTransaction:

If not(pos(pMoveType,'ABCDEFGHIJN')&(int(1000*pQtyIntoPhysical)<>0))
 Quit method kTrue
End If
If isclear(pPtmRow.PTMSEQ)
 Quit method kTrue
End If
If not(mid(PTMPTNO,1,1)='$')&(mid(PTMPTNO,4,1)<>'0')
 ;This IF logic determines which parts Group Lengths apply to.
 Quit method kTrue
End If
Calculate lRow as row(pQtyIntoPhysical,pPtmRow,pSthRow)
Do pPostTransList.$add('DYNFILE',lRow)
Quit method kTrue

With the following example code appropriate for $PostStockTransaction which will open the window for each movement encountered during the stock transaction (note that it a dangerous practise to have user entry within a serializable transaction):

If pPostTransList.[pLineNo].Name='DYNFILE'
 Calculate lRow as pPostTransList.[pLineNo].DataRow
 Do $windows.wOptLengthAdjust.$openonce('',kWindowCenter,lRow.C1,lRow.C2,lRow.C3)     ;; #F set kFalse if errors
End If

The window cannot be closed until an Ok is operated. When the window opens and no Group Lengths file record is found for the part, an error message will be presented and the window will be closed.



Part Number

Part Group Quantities. Part Number – inner join to PTMPTNO. {DYNFILE.DYNPTNO char 18}

Part Description

Parts Master. Part description. {PTMFILE.PTMDESC char 30}


Part Group Quantities. User Reference. {DYNFILE.DYNUSER char 10}

Store Location

Parts Master. Stores single or preferred location. {PTMFILE.PTMSLOC char 8}

Stock Units of Measure

Parts Master. Standard stock unit of measure. {PTMFILE.PTMSTUM char 6}

Transfer Quantity if any

The movement quantity in stock units of measure, if any.

Physical Stock (after transaction)

Parts Master. Inventory physical quantity. {PTMFILE.PTMPHYQ number 3dp}

Group Units of Measure

Part Group Quantities. Group Unit of Measure (UoM). {DYNFILE.DYNUNIT char 6}

Group Multiplier

Part Group Quantities. Group UoM Multiplier. {DYNFILE.DYNMULT number 4dp}

Group Units

Part Group Quantities. Group Unit of Measure (UoM). {DYNFILE.DYNUNIT char 6}

Current Quantity

The current group quantities.

Subtract Quantity

Enter a quantity removed from stock as part of the transaction.

Add Quantity

Enter a quantity added to stock as part of the transaction.

Result Quantity

The group quantities that will be saved when the transaction is confirmed.

Total Group Qty

Total resulting quantity of length units.

Calculated Total Stock Qty

Total resulting calculated physical equivalent in stock units of measure.




To revert any changes to the previously saved version.


The OK button updates the data you have entered, or confirms the selection and/or processes the function you have called.

Customisation CUSTOM CAPABILITY: This is a customisation class which is provided in open-source form within your OpenVision.lbs library. It may have been originally developed for a specific Caliach Vision user and may be highly specific to their data. It is not covered by normal customer support.

See also: –

Compiled in Program Version 5.10. Help data last modified 14 Jul 2016 05:35:00.00. Class wOptLengthAdjust last modified 10 Oct 2017 11:48:28.

Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support

Get started.

Try our state-of-the-art ERP Manufacturing Software today.