Guardian Programmer's Guide

Table Of Contents
Communicating With Processes
Guardian Programmer’s Guide 421922-014
6 - 39
Programming the Requester
!------------------------------------------------------------
! Procedure to prompt user for input to build a new record or
! update an existing record. When updating, an empty
! response (COUNT^READ=0) means to leave the existing value
! unchanged.
!------------------------------------------------------------
PROC ENTER^RECORD(TYPE);
INT TYPE;
BEGIN
INT COUNT^READ;
INT STATUS;
STRING .NEXT^ADDR;
DEFINE BLANK^FILL(F) =
F ':=' " " & F FOR $LEN(F)*$OCCURS(F)-1 BYTES #;
PRINT^BLANK;
! If inserting a new record, prompt for a part number.
! If updating an existing record, record number is already
! known:
IF TYPE = NEW THEN
BEGIN
SBUFFER ':=' "Enter Part Number: " -> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
BLANK^FILL(REQUEST.PART.PART^NUMBER);
REQUEST.PART.PART^NUMBER ':='
SBUFFER FOR $MIN(COUNT^READ,PARTSIZE);
END;
! If updating a record, copy the part number from the
! record just read:
IF TYPE = OLD THEN
REQUEST.PART.PART^NUMBER ':=' PART^RECORD.PART^NUMBER
FOR PARTSIZE;