Google
 

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