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

The Structure of Mapped Data Object (MDO) Variables
Working With Mapping Services
10–24 106160 Tandem Computers Incorporated
The following MSGPROC NCL procedure reads a message, assigns values to fields in
an element that can be repeated, and displays the modified message on an OCS
window:
zex1009n: PROCEDURE
/* MSGPROC procedure to display fields */
DO FOREVER
MSGREAD VARS=&word*
IF &word1 = "TEST" THEN DO
&$msg.msgattr.fld{1}.offset = 8
&$msg.msgattr.fld{1}.length = 8
&$msg.msgattr.fld{1}.color = "TURQUOISE"
&$msg.msgattr.fld{1}.hlite = "BLINK"
&$msg.msgattr.fld{1}.intens = "HIGH"
&$msg.msgattr.fld{2}.offset = 17
&$msg.msgattr.fld{2}.length = 7
&$msg.msgattr.fld{2}.color = "BLUE"
&$msg.msgattr.fld{2}.hlite = "NONE"
&$msg.msgattr.fld{2}.intens = "NORMAL"
SAY "&$MSG.TEXT is "&$msg.text
SAY "&$MSG.MSGATTR.DISPLAY.COLOR is "&$msg.msgattr.display.color
SAY "&$MSG.MSGATTR.DISPLAY.HLITE is "&$msg.msgattr.display.hlite
SAY "&$MSG.MSGATTR.DISPLAY.INTENS is "&$msg.msgattr.display.intens
DO &i = 1 TO 2
SAY "&$MSG.MSGATTR.FLD{"&i"}.OFFSET is "&$msg.msgattr.fld{&i}.offset
SAY "&$MSG.MSGATTR.FLD{"&i"}.LENGTH is "&$msg.msgattr.fld{&i}.length
SAY "&$MSG.MSGATTR.FLD{"&i"}.COLOR is "&$msg.msgattr.fld{&i}.color
SAY "&$MSG.MSGATTR.FLD{"&i"}.HLITE is "&$msg.msgattr.fld{&i}.hlite
SAY "&$MSG.MSGATTR.FLD{"&i"}.INTENS is "&$msg.msgattr.fld{&i}.intens
END
SAY "&$MSG.MSGATTR.ALARM is "&$msg.msgattr.alarm
SAY "&$MSG.SOURCE.TIME is "&$msg.source.time
SAY "&$MSG.SOURCE.USER is "&$msg.source.user
MSGCONT
END
ELSE
MSGCONT
END
END zex1009n
The NCL procedure uses a DO loop to display the elements that are repeated—two in
this example—using a variable as the integer index.