NET/MASTER Network Control Language (NCL) Programmer's Guide
Working With Single Key-Sequenced Files
Working With Files
12–76 106160 Tandem Computers Incorporated
SAY "Field "&fno" is "&field&fno
END /*do*/
CALL put_record SHARE &filename,&id,&key,&field*
FILE GET KEY=&key UPDATE VARS=&field*
SELECT &SYS.FILE.RC
WHEN 0 THEN DO
SAY "0 Record retrieved"
SAY "Key is "&SYS.FILE.KEY
END /*do*/
WHEN 4 THEN SAY "4 Record not found or EOF"
WHEN 8 THEN SAY "8 Error "&SYS.FILE.ERROR
WHEN 16 THEN SAY "16 "&SYSMSG
OTHERWISE
SAY Unexpected error
END /*select*/
END /*do while*/
END get_records
/* ==================== PUT RECORD ==================== */
put_record: PROCEDURE SHARE &filename,&id,&key,&field*
/* Updates a record and adds to a file */
&answer = N
SAY "Update record? (Y/N) Default=N"
CMDLINE "-GO ID="&SYS.NCLID
PAUSE VARS=&answer PARSE=NO SEGMENT=1
IF UPPER(&answer) = Y THEN DO
DO &fno = 1 TO 4
SAY Enter record &key field &fno
CMDLINE "-GO ID="&SYS.NCLID
PAUSE VARS=&field&fno PARSE=NO
END /*&fno do*/
FILE PUT KEY=&key VARS=&field*
SELECT &SYS.FILE.RC
WHEN 0 THEN SAY "0 Record updated"
WHEN 8 THEN SAY "8 Error "&SYS.FILE.ERROR
WHEN 16 THEN SAY "16 "&SYSMSG
OTHERWISE
SAY Unexpected error
END /*select*/
END /*do*/
&key = &key + 1
RETURN &key
END put_record
/* ==================== CLOSE FILE ==================== */
close_file: PROCEDURE SHARE &filename,&id
/* Close file from NCL and NonStop NET/MASTER */
SAY "Closing "&filename
FILE CLOSE ID=&id
SELECT &SYS.FILE.RC
WHEN 16 THEN SAY "16 Closed"
OTHERWISE
SAY Unexpected error
END /*select*/
INTCMD "UDBCTL CLOSE="&filename
INTREAD
END close_file
END zex1208n