Trailing-Edge
-
PDP-10 Archives
-
BB-5372C-BM
-
documentation/traffic-v2.doc
There are no other files named traffic-v2.doc in the archive.
TRAFFIC-20.DOC -- Changes from V1(7) to V2(111)
December 1978
COPYRIGHT (C) 1977,1978 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
TRAFFIC-20 v2 Page 2
TRAFFIC-20.DOC -- Changes from V1(7) to V2(111)
December 1978
1.0 SUMMARY
TRAFFIC-20 is a system of subroutines and utilities which allow a
COBOL program to use TOPS20'S IPCF facilities and which allow a COBOL
program to interface with a VT52 terminal in a forms filling manner.
The purpose of version 2 is to add several features requested by
existing customers, improved performance, and fixes for all problems
reported against version 1. It also includes new documentation which
has more examples and more tutorial commentary.
TRAFFIC-20 version 2 has been tested with TOPS20 V3 and V3A. It has
also been tested with COBOL V11 and V12. All of version 1 TRAFFIC-20
files are superceeded with this release. Form files compiled by the
TFR utility under version 1, will work without change under version 2.
Because some of the defaults have changed, the user should read all of
the appropriate documentation.
The user should read the following documents before installing this
version of TRAFFIC-20.
1. TRAFFIC-20.BEWARE
This document describes some patches to LIBOL which must be
inserted before TRAFFIC-20 is run with COBOL V12 programs.
2. TRAFFIC-20-DEMO.DOC
This document provides some "getting started" information for
users who may want to run the demonstration programs in the
DEMO FILES save set.
3. TRAFFIC-20.DIFFERENCES
This document has been prepared for current customers who
want documentation on the differences between V1 and V2 of
TRAFFIC-20.
4. TRAFFIC-20 USER's MANUAL
A new manual has been written which incorporates all the
changes made from version 1 to version 2 as well as new
examples and tutorial information. It is available with this
release.
2.0 EXTERNAL CHANGES
While there have been additional user interfaces, there has been no
change made to any of the old ones. The program subroutine interfaces
TRAFFIC-20 v2 Page 3
are the same, although there are some new ones and in general all
programs running with TRAFFIC-20 under version 1 will run with version
2 with no change. There have been some changes made to certain
defaults which may make it necessary to update form specification
files. Such changes are necessary either because of additional
features being added, or because of bugs in the old interfaces. These
changes can be found in the file TRAFFIC-20.DIFFERENCES.
There is some additional information in the summary file and in the
record description file produced by the TFR form compilation utility.
This information is documented in the new manual.
3.0 KNOWN BUGS AND DEFICIENCIES
There are no known bugs with any of the TRAFFIC-20 components.
However, there are patches needed to LIBOL in order to fix some
problems with the memory management. These problems are addressed in
section 4.0 (INSTALLATION INSTRUCTIONS).
The last field test tape NOVEMBER 1978, needed a patch to TFRCOB.MAC
to make it work. This module has been updated on this tape. The
module shipped on the last field test tape is titled
TFRCOB.MAC-LAST-FIELD-TEST and is also included on the tape.
4.0 INSTALLATION INSTRUCTIONS
The installation instructions for version 2 of TRAFFIC-20 are similar
to those for version 1. There has been one file eliminated
(TFRTRM.V52), and optimization techniques included for installations
where TRAFFIC-20 will be used only with COBOL V11 or only with COBOL
V12.
The user needs to have the following files available in order to use
TRAFFIC-20.
TFR.EXE -- Forms compilation utility
TFRCOB.REL -- Screen formating subroutines
IP20.REL -- IPCF message routing subroutines
These files are built using the batch stream TRAFFIC-20.CTL. They
should be copied into the SYS: area or some other library area
available to all potential users. This control file also contains
information which should be read before it is submitted. Included in
this control file is a test for the TFR.EXE forms compiler and for
linking TFRCOB with a COBOL program. The test program is used as an
example in the TRAFFIC-20 user's manual.
There is an error in LIBOL V12 which must be corrected before
TRAFFIC-20 programs will run with programs compiled with COBOL V12.
This error is documented in TRAFFIC-20.BEWARE and can be corrected
automatically using the batch file TFRLIB.CTL. The BEWARE file
TRAFFIC-20 v2 Page 4
contains a description of the problem, and also describes a program
which can be run to determine if the patch to this error has been
inserted. When a maintenance release of V12 is available, this
problem will be corrected.
5.0 INTERNAL CHANGES
The following edits have been made to TRAFFIC-20 since V1. This
listing is also contained in the module TFRCOB.MAC.
10 MAKE THE FORM DEFINED VALUES IN NUMERIC PROTECTED VARIABLES
DISPLAY RIGHT JUSTIFIED.
11 WHEN UNPROTECTED VARIABLES WITH VALUE CLAUSES IN FORM FILE ARE
INITIALIZED, ONLY PART OF THE FIELD IS FILLED WITH FILLERS.
FIX THIS PROBLEM.
12 CHANGING RANGE VALUES DOES NOT ALWAYS WORK.
SETTING MONEY FIELDS FROM NUMERIC VARIABLES WITH IMPLIED
DECIMAL PLACES (99V99) DOES NOT WORK.
13 CHANGING CLASS FROM NUMERIC OR ALPHA ONLY TO ALPHANUMERIC
DOES NOT WORK. FIX IT.
14 WHEN PROGRAM IS READING BY SECTIONS OR FORMS AND USER TYPES
AN 'ABORT NOW CHARACTER (LIKE LINE FEED)', TRAFFIC TYPES OUT
0'S FOR NUMERIC FIELDS IN THE REMAINDER OF THE SECTION. THIS
IS MOST OFTEN FOLLOWED BY RESETTING THEM BACK TO FILLERS WITH
THE NEXT INIT. --A VERY COSTLY THING TO DO ON MANY FORMS.
FIX--DO NOT DO THIS.
15 TRAFFIC HAS HIGH OVERHEAD -- MAKE CHANGES SO THAT READING OF
CHARACTERS FROM THE TERMINAL USES LESS CPU TIME.
A. ELIMINATES THE NEED FOR THE TYPE-IN INTERRUPT
B. USES LOCAL CODE IN PLACE OF THE TEXTI JSYS
C. ALSO MAKES CHANGES IN TFRTRM.MAC (EDIT [??])
16 CHECK FORMAT AND RANGE OF DATES CORRECTLY.
17 TFRCLR WILL STOP ON FIRST NONE DISPLAY FIELD IN A SECTION AND
RETURN AN ERROR CODE. THE FIX IS TO STILL RETURN THE ERROR
CODE IF ANY FIELD IN THE SECTION IS NOT CURRENTLY DISPLAY, BUT
TO CLEAR ALL THAT ARE DISPLAYED. ALSO MAKE OTHER OPERATIONS
WHICH ENCOUNTER CLEARED FIELDS CONTINUE TO WORK.
20 VALIDITY CHECKS ON PREVIOUS DUPE DATE FIELDS AND Y/N FIELDS
DOES NOT WORK BECAUSE THE <TAB> IS STORED IN THE FIELD.
21 FIX PROBLEMS WITH MINUS SIGNS AND SURPRESS LEADING ZEROS
ON DISPLAYS OF NUMERIC FIELDS.
TRAFFIC-20 v2 Page 5
22 CHANGED ATTRIBUTES BECOME PERMINENT AND DO NOT GO AWAY AS THEY
ARE SUPPOSED TO AT INITIALIZATION TIME. ..PROBLEM IS THAT THERE
ARE NOT ENOUGH BITS --- FIX THIS.
23 IF A SECTION (OR FORM) IS INITIALIZED AND THEN A FIELD (OR MORE)
IS CLEARED, READING BY SECTION WILL FAIL WHEN THE FIRST CLEARED
FIELD IS ENCOUNTERED -- SHOULD MERELY BE BYPASSED.
24 FIX THE ESCAPE SEQUENCES WHICH REINIT THE FIELD, THE READ
AND REWRITE THE SCREEN SO THAT THEY WORK WITH PREVIOUS DUPE.
25 MAKE LF, AND OTHER TERMINATOR FUNCTION THE SAME AS TAB
ON PREVIOUS DUPE FIELDS.
26 FIELDS WITH THE FULL ATTRIBUTE IMPROPERLY PLACE THE CURSOR
AFTER A LINE FEED TO TERMINATE.
27 THE FULL ATTRIBUTE COMBINED WITH OTHERS PRODUCES WRONG RESULTS.
IT SHOULD:
1. ALLOW PREVIOUS DUPE TO WORK.
2. BYPASS IF FIELD OPTIONAL AND NO CHARS TYPED.
30 EX. IN A NUMERIC FIELD, TYPE AN 'A'. THIS WILL GENERATE
AND ERROR MESSAGE AND WILL MOVE THE CURSOR TO THE POSITION
OF THE 'A' AND OVERWRITE IT WITH THE FILLER. A SUBSEQUENT
BACKSPACE WILL BACKUP THE LOGICAL INFORMATION BUT NOT
THE CURSOR. SUBSEQUENT BACKSPACES WILL WORK. THIS APPEARS
TO BE A PROBLEM WITH THE TERMINAL. THE SOLUTION IS TO
SEND AN EXTRA BACKSPACE AFTER ERASING THE ERROR MESSAGE.
31 CHANGING RANGES DOES NOT WORK. MAKE IT WORK.
LOW VALUES WILL TURN OF RANGE BUT NOT DESTROY VALUE.
INIT WILL TURN ON RANGE. USER NEEDS TO SPECIFIY LOW
VALUES FOR THE RANGE TO TURN OFF (UPPER OR LOWER).
32 RANGE CHECKING, ESPECIALLY WITH NEGATIVE NUMBERS DOES
NOT WORK, MAKE IT.
33 AFTER A GROUP READ WHICH ENDS WITH A NUMERIC FIELD IS
TERMINATED WITH A LF OR SOMETHING OTHER THAN A TAB OR
FULL FIELD, THIS LAST FIELD IS NOT JUSTIFIED--DO IT.
34 IF NO CHARACTERS ARE TYPED IN A FIELD, AND IT IS OPTIONAL,
THEN DO NOT DO RANGE CHECKING.
35 ADD CODE TO MAKE THIS WORK WITH VERSION 12 OF COBOL
WHICH REDEFINES THE FREE AREA.
36 INTEGRATE WITH TFRTRM.V52 SINCE THIS VERSION WILL NEVER
SUPPORT TERMINALS OTHER THAN VT52'S.
37 THE REWORKING OF THE CODE HAS FIXED MANY BUGS WHICH MAY
ACTUALLY BEING USED AS FEATURES. THE PREDOMINENT ONE IS
THAT MANY ATTRIBUTES MAKE A FIELD REQUIRED (YES/NO, RANGES,
TRAFFIC-20 v2 Page 6
ETC.) IF USER IS UTILIZING THIS FEATURE, THEN ALLOW IT
TO WORK.
40 THE CODE IS DIFFICULT TO WORK ON AND READ, REMOVE SOME OF
THE MORE OBSCURE HIPO CONSTRUCTS AND REPLACE WITH A
MORE STRUCTURED LOOKING CODE.
41 OPTIMIZE THE SCREEN INITIALIZATION CODE.
42 DURING INITIALIZATION OF A FIELD, SET ALPHAS AND ALPHANUMERICS
TO SPACES (AS DONE CURRENTLY) AND NUMERICS TO ZEROS (CURRENTLY
SPACES) AND THEN OPTIMIZE FIELD READING CODE.
43 ADD 2 NEW CALLS TO RESTORE TERMINAL TO KNOWN STATE AFTER
MAKING CALLS TO LOWER FORK OR AFTER USING THE COBOL
'DISPLAY' STATEMENT. THE CALLS DO NOT HAVE ANY ARGUMENT
AND ARE:
TFRSET -- TO SET TERMINAL CHARACTERISTICS FOR TRAFFIC
TFRRST -- TO SET TERMINAL CHARACTERISTICS FOR USER MODE
TFRRWT -- TO REWRITE THE SCREEN (LIKE THE BLACK BUTTON).
AFTER USING A LOWER FORK, BOTH ROUTINES SHOULD BE CALLED.
AFTER USING THE DISPLAY VERB, AT LEAST TFRSET SHOULD BE CALLED.
ALSO MAKE RESETTING OF THE TERMINAL TO A KNOWN STATE AUTOMATIC
ON EACH CALL WITH PARAMETER OLD%TT=1. IF USER UTILIZES THE
NEW ROUTINES, THEN SETTING THIS TO OLD%TT=0 WILL INCREASE THE
EFFICIENCY OF TRAFFIC.
44 ADD NEW ROUTINE 'TFRFNO' USING THE CALL SEQUENCE:
ENTER MACRO TFRFNO USING FIELD-NAME, FIELD-NUMBER,ERROR.
THE FUNCTION OF THIS ROUTINE IS TO RETURN TO THE USER A
FIELD NUMBER BASED ON THE ASCII OR SIXBIT FIELD NAME SUPPLIED.
IF THE FIELD NAME IS NOT IN THE CURRENTLY INITIALIZED FORM, THEN
AN ERROR WILL BE RETURNED. SINCE SEARCHING FOR FIELD NAMES
IS EXPENSIVE, GENERATING FIELD NUMBERS IN THIS MANNER CAN GAIN
EFFICIENCY.
45 WHEN A MASTER DUPE FIELD IS WRITTEN (TFRWRT) OR WHEN IT
IS CREATED WITH TFRCHG, TURN ON THE 'MASTER DUP SET' FLAG
IF IT REALLY HAS DATA IN IT.
46 MONEY FIELDS WITH NO DOLLAR DIGITS DO NOT GET BLANK FILLED
CORRECTLY AND OVERWRITE DECIMAL POINT ON READ IF PREV-DUPE.
47 HAVING INSUFFICIENT NUMBER OF DATA PAGES RETURNS BAD ERROR
INDICATOR. FIX THIS.
50 ADD NEW ATTRIBUTE TO FIELD DESCRIPTION TO ALLOW FOR ZERO FILLED
NUMERICS (ACCOUNT NUMBERS, ETC.) USER MAY INCLUDE
LEADING-ZEROS
OR
NO-LEADING-ZEROS
TO A NUMERIC FIELD DESCRIPTION.
TRAFFIC-20 v2 Page 7
51 ON LOW BAUD RATE SYSTEMS, REWRITING NUMERICS RIGHT JUSTIFIED
IS NOT ALWAYS WANTED. INCLUDE A SWITCH TO DISABLE THIS FEATURE.
52 MAKE THE MEMORY GETTING/FREEING DYNAMIC AND VOID THE NECESSITY
OF SETTING DAT%SZ AND SYM%SZ.
53 MAKE IT POSSIBLE TO CHANGE SPECIFIC SYSTEM VARIABLES FROM THE
USER PROGRAM TO AVOID REASSEMBLY OF TFRCOB, SPECIFICALLY:
VAR# 1,OLDTT -- -1 IF SETTING TERMINAL CHARACTERISTICS ON
EACH CALL,
-- 0 IF SETTING ON DEMAND (FOR EFFICIENCY).
VAR# 2,OLDRN -- 0 REWRITE NUMERIC VALUES RIGHT JUSTIFIED.
--1 DO NOT REWRITE NUMERIC VALUES.
54 COMPENSATE FOR PROBLEM WITH V12 MEMORY MANAGEMENT WHICH MAY
GET FIXED. WHEN IT DOES, STATEMENTS WITH ;[54] MAY BE
REMOVED (EXCEPT THE ONE SO MARKED).
ALSO DEFINE NEW SWITCH COB%VR=0 FOR V12,=-1 FOR V11, =1
FOR UNDECIDED.
55 FIX PROBLEM WITH USING COBOL ACCEPTS (THEY DO NOT ECHO).
56 TFRERR ASSUMES MESSAGE (FIRST ARG) IS WORD ALIGNED. DUMB.
ALSO PRINT THE MESSAGE EVEN IF THE FIELD CANNOT BE RESET.
57 ADD ATTRIBUTE TO ALPHABETIC FIELD WHICH MAKES SPACES LEGAL.
OLD DOCUMENTATION INDICATED SHOULD BE SO, BUT WAS NOT.
60 ALLOW USER TO WRITE TO FIELDS WHICH ARE NOT INITIALIZED USING
TFRWRT. THIS ALLOWS A USER TO BACKUP ON A MULTIPART FORM
IN ORDER TO CHANGE INFORMATION. IT WILL STILL RETURN AN
ERROR INDICATOR (4) IF AN UNINITIALIZED FIELD IS FOUND, BUT IT
SHOULD BE TAKEN AS A WARNING. PUT THIS UNDER ASSEMBLY SWITCH
OLD%WR.
61 ALLOW LIMITED LOWER CASE. ALLOW TFRCOB TO BE ASSEMBLED WITH
LOWERCASE ALLOWED. THE LIMITATION IS THAT YES-NO FIELDS WILL
REQUIRE UPPER CASE, DATE FIELDS WILL REQUIRE UPPER CASE MONTHS,
AND RANGE CHECKING WILL BE IN COLLATING SEQUENCE ORDER. THIS
IMPLIES THAT WITH AN UPPER RANGE OF "ddddddd" (THAT WAS lowercase
FOR LISTINGS THAT ARE UPPER CASE ONLY) WILL PERMIT AN ENTRY
OF "ZZZZZZZ" (UPPER CASE) SINCE LOWER CASE IS A HIGHER
COLLATING SEQUENCE THAN UPPER CASE. THE USER WILL BE ABLE
TO DISABLE/ENABLE THIS VIA CALLS TO TFRSYS.
62 MAKE IT POSSIBLE TO TURN OFF THE INTERRUPT SYSTEM DURING
COBOL ACCEPT STATEMENTS SO THAT RUBOUT, AND CONTROL CHARACTERS
WORK. ADD CALL TFRRST (TFR-RESET)
63 ALL 'CALL TFRXXX USING' TO WORK AS WELL AS 'ENTER MACRO TFRXXX'.
64 STRUCTURE TERMINAL OUTPUT FOR BETTER EFFICIENCY LATER.
TRAFFIC-20 v2 Page 8
65 ERRORS WHEN SIXBIT FORM-NAMES ARE USED OF VARYING LENGTHS
AND IN CONJUNCTION WITH TFRERR MESSAGES. PROBLEM IS THAT
'INTBUF' GETS USED FOR BOTH AND IS NOT CLEARED.
66 TFR ALLUDES TO FACT THAT VALUE MAY CONTAIN MORE CHARACTERS
THAN ARE IN FIELD. THIS CAN LEAD TO COMPLICATIONS LATTER.
TFR SHOULD BE FIXED, BUT FIELD SHOULD ALSO BE CHECKED.
67 PUT IN SECTION AND FIELD TABLES WHICH BOUND THE SEARCH
OF THE FIELD TABLE TO A SUBSET OF IT AND THUSLY BOOST PERFORMANCE
ESPECIALLY WITH FORM WITH A LARGE NUMBER OF FIELDS.
70 CAUSE THE TFRERR MESSAGES TO BE TRUNCATED AFTER TRAILING
BLANKS LIKE COBOL DISPLAYS.
71 MAKE IT POSSIBLE FOR OPERATORS TO BACK UP FIELDS.
72 ALLOW CONTROL/C TRAPPING IF THE USER SPECIFIES IT
BY SETTING OLD%CC=-1 EITHER DURING ASSEMBLY OF VIA
A CALL TO TFRSYS.
73 FIX A COUPLE BUGS WITH EDIT 67 WHERE ILLEGAL FIELD NAMES
AND SECTION NUMBER CAN CAUSE UNTOWARD RESULTS (SOMETIMES).
74 TFR.MAC -- CHANGE TO MAKE IT ACCEPT EDIT FILE