Guardian Programmer's Guide

Table Of Contents
Writing a Server Program
Guardian Programmer’s Guide 421922-014
22 - 50
The Order-Query Server ($SER3)
STRING PARAM[0:529]; !parameter string
END;
INT MESSAGE^LEN; !length of Startup message
!Message received from requester. Contains a part number:
STRUCT ORDER^QUERY;
BEGIN
STRING ORDER^NUMBER[0:27]; !28-digit order number
END;
!Message returned to requester. Contains order record
!information obtained from the orders file:
STRUCT .ORDER^REC;
BEGIN
STRING ORDER^NUMBER[0:27]; !28-digit order number
STRUCT NAME; !customer's name
BEGIN
STRING LAST[0:19];
STRING FIRST[0:19];
STRING INITIAL[0:1];
END;
STRING ADDRESS[0:47]; !customer's street address
STRING CITY[0:23]; !city name
STRING ZIP[0:7]; !customer's zip code
STRING CCN[0:15]; !customer's credit-card
! number
STRING PART^NUMBER[0:9]; !part number of item ordered
STRING PART^DESC[0:47]; !description of item ordered
INT QTY^ORDERED; !quantity of item ordered
INT DATE^ORDERED[0:2]; !date that the order was
! placed
INT SHIPPED[0:2]; !date order shipped to
! customer
STRING SHIPPING^STATUS[0:1]; !status of order
END; ! supplier
!Data structure for the opener table:
STRUCT .OPENER^TABLE; !information about who has
BEGIN ! the server open
INT CURRENT^COUNT; !how many requesters have
! this server open
STRUCT OCB[1:MAX^OPENERS]; !one entry for each opener
BEGIN
!Process handle of an opener:
INT PROCESS^HANDLE[0:9]; !process handle of opener
INT RESERVED^HANDLE[0:9]; !reserved, filled with -1
INT FILE^NUMBER; !file number used by opener