SELECT ILF Statement
Release 5.0.0 of APPX implements the SELECT ILF statement.
SELECT
The SELECT statement allows the access path of in input process to be changed dynamically. The structure of the statement is:
SELECT AAA FILENAME KEY IS _____________________________
The application and file name must be specified, even though this statement is relevant only for the Process Control File (PCF). SCAN is available for the key field name, and only defined keys are presented as options.
One reasonable use for the SELECT statement would be to facilitate access path switching by users, without them having to use F3 (SELECT ACCESS PATH), and perhaps in that way limiting which keys they can select. Note that the SELECT statement does not force KEY ENTRY phase, so, without further coding, a user not in KEY ENTRY would see no immediate change in view. It would seem that a valuable use would be to redisplay a scrolling screen using an alternate key, and to do so, the above defined PUSH and POP statements come in very handy. Here's an example:
The file is called TEST42. The primary key is TEST42 ID NO.. Alternate keys are defined as TEST42 CATEGORY and TEST42 REGION. The screen has three buttons defined, linked to User Option 1, 2, and 3. The Option Intercept Event Point contains the following code:
* First, we disable the SELECT ACCESS PATH option (F3)
IF --- OPTION EQ SELECT ACCESS PATH
T SET --- OPTION =
* Next, use the SELECT statement to set the desired path
IF --- OPTION EQ USER 1
T SELECT TST TEST42 KEY IS TEST42 CATEGORY
F IF --- OPTION EQ USER 2
FT SELECT TST TEST42 KEY IS TEST42 REGION
FF IF --- OPTION EQ USER 3
FFT SELECT TST TEST42 KEY IS TEST42 ID NO
FFF END
* Ignore these buttons if pushed in ADD mode
IF --- MODE EQ ADD
T END
* Now, push the options into the stack to switch into KEY ENTRY
* and redisplay the records (remember, last in, first out)
SET --- OPTION = RETURN
PUSH --- OPTION FIELD
*
IF --- MODE EQ DELETE
T SET --- OPTION = DELETE MODE
F IF --- MODE EQ CHANGE
FT SET --- OPTION = CHANGE MODE
FF SET --- OPTION = INQUIRE MODE
PUSH --- OPTION FIELD
Finally, just add one line of code to Pre-Display:
POP --- OPTION FIELD
Also related to this new statement is a new Pre-Defined Field called --- ACCESS PATH. As one might assume, the field contains the value of the current access path for the Process Control File. The field may be viewed, but not changed via ILF code (that is to say, an ILF statement to SET --- ACCESS PATH to a specified value will be ignored).
Limitations:
Comments:
Read what other users have said about this page or add your own comments.
--
SteveFrizzell - 01 Oct 2008