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










