NET/MASTER Network Control Language (NCL) Programmer's Guide
Working With KeySequenced Files in a UDB Pair
Working With Files
106160 Tandem Computers Incorporated 12–97
 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
 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
 /* ==================== GET RECORDS ==================== */
 get_records: PROCEDURE SHARE &custfile,&distfile,&id
 /* Get records from UDB pair and display them */
 /* on OCS window */
 &rno = 0; &key = ""
 ASSIGN MDO=&rec. MAP=$NCL
 FILE GET OPT=SEQ UPDATE MDO=&rec.
 SELECT &SYS.FILE.RC
 WHEN 0 THEN DO
 SAY "0 Record retrieved"; &rno = &rno + 1
 SAY "Key is "&SYS.FILE.KEY; &key = &SYS.FILE.KEY
 SAY "Path is "&SYS.FILE.PATH
 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*/
 DO WHILE &SYS.FILE.RC = 0
 ASSIGN VARS=&field* FROM MDO=&rec.
 DO &fno = 1 TO &SYS.VARCNT
 SAY "Field "&fno" is "&field&fno
 END /*do*/
 CALL put_record SHARE &id,&rno,&key,&field*,&rec.
 FILE GET OPT=SEQ UPDATE MDO=&rec.
 SELECT &SYS.FILE.RC
 WHEN 0 THEN DO
 SAY "0 Record retrieved"; &rno = &rno + 1
 SAY "Key is "&SYS.FILE.KEY; &key = &SYS.FILE.KEY
 SAY "Path is "&SYS.FILE.PATH
 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*/










