Trail: PROIV Documentation > Developer > PROIV Developer > Developing Functions > Events and Logic > STEP
|
|
Purpose
|
STEP branches to a specified step label within a logic routine.
|
Syntax
|
STEP step-number
|
Operation
|
step-number is the number of the step to which control is to be passed (1 to 99) or a variable or expression representing the number.
|
Remarks
|
After the statement or block with the step is executed, the logic routine exits, unless another step is called or branched to.
If step-number does not equal a step defined for the logic routine, the STEP statement is ignored.
|
Example 1
|
STEP 2
:1 IF A = B THEN STEP 3;
STEP #X
:2 #X = 4
STEP 1
:3 $D = 'DEF'
:4 $E = 'GHI'
Step 2 is branched to.
X is set to 4. Step 1 is branched to.
If the condition A = B is true, step 3 is branched to
If the condition A = B is false, the next sequential statement STEP X is executed and, as X has been set to 4, this causes a branch to Step 4.
Step 3 $D is set to 'DEF'.
The logic routine is exited.
Step 4 $E is set to 'GHI'.
The logic routine is exited.
|
Example 2
|
STEP #TRAN
:1 YTD = YTD + AMOUNT
BAL = BAL + AMOUNT
:2 BAL = BAL - AMOUNT
:3 YTD = YTD + AMOUNT
This logic calculates an outstanding balance, BAL, and year-to-date amount, YTD.
For a transaction, the variable AMOUNT contains the amount of the transaction.
#TRAN indicates the type of transaction being processed and can have one of the
following values:
1. for a new credit order; AMOUNT must be added to both the outstanding balance and the year-to-date amount.
2. for a payment; AMOUNT must be subtracted from the outstanding balance.
3. for a new cash order; AMOUNT must be added to the year-to-date amount.
|
|
Using STEP should be limited; it can produce disjointed code that is difficult to read. Consider using the IF THEN ELSE ENDIF construct or CASE logic statement instead.
|
Comment on this topic
Topic ID: 520119