-------------------------------------------------------------- Field Type DCT Initial Access Modify Rec Proc PP Monitor -------------------------------------------------------------- VAL LONG No 0 Yes Yes No Yes SELM RECCHOICE Yes 0 Yes Yes No No SELN USHORT No 1 Yes Yes No No SELL INLINK Yes 0 No No N/A No PREC SHORT Yes 0 Yes Yes No No DLY1 DOUBLE Yes 0 Yes Yes No No DOL1 INLINK Yes 0 No No N/A No DO1 DOUBLE No 0 Yes Yes No No LNK1 OUTLINK Yes 0 No No N/A No DLY2 DOUBLE Yes 0 Yes Yes No No DOL2 INLINK Yes 0 No No N/A No DO2 DOUBLE No 0 Yes Yes No No LNK2 OUTLINK Yes 0 No No N/A No DLY3 DOUBLE Yes 0 Yes Yes No No DOL3 INLINK Yes 0 No No N/A No DO3 DOUBLE No 0 Yes Yes No No LNK3 OUTLINK Yes 0 No No N/A No DLY4 DOUBLE Yes 0 Yes Yes No No DOL4 INLINK Yes 0 No No N/A No DO4 DOUBLE No 0 Yes Yes No No LNK4 OUTLINK Yes 0 No No N/A No DLY5 DOUBLE Yes 0 Yes Yes No No DOL5 INLINK Yes 0 No No N/A No DO5 DOUBLE No 0 Yes Yes No No LNK5 OUTLINK Yes 0 No No N/A No DLY6 DOUBLE Yes 0 Yes Yes No No DOL6 INLINK Yes 0 No No N/A No DO6 DOUBLE No 0 Yes Yes No No LNK6 OUTLINK Yes 0 No No N/A No DLY7 DOUBLE Yes 0 Yes Yes No No DOL7 INLINK Yes 0 No No N/A No DO7 DOUBLE No 0 Yes Yes No No LNK7 OUTLINK Yes 0 No No N/A No DLY8 DOUBLE Yes 0 Yes Yes No No DOL8 INLINK Yes 0 No No N/A No DO8 DOUBLE No 0 Yes Yes No No LNK8 OUTLINK Yes 0 No No N/A No DLY9 DOUBLE Yes 0 Yes Yes No No DOL9 INLINK Yes 0 No No N/A No DO9 DOUBLE No 0 Yes Yes No No LNK9 OUTLINK Yes 0 No No N/A No DLYA DOUBLE Yes 0 Yes Yes No No DOLA INLINK Yes 0 No No N/A No DOA DOUBLE No 0 Yes Yes No No LNKA OUTLINK Yes 0 No No N/A No --------------------------------------------------------------
----------------------------------------------------------------------------------------------- Name Summary Description ----------------------------------------------------------------------------------------------- VAL Value Field Not used. SELM Select Mechanism: SELECT_ALL: Select all links SELECTED: Use SELN as index (1 to 6) MASK: Use SELN as a mask to select an arbitrary combination of links. SELN Link Selection If SELM=SELECT_ALL then this field is not used. If SELM=SELECTED then this is the index (1 to 6) of the link to select. If SELM=MASK then this is the mask (in decimal) used to determine the selected links. For example, if SELN=1, then LNK1 will be processed. If SELN=3 then LNK1 and LNK2 will be processed. If SELN=63 then links LNK1, LNK2, ... LNK6 will be processed. SELL Link Selection SELN is read from SELL. SELL can be a constant, a Location database link, or a channel access link. PREC Display Precision Precision with which to display DLY1-DLYA and DO1- DOA fields. This field is used by record support to supply a value when get_precision is called. DLY1-DLYA Delay time This represents the delay time (in seconds) to wait before processing the input and output link pair (ie. DOLn and LNKn.) DOL1-DOLA Input link selection DO is read from DOL. DOL can be a constant, database link or channel access link. If it is a constant, it is only copied to the DO field once at initialization time. Otherwise, it is re-fetched each time the record is processed. DO1-DOA Desired output This field holds the desired output value that will be value placed in the output location indicated by the LNK field. LNK1-LNKA Output link field DO is written to LNK. LNK can be a database link or a channel access link. -----------------------------------------------------------------------------------------------
First, PACT is set to TRUE, and the link selection is fetched. Depending on the selection mechanism, the link selection output links are processed in order from LNK1 to LNKA. When LNKn is processed, the corresponding DLYn value is used to generate a delay via watchdog timer.
After DLYn seconds have expired, the input value is fetched from DOn (if DOLn is constant) or DOLn (if DOLn is a database link or channel access link) and written to LNKn.
When all links are completed, an asynchronous completion call back to dbProcess is made (see the Application Developer's Guide for more information on asynchronous processing.)
Then UDF is set to FALSE.
Monitors are checked.
The forward link is scanned, PACT is set FALSE, and the process routine returns.
For the delay mechanism to operate properly, the record is processed asynchronously. The only time the record will not be processed asynchronously is when there are no non-NULL output links selected (ie. when it has nothing to do.) The processing of the links is done via callback tasks at the priority set in the PRIO field in dbCommon (see the Application Developer's Guide for more information on callback tasks.)