80 likes | 293 Views
Positioning the File Pointer and calling programs. Fall 2011. SETLL – Positioning the File Pointer. Sequential Access File Positions the file pointer at the first record where the key field is greater than on equal to what’s looked for Must be followed by a READ
E N D
SETLL – Positioning the File Pointer • Sequential Access File • Positions the file pointer at the first record where the key field is greater than on equal to what’s looked for • Must be followed by a READ • Use %FOUND to determine if the record found is greater than or equal to the key field • Use %EQUAL to determine if the record found is exactly the same as the key field that you are looking for
SETLL Example /Free setll *loval custmast; read custmast; /end-free
SETLL – Example /Free setllcustincustmast; if %equal(custmast); exsrvalidcust; else; exsrinvalidcust; endif; /end-free • Custno Note Note_dtls • 1 Customer arrived • 1 2 Customer left • 1 Customer away • If Custin = 1, then the file pointer • for the first record will be returned
SETGT • Sequential Access File • Positions the file pointer at the first record where the key field is greater than what’s looked for • Must be followed by a READ • Use %FOUND to determine if the record found is greater than the key field
Setgt Example /Free setll custin custmast; if %equal(custmast); exsr validcust; else; exsr invalidcust; endif; /end-free • Custno Note Note_dtls • 1 Customer arrived • 1 2 Customer left • 1 Customer away • If Custin = 1, then the file pointer • for the last record will be returned
Calling Programs Code in pgmA Dfullreport PR EXTPGM(‘REPORT’) /free callp fullreport(); Code in pgmB pgmA pgmB No parameters Passed
Calling Programs Code in pgmA Code in pgmB DDtlreport PR EXTPGM(‘REPORT’) Ddtlreport PR D parm1 10A D parm1 10A /free Ddtlreport PI callp Dtlreport(field1); D parm1 10A Code in pgmB pgmA pgmB parameters Passed