NET/MASTER Network Control Language (NCL) Programmer's Guide

Working With KeySequenced Files in a UDB Pair
Working With Files
12–94 106160 Tandem Computers Incorporated
INTCONT
FILE OPEN ID=&id FORMAT=MAPPED MAP=$NCL
SELECT &SYS.FILE.RC
WHEN 0 THEN SAY "0 Read-only access"
WHEN 4 THEN SAY "4 Read and write access"
WHEN 8 THEN SAY "8 Read, write, and delete access"
WHEN 12 THEN SAY "12 No access"
WHEN 16 THEN SAY "16 "&SYSMSG
OTHERWISE
SAY Unexpected error
END /*select*/
END open_file
/* ==================== ADD RECORDS ==================== */
add_records: PROCEDURE SHARE &custfile,&distfile,&id
/* Get records from OCS command input line */
/* and add to UDB pair. */
ASSIGN MDO=&rec. MAP=$NCL
/* Allows you to enter 4 fields for 4 records */
DO &rno = 1 TO 4
DO &fno = 1 TO 4
SAY Enter record &rno field &fno
CMDLINE "-GO ID="&SYS.NCLID _
PAUSE VARS=&field&fno PARSE=NO
END /*&fno do*/
/* Get record key */
SAY Enter record key for record &rno
CMDLINE "-GO ID="&SYS.NCLID _
PAUSE VARS=&key PARSE=NO SEGMENT=6
/* Construct and add record */
ASSIGN MDO=&rec. MAP=$NCL FROM VARS=&field*
SAY "Adding record "&rno" with key "&key" to "&custfile
FILE ADD KEY=&key MDO=&rec.
SAY "Key is "&SYS.FILE.KEY
SELECT &SYS.FILE.RC
WHEN 0 THEN SAY "0 Record added"
WHEN 4 THEN SAY "4 Record exists, not added"
WHEN 8 THEN SAY "8 Error "&SYS.FILE.ERROR
WHEN 16 THEN SAY "16 "&SYSMSG
OTHERWISE
SAY Unexpected error
END /*select*/
END /*&rno do*/
END add_records
/* ==================== CLOSE FILE ==================== */
close_file: PROCEDURE SHARE &custfile,&distfile,&id
/* Close UDB pair from NCL and NonStop NET/MASTER */
SAY "Closing "&custfile &distfile
FILE CLOSE ID=&id
SELECT &SYS.FILE.RC
WHEN 16 THEN SAY "16 Closed"
OTHERWISE
SAY Unexpected error
END /*select*/
INTCMD "UDBCTL CLOSE=("&custfile","&distfile")"
INTREAD
INTCONT