GASS Operations
Thanks you very much for using MSI.
TABLES
TABLES ARE ONE OF GASS'S UNIQUE AND POWERFUL DATA STRUCTURES, SO SOME
EXPLANATION AND STUDY OF THEIR USAGE IS CALLED FOR.
TABLES ARE ESSENTIALLY ONE-DIMENSIONAL ARRAYS OF DATA ON THE DISK. THEY
ARE ADDRESSED BY TABLE NUMBER (OP.81) AND ROW NUMBER (OP.51 TO WRITE; OP.38
TO READ), AND BY THE FORMAT SPECIFIED WHEN THEY ARE ACCESSED. TABLES MAY BE
WRITTEN TO, READ FROM, ADDED TO, OR SEVERAL OTHER THINGS MAY BE DONE WITH
THEM. A REVIEW OF THE TABLES OPERATIONS, PARTICULARLY OP 113 WITH ITS SEARCH
TYPES WILL SUGGEST SOME OF THE THINGS THAT MAY BE DONE USING TABLES.
TABLES ARE CREATED AT THE TIME THAT THEY ARE FIRST WRITTEN INTO - UNTIL
THAT TIME THEY DO NOT EXIST. ALL DATA STORED IN TABLES MUST BE ACCESSED AND/OR
UPDATED VIA REPORTS WHICH HAVE BEEN WRITTEN TO CONTROL THE DATA. IF A TABLE IS
EXPECTED TO EXCEED TWO DISC RECORDS (508 BYTES/RECORD) IN LENGTH, PARALLEL
ACCESS VIA A DIRECTORY IS MORE EFFICIENT THAN SEQUENTIAL ACCESS. SEE A-100 FOR
A DISCUSSION OF TABLE DIRECTORIES. PROGRAMMERS SHOULD NOTE THAT A DIRECTORY
ONLY ESTABLISHES THE EXTENT OF THE TABLE ON THE DISC, AND DOES NOT FORCE YOU
TO USE THE DIRECTORY, OR EVEN THE FORMAT WHICH IT WAS ESTABLISHED UNDER. BE
VERY CAREFUL WITH THIS, THOUGH. THINK IT THROUGH VERY CAREFULLY.
A SIMPLE ONE-DIMENSIONAL ARRAY IS OF LIMITED USE, BUT SEVERAL TABLES MAY
BE WRITTEN PARALLEL TO EACH OTHER, SO THAT THE DATA IN THE SAME ROW NUMBER OF
EACH OF THE TABLES IS RELATED. AS AN EXAMPLE, WE COULD HAVE TABLE# 1 AS AN "I"
FORMAT TABLE TO STORE CUSTOMER NUMBER, TABLE 2 AS AN "F" FORMAT TABLE FOR INV-
OICE NUMBER, TABLE# 3 AS A "D" FORMAT TABLE FOR AMOUNT BILLED, AND TABLE# 4 AS
AN "A16" TABLE FOR PURCHASE ORDER NUMBER. DATA FROM THE FIRST INVOICE OF THE
MONTH COULD BE WRITTEN TO ROW# 1 OF THE FOUR TABLES, THE SECOND INVOICE INTO
ROW# 2, ETC. THIS DATA COULD THEN BE MANIPULATED AS DESIRED BY REPORTS USING
ROW# OR SEARCHES.
MULTI-DIMENSIONAL ARRAYS MAY ALSO BE IMPLEMENTED BY DOING ARITHMETIC WITH
ROW# AND/OR TABLE#. FOR EXAMPLE, ROW# 1 COULD CONTAIN INVOICE# 1 SALES AMOUNT,
ROW# 2-INVOICE# 1 PROFIT, ROW# 3-INVOICE# 2 SALES, ROW# 4-INVOICE# 2 PROFIT,
ETC. NOTE THAT THE RULE FOR THIS IS:(INV#-1)X2+1 FOR SALES AND +2 FOR PROFIT.
THIS TECHNIQUE COULD BE COMBINED WITH PARALLEL TABLES FOR VERY COMPLEX DATA
STRUCTURES.
THE SYSTEM ALLOWS TABLES TO BE ACCESSED IN SEVERAL DIFFERENT WAYS, IN
FREE-FORM, SO THE USER OF TABLES WOULD BE WELL ADVISED TO KEEP A LOG OF ALL
TABLES USED, INCLUDING TABLE#, FORMAT, DATA CONTAINED, PARALLEL TABLES, ETC.
IT IS UP TO YOU TO CONTROL HOW YOU USE TABLES. USE THEM WITH CARE!
APPENDIX C SYSTEM EDITOR
DATA CAN BE VIEWED, PRINTED AND CHANGED USING "HEX PATCHING", AT FILE
IDLE POSITION. IF A REVIEW OF A REPORT AND THE RECORDS THAT COMPRISE IT ARE
DESIRED, A BLIND NUMBER CODE OF 7 MAY BE ENTERED. THE SYSTEM WILL RESPOND
WITH: "REPORT NAME" AND A NAME OF A REPORT IN THE FILE MUST BE ENTERED. THE
SYSTEM WILL SAY: "PRINT -1, VIEW -2" AND THE REVIEW OF THE FORMAT AND A LIST
OF THE RECORDS COMPRISING THE REPORT WILL BE TRANSMITTED. THE "A" SET OF
RECORDS IS THE FORMAT SET AND A BREAK DOWN OF THE FORMAT IS GIVEN, INCLUDING
THE RECORD NUMBERS AND A DATA POINTER FOR EACH PART OF THE FORMAT IS PRINTED.
ALL VALUES ARE DECIMAL (BASE TEN) EXCEPT OPERATIONS, WHICH ARE HEX DECIMAL
(BASE 16). (IT IS SUGGESTED THAT A PROGRAMMERS' CALCULATOR BE OBTAINED IF
"HEX PATCHING" IS TO BE DONE.)
"B" RECORDS ARE DIRECTORY RECORDS
"C" RECORDS ARE DATA RECORDS
"D" RECORDS ARE NARRATIVE RECORDS
TO CHANGE A RECORD IN A FILE, A 6 IS ENTERED AT THE FILE IDLE POSITION.
THE SYSTEM WILL REQUEST "NUMBER" AND A RECORD NUMBER MUST BE ENTERED. IF AN
ILLEGAL RECORD NUMBER IS ENTERED, THE SYSTEM WILL REPEAT "NUMBER", WHEN A
CORRECT NUMBER HAS BEEN ENTERED, THE SYSTEM WILL REQUEST "PRINT-1, VIEW-2",
AND THE SYSTEM WILL PRINT OR VIEW THE RECORD IN HEXADECIMAL "WORDS" IN EACH
RECORD AND EACH ONE IS POINTED TO BY A "DATA POSITION" (D.P.). THE SYSTEM
WILL NOW RESPOND WITH "CODE" AND 4 CODES (BELOW) ARE LEGAL; RETURN TO FILE
WILL BE MADE IF ONE OF THE 4 CODES IS NOT ENTERED.
# LOOK AT ANOTHER RECORD
$ CHANGE DATA OF ONE WORD. SYSTEM WILL RESPOND WITH "D.P." AND A DATA
POSITION MUST BE ENTERED. THEN "DATA" WILL BE REQUESTED AND A 4 DIGIT
HEX NUMBER MUST BE ENTERED.
% CHANGE CONSECUTIVE DATA WORDS. THE SYSTEM WILL REQUEST "D.P." AND A DATA
POSITION BETWEEN 1 AND 255 MUST BE ENTERED. THE "DATA" WILL BE
REQUESTED, AND A 4 DIGIT HEX NUMBER MUST BE ENTERED AND THE SYSTEM WILL
AGAIN REQUEST "DATA". THIS CONTINUES UNTIL "STOP" IS ENTERED AS DATA.
& VIEW NEXT RECORD IN CHAIN OF RECORDS. THIS MAY BE CONTINUED UNTIL THERE
ARE NO MORE RECORDS IN THE CHAIN.
.PA
APPENDIX D SUB-REPORTS
AFTER A REPORT HAS BEEN FORMATTED, THE SYSTEM WILL TRANSMIT "ENTER CODE"
TO THE FORMATTING CRT AND IF "CY" IS NOT ENTERED A NORMAL REPORT WILL BE
ENTERED INTO THE FILE. IF, HOWEVER, "CY" IS ENTERED, THE REPORT WILL BE
ENTERED INTO THE FILE AS A MASTER FORMAT. THE MASTER REPORT IS A FORMAT THAT
IS SHARED BY REPORTS THAT ARE NUMERICALLY ORDERED. SUBS DO NOT EXIST UNTIL
DATA IS ENTERED INTO EACH ONE.
IF A MASTER REPORT IS UPDATED, THE SYSTEM WILL REMEMBER THAT IT IS A
MASTER AND REQUIRE THE "NUMBER" TO BE ENTERED. LIKEWISE, IF A MASTER IS
PRINTED OR ACCESSED IN ANY WAY, THE SYSTEM WILL REQUIRE A SUB-REPORT NUMBER TO
BE ENTERED WHEN IT TRANSMITS "NUMBER" TO THE REQUESTING CRT.
OPERATIONS THAT ACCESS OTHER REPORTS (I.E., OPERATIONS 1,2,30,35,36,52,
53,56,66,73,91,92,95 AND 107) MUST HAVE SUB-REPORT NUMBERS SPECIFIED IF THE
REPORT IS A MASTER. THE SUB NUMBER IS THAT VALUE CONTAINED IN THE LAST
I-FIELD. IT IS RECOMMEDED THAT 92 BE USED INSTEAD OF 91 SINCE FEWER RECORDS
WILL BE TIED UP.
FIELD I FMT I COMMENT I \OR^ I OPERATIONS
--------------------------------------------------------------------
1I I4 IENTER SUB UNDER "MASTER TO UPDATE^ I \ I 0 Y 35(0,MASTER) N
2I I4 INTER SUB UNDER "PRINT" TO PRINT^ I \ I 0 N
3I A6 IPRINT ^ I ^ I 56 Y 65 N
IN THE EXAMPLE, OPERATION 35 IN FIELD 1 WILL TRANSFER TO THE SUB REPORT
(UNDER "MASTER") ENTERED BY THE OPERATOR DURING INPUT. OPERATION 56 WILL PRINT
THE SUB REPORT UNDER "PRINT" ACCORDING TO THE VALUE ENTERED INTO FIELD 2 BY
THE OPERATOR.
NOTE: TO REMOVE A MASTER FROM A FILE, YOU MUST USE THE "7602" OPTION IN THE
EDITOR.
Gass Index