Trailing-Edge
-
PDP-10 Archives
-
integ_tools_tops20_v7_30-apr-86_dumper
-
tools/casestdy/case2dis.not
There are 3 other files named case2dis.not in the archive. Click here to see a list.
Technical Notes for The TGMIS Business Planning System (VAX)
This document contains technical information on the TGMIS Business Planning
System (BPS) useful to the Systems Programmer or Programmer/Analyst. It
contains information about programs, batch streams, libraries, accounts, and
procedures for converting files from the DEC 10 machine from which the BPS was
converted from.
INTRODUCTION TO THE BUSINESS PLANNING SYSTEM Page 1-9
Environment: Production And Development 30 Mar 84
1.5.2.3 Differences Between VAX-11 COBOL And DEC 10 COBOL
If you have to convert one or more DEC 10 COBOL programs to the VAX, or have had
most of your COBOL experience on the DEC 10, then you should bear in mind the
following differences between the languages.
1. The DEC 10 statement,
CLOSE <filename> WITH DELETE
has no equivalent in VAX-11 COBOL. To achieve the same result, close
the file, and then delete it using the command,
CALL "BAS$KILL" USING BY DESCRIPTOR <data-name>
INTRODUCTION TO THE BUSINESS PLANNING SYSTEM Page 1-9
Environment: Production And Development 30 Mar 84
where <data-name> contains the name of the file to be deleted.
2. The DEC 10 submit to batch queue command has no equivalent on the VAX.
Use the command:
CALL "LIB$DO_COMMAND" USING BY DESCRIPTOR <data-name>
where <data-name> contains the DCL command to SUBMIT your command file.
You can also use this statement to perform any valid DCL command. Not,
however, that this command returns you to monitor command level, so you
should perform this statement as the last statement to be executed in
your program.
3. The ACCEPT statement for numeric fields on the 10 are handled
differently from that of the VAX. On the 10, the field is right
justified and zero filled. On the VAX, the field is left justified and
space filled. This may give you INVALID DECIMAL DATA errors when you
move supposedly numeric data to another numeric data-name.
To get around this problem, use the numeric input routine (copy-code)
in the MKTLIB copy-code library (NUMERIC-INPUT and WS-NUMERIC-INPUT).
This routine will take as input, one to five characters, and return a
field right justified and zero filled.
4. The DISPLAY statement for COMP fields on the 10 are handled differently
from that of the VAX. On the 10, the field is displayed using a
human-readable format, i.e. a number. On the VAX, the number is
displayed in internal format. To display a COMP variable properly,
move it to a data-name with a DISPLAY usage and DISPLAY that data-name.
5. The REMARKS clause in the IDENTIFICATION DIVISION should be removed.
Remarks can be placed free-form.
6. The video terminal routine VT01 of the MKTLIB copy-code library
requires the data-name ESCAPE to be defined as the ASCII 155 character.
This is done in the SYMBOLIC CHARACTERS clause of the SPECIAL-NAMES
clause in the CONFIGURATION SECTION. Simply COPY the VT01SN module
(copy-code library MKTLIB) as the last SPECIAL-NAMES claues.
7. To read EBCDIC files (tape or disk), put the following statement in the
SPECIAL-NAMES clause:
ALPHABET EB IS EBCDIC
and the following statement in the file description (FD) for the file:
CODE-SET IS EB
8. Paragraph names must begin in the first column of a statement line.
9. The REPORT WRITER facility is supported in the latest version (2.0) of
VAX-11 COBOL.
INTRODUCTION TO THE BUSINESS PLANNING SYSTEM Page 1-10
Environment: Production And Development 30 Mar 84
10. When using the SORT verb with input or output procedures, you must
abide by the ANSI standard. That is, you must use section names to
separate logical sections, input and output procedures.
11. When describing a filename on the 10, using the VALUE OF ID clause, you
didn't have to include a period to separate the root from the
extension. When describing a filename on the VAX, you must include the
period between the file name and the extension.
12. The SET verb on the 10 can be used for data-names, and index-names. On
the VAX, the SET verb should be used only for modifying index-names.
Use the MOVE, ADD or SUBTRACT verbs instead.
13. The VAX does not allow the use of single quotes to delimit literals.
Use double quotes.
14. The 10 uses the reserved word TODAY to get the current date AND time.
You may get the date and time on the VAX using the following commands:
ACCEPT <data-name> FROM DATE
ACCEPT <data-name> FROM TIME
15. Comment lines must have an asterisk in their first column.
16. Data-names with a PICTURE clause of B(nn) should be changed to X(nn)
VALUE SPACES.
17. The RECORDING MODE clause of the FD entry on the 10 should be removed.
18. The EXAMINE verb on the 10 should be replaced with the INSPECT verb on
the VAX. You will need a working storage variable for tallies. I like
to use the data-name TALLY. Note that you must set this
working-storage variable to zero before performing the inspect
function.
19. When doing comparisons on the VAX with arrays, it is preferable to use
literals, such as " " and "0", instead of figurative constants, such as
SPACE(S) and ZEROES. Flaky things seem to happen when doing IFs and
INSPECTs on arrays with figurative constants.
20. To put form feeds in your report files, do the following:
1. In the SPECIAL NAMES clause, add CO1 is TOP-OF-PAGE.
2. When you need a page feed, use WRITE <record name> AFTER ADVANCING
TOP-OF-PAGE.
21. You may only use the module name for a copy-code library once. In
other words, a copy-code module's name may not be used as a data name
or paragraph name. This is a COBOL V2.0 restriction.
--------