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

Working With KeySequenced Files in a UDB Pair
Working With Files
106160 Tandem Computers Incorporated 12–93
SAY "Field "&fno" is "&field&fno
END /*do*/
FILE GET OPT=SEQ MDO=&rec.
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
/* ==================== CLOSE FILE ==================== */
close_file: PROCEDURE SHARE &distfile,&id
/* Close file from NCL and NonStop NET/MASTER */
SAY "Closing "&distfile
FILE CLOSE ID=&id
SELECT &SYS.FILE.RC
WHEN 16 THEN SAY "16 Closed"
OTHERWISE
SAY Unexpected error
END /*select*/
INTCMD "UDBCTL CLOSE="&distfile
INTREAD
INTCONT
END close_file
END zex1212n
Example—Adding Records to a UDB Pair
The following NCL procedure adds four records to a UDB pair:
zex1213n: PROCEDURE
/* Adds records to a UDB pair */
IF &1 = "" OR &2 = "" THEN DO
SAY "Must enter two file names"
EXIT
END /*do*/
ELSE
&custfile = &1
&distfile = &2
&id = UDBPAIR
CALL open_file SHARE &custfile,&distfile,&id
CALL add_records SHARE &custfile,&distfile,&id
CALL close_file SHARE &custfile,&distfile,&id
EXIT
/* ==================== OPEN FILE ==================== */
open_file: PROCEDURE SHARE &custfile,&distfile,&id
/* Open UDB pair for NonStop NET/MASTER and NCL */
SAY "Opening "&custfile &distfile
INTCMD "UDBCTL OPEN=("&custfile","&distfile") ID="&id
INTREAD