I would like to know whether or not the Tickler File can contain other fields besides the key for the database root key. I would like to use the Automatic input of an IMS database using the tickler file but would like to include some other data on the record which once the IMS record was found, I could compare some fields between the file and the database segment.
Yes, additional fields can be added to the tickler file. For instance:
...
//KEYS DD *
023003806 SWITCH
023007228 NNNNNNN
023009228 CAPACITOR
023009270 HOUSING
//SYSIN DD *
FILE DLIFILE DLI(DI21PART 1)
*
RECORD PARTROOT 50 KEY(PARTKEY 1 17)
PARTKEY 1 17 A
PART-NUMBER 1 17 A
PART-DESC 27 24 A
*
FILE KEYS
T-KEY 1 17 A
T-DESC 20 24 A
*
*----------------------------------------------------------------------*
JOB INPUT (DLIFILE) NAME MYPROG
*
RETRIEVE DLIFILE +
KEYFILE KEYS +
KEYVALUE T-KEY +
SELECT (PARTROOT)
*
IF T-DESC = PART-DESC
DISPLAY 'PARTKEY___' PARTKEY ' PARTDSC___' PART-DESC
END-IF
*
/*
...
The result without the blue part is:
...
PARTKEY___023003806 PARTDSC___SWITCH
PARTKEY___023007228 PARTDSC___HOUSING
PARTKEY___023009228 PARTDSC___CAPACITOR
PARTKEY___023009270 PARTDSC___HOUSING
...
all 4 keys from the KEYS input are displayed as expected...
Executing the entire source above, with the blue part, then the result is:
...
PARTKEY___023003806 PARTDSC___SWITCH
PARTKEY___023009228 PARTDSC___CAPACITOR
PARTKEY___023009270 PARTDSC___HOUSING
...
as expected - only three lines because "NNNNNNN" is not equal to "HOUSING ".