View
222
Download
0
Category
Preview:
DESCRIPTION
Fun with Functions ILEFUNCT
Citation preview
Any Questions!
Agenda
• Fun with Functions • Externally Described Files• Condition Names• Iteration• Logical Files• Random Reads
Fun with Functions
ILEFUNCT
Condition Names
• Used with Code Fields– Eg. ARE-THERE-MORE-RECORDS– Eg. FINAL-GRADE– Eg. Indicators
Condition Names01 ARE-THERE-MORE-RECORDS PIC X(3) VALUE ‘YES’.
88 THERE-ARE-MORE-RECORDS VALUE ‘YES’.88 END-OF-FILE VALUE ‘NO’.
IF THERE-ARE-MORE-RECORDSREAD EMPLOYEE-FILE.
IF END-OF-FILEPERFORM TERMINATION-RTN.
Set Verb
• Used to initialize fields to a Condition-Name.01 ARE-THERE-MORE-RECORDS PIC X(3).
88 THERE-ARE-MORE-RECORDS VALUE ‘YES’.88 END-OF-FILE VALUE ‘NO’.
SET END-OF-FILE TO TRUE.
Conditions Cont’d01 WORK-DAYS PIC X(3).
88 MONDAY VALUE ‘MON’.88 TUESDAY VALUE ‘TUE’.88 WEDNESDAY VALUE ‘WED’.88 THURSDAY VALUE ‘THU’88 FRIDAY VALUE ‘FRI’.
SET MONDAY TO TRUE.IF FRIDAY
DISPLAY ‘GO HOME EARLY’.
Conditions Cont’d01 FALL-MONTHS PIC X(3).
88 SEPTEMBER VALUE ‘SEP’.88 OCTOBER VALUE ‘OCT’.88 NOVEMBER VALUE ‘NOV’.88 DECEMBER VALUE ‘DEC’.
IF OCTOBERDISPLAY ‘HAPPY HALLOWEEN!!’
SET DECEMBER TO TRUE.
Option Indicators and Conditions01 WS-indicators.
05 IN90 INDICATOR 90 PIC 1.88 display-message value B’1’.88 dont-display-message value B’0’.
Set display-message to true.Set dont-display-message to true.If display-messageIf don’t-display-messageIf not display-message
Response Indicators and Conditions
01 WS-Control.05 ws-function-key pic x(2).
88 F3 value ’03’88 F12 value ’12’.88 Enter value ’00’
05 ws-device-name pic x(10).05 ws-record-format pic x(10).
If F3If not F3
Iteration
Looping
BASIC Perform Statement
PERFORM (paragraph-name)
Basic PERFORM
READ Emp-FilePERFORM DSP-RtnSTOP RUN
DSP-RTNmove emp-in to emp-out.
write dsp-record format is ‘SCREEN’. read dsp-file record.
PERFORM Until
PERFORM paragraph-nameUNTIL Condition
PERFORM Until
ConditionMet?
Execute Program
Statements
NO
YES
PERFORM Until
READ Emp-File AT END Move ‘YES’ TO EOF.
PERFORM Dsp-Rtn UNTIL EOF = ‘Y’
STOP RUN
DSP-RTNmove emp-in to emp-out.write dsp-record
format is ‘SCREEN’. read dsp-file RECORD. read emp-file
at endmove ‘YES’ to EOF.
PERFORM X Times
PERFORM (paragraph-name) THROUGH/THRU (paragraph-name)(integer/variable) TIMES
PERFORM X Times
Number ofTimes Met?
Execute Program
Statements
NO
YES
PERFORM X Times
READ Emp-File AT END Move ‘YES’ TO EOF.
PERFORM Dsp-Rtn 5 TIMES
STOP RUN
DSP-RTNmove emp-in to emp-out.write dsp-record
format is ‘SCREEN’.
read dsp-file record.
PERFORM With Test After
PERFORM (paragraph-name) THROUGH/THRU (paragraph-name)WITH TEST AFTERUNTIL Condition
PERFORM With Test After
Condition Met?
Execute Program
Statements
NO
YES
PERFORM With Test After
READ Emp-File AT END Move ‘YES’ TO EOF.
PERFORM Dsp-Rtn WITH TEST AFTERUNTIL EOF = ‘Y’
STOP RUN
DSP-RTNmove emp-in to emp-out.
write dsp-record format is ‘SCREEN’. read dsp-file record. read emp-file
AT ENDMOVE ‘YES’ TO
EOF.
PERFORMs within PERFORMs
READ Emp-File AT END Move ‘YES’ TO EOF.
PERFORM DSP-Rtn UNTIL 5 TIMES
STOP RUN
DSP-RTNMOVE EMP-IN TO EMP-OUT.PERFORM Write-Rtn
Iteration Statement to Use?
• Perform Until– Tests for the condition first– Statements are executed only if the condition is
true• Perform With Test After
– tests for the condition last– Statements are always executed at least once
Iteration Statement to Use?
• Perform X Times– Use this when you know the number of times
the paragraph(s) are to be executed.
Sorting Data
Using Access Paths
Physical Files vs Logical Files
EMPLOYEEPF *FILE
EMPLOYEE *FILE
Physical Files or Logical Files?
Externally Described Files
• Select Statement when physical/logical file has a key.
SELECT Cobol-file-nameASSIGN TO database-actual-file-name[ORGANIZATION IS INDEXED][ACCESS MODE IS SEQUENTIAL] RECORD KEY is data-element.(data-element could be EXTERNaLLY-DESCRIBED-KEY)
Externally Described Files
• Copying the record layout.
FD Cobol-file-name.01 Cobol-Record-Name.COPY DD-actualrecordname OF actualfilename.
(DD can be replaced by DDS if you require the 10 char field names instead of the aliases)
Handy Physical File Commands
DSPPFM – Display Physical File MemberDisplays the contents of a Physical File in arrival sequence.
DSPFD – Display File DescriptionInformation about the file – eg access path.
DSPFFD – Display File Field DescriptionDisplays the fields in the file.
Random Reads
• Used to retrieve a record based on the value of a key field
• Need an access path sorted by the key field needed
• Select statement changes
Defining a Random Access File
SELECT Employee-FileASSIGN to DATABASE-EMPPFORGANIZATION is INDEXEDACCESS MODE is RANDOMRECORD KEY is
EXTERNALLY-DESCRIBED-KEY(with duplicates).
Random Reads• If the key field to EMPPF is the Employee-
Number then:Move 1 to Employee-Number.Read Employee-File
Invalid KeyMove ‘Error’ to Employee-Name-Out
Not invalid key Move Employee-Name to Employee-Name-
outEnd-Read.
Validating the Province Code
Database object: PROVINCES
Recommended