Trailing-Edge
-
PDP-10 Archives
-
decuslib10-11
-
43,50534/v05doc.mem
There is 1 other file named v05doc.mem in the archive. Click here to see a list.
PREFACE
This document is primarily intended to provide non-programmers
with the information necessary to set-up and manage their own
data base. The level of discussion assumes that the user has a
basic understanding of the host operating system and is divided
into 10 chapters: Chapter 1 contains general introductory
information; Chapters 2 through 10 describe each component that
comprises the CSSDBM system. It is strongly recommended that
this document be read in its entirety before attempting to
implement any portion of the CSSDBM system.
NOTE
CSSDBM runs on the DECsystem-10 and
DECsystem-20, as all CSSDBM
processing must occur on a disk
type device.
CHAPTER 1
INTRODUCTION
1.1 GENERAL DESCRIPTION
CSSDBM is a general applications data processing system, written
in COBOL, which enables the non-programmer to input and extract
data. It is designed to handle many applications with one
package of programs. Further, it employs the standard DEC "ISAM"
(Indexed Sequential Access Mode) package, which provides a
basically simple but efficient means of data storage with a very
rapid data retrieval rate. Figure 1-1 provides the
non-programmer with a basic understanding of data processing
terms and concepts used in this manual.
Page 1-2
Figure 1-1 - Basic Data Processing Terms
Page 1-3
The normal course of events necessary to go from data input and
storage to reporting on that data usually requires a minimum of
two programs:
1. A program to take data entered on a terminal and store
it on the disk, which also facilitates changes or
updates to the file.
2. A program which selects, sorts and formats the data as a
useful report.
Figure 1-2 - CSSDBM Basic Data Flow
Because CSSDBM was designed as a tool for users with little or no
programming background, the system generates each program
necessary to accomplish the required task (Figure 1-2). The
generation of these programs are achieved by a simple question
and answer dialog.
There are two types of programs used in CSSDBM:
Primary Programs Those programs which prompt (request)
the information necessary to satisfy
the requirement.
Secondary Programs Those programs generated by
the Primary programs which
actually manipulate the data.
Page 1-4
There are four Primary programs to CSSDBM:
CSSDBW A program which asks for specific
information to be stored,
who is to gain access to this
information, and an opportunity
to request CSSDBM options.
CSSTOT A program which asks for equations
to be performed on each record
in the file.
CSSRPT A program which asks how the
file data should be formatted,
sorted and selected to satisfy
a particular report requirement.
CSSCNG A program which asks for a new
record layout. It is used when
the record's field arrangement
changes.
There are two Utility programs:
DBMDMP Generates a listing of field
names and field sizes. It also
produces a report generation
work sheet.
CSSVLD Generates an optional file used
by the data input program to
test for certain character values.
1.2 SYSTEM FUNCTION AND FEATURES
There are two general levels to this system. The first is used
when the data base is initialized; the second is used by the
standard Data Base Handler to input the data. Initialization is
performed by the person who is responsible for the data: the
system administrator. The system administrator must define
fields of data and select all the basic parameters of the data
base. He must also determine who is to gain access to the data
and to what extent. Further, his responsibilities include report
generation, creation of mathematical statistics, and physical
field changes to the data base. The Data Base Handler is used by
the terminal operator responsible for data input, its accuracy
and updating functions.
Page 1-5
CSSDBM allows the system user to create a COBOL source code
program via a series of simple question and answer dialogs. Once
the output program is created, compiled, loaded, and saved, it
can be run as often as required. The user needs to only define
the program once.
Besides providing non-programmers with the skills to manage a
data processing system, CSSDBM also minimizes the amount of time
required to train data entry personnel. The on-line operation is
exactly the same for one file as it is for another. Only the
field prompting information, used by the data entry personnel, is
different.
1.2.1 Unique Characteristics
CSSDBM was developed as needs were presented, thus certain unique
characteristics arose. These characteristics are discussed in
the following paragraph and it is suggested that users be familar
with them before creating any data base.
CSSDBM is designed to run primarily on Digital video terminals.
These are relativily high speed terminals lending to impressive
record displays. As a record is updated, it is displayed in
pages. A page is defined during the initial CSSDBW dialog and is
completely controlled by the system administrator. The maximum
record size is 4096 characters, which can be broken down into a
maximum of 50 pages. Data placed on page zero can only be
accessed by a user with the correct privilege. For this reason,
page zero is a good place for statistical storage or proprietary
sections of a record.
1.2.2 OVERLAY Feature
Occasionally, situations may occur where certain items will be
related to several other items. For example, a purchase order
number may relate to several items on the purchase order. To
avoid the redundency of inputting several records with the same
purchase order number, simply place the purchase order number,
vendor and other common data on one of the first pages of your
record. The individual items and their related fields would then
be placed on different pages: specifically, the last pages of
your record which, as overlay pages, are exactly the same size
and contain exactly the same fields. This situation is clearly
illustrated in Chapters 2 and 3.
Page 1-6
1.2.3 Key Field
Within the data to be collected, there should be one field of
information which is unique to distinguish one record from
another. This field is defined as the KEY field.
1.2.4 Data Base Version Number
An important CSSDBM feature to be aware of is the data base
version number, which changes when the data base field definition
or size is altered. When, and if, the system administrator makes
such changes, he must also recreate the reports as their version
number would no longer match the data base version number, and
none of the CSSDBM programs would read the files correctly.
Page 1-7
1.3 DATA BASE LAYOUT
Before starting out, it is essential to prepare a list, similar
to the format shown below, of information required to construct
your data base. Number the fields sequentially, determine their
names and sizes, decide if decimal places are wanted on numeric
fields (and if so, how many). Leave Validation and Report Writer
Output sections blank for now, but return and complete them as
soon as you determine your requirements for them. (Refer to
Chapters 4 and 9, respectively.) Next, establish a Key Field
(Paragraph 1.2.3) and, finally, test your plan to the following
limit rules of CSSDBM:
50 Pages maximum.
32 Characters per field. Refer to Chapter 3,
150 Total fields. Pages 3-4 & 3-5.
4096 Total characters in the record.
NOTE: A photocopy of this page would prove invaluable to anyone
constructing or changing a data base.
Table 1-1 - Data Base Layout
Page 1-8
1.4 CSSDBM EXAMPLE
The following example contains sample items and their field character sizes which will be used
throughout this document for demonstration purposes:
FIELD FIELD PAGE FIELD DECIMAL VALIDATION: REPORT WRITER
NO. NAME NO. SIZE PLACES (A, X, N, SP, OUTPUT:
SPEC. CHAR.) (A, N, D)
----- ----- ---- ----- ------- ------------- -------------
1. CREATION DATE 0 6 0 REFER REFER
2. ACCESS DATE 0 6 0 TO TO
3. ANNUAL SALARY 0 7 2 CHAPTER CHAPTER
4. TOTAL WEEKLY INS DED 0 5 2 4 9
5. BADGE NUMBER 1 5 0
6. LAST NAME 1 20 0
7. FIRST NAME 1 15 0
8. MIDDLE INITIAL 1 2 0
9. WAGE CLASS 1 1 0
10. COST CENTER 1 3 0
11. PHONE EXTENSION 1 5 0
12. HOURLY PAY RATE 1 4 2
13. MAIL STOP 1 3 0
14. LOCATION CODE 1 6 0
15. AUTO REGISTRATION 2 6 0
16. AUTO MAKE 2 10 0
17. REGISTRATION DATE 2 6 0
18. WEEKLY INSUR. DED. 2 5 2
NOTE
In the above example, we have selected field number 5, "BADGE
NUMBER", as the KEY field.
Page 1-9
1.5 FILE LOOK-UP PATH SUGGESTIONS
CSSDBM may reside almost anywhere on a particular system. It
could be placed on device SYS, NEW, PUB etc., or it could be
maintained within a particular PPN. This is totally at the
discretion of the system proprietor.
Once you determine where CSSDBM resides on your system, a great
deal of time, confusion and redundancy can be saved by running a
system program called SETSRC. SETSRC tells the monitor where to
look for a file (such as a library) if that file is not in your
user area. In the following example, [Proj,Prog] is the area on
which CSSDBM resides. For more information on these procedures
and other ways in which this can be done, consult your system
proprietor.
1.5.1 SETSRC Example
.R SETSRC
*A /LIB:[PROJ,PROG]
*^C
CHAPTER 2
CSSDBM DATA BASE WRITER (CSSDBW)
2.1 GENERAL DESCRIPTION
The CSSDBM program that creates the Data Base Handler is called
CSSDBW. No additional files are required on your disk area;
simply assign a three letter file code for your system such as
"TST", which is used in the following example. Unless an ASCII
sequential file already exists, CSSDBW will output the following
files:
DBMTST.FMT Variable data format file
used by the CSSDBM programs.
DBMTST.CBL Source program which, when
compiled, loaded and saved,
will become your Data Base
Handler program.
DBMTST.SEQ A temporary sequential file
required by ISAM to create
your indexed sequential file.
Besides the creation of your data base, CSSDBW also performs two
additional utility functions:
1. The changing of existing data base fields.
2. The updating of an existing data base to add future
features of CSSDBM.
2.2 USE OF EXISTING DATA
An existing data file can be converted into a CSSDBM data base if
it is in 7-bit ASCII form and is sorted by the KEY field on disk.
This is done by indicating at initialization time that you
already have an existing sequential file.
Page 2-2
2.3 CSSDBW INITIALIZATION
There are three features to to be aware of during data base
initialization:
1. On-line Validation.
2. Record Creation and Access Dates.
3. Data Base Audit Trail.
2.3.1 On-line Validation
Because CSSDBM is a general purpose system, it is impractical to
provide a sophisticated data editor as each record is input.
However, it is possible to check each character for certain
properties, represented by the following:
A - Requires an alpha character.
N - Requires a numeric character.
X - Requires any alpha or numeric character.
NOTE
Any other character requires that
the character of the same ASCII
value be input.
The On-line Validation feature will be explained in greater
detail in Chapter 4, but you should be aware of the feature at
this time.
2.3.2 Record Creation and Access Dates
Another CSSDBM feature to be aware of at initialization time is
the option to have the Record Creation Date placed in field
number one, and the last Record Access Date placed in field
number two by the Data Base Handler. Use of this option requires
that fields one and two be six characters in length,
respectively. The dates will have the standard YrMoDa format.
Page 2-3
2.3.3 Data Base Audit Trail
The Audit Trail option is available for those who wish to record
all of the data base activity as it takes place. This feature is
particularly useful when there are a number of personnel
maintaining your data base, and the capability to monitor their
activity is desireable. A detailed description of the Audit
Trail is explained in Chapter 6.
2.4 INITIALIZATION DIALOG
The following dialog represents the initialization of a data base
using the sample data illustrated in Chapter 1. Each segment of
information that CSSDBW prompts is followed by a colon; what
follows the colon is the user's response.
The first item requested is (NEW OR OLD). Since, in this
example, we are creating a new data base, the word NEW is
inserted. The program then requests a three character file code
to distinguish one data base from another. This code becomes the
last three letters of the file name for each file output by
CSSDBW. The program now requests that the user indicate whether
or not he has an existing sequential file. Following this
response, the field definition loop is entered, which requests
three items:
1. A twenty or less character prompt, or field name, is
typed in. During data entry time, this prompt is
displayed to the data entry person requesting that
corresponding field of information.
2. The size of the field (32 characters maximum).
3. The number of assumed decimal places from the right most
position of the field. A carriage return response to
this question defaults to zero decimal places. Enter
decimal positions in the numeric fields only; results
are unpredictable otherwise.
To exit from this routine, type "STOP" followed by a <CR>.
NOTE
If you intend to use overlay pages
in your report, see "OVERLAY NOTES"
just prior to Paragraph 2.10.1.
Following that, return to Paragraph
2.4.1 to begin your data base
construction.
Page 2-4
2.4.1 Initialization Example
.RUN CSSDBW
CSS DATA BASE WRITER(V05)
NEW OR OLD: NEW
TYPE IN A 3 CHARACTER FILE CODE: TST
DO YOU ALREADY HAVE A SEQUENTIAL FILE: NO
1...FIELD NAME: BADGE NUMBER
....SIZE OF FIELD: 5
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
2...FIELD NAME: NAME
....SIZE OF FIELD: 25
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
3...FIELD NAME: WAGE CLASS
....SIZE OF FIELD: 1
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
4...FIELD NAME: COST CENTER
....SIZE OF FIELD: 3
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
5...FIELD NAME: PHONE EXTENSION
....SIZE OF FIELD: 5
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
6...FIELD NAME: HOURLY RATE
....SIZE OF FIELD: 4
....NUMBER OF DECIMAL PLACES FROM RIGHT: 2
7...FIELD NAME: MAIL STOP
....SIZE OF FIELD: 3
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
8...FIELD NAME: LOCATION CODE
....SIZE OF FIELD: 4
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
9...FIELD NAME: AUTO REGISTRATION
....SIZE OF FIELD: 6
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
10..FIELD NAME: AUTO MAKE
....SIZE OF FIELD: 10
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
11..FIELD NAME: REGISTRATION DATE
....SIZE OF FIELD: 6
....NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
Page 2-5
12..FIELD NAME: WEEKLY INSUR. DED.
....SIZE OF FIELD: 5
....NUMBER OF DECIMAL PLACES FROM RIGHT: 2
13..FIELD NAME: STOP
2.5 ACCESS CODES AND PRIVILEGES
Once fields of information are defined, the next CSSDBW
requirement is for the insertion of passwords and privileges
necessary to gain data base access. Up to 28 different passwords
of six characters or less may be entered at this time. With each
password, the program will request a corresponding privilege code
to be entered. A privilege code of "0" allows read only
privileges of the data base. This may be useful if there is a
need to gain access to the data, without making changes. A
privilege code of "1" allows reading and writing of all
information in the data base, except for fields on page zero.
Issuance of this privilege is usually reserved for data entry
personnel. A privilege code of "2" allows reading and writing
(excluding page zero information) and report generation. Caution
must be taken with the issuance of a privilege code of "3", since
it allows maximum file access and extensive data base
modification. At least one password with a "3" privilege code
should be issued, generally to the system administrator, so that
data base parameters may be changed. To break this loop when all
desired passwords and privileges have been entered, type "STOP",
followed by a <CR>.
2.5.1 Access Codes and Privileges Example
USER'S NAME: SMITH <--------NOTE: Can be any six character
THIS USER'S PRIVILEGES: 0 and/or number combination.
USER'S NAME: JONES
THIS USER'S PRIVILEGES: 1
USER'S NAME: HARRIS
THIS USER'S PRIVILEGES: 2
USER'S NAME: COLE
THIS USER'S PRIVILEGES: 3
USER'S NAME: STOP
Page 2-6
2.6 PAGING
The program now asks that the user determine the total number of
pages required in the data base.
NOTE
Do not confuse data base pages with
sequential page numbers found in
the upper right-hand corner of
reports, or of this manual.
Since the program doesn't count Page zero (where Record Creation
Date, Access Date, and other secure data would be located), the
number entered is: one less than the total number of pages, with
Page zero elected; the actual number of pages, without Page zero
elected. Thus far, this data base does not contain a Page zero.
The user then indicates which line (or field number) begins each
page, as shown in the following example:
2.6.1 Paging Example
IN THE FOLLOWING DIALOG TYPE <CR> IF SETTING IS OK
OR A NEW NUMBER TO CHANGE IT.
NUMBER OF PAGES: 0 : 1
TOP LINE OF PAGE 1 : 0 : 1
2.7 VALIDATION - CREATION/ACCESS DATES - AUDIT TRAIL
If you desire the On-line Validation, Record Creation and Access
Date or Audit Trail options, they are indicated at this time.
You will also be required to type in your name, which will be
written into the author's line of the COBOL source file.
(Understand that this name request is in no way connected with
the previous User's Name and Privileges dialog.) Because the
system was designed to run on a video terminal having different
screen sizes, you must also indicate what type of terminal you
expect to use. Finally, you will be requested to type in the
field number representing the KEY field, if the field the program
selected is incorrect. Remember, this is the unique field in
your data base used to distinguish one record from another.
Page 2-7
2.7.1 Options Example
DO YOU WANT ON-LINE VALIDATION (Y OR N) [ ]: NO
DO YOU WANT RECORD CREATION + ACCESS DATES
PLACED IN FIELDS 1 AND 2 RESPECTIVELY [ ]: NO
DO YOU WANT AN AUDIT TRAIL: NO
TYPE IN YOUR NAME: JOHN DOE
TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52
KEY FIELD NUMBER IS: 0 : 1
2.8 ISAM PROMPTS
CSSDBW now types out all your data base characteristics and the
variable responses which will be required by the ISAM prompts.
2.8.1 ISAM Information Example
SOURCE IS CALLED : DBMTSTCBL
FORMAT IS CALLED : DBMTSTFMT
VERSION NUMBER : 1
OVERLAY PAGE NO. : 0
I S A M R E S P O N S E S <---NOTE: Jot down on paper
- - - - - - - - - - - - - and save for input
in Chapter 5.
MAXIMUM RECORD SIZE: 77
KEY DESCRIPTOR: X 1. 5
TOTAL RECORDS PER DATA BLOCK: 64
TOTAL ENTRIES PER INDEX BLOCK: 64
EXIT
Page 2-8
You should now have at least the following files in your
directory; type DIR <CR> to verify.
LIB:[PROJ, PROG] (See Paragraph 1.5)
DBMTST.SEQ (Data Base Sequential File)
DBMTST.FMT (Data Base Format File)
DBMAUD.FMT (Audit Trail Format File)
(If Audit Trail option selected.)
DBMTST.CBL (Data Base COBOL File)
If there are no updates (below), or changes due to mistakes
(Paragraph 2-10), go to Chapter 3.
2.9 UPDATE
To minimize the amount of inconvenience necessary to upgrade an
existing data base with any newly released features of CSSDBM,
simply execute an UPDATE operation with CSSDBW. This routine
reads in all the characteristics of your data base Format file
and writes out a new COBOL source file with all the new features
included. However, this new source must be recompiled and saved
(refer to Chapter 5, Paragraph 5.2). The UPDATE operation is
also useful for recreating your COBOL source file, plus it allows
you to elect data base options not previously selected. This
includes the ability to select or de-select On-line Validation,
update the Record Access and Creation Dates, and select or
de-select the Audit Trail. When performing any function of
CSSDBW other than the NEW function, you will be required to enter
a password which must contain a privilege code of 3. Note that
the version number does not change when using the UPDATE command.
The following example illustrates the addition of On-line
Validation.
2.9.1 UPDATE Example
.RUN CSSDBW
CSS DATA BASE WRITER CSSDBW(V05)
NEW OR OLD: OLD
CHANGE OR UPDATE: UPDATE
TYPE NAME OF FORMAT FILE: DBMTST
PASSWORD: COLE
DO YOU WANT ON- LINE VALIDATION (Y OR N) [N]: YES
Page 2-9
DO YOU WANT RECORD CREATION + ACCESS DATES
PLACED IN FIELDS 1 AND 2 RESPECTIVELY [N]: NO
DO YOU WANT AN AUDIT TRAIL: NO
TYPE IN YOUR NAME: JOHN DOE
TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52
KEY FIELD NUMBER IS : 1 :
SOURCE IS CALLED : DBMTSTCBL
FORMAT IS CALLED : DBMTSTFMT
VERSION NUMBER : 1
OVERLAY PAGE NO. : 0
I S A M R E S P O N S E S
- - - - - - - - - - - - -
MAXIMUM RECORD SIZE: 77
KEY DESCRIPTOR: X 1. 5
TOTAL RECORDS PER DATA BLOCK: 64
TOTAL ENTRIES PER INDEX BLOCK: 64
EXIT
Note: If you've made a mistake, go to CHANGE, below.
2.10 CHANGE
As with most business situations, the need for change is
required. Ordinarily, drastically changing a data processing
application is a long, complicated, and tedious task. Because of
this, a provision was made to CSSDBM to completely rearrange your
file layout and still retain your original data.
NOTE
If you are just building your data
base and have not yet input any
data, DO NOT run CSSCNG to correct
any errors you may have made.
Rather, run CSSDBW, answering "Old"
and "Change" to the first two
questions the program asks you.
The entire change transition consists of a six step operation:
Page 2-10
1. CSSCNG Creates a program, via a dialog, to
rearrange your data (Chapter 10).
2. CSSDBW CHANGE routine to make the same
adjustments made in step 1 to
your format file.
3. ISAM "Build" function (/B) to rebuild
your new reformatted data base.
4. CSSVLD Recreates your Validation
file, if that option was selected.
5. CSSTOT Recreates the arithmetic
processor to correct version
inconsistencies, if that
option was selected.
6. CSSRPT Recreates the output reports
to correct version inconsistencies.
The second step of the CHANGE function requires a privilege code
of three. It is assumed that the data base administrator only
issues "3" privileges to those with enough responsibility and
knowledge to physically change the entire structure of the data
base.
The five basic commands to the CHANGE routine of CSSDBW are:
<CR> If OK as is.
I To insert a new field name before the currently
displayed field.
D To delete the currently displayed field.
O To overwrite the currently display field.
F If all remaining fields are to stay the same.
STOP To terminate the record at this point.
OVERLAY To make all following overlay pages identical.
In the following example, each of these commands are illustrated.
Also illustrated is the option that automatically creates
additional overlay pages (refer to Chapter 1) by a specified
number to eliminate the redundancy of inputting fields of the
same name on each overlay page. If your data base is configured
for overlay page usage, execute the OVERLAY command any time you
physically change your record format. Note that, in this
example, in order to add fields beyond the last field, you must
go to the last field, re-insert the last field and insert all new
Page 2-11
fields to be appended to your record with the "I" command. When
this is done, delete the redundant last field and you will be
taken out of this loop. CSSDBW, by default, breaks from this
loop when no more fields exist, thus the reason for this
procedure.
in the following example, RECORD CREATION DATE, RECORD ACCESS
DATE, ANNUAL SALARY and TOTAL WEEKLY INS DED are all inserted
before BADGE NUMBER. NAME is deleted and replaced with LAST
NAME, FIRST NAME, and MIDDLE INITIAL. LOCATION CODE is
overwritten to change the field size from 4 to 6 characters.
Finally, six overlay pages are created.
OVERLAY NOTES
Initial Creation:
During initial creation, the "OVERLAY" comand must be
entered on the first field of the second overlay page. For
an example, see the CSSDBM Data Base Format Dump in Chapter
3. "OVERLAY" would have been entered in place of "AUTO
REGISTRATION" for line number 19, since line number 19 is
the first field of the second overlay page:
19...FIELD NAME: OVERLAY.
CHANGE Command:
When using the "CHANGE" command, "OVERLAY" may be used any
time during the field prompt modification. See "AUTO
REGISTRATION" (line number 15) in the example below.
Page 2-12
2.10.1 CHANGE Example
.RUN CSSDBW
CSS DATA BASE WRITER CSSDBW(V05)
NEW OR OLD: OLD
CHANGE OR UPDATE: CHANGE
TYPE NAME OF FORMAT FILE: DBMTST
PASSWORD: COLE
IN THE FOLLOWING DIALOG ALL PROMPT INFORMATION
AND FIELD SIZES WILL BE DISPLAYED
TYPE <CR> IF OK AS IS
I TO INSERT A NEW FIELD NAME BEFORE THE CURRENTLY
DISPLAYED FIELD
D TO DELETE THE CURRENTLY DISPLAYED FIELD
O TO OVERWRITE THE CURRENTLY DISPLAYED FIELD
F IF ALL REMAINING FIELDS ARE TO STAY THE SAME
STOP TO TERMINATE THE RECORD AT THIS POINT
OVERLAY TO MAKE ALL FOLLOWING OVERLAY PAGES IDENTICAL
1...BADGE NUMBER 5 :I
FIELD NAME: RECORD CREATION DATE
SIZE OF FIELD: 6
NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
2...BADGE NUMBER 5 :I
FIELD NAME: RECORD ACCESS DATE
SIZE OF FIELD: 6
NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
3...BADGE NUMBER 5 :I
FIELD NAME: ANNUAL SALARY
SIZE OF FIELD: 7
NUMBER OF DECIMAL PLACES FROM RIGHT: 2
4...BADGE NUMBER 5 :I
FIELD NAME: TOTAL WEEKLY INS DED
SIZE OF FIELD: 5
NUMBER OF DECIMAL PLACES FROM RIGHT: 2
5...BADGE NUMBER 5 :<CR>
6...NAME 25 :D
6...WAGE CLASS 1 :I
FIELD NAME: LAST NAME
SIZE OF FIELD: 20
NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
Page 2-13
7...WAGE CLASS 1 :I
FIELD NAME: FIRST NAME
SIZE OF FIELD: 15
NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
8...WAGE CLASS 1 :I
FIELD NAME: MIDDLE INITIAL
SIZE OF FIELD: 2
NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
9...WAGE CLASS 1 :<CR>
10..COST CENTER 3 :<CR>
11..PHONE EXTENSION 5 :<CR>
12..HOURLY RATE 4 :<CR>
13..MAIL STOP 3 :<CR>
14..LOCATION CODE 4 :O
FIELD NAME: LOCATION CODE
SIZE OF FIELD: 6
NUMBER OF DECIMAL PLACES FROM RIGHT: <CR>
15..AUTO REGISTRATION 6 :OVERLAY
TYPE IN FIRST LINE NUMBER OF FIRST OVERLAY PAGE: 15
TYPE IN LAST LINE NUMBER OF FIRST OVERLAY PAGE: 18
TYPE IN FIRST OVERLAY PAGE NUMBER: 2
TYPE IN TOTAL NUMBER OF OVERLAY PAGES IN DATA BASE: 6
2.10.2 Altering Passwords and Privileges
Once you have exited from the record change routine, you will be
given the opportunity to edit your table of data base passwords
and privileges. If the change function was used only to alter
passwords and privileges, the data base version number (refer to
Chapter 1) did not change because you did not physically alter
the size of your record. You do not, therefore, need to
recompile, load and save all of your data base programs.
Recompilation will be required, however, along with re-running
the ISAM build function "/B" (Paragraphs 5.2.1 and 5.3.1.1) if
any physical file changes did occur.
You may display the current contents of your data base password
table, append to it, or delete from it. To delete a current
password or change an existing entry, you must answer "NO" to the
question concerning keeping present codes. Following that,
Page 2-14
re-enter the old passwords and privileges you wish to retain
along with any new additions. Upon completion, terminate this
loop by typing "STOP".
To simply view the current password table without changing it,
answer "YES" to the question concerning seeing current names and
privileges. To the next question concerning keeping present
codes, answer "YES" , followed by "STOP" in answer to the dialog
beginning with "USER'S NAME".
2.10.2.1 Displaying Passwords and Privileges Example -
DO YOU WANT TO SEE CURRENT NAMES + PRIVILEGES: YES
SMITH :..0
JONES :..1
HARRIS:..2
COLE :..3
DO YOU WANT TO KEEP PRESENT CODES: YES
USER'S NAME: STOP
2.10.3 Altering Data Base Page
You will now be given the option to alter your data base page
configuration. CSSDBW will display the current value of each
page parameter and you may change these settings by typing a new
value. A <CR> will default as "no change" to the displayed
setting. Note that when using the overlay page option, all page
settings starting with the first overlay page number will be
automatically adjusted and displayed at this time. If you typed
"OVERLAY" during the field definition routine, DO NOT change any
of the page settings beyond the first overlay page.
NOTE
In the following example, Page 1
now begins with field number 5
(Badge Number). Since the
program's incorrect response was 1,
you must change it by entering the
correct response (5) after the
colon. By doing so, you have
indicated to the program that
fields 1 thru 4 are on page 0.
Fields 1 and 2 (Record Creation and
Access Dates) are automatically
filled in by the Data Base Handler;
fields 3 and 4 will be maintained
by a CSSTOT generated program
(refer to Chapter 8).
Page 2-15
2.10.3.1 Altering Data Base Page Example -
IN THE FOLLOWING DIALOG TYPE <CR> IF SETTING IS OK
OR A NEW NUMBER TO CHANGE IT.
NUMBER OF PAGES: 7 : <CR>
TOP LINE OF PAGE 1 : 1 : 5
TOP LINE OF PAGE 2 : 15 : <CR>
TOP LINE OF PAGE 3 : 19 : <CR>
TOP LINE OF PAGE 4 : 23 : <CR>
TOP LINE OF PAGE 5 : 27 : <CR>
TOP LINE OF PAGE 6 : 31 : <CR>
TOP LINE OF PAGE 7 : 35 : <CR>
DO YOU WANT ON-LINE VALIDATION (Y OR N) [Y]: YES
DO YOU WANT RECORD CREATION + ACCESS DATES
PLACED IN FIELDS 1 AND 2 RESPECTIVELY [N]: YES
DO YOU WANT AN AUDIT TRAIL: YES
TYPE IN YOUR NAME: JOHN DOE
TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52
KEY FIELD NUMBER IS: 1 : 5
SOURCE IS CALLED : DBMTSTCBL
FORMAT IS CALLED : DBMTSTFMT
VERSION NUMBER : 2
OVERLAY PAGE NO. : 2
I S A M R E S P O N S E S <---NOTE: Jot down on paper
- - - - - - - - - - - - - and save for input
in Chapter 5.
MAXIMUM RECORD SIZE: 250
KEY DESCRIPTOR: X 25. 5
TOTAL RECORDS PER DATA BLOCK: 17
TOTAL ENTRIES PER INDEX BLOCK: 64
EXIT
CHAPTER 3
CSSDBM DATA BASE FORMAT DUMP (DBMDMP)
3.1 GENERAL DESCRIPTION
CSSDBM stores its data files in a 6-bit configuration, which is
the most efficient method of storage on the 36-bit DECsystem-10.
Because of this, it was necessary to write a utility program to
output a readable 7-bit ASCII representation of the data base
configuration and a work sheet portion to be used when generating
a report. The utility program that outputs this information is
called DBMDMP. This program reads the data base format file and
outputs a file called DMPTST.LPT, which you then output to the
line printer.
If you're building your data base and you desire a blank report
work sheet with your data base description, enter <CR> when
"Report Name" is requested. If you have an existing report,
having been constructed by CSSRPT (Chapter 9), and you desire a
tangible work sheet outlining your report for your files, enter
the report filename.
Page 3-2
3.1.1 DBMDMP Example
.RUN DBMDMP
TYPE NAME OF FORMAT FILE: DBMTST
REPORT NAME OR <CR> IF NOT A REPORT DUMP: RPT001
EXIT
3.2 SAMPLE DBMTST.LPT DATA
You have now added a line printer (LPT) file to your directory;
type DIR <CR> to verify.
The following example illustrates the sample data as it would
appear in DMPTST.LPT. Output this file with the following
command, after which, the LPT file will automatically be deleted:
.PRINT DMPTST.LPT
Page 3-3
FIELD FIELD FLD DECIMAL OUTLINE OF REPORT: RPT001
NUMBER NAME SIZE PLACES
GENERATED FROM FILE:DBMTST
1..RECORD CREATION DATE 6 0
2..RECORD ACCESS DATE 6 0 WRITTEN BY: JOHN DOE
3..ANNUAL SALARY 7 2
4..TOTAL WEEKLY INS DED 5 2 OUTPUT INPUT ALPHA T OUTPUT TOTAL INPUT
FIELD FIELD OR O FIELD OUTPUT FIELD
P A G E : 1 NUMBER NUMBER NUMERIC T SIZE CHAR. BREAKDOWN
- - - - 1 5 A - 5 6 ---:---:---:---:---:
2 6 A - 20 27 1: 19:---:---:---:
5..BADGE NUMBER 5 0 3 7 A - 10 38 10: 5:---:---:---:
6..LAST NAME 20 0 4 8 A - 2 41 ---:---:---:---:---:
7..FIRST NAME 15 0 5 1 D - 9 51 ---:---:---:---:---:
8..MIDDLE INITIAL 2 0 6 10 A - 3 55 ---:---:---:---:---:
9..WAGE CLASS 1 0 7 4 N - 5 63 ---:---:---:---:---:
10..COST CENTER 3 0 8 17 D - 9 73 ---:---:---:---:---:
11..PHONE EXTENSION 5 0 9 11 A - 5 79 ---:---:---:---:---:
12..HOURLY RATE 4 2 10 15 A - 6 86 ---:---:---:---:---:
13..MAIL STOP 3 0 11 16 A - 10 97 ---:---:---:---:---:
14..LOCATION CODE 6 0 12 18 N Y 5 105 ---:---:---:---:---:
13 --- - - --- --- ---:---:---:---:---:
P A G E : 2 14 --- - - --- --- ---:---:---:---:---:
- - - - 15 --- - - --- --- ---:---:---:---:---:
16 --- - - --- --- ---:---:---:---:---:
15..AUTO REGISTRATION 6 0 17 --- - - --- --- ---:---:---:---:---:
16..AUTO MAKE 10 0 18 --- - - --- --- ---:---:---:---:---:
17..REGISTRATION DATE 6 0 19 --- - - --- --- ---:---:---:---:---:
18..WEEKLY INSUR. DED. 5 2 20 --- - - --- --- ---:---:---:---:---:
21 --- - - --- --- ---:---:---:---:---:
P A G E : 3 22 --- - - --- --- ---:---:---:---:---:
- - - - 23 --- - - --- --- ---:---:---:---:---:
24 --- - - --- --- ---:---:---:---:---:
19..AUTO REGISTRATION 6 0 25 --- - - --- --- ---:---:---:---:---:
20..AUTO MAKE 10 0 26 --- - - --- --- ---:---:---:---:---:
21..REGISTRATION DATE 6 0 27 --- - - --- --- ---:---:---:---:---:
22..WEEKLY INSUR. DED. 5 2 28 --- - - --- --- ---:---:---:---:---:
29 --- - - --- --- ---:---:---:---:---:
P A G E : 4 30 --- - - --- --- ---:---:---:---:---:
- - - - 31 --- - - --- --- ---:---:---:---:---:
32 --- - - --- --- ---:---:---:---:---:
23..AUTO REGISTRATION 6 0 33 --- - - --- --- ---:---:---:---:---:
24..AUTO MAKE 10 0 34 --- - - --- --- ---:---:---:---:---:
25..REGISTRATION DATE 6 0 35 --- - - --- --- ---:---:---:---:---:
26..WEEKLY INSUR. DED. 5 2 36 --- - - --- --- ---:---:---:---:---:
37 --- - - --- --- ---:---:---:---:---:
P A G E : 5 38 --- - - --- --- ---:---:---:---:---:
- - - - 39 --- - - --- --- ---:---:---:---:---:
40 --- - - --- --- ---:---:---:---:---:
27..AUTO REGISTRATION 6 0
28..AUTO MAKE 10 0 OVERLAY PAGE: (Y OR N): Y
29..REGISTRATION DATE 6 0
30..WEEKLY INSUR. DED. 5 2 REPORT NAME: RPT001
Page 3-4
P A G E : 6 TITLE:
- - - -
PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER
31..AUTO REGISTRATION 6 0
32..AUTO MAKE 10 0 SUPPRESS:
33..REGISTRATION DATE 6 0
34..WEEKLY INSUR. DED. 5 2 IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
P A G E : 7 01.. 6INN1 = 01.. "F"
- - - - 02.. "G"
03.. --------------------------------
35..AUTO REGISTRATION 6 0 04.. --------------------------------
36..AUTO MAKE 10 0 05.. --------------------------------
37..REGISTRATION DATE 6 0 06.. --------------------------------
38..WEEKLY INSUR. DED. 5 2 07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
TOTAL NUMBER OF PAGES: 7 IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
TOP LINE OF PAGE 1.. 5 02.. 10INN NOT 01.. /ENTER 3 COST CNTRS FOR RPT: /
TOP LINE OF PAGE 2.. 15 02.. //
TOP LINE OF PAGE 3.. 19 03.. //
TOP LINE OF PAGE 4.. 23 04.. --------------------------------
TOP LINE OF PAGE 5.. 27 05.. --------------------------------
TOP LINE OF PAGE 6.. 31 06.. --------------------------------
TOP LINE OF PAGE 7.. 35 07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
KEY FIELD IS : 5 BADGE NUMBER
IF ITS
VERSION NUMBER : 2 INPUT SYMBOL:(=,NOT,<,>): LITERAL:
03.. ------- --- 01.. --------------------------------
OVERLAY PAGE NUMBER: 2 02.. --------------------------------
03.. --------------------------------
I S A M R E S P O N S E S 04.. --------------------------------
- - - - - - - - - - - - - 05.. --------------------------------
06.. --------------------------------
MAXIMUM RECORD SIZE : 0250 07.. --------------------------------
08.. --------------------------------
KEY DESCRIPTOR : X25.5 09.. --------------------------------
10.. --------------------------------
TOTAL RECORDS PER DATA BLOCK : 017
IF ITS
TOTAL ENTRIES PER INDEX BLOCK: 064 INPUT SYMBOL:(=,NOT,<,>): LITERAL:
04.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
Page 3-5
09.. --------------------------------
10.. --------------------------------
IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
05.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
06.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
07.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
08.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
Page 3-6
IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
09.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
IF ITS
INPUT SYMBOL:(=,NOT,<,>): LITERAL:
10.. ------- --- 01.. --------------------------------
02.. --------------------------------
03.. --------------------------------
04.. --------------------------------
05.. --------------------------------
06.. --------------------------------
07.. --------------------------------
08.. --------------------------------
09.. --------------------------------
10.. --------------------------------
SORTING SEQUENCE: 10INN, 6INN, 7INN
DO YOU WANT DOUBLE SPACING: (Y OR N): N
DO YOU WANT A NEW PAGE ON THE BREAK: N
NUMBER OF LINES TO SKIP AFTER BREAK: 3
BADGE LAST FIRST MID CREATION COST TOT WEEK REGISTRAT. PHONE REGIST. AUTO WEEK INS
NUMBER NAME NAME INI DATE CNTR INS DED DATE EXTEN. NUMBER MAKE DEDUCT.
[END]
CHAPTER 4
CSSDBM VALIDATION HANDLER (CSSVLD)
4.1 GENERAL DESCRIPTION
The CSSVLD handler is required if you intend to perform
arithmetic calculations using CSSTOT (Chapter 8).
Although CSSDBM is not a sophisticated data editor, it does
provide a character by character check for certain conditions at
input and update time. By using a single record 6-bit data file,
it is possible to check each character for the following:
A Requires an alpha character.
N Requires a numeric character.
X Requires any alpha or numeric character.
NOTE
Any other character requires that a
character of the same ASCII value
to be input, unless:
1. You space over said characters
with the space bar.
2. You depress <CR> at that point.
3. You have depressed <CR> prior
to said character.
4.2 CSSVLD DIALOG
CSSVLD begins by requesting your data base file name. In
response to your answer, the program reads in your format file,
thus obtaining all of the data base parameters. The program now
requests "NEW OR OLD". If you are creating a Validation File for
Page 4-2
the first time, type "NEW". If you type "OLD", your current
Validation File will be read in from the disk and you will be
able to alter it. Next, you will enter a simple loop which will
display:
1. The data base field name and your old validation field.
2. The data base field name, followed by the field size
between colons.
3. The field name once more, plus a colon.
Now, type in your validation data. Upon completion of all fields
in your data base, the program will exit back to the monitor.
NOTE
Exceeding the field delimiting
colons results in the truncation of
those characters.
4.3 CSSVLD OUTPUT FILES
The two files that CSSVLD outputs are:
1. DBMTST.VLD One record 6-bit Validation
File used by the Data Base
Handler program.
2. VLDTST.LPT 7-bit readable ASCII repres-
entation of the 6-bit Validation
File which can be printed
for information purposes.
NOTE
The "TST" portion of the output
file's name is the three character
file name of your data base.
Page 4-3
4.4 NEW VALIDATION FILE EXAMPLE
The following example illustrates the creation of a new
Validation File. Note that typing the word "SPACES" in the
validation field causes that field to be left blank. (See
Paragraph 4.5.1, Field 3.) If spaces are wanted in just a portion
of the field, simply depress the space bar when setting the
validation for that portion. Note that "Record Creation Date"
and "Record Access Date" (Fields 1 and 2 below) must be validated
as "NNNNNN" or "SPACES". You will also find that by typing
"OVERLAY", once you have completed the validation fields for your
first overlay page, all of the following overlay pages will
contain the same validation information. (See Field 19, below.)
.RUN CSSVLD
CSSDBM VALIDATION ROUTINE CSSVLD(V05)
TYPE NAME OF FORMAT FILE: DBMTST
(NEW OR OLD) VALIDATION FILE: NEW
1...RECORD CREATION DATE: :
1...RECORD CREATION DATE:------:
1...RECORD CREATION DATE:NNNNNN
2...RECORD ACCESS DATE : :
2...RECORD ACCESS DATE :------:
2...RECORD ACCESS DATE :NNNNNN
3...ANNUAL SALARY : :
3...ANNUAL SALARY :-------:
3...ANNUAL SALARY :NNNNNNN
4...TOTAL WEEKLY INS DED: :
4...TOTAL WEEKLY INS DED:-----:
4...TOTAL WEEKLY INS DED:NNNNN
5...BADGE NUMBER : :
5...BADGE NUMBER :-----:
5...BADGE NUMBER :NNNNN
6...LAST NAME : :
6...LAST NAME :--------------------:
6...LAST NAME :AAAAAAAAAAAAAAAAAAAA
7...FIRST NAME : :
7...FIRST NAME :---------------:
7...FIRST NAME :AAAAAAAAAAAAAAA
8...MIDDLE INITIAL : :
8...MIDDLE INITIAL :--:
8...MIDDLE INITIAL :XX
9...WAGE CLASS : :
9...WAGE CLASS :-:
9...WAGE CLASS :N
10...COST CENTER : :
10...COST CENTER :---:
10...COST CENTER :XXX
11...PHONE EXTENSION : :
11...PHONE EXTENSION :-----:
11...PHONE EXTENSION :NNNNN
Page 4-4
12...HOURLY RATE : :
12...HOURLY RATE :----:
12...HOURLY RATE :NNNN
13...MAIL STOP : :
13...MAIL STOP :---:
13...MAIL STOP :XXX
14...LOCATION CODE : :
14...LOCATION CODE :------:
14...LOCATION CODE :XXXXXX
15...AUTO REGISTRATION : :
15...AUTO REGISTRATION :------:
15...AUTO REGISTRATION :XXXXXX
16...AUTO MAKE : :
16...AUTO MAKE :----------:
16...AUTO MAKE :XXXXXXXXXX
17...REGISTRATION DATE : :
17...REGISTRATION DATE :------:
17...REGISTRATION DATE :78NNNN
18...WEEKLY INSUR. DED. : :
18...WEEKLY INSUR. DED. :-----:
18...WEEKLY INSUR. DED. :L
#17
17...REGISTRATION DATE :78NNNN:
17...REGISTRATION DATE :------:
17...REGISTRATION DATE :7NNNNN
18...WEEKLY INSUR. DED. : :
18...WEEKLY INSUR. DED. :-----:
18...WEEKLY INSUR. DED. :NNNNN
19...AUTO REGISTRATION : :
19...AUTO REGISTRATION :------:
19...AUTO REGISTRATION :OVERLAY
EXIT
You have now added DBMTST.VLD (Data Base Validation File) and
VLDTST.LPT (Data Base Validation Line Printer File) to your
directory; type DIR <CR> to verify.
To review the completed Validation File on the terminal screen,
type: "TYPE VLDTST.LPT" <CR>. (The LPT file in your directory
will not be automatically deleted.) To receive a line printer
copy, type the following command, after which, the LPT will be
deleted:
.PRINT VLDTST.LPT
If there are no changes to be made, proceed to Chapter 5.
Page 4-5
4.5 CHANGING OLD VALIDATION FILE
You may change the value of any validation field in your data
base by using the OLD dialog, if the physical size of your record
did not change; by using the NEW dialog if it did.
4.5.1 Changing Old Validation File Example
It may be desireable to jump from one field to another while in
this dialog, particularly if only one or two validation fields
require change. For this reason you may type "L" (Line Command)
<CR> at any time, and CSSVLD will respond with a # (number sign).
Your response will take you to the field number specified and
permit inputting to proceed from that point.
NOTE
If the letter "L" is input as data
in any position other than the
first data character (such as the
"l" in Charles), it will not invoke
the Line Command.
The following example illustrates changes to an old Validation
File.
.RUN CSSVLD
CSSDBM VALIDATION ROUTINE CSSVLD(V05)
TYPE NAME OF FORMAT FILE: DBMTST
(NEW OR OLD) VALIDATION FILE: OLD
1...RECORD CREATION DATE:NNNNNN:
1...RECORD CREATION DATE:------:
1...RECORD CREATION DATE:L
# 3
3...ANNUAL SALARY :NNNNNNN:
3...ANNUAL SALARY :-------:
3...ANNUAL SALARY :SPACES
4...TOTAL WEEKLY INS DED:NNNNN:
4...TOTAL WEEKLY INS DED:-----:
4...TOTAL WEEKLY INS DED:SPACES
5...BADGE NUMBER :NNNNN:
5...BADGE NUMBER :-----:
5...BADGE NUMBER :F
EXIT
Page 4-6
To observe the modified Validation File on the terminal screen
(which does not automatically delete the LPT file from your
directory), type the following command:
.TYPE VLDTST.LPT
1...RECORD CREATION DATE : NNNNNN
2...RECORD ACCESS DATE : NNNNNN
3...ANNUAL SALARY :
4...TOTAL WEEKLY INS DED :
5...BADGE NUMBER : NNNNN
6...LAST NAME : AAAAAAAAAAAAAAAAAAAA
7...FIRST NAME : AAAAAAAAAAAAAAA
8...MIDDLE INITIAL : XX
9...WAGE CLASS : N
10...COST CENTER : XXX
11...PHONE EXTENSION : NNNNN
12...HOURLY RATE : NNNN
13...MAIL STOP : XXX
14...LOCATION CODE : XXXXXX
15...AUTO REGISTRATION : XXXXXX
16...AUTO MAKE : XXXXXXXXXX
17...REGISTRATION DATE : 7NNNNN
18...WEEKLY INSUR. DED. : NNNNN
19...AUTO REGISTRATION : XXXXXX
20...AUTO MAKE : XXXXXXXXXX
21...REGISTRATION DATE : 7NNNNN
22...WEEKLY INSUR. DED. : NNNNN
23...AUTO REGISTRATION : XXXXXX
24...AUTO MAKE : XXXXXXXXXX
25...REGISTRATION DATE : 7NNNNN
26...WEEKLY INSUR. DED. : NNNNN
27...AUTO REGISTRATION : XXXXXX
28...AUTO MAKE : XXXXXXXXXX
29...REGISTRATION DATE : 7NNNNN
30...WEEKLY INSUR. DED. : NNNNN
31...AUTO REGISTRATION : XXXXXX
32...AUTO MAKE : XXXXXXXXXX
33...REGISTRATION DATE : 7NNNNN
34...WEEKLY INSUR. DED. : NNNNN
35...AUTO REGISTRATION : XXXXXX
36...AUTO MAKE : XXXXXXXXXX
37...REGISTRATION DATE : 7NNNNN
38...WEEKLY INSUR. DED. : NNNNN
CHAPTER 5
CSSDBM FINAL DATA BASE REQUIREMENTS
5.1 GENERAL DESCRIPTION
CSSDBM requires the completion of two final steps before the data
base is ready for input.
1. Compile, load, and save your Data Base Handler.
2. Create index and data files from your sequential file
using ISAM.
5.2 COMPILE, LOAD, AND SAVE
The compile, load and save operations are the same for all CSSDBM
generated programs, and require the file ECHO.REL, a Macro
library of subroutines, to be loaded with each generated program
as shown below. Your program should always compile error free,
unless you've elected to use the Audit Trail option. If so, you
may receive four warnings at compile time, but do not be
concerned as they do not effect the execution of your Data Base
Handler program.
5.2.1 Compile, Load, and Save Example
The following example illustrates the compile, load and save
procedure of our test data base.
.LOAD DBMTST.CBL,ECHO
COBOL: DBMTST [DBMTST.CBL]
WARNINGS:
0527 RIGHT-MOST TRUNCATION ON AUD-HOLD
0550 RIGHT-MOST TRUNCATION ON AUD-NEW
0663 RIGHT-MOST TRUNCATION ON AUD-OLD
Page 5-2
0672 RIGHT-MOST TRUNCATION ON AUD-NEW
NO FATAL ERRORS, 4 WARNINGS
LINK: Loading
EXIT
.SAVE
DBMTST SAVED
5.3 ISAM
The CSSDBM system provides all the ISAM (Indexed Sequential
Access Mode) responses required to make the data base
operational, thus keeping with the original concept to avoid
technical knowledge of either COBOL or ISAM. All responses to
ISAM, therefore, which are not received from either CSSDBW or
DBMDMP will be identical to those used in this document. For a
detailed description of ISAM, refer to the DECsystem-10 COBOL
User's Guide, AA-0939B-TB.
5.3.1 ISAM Functions
The three basic functions of ISAM are:
/B - Build
/P - Packing
/M - Maintenance
The /B function is used for initially creating a data base. In
doing this, an indexed sequential file is created from a
sequential file. The /P function creates an ASCII sequential
file from your indexed sequential file, and the /M function
aligns your index file with your data file. Note that the /M and
/P functions are only used for utility purposes.
Page 5-3
5.3.1.1 /B Example -
This example illustrates the creation of a test data base. All
responses entered are either zeroes, which are parameters
maintained efficiently by the monitor, or variable responses
calculated by either CSSDBW or DBMDMP.
NOTE
In response to the ISAM querie for
"MAXIMUM NUMBER OF RECORDS FILE CAN
BECOME", enter the estimated number
of records you feel your data base
will grow to include.
.R ISAM
*=DBMTST.SEQ/B
MODE OF INPUT FILE: A
MODE OF DATA FILE: S
MAXIMUM RECORD SIZE: 250
KEY DESCRIPTOR: X25.5
RECORDS PER INPUT BLOCK: 0
TOTAL RECORDS PER DATA BLOCK: 17
EMPTY RECORDS PER DATA BLOCK: 0
TOTAL ENTRIES PER INDEX BLOCK: 64
EMPTY ENTRIES PER INDEX BLOCK: 0
PERCENTAGE OF DATA FILE TO LEAVE EMPTY: 0
PERCENTAGE OF INDEX FILE TO LEAVE EMPTY: 0
MAXIMUM NUMBER OF RECORDS FILE CAN BECOME: 10000
1 LEVEL OF INDEX
0 DATA RECORDS
*^C
Page 5-4
If you are creating a data base for the first time, proceed to
the directory listing at the bottom of Paragraph 5.3.1.3, and
then to Chapter 6; to Chapter 7 if the Audit Trail option was
not selected.
5.3.1.2 /P Example -
This ISAM example illustrates the /P function, or packing your
indexed sequential data base back to an ASCII sequential file.
.R ISAM
*=DBMTST.IDX/P
MODE OF OUTPUT FILE: A
RECORDS PER OUTPUT BLOCK: 0
*^C
5.3.1.3 /M Example -
This ISAM example illustrates the /M, or maintenance procedure,
which should be performed periodically to realign your index and
data files. Although nothing is ever lost, failure to comply
results in a substantial increase in the overhead of your data
base. In this dialog, all of your ISAM parameters will be
displayed. A <CR> response should always be used as it defaults
to the original setting. An on-line message of "TOP INDEX BLOCK
SPLIT, FILE SHOULD BE REORGANIZED" when running the CSSDBM Data
Base Handler (Chapter 7), will indicate that the /M function
should be used.
.R ISAM
*=DBMTST.IDX/M
TOTAL RECORDS PER DATA BLOCK (17): <CR>
EMPTY RECORDS PER DATA BLOCK (0): <CR>
TOTAL ENTRIES PER INDEX BLOCK (64): <CR>
EMPTY ENTRIES PER INDEX BLOCK (0): <CR>
PERCENTAGE OF DATA FILE TO LEAVE EMPTY (0): <CR>
PERCENTAGE OF INDEX FILE TO LEAVE EMPTY (0): <CR>
MAXIMUM NUMBER OF RECORDS FILE CAN BECOME (10000): <CR>
1 LEVEL OF INDEX
0 DATA RECORDS
*^C
Page 5-5
Additional files have again been added to your directory; type
DIR <CR> to verify that the following are present:
LIB:[PROJ,PROG] (See Paragraph 1.5)
DBMTST.SEQ (Data Base Sequential File)
DBMTST.FMT (Data Base Format File)
DBMAUD.FMT (Audit Trail Format File)
(If Audit Trail option selected.)
DBMTST.CBL (Data Base COBOL File)
DBMTST.VLD (Data Base Validation File)
(If On-line Validation option selected.)
DBMTST.REL (Data Base Relocatable File)
DBMTST.EXE (Data Base Executable File)
DBMTST.IDA (Data Base Data File)
DBMTST.IDX (Data Base Index File)
CHAPTER 6
CSSDBM AUDIT TRAIL OPTION
6.1 GENERAL DESCRIPTION
The CSSDBM Audit Trail option was implemented to provide the data
base administrator with a tool to totally monitor all activity
within his file. Since CSSDBM(V05) allows simultaneous file
update, the need to monitor file activity has increased. The
Audit Trail was designed to be nothing more than another CSSDBM
ISAM file, thus making it accessable by the CSSDBM report writer,
CSSRPT. This is particularly useful if you wish to qualify a
particular event which may have taken place within your data base
without manually examining numerous pages of listings.
NOTE
You can not have more than one data
base with the Audit Trail option
for each PPN [Proj,Prog].
Page 6-2
6.2 AUDIT TRAIL RECORD FORMAT
FIELD FIELD FIELD COMMENTS
NUMBER NAME SIZE
1. TRANSACTION DATE, TIME 15 KEY FIELD
AND DATA BASE FIELD NUMBER
2. TRANSACTION CODE 1 0 = RECORD INSERTED
1 = RECORD CHANGED
2 = RECORD DELETED
3. PASSWORD USED 6 PASSWORD OF PERSON
UPDATING DATA BASE
4. RECORD KEY 32 DATA BASE KEY
FOR THE RECORD BEING
UPDATED.
5. FIELD NUMBER 3 THE FIELD NUMBER UPON
WHICH THE UPDATE TAKES
PLACE.
6. FIELD NAME 20 THE PROMPT FROM THE
FORMAT FILE FOR THIS
FIELD
7. OLD DATA 32 THE DATA AS IT
APPEARED BEFORE THE
UPDATE TOOK PLACE.
8. NEW DATA 32 THE DATA AS IT IS NOW
FOLLOWING THE UPDATE.
6.3 AUDIT TRAIL RECORDING SCHEME
When a record is inserted into your data base, an entry is made
in the Audit Trail for each field containing data. While
changing a record in your data base, an Audit Trail entry is made
for each field you changed. If you delete a record, an Audit
Trail entry will be made for each field of the deleted record
which contained data.
Page 6-3
6.4 IMPLEMENTATION PROCEDURE
If you requested the Audit Trail during the CSSDBW routine, the
Audit Trail's ISAM format file will be output to the disk as well
as your data base format file, and will contain the same password
table as your data base format file. If you intend to create an
Audit Trail report using CSSRPT (refer to Paragraph 6.5 and to
Chapter 9), execute the following ISAM command file:
6.4.1 ISAM Command File Execution
.R ISAM
*@DBMAUD.CCL
1 LEVEL OF INDEX
0 DATA RECORDS
*^C
6.4.2 B E W A R E !
Since the Audit Trail tracks ALL data base activity, the file is
subject to become very large, very fast. Re-execution of the
command file, as demonstrated above, will bring your Audit Trail
down to zero entries without loosing your ISAM files on the disk.
6.5 AUDIT TRAIL REPORT EXAMPLE
The following is an example of sequential report generated by
CSSRPT (refer to Chapter 9) of the Audit Trail:
Page 6-4
CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY PAGE 1
RUN ON 31-MAY-78 AT 11:48
TRANS/TRANS TR PASSWD KEY FLD FIELD DATA BEFORE DATA AFTER
DATE /TIME CD USED FIELD NAME TRANSACTION TRANSACTION
780531112011 1 JONES 1 010 COST CENTER 625 201
780531112018 1 JONES 1 015 AUTO REGISTRATION K22105
780531112021 1 JONES 1 016 AUTO MAKE CHEVY
780531112028 1 JONES 1 017 REGISTRATION DATE 771201
780531112034 1 JONES 1 018 WEEKLY INSUR. DED. 232
780531112059 1 JONES 1 019 AUTO REGISTRATION 212320
780531112104 1 JONES 1 020 AUTO MAKE HORNET
780531112113 1 JONES 1 021 REGISTRATION DATE 780205
780531112118 1 JONES 1 022 WEEKLY INSUR. DED. 450
780531112202 1 JONES 212 010 COST CENTER 403 201
780531112208 1 JONES 212 015 AUTO REGISTRATION 712155
780531112212 1 JONES 212 016 AUTO MAKE VOLVO
780531112221 1 JONES 212 017 REGISTRATION DATE 770917
780531112226 1 JONES 212 018 WEEKLY INSUR. DED. 517
780531112255 1 JONES 156 010 COST CENTER 327 201
780531112300 1 JONES 156 015 AUTO REGISTRATION 557546
780531112306 1 JONES 156 016 AUTO MAKE VOLVO
780531112315 1 JONES 156 017 REGISTRATION DATE 771114
780531112319 1 JONES 156 018 WEEKLY INSUR. DED. 445
780531112642 1 JONES 167 010 COST CENTER 519 201
780531112650 1 JONES 167 015 AUTO REGISTRATION 356734
780531112654 1 JONES 167 016 AUTO MAKE PONTIAC
780531112700 1 JONES 167 018 WEEKLY INSUR. DED. 387
780531112707 1 JONES 167 017 REGISTRATION DATE 780109
780531112754 1 JONES 190 010 COST CENTER 510 201
780531112800 1 JONES 190 015 AUTO REGISTRATION B59807
780531112802 1 JONES 190 016 AUTO MAKE FORD
780531112808 1 JONES 190 017 REGISTRATION DATE 771002
780531112814 1 JONES 190 018 WEEKLY INSUR. DED. 650
780531112906 1 JONES 12 010 COST CENTER 211 201
780531112911 1 JONES 12 015 AUTO REGISTRATION 596021
780531112917 1 JONES 12 016 AUTO MAKE TRIUMPH
780531112923 1 JONES 12 017 REGISTRATION DATE 780101
780531112928 1 JONES 12 018 WEEKLY INSUR. DED. 512
780531113020 1 JONES 134 010 COST CENTER 625 202
780531113028 1 JONES 134 015 AUTO REGISTRATION 250926
780531113037 1 JONES 134 016 AUTO MAKE VOLKSWAGON
780531113052 1 JONES 134 017 REGISTRATION DATE 770212
780531113058 1 JONES 134 018 WEEKLY INSUR. DED. 323
780531113129 1 JONES 145 010 COST CENTER 252 202
780531113135 1 JONES 145 015 AUTO REGISTRATION 460059
780531113139 1 JONES 145 016 AUTO MAKE SUBARU
780531113144 1 JONES 145 017 REGISTRATION DATE 770912
780531113148 1 JONES 145 018 WEEKLY INSUR. DED. 240
780531113203 1 JONES 201 010 COST CENTER 650 202
780531113216 1 JONES 201 015 AUTO REGISTRATION 513270
780531113220 1 JONES 201 016 AUTO MAKE BMW
780531113224 1 JONES 201 017 REGISTRATION DATE 771206
780531113228 1 JONES 201 018 WEEKLY INSUR. DED. 1032
Page 6-5
CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY PAGE 2
RUN ON 31-MAY-78 AT 11:48
TRANS/TRANS TR PASSWD KEY FLD FIELD DATA BEFORE DATA AFTER
DATE /TIME CD USED FIELD NAME TRANSACTION TRANSACTION
780531113255 1 JONES 189 010 COST CENTER 283 202
780531113259 1 JONES 189 015 AUTO REGISTRATION A15217
780531113304 1 JONES 189 016 AUTO MAKE PONTIAC
780531113310 1 JONES 189 017 REGISTRATION DATE 770925
780531113314 1 JONES 189 018 WEEKLY INSUR. DED. 577
780531113321 1 JONES 189 019 AUTO REGISTRATION N80275
780531113324 1 JONES 189 020 AUTO MAKE CHEVY
780531113330 1 JONES 189 021 REGISTRATION DATE 780117
780531113338 1 JONES 189 022 WEEKLY INSUR. DED. 232
780531113407 1 JONES 123 010 COST CENTER 713 203
780531113413 1 JONES 123 015 AUTO REGISTRATION 285141
780531113417 1 JONES 123 016 AUTO MAKE DODGE
780531113421 1 JONES 123 017 REGISTRATION DATE 770505
780531113425 1 JONES 123 018 WEEKLY INSUR. DED. 585
780531113442 1 JONES 178 010 COST CENTER 292 203
780531113447 1 JONES 178 015 AUTO REGISTRATION 353802
780531113454 1 JONES 178 016 AUTO MAKE FORD
780531113503 1 JONES 178 017 REGISTRATION DATE 770115
780531113508 1 JONES 178 018 WEEKLY INSUR. DED. 623
780531113554 1 JONES 100 010 COST CENTER 385 203
780531113558 1 JONES 100 015 AUTO REGISTRATION 596212
780531113608 1 JONES 100 016 AUTO MAKE MG
780531113611 1 JONES 100 017 REGISTRATION DATE 770517
780531113614 1 JONES 100 018 WEEKLY INSUR. DED. 423
780531113620 1 JONES 100 019 AUTO REGISTRATION 522187
780531113623 1 JONES 100 020 AUTO MAKE AUDI
780531113627 1 JONES 100 021 REGISTRATION DATE 780201
780531113630 1 JONES 100 022 WEEKLY INSUR. DED. 333
780531113702 1 JONES 111 010 COST CENTER 215 203
780531113733 1 JONES 111 015 AUTO REGISTRATION 122574
780531113749 1 JONES 111 016 AUTO MAKE DATSUN
780531113758 1 JONES 111 017 REGISTRATION DATE 771020
780531113801 1 JONES 111 018 WEEKLY INSUR. DED. 515
780531113811 1 JONES 111 019 AUTO REGISTRATION 208373
780531113813 1 JONES 111 020 AUTO MAKE CORVETTE
780531113817 1 JONES 111 021 REGISTRATION DATE 770510
780531113820 1 JONES 111 022 WEEKLY INSUR. DED. 625
780531113957 0 JONES 1532 001 RECORD CREATION DATE @RECORD INSERTED 780531
780531113957 0 JONES 1532 002 RECORD ACCESS DATE @RECORD INSERTED 780531
780531113958 0 JONES 1532 005 BADGE NUMBER @RECORD INSERTED 1532
780531113958 0 JONES 1532 006 LAST NAME @RECORD INSERTED HARVARD
780531113958 0 JONES 1532 007 FIRST NAME @RECORD INSERTED JOHN
780531113958 0 JONES 1532 008 MIDDLE INITIAL @RECORD INSERTED P.
780531113958 0 JONES 1532 009 WAGE CLASS @RECORD INSERTED 4
780531113958 0 JONES 1532 010 COST CENTER @RECORD INSERTED 672
780531113958 0 JONES 1532 011 PHONE EXTENSION @RECORD INSERTED 82754
780531113958 0 JONES 1532 012 HOURLY RATE @RECORD INSERTED 1320
780531113958 0 JONES 1532 013 MAIL STOP @RECORD INSERTED S21
780531113958 0 JONES 1532 014 LOCATION CODE @RECORD INSERTED PK3-2
Page 6-6
CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY PAGE 3
RUN ON 31-MAY-78 AT 11:48
TRANS/TRANS TR PASSWD KEY FLD FIELD DATA BEFORE DATA AFTER
DATE /TIME CD USED FIELD NAME TRANSACTION TRANSACTION
780531113958 0 JONES 1532 015 AUTO REGISTRATION @RECORD INSERTED N22187
780531113958 0 JONES 1532 016 AUTO MAKE @RECORD INSERTED OLDSMOBILE
780531113958 0 JONES 1532 017 REGISTRATION DATE @RECORD INSERTED 770917
780531113959 0 JONES 1532 018 WEEKLY INSUR. DED. @RECORD INSERTED 528
780531114013 2 JONES 1532 001 RECORD CREATION DATE 780531 @RECORD DELETED
780531114013 2 JONES 1532 002 RECORD ACCESS DATE 780531 @RECORD DELETED
780531114013 2 JONES 1532 005 BADGE NUMBER 1532 @RECORD DELETED
780531114013 2 JONES 1532 006 LAST NAME HARVARD @RECORD DELETED
780531114014 2 JONES 1532 007 FIRST NAME JOHN @RECORD DELETED
780531114014 2 JONES 1532 008 MIDDLE INITIAL P. @RECORD DELETED
780531114014 2 JONES 1532 009 WAGE CLASS 4 @RECORD DELETED
780531114014 2 JONES 1532 010 COST CENTER 672 @RECORD DELETED
780531114014 2 JONES 1532 011 PHONE EXTENSION 82754 @RECORD DELETED
780531114014 2 JONES 1532 012 HOURLY RATE 1320 @RECORD DELETED
780531114014 2 JONES 1532 013 MAIL STOP S21 @RECORD DELETED
780531114014 2 JONES 1532 014 LOCATION CODE PK3-2 @RECORD DELETED
780531114014 2 JONES 1532 015 AUTO REGISTRATION N22187 @RECORD DELETED
780531114014 2 JONES 1532 016 AUTO MAKE OLDSMOBILE @RECORD DELETED
780531114014 2 JONES 1532 017 REGISTRATION DATE 770917 @RECORD DELETED
780531114014 2 JONES 1532 018 WEEKLY INSUR. DED. 528 @RECORD DELETED
Additional files have again been added to your directory; type
DIR <CR> to verify that the following are present:
LIB:[PROJ,PROG] (See Paragraph 1.5)
DBMTST.SEQ (Data Base Sequential File)
DBMTST.FMT (Data Base Format File)
DBMAUD.FMT (Audit Trail Format File)
(If Audit Trail option selected.)
DBMTST.CBL (Data Base COBOL File)
DBMTST.VLD (Data Base Validation File)
(If On-line Validation option selected.)
DBMTST.REL (Data Base Relocatable File)
DBMTST.EXE (Data Base Executable File)
DBMTST.IDA (Data Base Data File)
DBMTST.IDX (Data Base Index File)
DBMAUD.IDA (Audit Trail Data File)*
DBMAUD.IDX (Audit Trail Index File)*
*(If Audit Trail option selected.)
CHAPTER 7
CSSDBM DATA BASE HANDLER (DBMTST)
7.1 GENERAL DESCRIPTION
The data input portion of CSSDBM can now be implemented if the
Data Base Handler has been compiled, loaded, and saved per
instructions in Chapter 5. Note that the Handler also fills in
the "Record Creation Date" and "Record Access Date" fields
automatically, if that option was previously selected.
7.2 DBMTST DIALOG
Program execution occurs by typing "RUN DBMTST". The program
will then request a password, which, for security reasons, will
not be echoed back to the terminal. If the password corresponds
to one of the codes entered by the data base administrator during
initializtion, the program will respond with its name and it will
then request "LONG OR SHORT DIALOG". Response to this inquiry
depends upon the type of terminal you're using. When using a low
speed, hard copy terminal, a great deal of teletype chatter can
be eliminated by typing "SHORT" in answer to this question.
Page 7-2
7.2.1 DBMTST Dialog Example
.RUN DBMTST
PASSWORD: JONES
CSS DATA BASE MANAGEMENT SYSTEM CSSDBM(V05)
LONG OR SHORT DIALOG: LONG
7.3 DBMTST COMMANDS
The program is now ready to receive commands, which is indicated
by an asterisk. Typing anything other than a recognizable
command at this time results in the program responding with a
short help key, and returning with an asterisk.
NOTE
All references to the data being
displayed after a command are only
effective if the LONG dialog is
used. When using the SHORT dialog,
inserting a "T" command (Paragraph
7.3.2) displays the first page of
the record.
7.3.1 DBMTST Commands Example
*HELP
C TO CHANGE
D TO DELETE
F TO CLOSE OUT FILE
I TO INSERT
N FOR NEXT RECORD
P FOR NEXT PAGE
S TO SEARCH
T TO TYPE CURRENT RECORD
7.3.2 Type Command (T)
Typing "T" causes Page 1 of the current record to be displayed.
Note that this is the only way to display the record if the the
short dialog was selected at the beginning of the program above
(Paragraph 7.2).
Page 7-3
7.3.2.1 Type Command Example -
*T
5 BADGE NUMBER :123
6 LAST NAME :DOE
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :4
10 COST CENTER :54C
11 PHONE EXTENSION :43214
12 HOURLY RATE :250
13 MAIL STOP :
14 LOCATION CODE :
7.3.3 Insert Command (I)
Typing an "I" at this time sets the program to the Insert mode.
The program remains in this mode until an "F" (Finish) is typed,
to allow one record after another to be input with minimal
communication with the program.
While inserting, the program will display the size of each field
(or the optional validation data, if used) between two colons.
This will be followed by the field name on the next line.
NOTE
When inputting, do not be concerned
if all of the fields are not
displayed. Possibly, you have not
been granted the privilege to
access those lines which are not.
7.3.3.1 Insert Command Example -
In the following example, note that the data field input for
field 11 did not validate against the validation field, and is
flagged as a data error. There may be an exception to your
validation field which would necessitate overriding this error.
For example, if you input a rejected field twice, exactly the
same way for a total of three times, the error will be flagged
again but the data will be accepted. This condition exists for
both the input and record change routines. Observe also, the use
of the "L" command in field 13 to skip to a desired record line
while in Insert mode. (Refer to Paragraph 4.5.1.)
Page 7-4
*I
5 :NNNNN:
5 BADGE NUMBER :123
6 :AAAAAAAAAAAAAAAAAAAA:
6 LAST NAME :DOE
7 :AAAAAAAAAAAAAAA:
7 FIRST NAME :JOHN
8 :XX:
8 MIDDLE INITIAL :P.
9 :N:
9 WAGE CLASS :4
10 :XXX:
10 COST CENTER :54C
11 :NNNNN:
11 PHONE EXTENSION :43A1D
11 :NNNNN:
11 PHONE EXTENSION :43A1D
DATA E R R O R ^ ^
11 :NNNNN:
11 PHONE EXTENSION :43214
12 :NNNN:
12 HOURLY RATE :250
13 :XXX:
13 MAIL STOP :L
#16
16 :XXXXXXXXXX:
16 AUTO MAKE :FORD
17 :7NNNNN:
17 REGISTRATION DATE :770201
18 :NNNNN:
18 WEEKLY INSUR. DED. :520
19 :XXXXXX:
19 AUTO REGISTRATION :A55121
20 :XXXXXXXXXX:
20 AUTO MAKE :DODGE
21 :7NNNNN:
21 REGISTRATION DATE :780423
22 :NNNNN:
22 WEEKLY INSUR. DED. :250
7.3.3.2 Insert Command Options -
The following Insert command options are available:
1. Once you have input as much data as desired, you can
write out the current record and begin the next by
typing "F". If the LONG dialog is requested at the
beginning of the program, page 1 will be displayed each
time you complete a record.
Page 7-5
EXAMPLE:
23 :XXXXXX:
23 AUTO REGISTRATION :F
5 BADGE NUMBER :123
6 LAST NAME :DOE
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :4
10 COST CENTER :54C
11 PHONE EXTENSION :43214
12 HOURLY RATE :250
13 MAIL STOP :
14 LOCATION CODE :
2. Typing an "F" in the first field of your data base,
while in the Insert mode, will take you out of this
loop; the program will return with the asterisk and
wait for your next command.
EXAMPLE:
5 :NNNNN:
5 BADGE NUMBER :F
*
7.3.4 Search Command (S)
The Search command is represented by an "S". When searching for
a record within your data base, search for the unique field
defined as the data base Key Field. In this example, the Key
Field is "BADGE NUMBER". If the program successfully finds your
record, it will display Page 1 provided the LONG dialog was
selected; the SHORT dialog causes the program to respond with an
asterisk, with the "T" command required to display the record.
Page 7-6
7.3.4.1 Search Command Example -
*S
TYPE IN THE KEY YOU ARE SEARCHING FOR: 123
5 BADGE NUMBER :123
6 LAST NAME :DOE
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :4
10 COST CENTER :54C
11 PHONE EXTENSION :43214
12 HOURLY RATE :250
13 MAIL STOP :
14 LOCATION CODE :
If your record is not found in the data base, the program will
respond with "NO SUCH KEY".
EXAMPLE:
*S
TYPE IN THE KEY YOU ARE SEARCHING FOR: 25172
NO SUCH KEY
7.3.5 Change Command (C)
The "C" command provides the capability to change the current
record. Prior to using it, however, either the Search or Insert
commands must have previously been used. Once "C" is entered,
the first page of the current record will be displayed and the
line numbers to be changed will be requested. These line numbers
may be entered in any order. Follow each entry with a <CR> and
terminate your selection by typing either a zero or an extra
<CR>. Note that the same validation rules hold true for the
Change routine as for the Insert routine, provided the validation
option is used. The difference between the Change and the Insert
command using the Validation File, is that the data to be changed
is displayed instead of the validation information. A blank data
field will display the blanks.
Page 7-7
7.3.5.1 Change Command Example -
*C
5 BADGE NUMBER :123
6 LAST NAME :DOE
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :4
10 COST CENTER :54C
11 PHONE EXTENSION :43214
12 HOURLY RATE :250
13 MAIL STOP :
14 LOCATION CODE :
TYPE IN LINE NUMBERS YOU WISH TO CHANGE
TERMINATE WITH A 0 OR EXTRA <CR>
*13
*14
*0
The program will then request that the fields selected be
rewritten. Upon completion, Page 1 of the record just changed
will be shown.
EXAMPLE:
13 MAIL STOP : :
13 :A23
14 LOCATION CODE : :
14 :PK-1
5 BADGE NUMBER :123
6 LAST NAME :DOE
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :4
10 COST CENTER :54C
11 PHONE EXTENSION :43214
12 HOURLY RATE :250
13 MAIL STOP :A23
14 LOCATION CODE :PK-1
Page 7-8
7.3.6 Next Command (N)
The "N" command allows advancement to the next record from the
current record. You will be shown Page 1 the next record and
then returned to the asterisk.
7.3.6.1 Next Command Example -
*N
5 BADGE NUMBER :145
6 LAST NAME :JONES
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :2
10 COST CENTER :521
11 PHONE EXTENSION :33421
12 HOURLY RATE :555
13 MAIL STOP :P22
14 LOCATION CODE :PK-3
A number placed after the "N" causes the program to advance by
that number of records; you will be shown that record, followed
by asterisk. The maximum number that can be used with the Next
command is 99; advancement beyond the limitations of the file
results in the program typing "END OF FILE".
EXAMPLE:
*N20
END OF FILE
7.3.7 Page Command (P)
The "P" command causes the requested page to be displayed. A
non-existent page request will display Page 1. The format is
"Pn", where "n" is the page number you wish to see.
Page 7-9
7.3.7.1 Page Comand Example -
*P2
15 AUTO REGISTRATION :
16 AUTO MAKE :FORD
17 REGISTRATION DATE :770201
18 WEEKLY INSUR. DED. :520
7.3.8 Delete Command (D)
The "D" command allows deletion of an entire record. Having
typed "D", you will be requested to type in the key field
corresponding to the specific record to be deleted. Page 1 of
that record will be displayed and the program will ask: "DELETE
THIS RECORD...ARE YOU SURE?" Any response other than "YES" or "Y"
will cause the record to remain intact.
7.3.8.1 Delete Command Example -
*D
TYPE KEY TO BE DELETED: 123
5 BADGE NUMBER :123
6 LAST NAME :DOE
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :4
10 COST CENTER :54C
11 PHONE EXTENSION :43214
12 HOURLY RATE :250
13 MAIL STOP :A23
14 LOCATION CODE :PK-1
DELETE THIS RECORD...ARE YOU SURE? Y
7.3.9 Finish Command (F)
The "F" command at this level causes the program to exit to the
monitor.
7.3.9.1 Finish Command Example -
*F
EXIT
.
Page 7-10
7.4 DBMTST OVERVIEW
The following example, using the Next ("N") Command, illustrates
what the user would see had he the privilege to access all
information in the file:
.RUN DBMTST
PASSWORD: COLE
CSS DATA BASE MANAGEMENT SYSTEM CSSDBM(V05)
LONG OR SHORT DIALOG: L
*N
1 RECORD CREATION DATE :780516
2 RECORD ACCESS DATE :780516
3 ANNUAL SALARY :
4 TOTAL WEEKLY INS DED :
5 BADGE NUMBER :145
6 LAST NAME :JONES
7 FIRST NAME :JOHN
8 MIDDLE INITIAL :P.
9 WAGE CLASS :2
10 COST CENTER :521
11 PHONE EXTENSION :33421
12 HOURLY RATE :555
13 MAIL STOP :P22
14 LOCATION CODE :PK-3
*F
EXIT
The files you now have in your directory are the same as those
previously listed at the end of Chapter 6, with the exception
that both the .IDA (Data) and .IDX (Index) files have increased
somewhat in size; type DIR <CR> to verify.
CHAPTER 8
CSSDBM ARITHEMETIC PROCESSOR (CSSTOT)
8.1 GENERAL DESCRIPTION
CSSTOT was written to provide non-programmers with the means of
converting mathematical logic into an acceptable program via a
simple on-line dialog.
Once data has been entered into your file, it may be desirable to
generate statistical information within each record for analysis.
To do this, CSSTOT creates a COBOL source file which, when
executed, reads each record in your file and performs
mathematical operations on it. The record is then rewritten.
Some advance consideration (Paragraph 8.1.1) should be given
before running CSSTOT to avoid confusion.
8.1.1 Special CSSTOT Parameters
Because of the high volume of data accessed by CSSTOT, some
precautions were taken during its development.
1. A privilege code of 3 is required to run CSSTOT and a
privilege code of 2 is required to execute the program
output by CSSTOT.
2. Users must have a data base Validation File. The
program uses this file to ensure that all fields in your
mathematical operation are numeric. The validation
fields must either contain "N's" or spaces. If you
create a validation field containing all spaces, the
data entry routine (DBMTST in this document) will accept
nothing in that field. This prevents data from being
entered into a field which will be overwritten by the
Arithmetic Processor, CSSTOT.
3. If you have modified your data base with CSSCNG (Chapter
10), it may be necessary for you to change your
Validation File (DBMTST.VLD) with CSSVLD (Paragraph 4.5)
before this Arithmetic Processor will work.
Page 8-2
8.2 INPUT FORMAT
Input to CSSTOT should be in the form of an equation not to
exceed 72 characters. Each equation must be terminated with a
period, followed by a <CR>. Items in each equation can be either
field symbols or integers, and parenthesis may be used to qualify
your operation. The only format restrictions are:
1. Spaces must be placed between each item or integer and
the operational sign.
2. The destination of the calculations must always be
specified first.
3. All field references must be followed by a delimiter of
"INN"; the intended field number will be recognized as
an integer, otherwise.
8.2.1 CSSTOT Example
The following example illustrates the arithemetic operations
required to produce the report illustrated in Chapter 9, after
Paragraph 9.7.2. Note that most error conditions are flagged
when you input your equation; entry errors can be easily
corrected by jumping back to the error with the "L" command,
Paragraph 4.5.1.
Observe the special symbol "@", following the "INN" delimiter,
below in equation 2. This symbol represents the collective sum
for each corresponding item on all following overlay pages, and
will be rejected, obviously, if your file is not configured with
overlay pages.
Compiler warnings may occur if the output field size is less than
the input field size. These warnings won't prevent execution,
but understand what they are telling you. Fatal errors, on the
otherhand, prevent CSSTOT form operating and will not let you
continue unitl the problem has been corrected.
Page 8-3
Once all equations have been entered, type an extra <CR> to write
your program onto the disk. Next, the program should be
compilied, loaded with ECHO.REL, as shown below, and saved. Once
this is done, it can be run as often as a re-computation within
your file is necessary.
NOTE
The 3 character indentifier asked
for can be any 3 characters of your
choosing, but it is recomended that
they, in some way, identify the
data base for which CSSTOT has been
written.
Mathematical Symbols:
+ ADD
- SUBTRACT
* MULTIPLY
/ DIVIDE
.RUN CSSTOT
TYPE NAME OF INPUT FORMAT FILE: DBMTST
PASSWORD: COLE
CSS ARITHMETIC PROCESSOR CSSTOT(V05)
TYPE A 3 CHARACTER IDENTIFIER FOR THIS APPLICATION: 001
TYPE IN YOUR NAME: JOHN DOE
TYPE IN UP TO 30 EQUATIONS; TERMINATE EACH WITH A PERIOD.
1 : 3INN = 1
WRONG NUMBER OF PERIODS IN STATEMENT
1 : 7INN = 1.
7INN IS NOT NUMERIC IN THE VALIDATION FILE
1 : 3INN = (12INN * 40) * 52).
WRONG NUMBER OF PARENTHESIS
1 : 3INN = (12INN * 40).
2 : L
# 1
1 : 3INN = ((12INN * 40) * 52).
2 : 4INN = 18INN@.
3 : <CR>
CREATING TOT001.CBL ...
EXIT
Page 8-4
.LOAD TOT001.CBL,ECHO
COBOL: TOT001 [TOT001.CBL]
WARNINGS:
0177 MOST SIGNIFICANT DIGITS TRUNCATED ON 3INN
NO FATAL ERRORS, 1 WARNING
LINK: Loading
EXIT
.SAVE
TOT001 SAVED
.RUN TOT001
PASSWORD: HARRIS
EXIT
Page 8-5
A check of your directory will show that you have added 3 new
files:
TOT001.CBL (Arithmetic Process COBOL File)
TOT001.REL (Arithmetic Process Relocatable File)
TOT001.EXE (Arithmetic Process Executable File)
As several of these files are no longer required and are taking
up valuable space, they can, and should, be deleted. Those files
are:
DBMTST.SEQ (Data Base Sequential File)
DBMTST.CBL (Data Base COBOL File)
DBMTST.REL (Data Base Relocatable File)
TOT001.CBL (Arithmetic Process COBOL File)
TOT001.REL (Arithmetic Process Relocatable File)
When completed, your directory should contain the following
files. Verify by typing DIR <CR>.
LIB:[PROJ,PROG] (See Paragraph 1.5)
DBMTST.FMT (Data Base Format File)
DMBAUD.FMT (Audit Trail Format File)
(If Audit Trail option selected.)
DBMTST.VLD (Data Base Validation File)
(If On-line Validation option selected.)
DBMTST.EXE (Data Base Executable File)
DBMTST.IDA (Data Base Data File)
DBMTST.IDX (Data Base Index File)
DBMAUD.IDA (Audit Trail Data File)*
DBMAUD.IDX (Audit Trail Index File)*
*(If Audit Trail option selected.)
TOT001.EXE (Arithmetic Process Executable File)
CHAPTER 9
CSSDBM REPORT WRITER (CSSRPT)
9.1 GENERAL DESCRIPTION
Once the data input phase of CSSDBM is complete, the data
extraction process can begin. The CSSDBM program that
acomplishes this task is called the CSSDBM Report Writer
(CSSRPT). CSSRPT has the facilities to sort, arrange,
selectively extract, and total data to suit each user's specific
needs. Before attempting to generate a report, the user should
reference the work sheet provided by DBMDMP (Paragraph 3.2).
To minimize error, the Report Writer was designed to present the
entire dialog in as simple and foolproof a manner as possible.
Significant thought, however, should go into the desired output
format before running CSSRPT. As with most general purpose
systems, some restrictions exist and should be understood before
attempting to generate reports. These restrictions are as
follows:
1. Output is limited to 132 characters when using the line
printer (a printer restriction).
2. CSSRPT will only run on files created with CSSDBW.
3. Output is limited to 72 characters when using the user
terminal (TTY).
NOTE
Because many system users wish to
keep some data confidential, it is
recommended that the same person
who initialized the system generate
its output.
Page 9-2
9.2 REPORT GENERATION AND ACCESS PRIVILEGE
To begin report generation, type "RUN CSSRPT". The program will
then request the name of the format file from which the report is
to be generated. If the report is of your Audit Trial, "DBMAUD"
is the correct response. (See Paragraph 6.5.) Prompts for the
Project, Programmer number on which the data base and format file
reside are asked for next. If these reside on your user area, a
<CR> response will cause CSSRPT to reference your area.
From the format file, CSSRPT reads the table of users, and
requests a password. One of the codes entered by the
administrator upon initialization of the system must be typed.
If done successfully, the program responds with its name. If the
password is invalid, the program will exit to the monitor. A
privilege code of 2 or 3 is required to run the report writer
(CSSRPT); a code equal to or greater than the one given in
answer to the question "ENTER PRIVILEGE REQUIRED TO RUN THIS
REPORT:" will be allowed to run the report, once built. Typing a
<CR> defaults to a privilege level of 2.
The program then asks "NEW OR OLD:". With this feature, you may
change values in existing reports, as illustrated later in the
chapter. In the following example, we will be creating a "NEW"
report.
Once it is established that the user will be allowed to access
the data, the program will ask "DO YOU WANT TO SEE YOUR INPUT
BEFORE PROCEEDING (Y OR N):". Users not completely familiar with
the input configuration, should answer "YES" to this question.
Preferably, this should be done on a hard copy terminal so that
the field description can be retained. The DBMDMP program, as
described in Chapter 3, should be used as a worksheet in the
generation of the report.
9.2.1 CSSRPT Example
.RUN CSSRPT
TYPE NAME OF INPUT FORMAT FILE: DBMTST
ENTER DATA BASE PROJECT PROGRAMMER NUMBER
OR <CR> IF DATA BASE IS ON THIS AREA
PPN: <CR>
PASSWORD: HARRIS
CSS REPORT GENERATOR CSSRPT(V05)
NEW OR OLD: NEW
Page 9-3
DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING
(Y OR N): YES
FLD FIELD FIELD : FLD FIELD FIELD :
NUM NAME SIZE : NUM NAME SIZE :
1..RECORD CREATION DATE.. 6 : 2..RECORD ACCESS DATE .. 6 :
3..ANNUAL SALARY .. 7 : 4..TOTAL WEEKLY INS DED.. 5 :
5..BADGE NUMBER .. 5 : 6..LAST NAME .. 20 :
7..FIRST NAME .. 15 : 8..MIDDLE INITIAL .. 2 :
9..WAGE CLASS .. 1 : 10..COST CENTER .. 3 :
11..PHONE EXTENSION .. 5 : 12..HOURLY RATE .. 4 :
13..MAIL STOP .. 3 : 14..LOCATION CODE .. 6 :
15..AUTO REGISTRATION .. 6 : 16..AUTO MAKE .. 10 :
17..REGISTRATION DATE .. 6 : 18..WEEKLY INSUR. DED. .. 5 :
19..AUTO REGISTRATION .. 6 : 20..AUTO MAKE .. 10 :
21..REGISTRATION DATE .. 6 : 22..WEEKLY INSUR. DED. .. 5 :
23..AUTO REGISTRATION .. 6 : 24..AUTO MAKE .. 10 :
25..REGISTRATION DATE .. 6 : 26..WEEKLY INSUR. DED. .. 5 :
27..AUTO REGISTRATION .. 6 : 28..AUTO MAKE .. 10 :
29..REGISTRATION DATE .. 6 : 30..WEEKLY INSUR. DED. .. 5 :
31..AUTO REGISTRATION .. 6 : 32..AUTO MAKE .. 10 :
33..REGISTRATION DATE .. 6 : 34..WEEKLY INSUR. DED. .. 5 :
35..AUTO REGISTRATION .. 6 : 36..AUTO MAKE .. 10 :
37..REGISTRATION DATE .. 6 : 38..WEEKLY INSUR. DED. .. 5 :
9.3 AUTHOR'S NAME AND OUTPUT DEVICE SELECTION
The program now requests that the user enter his name, which will
be written into the author's line of the COBOL source file.
CSSRPT also features a means of outputting a very select segment
of information to a user terminal (TTY) for quick reference. A
<CR> defaults to "device disk" (DSK), unless "TTY" is
specifically typed. If "TTY" is entered, the program will ask
"OUTPUT TO A VT05:". A "YES" response pages every 20 lines; a
"NO" response causes each page of output to contain 58 lines.
9.3.1 Privilege, Author and Output Device Example
ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT: 1
TYPE IN YOUR NAME: JOHN DOE
OUTPUT DEVICE (DSK OR TTY): DSK
WILL OUTPUT TO DSK
Page 9-4
9.4 OUTPUT DEFINITION
9.4.1 Long or Short Dialog
Output definition begins by the program asking "LONG OR SHORT
DIALOG:". Users not totally familiar with the input should
select the long dialog as it is more explanatory. The short
dialog is designed for users familiar with their input and/or
running on a low speed terminal.
9.4.2 Input to Output Field Correspondence
The program now enters a loop which completely defines the
report's output appearance. The first question asked is "INPUT
FIELD NUMBER:". In response, the user types the input field
number which will be placed in the first column, or field, of the
output. Typing a field number which has already been selected
results in CSSRPT responding with "FIELD USED BEFORE. PROCEED (Y
OR N):". If "Y" is typed, the program will continue to process
this field as if it had not been previously selected. Otherwise,
it will loop back to display "INPUT FIELD NUMBER:" again. The
program will verify your choice by displaying the selected
field's number, its name and size.
NOTE
If a field is output more than
once, it can only be broken down on
the first occurance (Paragraph
9.4.5).
Page 9-5
9.4.3 Field Alpha, Numeric or Date Characteristics
The program loop continues by displaying "FIELD ALPHA, NUMERIC OR
DATE (A, N OR D):". Typing a <CR> or an "A" assumes an
alpha-numeric field. If an "N" is typed (numeric), the program
will display "DO YOU WANT TO TOTAL THIS FIELD:". A "YES"
response produces subtotals for these fields on each change of
the first sort, and grand totals at the report's conclusion. If
totals are requested for a field, or if the field has decimal
positions, you will not be allowed to reduce the field, because
integers cannot be broken down. If the "D" (date) option is
specified, the input field, which must be six characters of the
form "YYMMDD" (780927), will be displayed on the report as
"DD-MON-YY" (27-SEP-78). This conversion occurs only after all
sorting and suppression takes place.
To use the Date Suppression feature (Paragraph 9.6.4) however,
the field must be defined as either "N" or "D" at this time.
9.4.4 Output Field Size
The next step in the input loop requests the user to "TYPE TOTAL
OUTPUT FIELD SIZE:" into which the input field will be moved. A
<CR> for this response will use the input field size as default.
Conservative users may decide that adequate informaton can be
obtained from the first 15 characters of a 25 character input
field. The system displays the cummulative total of characters,
plus minimum spacing in your output record, to keep the user
aware of the 132 character limit, or 72 character limit when
output device selected was TTY.
NOTE
The total characters displayed are
equal to one plus the input field
size. If specified numeric, and
not broken down, one will be added
for a possible "-" minus sign and
another for the decimal point if it
applies. On dates, plan on
allowing 10 characters to be added
to the running total.
Page 9-6
9.4.5 Field Breakdown
Finally, the program allows the user to break a field into two or
more smaller fields, to permit access to these sub-fields, by
asking: "FIELD BREAKDOWN EXTRA <CR> WHEN DONE". If no breakdown
is wanted, simply enter a <CR>. Having selected all output
fields, this loop is broken by typing "STOP" when the program
next displays "INPUT FIELD NUMBER:".
Page 9-7
9.4.5.1 Field Breakdown Example -
LONG OR SHORT DIALOG: L
ANSWER THE FOLLOWING ABOUT YOUR OUTPUT:
INPUT FIELD NUMBER: 5
FLD FIELD FIELD :
NUM NAME SIZE :
5..BADGE NUMBER .. 5 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
6 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 6
FLD FIELD FIELD :
NUM NAME SIZE :
6..LAST NAME .. 20 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*1
*19
*<CR>
27 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 7
FLD FIELD FIELD :
NUM NAME SIZE :
7..FIRST NAME .. 15 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: 10
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
38 CHARACTERS APPROXIMATELY
Page 9-8
INPUT FIELD NUMBER: 8
FLD FIELD FIELD :
NUM NAME SIZE :
8..MIDDLE INITIAL .. 2 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
41 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 1
FLD FIELD FIELD :
NUM NAME SIZE :
1..RECORD CREATION DATE.. 6 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D
51 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 10
FLD FIELD FIELD :
NUM NAME SIZE :
10..COST CENTER .. 3 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
55 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 4
FLD FIELD FIELD :
NUM NAME SIZE :
4..TOTAL WEEKLY INS DED.. 5 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): N
DO YOU WANT TO TOTAL THIS FIELD:N
63 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 17
FLD FIELD FIELD :
NUM NAME SIZE :
17..REGISTRATION DATE .. 6 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D
73 CHARACTERS APPROXIMATELY
Page 9-9
INPUT FIELD NUMBER: 11
FLD FIELD FIELD :
NUM NAME SIZE :
11..PHONE EXTENSION .. 5 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
79 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 15
FLD FIELD FIELD :
NUM NAME SIZE :
15..AUTO REGISTRATION .. 6 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
86 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 16
FLD FIELD FIELD :
NUM NAME SIZE :
16..AUTO MAKE .. 10 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
97 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: 18
FLD FIELD FIELD :
NUM NAME SIZE :
18..WEEKLY INSUR. DED. .. 5 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): N
DO YOU WANT TO TOTAL THIS FIELD:Y
105 CHARACTERS APPROXIMATELY
INPUT FIELD NUMBER: STOP
Page 9-10
9.5 INPUT DATA FIELD REPRESENTATION
To allow for efficient data manipulation within the report
writer, it was necessary to establish a symbol to be used as a
representation of a data field. This symbol indicates all of the
information necessary to process data from this point. It has
the form:
6INN2
Where:
6 = The input field number.
INN = The symbols used to seperate the two integers.
2 = The occurrence of a subdivision of that
input field which was caused when the field
was broken down during the definition of
the output.
References to input fields, throughout the remainder of this
document, will be made with these symbols.
9.6 OUTPUT FORMAT DIALOG
9.6.1 Overlay and Header Option
Users that had their data base designed with an overlay page with
CSSDBM will be asked "OVERLAY PAGE (Y OR N):". A response of
"NO" causes the file to be output exactly as each input record
appears. A "YES" response, however, causes all of the requested
information on the pages preceeding the first overlay page to be
processed as many times as there are filled overlay pages.
Several output records, therefore, can be obtained from the same
input record.
The program will now determine if you want the common data
printed with each overlay page by asking "DO YOU WANT HEADER
FIELDS AFTER FIRST PRINTING:". A "YES" response causes the
output record to contain exactly the same header information as
did the previous output record, with each overlay page printed.
If the answer is "NO", all related pages following the first will
have the header fields blanked out. This feature is included
only for the ease of reading the report. Note, however, that if
you elect to total a header field, a "NO" answer is required or
the total will be grossly in error.
Page 9-11
9.6.1.1 Overlay and Header Option Example -
OVERLAY PAGE (Y OR N): YES
DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING: NO
9.6.2 Report File Code Name
CSSRPT now responds with "TYPE 3 CHAR REPORT FILE CODE:".
Respond with your own disk filename for both the output COBOL
source file and the report itself, each beginning with RPT. This
distinguishes report programs from others produced by CSSRPT.
Ensure that the filename chosen does not already exist on disk,
unless you intend to overwrite it.
9.6.2.1 Report File Code Name Example -
TYPE 3 CHAR REPORT FILE CODE: 001
9.6.3 Report Title
The program now displays "TYPE REPORT TITLE (FOR TOP OF EACH
PAGE"). The response to this question is centered and placed at
the top of each of the report pages, and can be a maximum of 64
characters in length.
9.6.3.1 Report Title Example -
TYPE REPORT TITLE (FOR TOP OF EACH PAGE)
*PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER
9.6.4 Data Suppression Feature
To minimize unnecessary output, CSSRPT contains a feature to
suppress unwanted record information, thus preventing it from
appearing in your report. This loop consists of the symbol
representing the input field containing the data to be
suppressed, a sign, and from one to ten literals. If the field
data is equal to the data to be suppressed, the entire record
will be omitted. A maximum of ten fields can be tested for
suppression, but each field can only be used with the same sign
once. Finally, the field specified for suppression can be any
field in the data base, yet does not have to be included in the
output report.
The user responds to the question "INPUT SYMBOL:" with a "<CR>"
if no suppression is wanted. Otherwise, the user inputs the
field number, followed by "INN" and the sub-field number, if the
Page 9-12
field was broken down during input. The next request in this
loop is for "SIGN:". Response is either "=", "NOT", ">" or "<".
1. If "=" is typed, input will be left out of the report if
the corresponding input field equals one of the ten
literals specified in the next step; i.e., it won't be
printed.
2. If "NOT" is typed, any occurence of one of the ten
literals will not be suppressed from the report; i.e.,
it will be printed.
3. The ">" sign will cause the input record to be
suppressed if field is greater than any occurance of one
of the ten literals.
4. The "<" sign will cause suppression if the field is less
than the specified literals.
NOTE
Use of either "<" or ">" requires
that these fields be defined as
numeric during the input definition
of the report.
If a literal is placed between two "/"(slashes), the literal will
be used as a prompt to the user for a variable input at the time
the report is run. An entry of "//"(slashes) to the literal
querie will cause the prompts at run time to appear as asterisks.
This avoids the redundancy of the same prompts appearing for each
related variable to be entered.
The maximum size for each prompt is 32 characters, excluding the
slashes. It is advisable to allow one space following the
prompt, before the last backslash, for clarity when the report is
run later.
9.6.4.1 Data Suppression Example -
SUPPRESS: <CR> IF NONE OR WHEN SELECTION IS COMPLETE
INPUT SYMBOL: 6INN1
6..LAST NAME
SIGN: =
LITERAL: F
LITERAL: G
LITERAL: <CR>
Page 9-13
INPUT SYMBOL: 10INN
10..COST CENTER
SIGN: NOT
LITERAL: /ENTER 3 COST CNTRS FOR RPT: /
LITERAL: //
LITERAL: //
LITERAL: <CR>
INPUT SYMBOL: <CR>
9.6.5 Sorting Sequence
The report's sorting sequence is now selected. If desired,
reports may be sorted on a field not selected for output. These
fields are referenced by the field number and followed by the
symbol INN. CSSRPT will display "TYPE SORT SEQUENCE (<CR> IF NO
SORT)"; a single <CR> response would generate the report sorted
only by the data base key. The sort sequence is selected by
means of input symbols separated by commas and terminated by a
<CR>. The input buffer limit for all sort symbols is 32
characters, therefore, the number of fields on which you can sort
will depend on the size of the input symbols. As shown in the
following example, the total number of characters in the sort
input line, including spaces, is 17. As the data break only
occurs when a sort is selected, it will occur when information
changes in the field defined as the first sort.
9.6.5.1 Sorting Sequence Example -
TYPE SORT SEQUENCE (<CR> IF NO SORT)
*10INN, 6INN, 7INN
WILL BREAK ON COST CENTER
9.6.6 Spacing, Paging, and Line Skipping
The program now asks three brief questions. The first is a
request for double spacing, to which a "YES" or "NO" response is
required. "NO", or <CR>, will result in single spacing, which is
default. If a sort has been selected, the program will ask if
you want a new page on the break, i.e. everytime the first field
sorted changes, a line-printer top-of-form will result. Finally,
if a new page on the break was not requested, it will ask how
many lines to skip after each break; Default is one line.
Page 9-14
9.6.6.1 Spacing, Paging, and Line Skipping Example -
DO YOU WANT DOUBLE SPACING: NO
DO YOU WANT A NEW PAGE ON THE BREAK: NO
TYPE NUMBER OF LINES TO SKIP AFTER A BREAK: 3
9.6.7 Column Headings
The final phase of report generation involves the creation of the
small field, or column headings, above each of your output
fields. The program provides as much space as possible for these
headings while ensuring that they do not overrun each other.
Therefore, if the field size is small and the number of spaces
between each field is small, extensive abbreviation may be
required. The user will be shown the exact number of characters
allowed for field headings between colons, and also the
corresponding field name it represents. This sequence will occur
twice, thereby allowing two lines of heading over each output
column. Reports will appear neater to read if alpha fields are
titled to the left of the space allowed. Numeric fields, because
they are right justified, are more legible if the titles are
shifted to the right side of the space allowed.
When these headings are completed, the program will generate a
COBOL source file, which when executed, will produce the report.
Once the report is deemed satisfactory, it can be loaded, saved
and run at will. The user need only run through CSSRPT once.
9.6.7.1 Column Headings Example
OUTPUT FIELD COLUMN INFORMATION
:------:
BADGE NUMBER :BADGE
:------:
BADGE NUMBER :NUMBER
:---------------------:
LAST NAME :LAST
:---------------------:
LAST NAME :NAME
:-----------:
FIRST NAME :FIRST
:-----------:
FIRST NAME :NAME
:---:
MIDDLE INITIAL :MID
:---:
MIDDLE INITIAL :INI
Page 9-15
:----------:
RECORD CREATION DATE :CREATION
:----------:
RECORD CREATION DATE : DATE
:----:
COST CENTER :COST
:----:
COST CENTER :CNTR
:--------:
TOTAL WEEKLY INS DED :TOT WEEK
:--------:
TOTAL WEEKLY INS DED :INS DED
:----------:
REGISTRATION DATE :REGISTRAT.
:----------:
REGISTRATION DATE : DATE
:------:
PHONE EXTENSION :PHONE
:------:
PHONE EXTENSION :EXTEN.
:-------:
AUTO REGISTRATION :REGIST.
:-------:
AUTO REGISTRATION :NUMBER
:-----------:
AUTO MAKE :AUTO
:-----------:
AUTO MAKE :MAKE
:--------:
WEEKLY INSUR. DED. :WEEK INS
:--------:
WEEKLY INSUR. DED. :DEDUCT.
CREATING RPT001.CBL ...
EXIT
9.7 OUTPUT PROGRAM
The COBOL source file just written onto the disk by CSSRPT will
output the report. This program can be loaded and saved, as
shown below, to obtain this report more than once. It can also
be executed if it is a "once-only" report, in which case delete
the report source ("CBL" and "REL") files upon successful
execution and aquisition of the report. In the following
examples, the load, save, and run procedures of the program just
created with CSSRPT are illustrated for both repeatable and
"once-only" reports. Output from this program will be the report
shown following Paragraph 9.7.2.
Page 9-16
9.7.1 Repeatable Output Program Example
.LOAD RPT001.CBL,ECHO
COBOL: RPT001 [RPT001.CBL]
LINK: Loading
EXIT
.SAVE
RPT001 SAVED
By typing DIR <CR>, you will find that the final necessary files
have been created and added to your directory. The new ones are:
RPT001.HLD (Report Hold File)
RPT001.CBL (Report COBOL File)
RPT001.REL (Report Relocatable File)
RPT001.EXE (Report Executable File)
Unless you are fimilar with COBOL and plan to make special
changes to the COBOL file not normally allowed with CSSDBM,
delete the Report COBOL and Relocatable Files (RPT001.CBL and
RPT001.REL), as both have served their purpose and are no longer
required. Your total directory should now contain the following
files:
LIB:[PROJ,PROG] (See Paragraph 1.5)
DBMTST.FMT (Data Base Format File)
DMBAUD.FMT (Audit Trail Format File)
(If Audit Trail option selected.)
DBMTST.VLD (Data Base Validation File)
(If On-line Validation option selected.)
DBMTST.EXE (Data Base Executable File)
DBMTST.IDA (Data Base Data File)
DBMTST.IDX (Data Base Index File)
DBMAUD.IDA (Audit Trail Data File)*
DBMAUD.IDX (Audit Trail Index File)*
*(If Audit Trail option selected.)
TOT001.EXE (Arithmetic Process Executable File)
RPT001.HLD (Report Hold File)
RPT001.EXE (Report Executable File)
.RUN RPT001
PASSWORD: HARRIS
ENTER 3 COST CNTRS FOR RPT: 201
*202
*203
EXIT
.PRINT RPT001.LPT
Page 9-17
If you desire a hard copy of the parameters you used to construct
your report, return to Paragraph 3.1 and run DBMDMP. This time,
fill in the name of your report rather than depress <CR>, and all
parameters selected will be entered for you automatically.
9.7.2 "Once-only" Output Program Example
.EXECUTE RPT001.CBL, ECHO
COBOL: RPT001 [RPT001.CBL]
LINK: Loading
[LNKXCT RPT001 EXECUTION]
PASSWORD: HARRIS
ENTER 3 COST CNTRS FOR RPT: 201
*202
*203
EXIT
.PRINT RPT001.LPT
.DEL RPT001.*
Page 9-18
PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER PAGE 1
RUN ON 01-JUN-78 AT 09:34
BADGE LAST FIRST MID CREATION COST TOT WEEK REGISTRAT. PHONE REGIST. AUTO WEEK INS
NUMBER NAME NAME INI DATE CNTR INS DED DATE EXTEN. NUMBER MAKE DEDUCT.
1 BIXBY RICHARD C. 27-MAR-78 201 6.82 01-DEC-77 5164 K22105 CHEVY 2.32
.00 05-FEB-78 212320 HORNET 4.50
212 HANCOCK PAUL W. 27-MAR-78 201 5.17 17-SEP-77 3171 712155 VOLVO 5.17
156 JOHNSON ANN T. 27-MAR-78 201 4.45 14-NOV-77 3867 557546 VOLVO 4.45
167 KNAPP DELORES F. 27-MAR-78 201 3.87 09-JAN-78 5672 356734 PONTIAC 3.87
190 MILTON HARRY T. 27-MAR-78 201 6.50 02-OCT-77 2414 B59807 FORD 6.50
12 PRICE VICTORIA W. 27-MAR-78 201 5.12 01-JAN-78 4055 596021 TRIUMPH 5.12
***** SUBTOTALS ***** 201
31.93
134 ELKINS GEORGE H. 27-MAR-78 202 3.23 12-FEB-77 2317 250926 VOLKSWAGON 3.23
145 HOFFMANN JANET B. 27-MAR-78 202 2.40 12-SEP-77 5355 460059 SUBARU 2.40
201 PHILLIPS JOHN H. 27-MAR-78 202 10.32 06-DEC-77 5930 513270 BMW 10.32
189 SANTOS ANTHONY P. 27-MAR-78 202 8.09 25-SEP-77 3586 A15217 PONTIAC 5.77
.00 17-JAN-78 N80275 CHEVY 2.32
***** SUBTOTALS ***** 202
24.04
123 ARNOLD LAWRENCE L. 27-MAR-78 203 5.85 05-MAY-77 6713 285141 DODGE 5.85
178 MILLS EARLE G. 27-MAR-78 203 6.23 15-JAN-77 2371 353802 FORD 6.23
100 WEBB HELEN A. 27-MAR-78 203 7.56 17-MAY-77 2036 596212 MG 4.23
.00 01-FEB-78 522187 AUDI 3.33
111 YAGER DAVID N. 27-MAR-78 203 11.40 20-OCT-77 2189 122574 DATSUN 5.15
.00 10-MAY-77 208373 CORVETTE 6.25
***** SUBTOTALS ***** 203
31.04
***** FINAL TOTALS *****
87.01
Page 9-19
9.8 CSSRPT UPDATE MODE
In order to make CSSRPT more useful and more forgiving in terms
of typing mistakes, two new modes were added: UPDATE and CHANGE.
Note, in addition to the report COBOL source program, a file
generated by CSSRPT with an "HLD" extension. This file contains
the variable report responses which were input to CSSRPT during
the creation, or "NEW" mode, of this report. It is used during
both the CHANGE and UPDATE modes of CSSRPT, and also by the
DBMDMP utility program to provide a preprinted outline of how
your report is structured (refer to Chapter 3).
The UPDATE mode of CSSRPT functions similar to the UPDATE mode of
CSSDBW (refer to Chapter 2). If you lose your COBOL source
program, or for any other reason desire to regenerate it, UPDATE
will recreate the COBOL source exactly as it was before. It is
therefore far more important to retain the "HLD" files than the
"CBL" files, once the COBOL source has been compiled, loaded and
saved. The "HLD" file is also considerably smaller than the
COBOL source, for users who are disk-space conscious.
9.8.1 CSSRPT UPDATE Example
.RUN CSSRPT
TYPE NAME OF INPUT FORMAT FILE: DBMTST
ENTER DATA BASE PROJECT PROGRAMMER NUMBER
OR <CR> IF DATA BASE IS ON THIS AREA
PPN: <CR>
PASSWORD: HARRIS
CSS REPORT GENERATOR CSSRPT(V5C)
NEW OR OLD: OLD
ENTER OLD REPORT NAME: RPT001
CHANGE OR UPDATE: UPDATE
CREATING RPT001.CBL ...
EXIT
LOAD RPT001.CBL,ECHO
COBOL: RPT001 [RPT001.CBL]
LINK: Loading
EXIT
.SAVE
RPT001 SAVED
Page 9-20
9.9 CSSRPT CHANGE MODE
There are many occasions when, for some reason, it is desirable
to change some portion of a report. For this reason, the CHANGE
mode was added to CSSRPT.
If you have rebuilt your data base with the CSSCNG program in
Chapter 10, you will be required to regenerate all of your
reports. Although this can be done with the CHANGE and OLD modes
as illustrated below, if your changes were extensive it may be
easier (and less complicated) to use NEW mode and rebuild the
reports in their entirety.
While working in CHANGE mode, you will be shown the CSSRPT
dialog, with the former response between colons. During the
input field selection routine, the command scheme is very similar
to that of the CSSDBW CHANGE mode in Chapter 2.
Command Function Result
<CR> Default Leaves current column
specification as is.
I Insert Places a new report
column before the
current column.
D Delete Delete current
column from report.
O Overwrite Supersede this report
column specification.
F Finish Retains all previous
column specifications
and exits from column
selection routine.
STOP Stop Make last column
displayed the last
report column and
exits from this routine.
9.9.1 CSSRPT CHANGE Example
.RUN CSSRPT
TYPE NAME OF INPUT FORMAT FILE: DBMTST
ENTER DATA BASE PROJECT PROGRAMMER NUMBER
OR <CR> IF DATA BASE IS ON THIS AREA
PPN: <CR>
Page 9-21
PASSWORD: HARRIS
CSS REPORT GENERATOR CSSRPT(V5C)
NEW OR OLD: OLD
ENTER OLD REPORT NAME: RPT001
CHANGE OR UPDATE: CHANGE
DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING
(Y OR N): N
ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT: <CR>
TYPE IN YOUR NAME: JOHN DOE
OUTPUT DEVICE (DSK OR TTY): DSK
WILL OUTPUT TO DSK
LONG OR SHORT DIALOG: L
ANSWER THE FOLLOWING ABOUT YOUR OUTPUT:
AL T
RPT FIELD NU O FIELD FIELD
FLD NAME DA T SIZE BREAKDOWN
==================================================================
1...BADGE NUMBER ..A .. .. 5.. , , , , , : <CR>
2...LAST NAME ..A .. .. 20.. 1, 19, , , , : <CR>
3...FIRST NAME ..A .. .. 10..10, 5, , , , : I
INPUT FIELD NUMBER: 13
FLD FIELD FIELD :
NUM NAME SIZE :
13..MAIL STOP .. 3 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
TYPE TOTAL OUTPUT FIELD SIZE: <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
31 CHARACTERS APPROXIMATELY
Page 9-22
4...FIRST NAME ..A .. .. 10..10, 5, , , , : <CR>
5...MIDDLE INITIAL ..A .. .. 2.. , , , , , : D
5...RECORD CREATION DATE..D .. .. 6.. , , , , , : <CR>
6...COST CENTER ..A .. .. 3.. , , , , , : <CR>
7...TOTAL WEEKLY INS DED..N ..N.. 5.. , , , , , : O
INPUT FIELD NUMBER: 2
FLD FIELD FIELD :
NUM NAME SIZE :
2..RECORD ACCESS DATE .. 6 :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D
66 CHARACTERS APPROXIMATELY
8...REGISTRATION DATE ..D .. .. 6.. , , , , , : F
Throughout the remainder of the CHANGE dialog, the required
report prompt, including the previous responses between colons,
will be displayed. If you desire to retain the previous
response, enter a <CR>; otherwise, enter a new response, with
exceptions as noted in the next three paragraphs:
9.9.1.1 Data Suppression Change -
To entirely replace, or to change only a portion of the
suppression argument, simply enter the new responses when the
program displays the old ones. To delete an argument located in
the middle (such as the second of three), input the third
argument when the second, beginning with "INPUT SYMBOL:", is
displayed. When "INPUT SYMBOL:" of the now duplicated third
argument is displayed, typing BLANK will take you out of the
suppression loop, delete the third argument, plus any additional
arguments that may follow.
9.9.1.2 Output Field Column Heading Change -
To remove a title without inserting a new one, type BLANK. Do
not be concerned if it is a small field and the word BLANK
extends beyond the limiting colons, nor if it is a large field
and a portion of the old title remains on the screen. If the
change is to insert new wording, simply enter the new title when
the program displays the old one. Again, do not be concerned if
a portion of the old title remains on the screen; however, the
new title must fit between the old limiting colons.
Page 9-23
9.9.1.3 Sorting Sequence Change -
Typing BLANK in response to "TYPE SORT SEQUENCE (<CR> IF NO
SORT)" will delete the previous sequence and default to a sort on
the Key Field only. To change the order in any other way, simply
respond with the new sequence.
9.9.1.4 Examples -
OVERLAY PAGE (Y OR N):Y:<CR>
DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING:N:Y
TYPE 3 CHAR REPORT FILE CODE: 002
TYPE REPORT TITLE (FOR TOP OF EACH PAGE)
PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER
*<CR>
SUPPRESS: <CR> IF NONE OR WHEN SELECTION IS COMPLETE
INPUT SYMBOL:6INN1 :BLANK
TYPE SORT SEQUENCE (<CR> IF NO SORT)
10INN, 6INN, 7INN
*BLANK
DO YOU WANT DOUBLE SPACING:N:<CR>
OUTPUT FIELD COLUMN INFORMATION
:BADGE :
BADGE NUMBER :<CR>
:NUMBER:
BADGE NUMBER :<CR>
:LAST :
LAST NAME :<CR>
:NAME :
LAST NAME :<CR>
:FIRS:
MAIL STOP :MAIL
:NAME:
MAIL STOP :STOP
: MID :
FIRST NAME :FIRST
: INI :
FIRST NAME :NAME
:REATION :
RECORD CREATION DATE :RECORD
: DATE :
RECORD CREATION DATE :CREATION
:OST :
COST CENTER :COST
:NTR :
COST CENTER :CNTR
Page 9-24
:OT WEEK R:
RECORD ACCESS DATE :RECORD
:NS DED :
RECORD ACCESS DATE :ACCESS
:ISTRAT. P:
REGISTRATION DATE :REGIST.
:DATE E:
REGISTRATION DATE :DATE
:NE R:
PHONE EXTENSION :PHONE
:EN. N:
PHONE EXTENSION :EXTEN
:IST. A:
AUTO REGISTRATION :AUTO
:BER M:
AUTO REGISTRATION :REGIST
:O W:
AUTO MAKE :AUTO
:E D:
AUTO MAKE :MAKE
:K INS :
WEEKLY INSUR. DED. :WEEK INS
:UCT. :
WEEKLY INSUR. DED. :DEDUCT.
CREATING RPT002.CBL ...
EXIT
LOAD RPT002.CBL,ECHO
COBOL: RPT002 [RPT002.CBL]
LINK: Loading
EXIT
.SAVE
RPT002 SAVED
CHAPTER 10
CSSDBM DATA BASE CONVERTER (CSSCNG)
10.1 GENERAL DESCRIPTION
During the development of CSSDBM, it became evident that data
base adjustments would be necessary to keep up with the constant
business changes. Thus, an additional CSSDBM program (CSSCNG)
was written. A data base change requires a six step operation:
1. Run CSSCNG to create a reformated sequential file from
your indexed sequential file.
2. Use the CHANGE mode of CSSDBW and adjust the data base
format file (refer to Chapter 2).
3. Run ISAM and rebuild your indexed sequential file from
the new sequential file, using the new ISAM parameters
provided by CSSDBW (refer to Chapter 5).
4. Run CSSVLD to recreate your Validation file, if that
option was selected.
5. Run CSSTOT to recreate the Arithmetic Processor to
correct version inconsistencies, if that option was
selected.
6. Run CSSRPT to recreate the output reports to correct
version inconsistencies.
NOTE
Be careful when implementing
CSSCNG, because it will restructure
data within each existing record of
the data base. Since a data base
change effects the entire file, it
is strongly recommended that the
data base and format file are
copied onto some other storage
media for backup purposes.
Page 10-2
10.2 CSSCNG DIALOG
CSSCNG allows users to create a COBOL source file via an on-line
dialog. When executed, this output COBOL source handles all
specified data adjustments, and then deletes all traces of itself
to avoid being executed a second time on an already changed data
base. A privilege code of 3 is required to run both CSSCNG and
its output COBOL source file.
Every attempt was made to provide a simple on-line dialog in this
program. However, should problems occur, a help file is
available by simply typing "H". Keep in mind that you are
creating a new output record, and what is placed in each field of
the your new record is your choice. Your old record field
information is available and can be referenced by field number.
A blank field can be plugged in any location in the new record by
typing a "B", which becomes a space in the record for a new
prompt to be added with CSSDBW in the CHANGE mode. In each new
field definition, CSSCNG will ask for the size, to which a number
representing the size of a new blank field is entered. You can
also change the size of an old field, if an old field number was
specified. If an old field was specified, and your response to
the field size is a "<CR>", the old size will be retained. If an
old field is no longer wanted, it is deleted simply by not
requesting it. Again, when changing the size of an old field in
the new record, a compiler warning may occur indicating possible
truncation. Remember that this is just a warning and has no
effect on execution.
Three options are available for the purpose of exiting to the
monitor, once the definition of the new output record is
complete:
F If the remaining fields in the output
record are the same as those remaining
in the old record.
S Terminates the new output record at
that point.
O If the old data base had the "OVERLAY" page
option, this will overlay the new record once
the first overlay page in the new record is
completely defined.
10.2.1 CSSCNG Example
In the following example of a worst case situation, a new
character field is added between fields 4 and 5, and field 7 is
increased from 20 to 25 characters to illustrate what making
changes to the example data base would entail. Note that upon
successful execution of the output program, a record conversion
count is given for information purposes.
Page 10-3
.RUN CSSCNG
TYPE NAME OF INPUT FORMAT FILE: DBMTST
PASSWORD: COLE
CSS DATA BASE CONVERTER CSSCNG(V05)
DO YOU NEED TO SEE THE HELP DIALOG: YES
IN THE FOLLWING DIALOG, YOU WILL BE CREATING A NEW
DATA FILE, WHICH CAN CONTAIN NEW FIELDS OF DATA AS
WELL AS AN OLD DATA FIELD. THIS CAN BE A COMPLETE
REARRANGEMENT OF YOUR OLD FILE IF DESIRED.
COMMANDS ARE AS FOLLOWS:
H.... FOR THIS LIST OF COMMANDS.
<CR> IF NEXT NEW FIELD CORRESPONDS TO THE NEXT
SUCCESSIVE FIELD IN YOUR OLD RECORD.
B.... TO PLACE A BLANK FIELD INTO YOUR OUTPUT RECORD.
O.... TO OVERLAY AFTER YOU HAVE COMPLETELY DEFINED
THE FIRST OVERLAY PAGE OF YOU NEW OUTPUT RECORD.
F.... IF REMAINING FIELDS IN OUTPUT RECORD ARE THE SAME
AS THE REMAINING FIELDS IN INPUT RECORD.
S.... IF YOUR NEW RECORD TERMINATES AFTER THE LAST
FIELD YOU HAVE DEFINED.
"N"... IN RESPONSE TO THE ASTERISK, N REPRESENTS
ANY INPUT FIELD NUMBER
Page 10-4
ANSWER THE FOLLOWING ABOUT YOUR NEW OUTPUT RECORD
OUTPUT FIELD NUMBER 1
*<CR>
1...RECORD CREATION DATE :6
SIZE: <CR>
OUTPUT FIELD NUMBER 2
*<CR>
2...RECORD ACCESS DATE :6
SIZE: <CR>
OUTPUT FIELD NUMBER 3
*<CR>
3...ANNUAL SALARY :7
SIZE: <CR>
OUTPUT FIELD NUMBER 4
*<CR>
4...TOTAL WEEKLY INS DED :5
SIZE: <CR>
OUTPUT FIELD NUMBER 5
*B
NEW FIELD
SIZE: 6
OUTPUT FIELD NUMBER 6
*<CR>
5...BADGE NUMBER :5
SIZE: <CR>
OUTPUT FIELD NUMBER 7
*<CR>
6...LAST NAME :20
SIZE: 25
OUTPUT FIELD NUMBER 8
*<CR>
7...FIRST NAME :15
SIZE: <CR>
Page 10-5
OUTPUT FIELD NUMBER 9
*<CR>
8...MIDDLE INITIAL :2
SIZE: <CR>
OUTPUT FIELD NUMBER 10
*<CR>
9...WAGE CLASS :1
SIZE: <CR>
OUTPUT FIELD NUMBER 11
*<CR>
10...COST CENTER :3
SIZE: <CR>
OUTPUT FIELD NUMBER 12
*<CR>
11...PHONE EXTENSION :5
SIZE: <CR>
OUTPUT FIELD NUMBER 13
*<CR>
12...HOURLY RATE :4
SIZE: <CR>
OUTPUT FIELD NUMBER 14
*<CR>
13...MAIL STOP :3
SIZE: <CR>
OUTPUT FIELD NUMBER 15
*<CR>
14...LOCATION CODE :6
SIZE: <CR>
OUTPUT FIELD NUMBER 16
*<CR>
15...AUTO REGISTRATION :6
SIZE: <CR>
OUTPUT FIELD NUMBER 17
*<CR>
16...AUTO MAKE :10
SIZE: <CR>
Page 10-6
OUTPUT FIELD NUMBER 18
*<CR>
17...REGISTRATION DATE :6
SIZE: <CR>
OUTPUT FIELD NUMBER 19
*<CR>
18...WEEKLY INSUR. DED. :5
SIZE: <CR>
OUTPUT FIELD NUMBER 20
*O
TYPE FIRST LINE NUMBER OF FIRST OVERLAY PAGE IN
YOUR OUTPUT RECORD: 16
TYPE LAST LINE NUMBER OF THE FIRST OVERLAY PAGE IN
YOUR OUTPUT RECORD: 19
CREATING CNGTST.CBL ...
EXIT
.EXECUTE CNGTST.CBL,ECHO
COBOL: CNGTST [CNGTST.CBL]
LINK: Loading
[LNKXCT CNGTST EXECUTION]
PASSWORD: COLE
RECORDS CONVERTED: 37
EXIT
NOTE
If any physical file changes
occured, it is essential that all
reports and Arithmetic Processors
be rewritten and recompiled. This
should not be problem if a record
of these programs are kept on file.
Now return to Paragraph 2.10 to execute CSSDBW in the OLD and
CHANGE modes.
TABLE OF CONTENTS
1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1 General Description . . . . . . . . . . . . . . . . . 1-1
1.2 System Function and Features . . . . . . . . . . . . 1-4
1.2.1 Unique Characteristics . . . . . . . . . . . . . . 1-5
1.2.2 OVERLAY Feature . . . . . . . . . . . . . . . . . . 1-5
1.2.3 Key Field . . . . . . . . . . . . . . . . . . . . . 1-6
1.2.4 Data Base Version Number . . . . . . . . . . . . . 1-6
1.3 Data Base Layout . . . . . . . . . . . . . . . . . . 1-7
1.4 CSSDBM Example . . . . . . . . . . . . . . . . . . . 1-8
1.5 File Look-up Path Suggestions . . . . . . . . . . . . 1-9
1.5.1 SETSRC Example . . . . . . . . . . . . . . . . . . 1-9
2 CSSDBM DATA BASE WRITER (CSSDBW) . . . . . . . . . . . . . 2-1
2. 1 General Description . . . . . . . . . . . . . . . . 2-1
2. 2 Use of Existing Data . . . . . . . . . . . . . . . . 2-1
2. 3 CSSDBW Initialization . . . . . . . . . . . . . . . 2-2
2. 3.1 On-line Validation . . . . . . . . . . . . . . . . 2-2
2. 3.2 Record Creation and Access Dates . . . . . . . . . 2-2
2. 3.3 Data Base Audit Trail . . . . . . . . . . . . . . 2-3
2. 4 Initialization Dialog . . . . . . . . . . . . . . . 2-3
2. 4.1 Initialization Example . . . . . . . . . . . . . . 2-4
2. 5 Access Codes and Privileges . . . . . . . . . . . . 2-5
2. 5.1 Access Codes and Privileges Example . . . . . . . 2-5
2. 6 Paging . . . . . . . . . . . . . . . . . . . . . . . 2-6
2. 6.1 Paging Example . . . . . . . . . . . . . . . . . . 2-6
2. 7 Validation - Creation/Access Dates - Audit Trail . . 2-6
2. 7.1 Options Example . . . . . . . . . . . . . . . . . 2-7
2. 8 ISAM Prompts . . . . . . . . . . . . . . . . . . . . 2-7
2. 8.1 ISAM Information Example . . . . . . . . . . . . . 2-7
2. 9 UPDATE . . . . . . . . . . . . . . . . . . . . . . . 2-8
2. 9.1 UPDATE Example . . . . . . . . . . . . . . . . . . 2-8
2.10 CHANGE . . . . . . . . . . . . . . . . . . . . . . . 2-9
2.10.1 CHANGE Example . . . . . . . . . . . . . . . . . . 2-12
2.10.2 Altering Passwords and Privileges . . . . . . . . 2-13
2.10.2.1 Displaying Passwords and Privileges Example . . 2-14
2.10.3 Altering Data Base Page . . . . . . . . . . . . . 2-14
2.10.3.1 Altering Data Base Page Example . . . . . . . . 2-15
3 CSSDBM DATA BASE FORMAT DUMP (DBMDMP) . . . . . . . . . . 3-1
3.1 General Description . . . . . . . . . . . . . . . . . 3-1
3.1.1 DBMDMP Example . . . . . . . . . . . . . . . . . . 3-2
3.2 Sample DBMTST.LPT Data . . . . . . . . . . . . . . . 3-2
4 CSSDBM VALIDATION HANDLER (CSSVLD) . . . . . . . . . . . . 4-1
4.1 General Description . . . . . . . . . . . . . . . . . 4-1
4.2 CSSVLD Dialog . . . . . . . . . . . . . . . . . . . . 4-1
4.3 CSSVLD Output Files . . . . . . . . . . . . . . . . . 4-2
4.4 New Validation File Example . . . . . . . . . . . . . 4-3
4.5 Changing Old Validation File . . . . . . . . . . . . 4-5
4.5.1 Changing Old Validation File Example . . . . . . . 4-5
5 CSSDBM FINAL DATA BASE REQUIREMENTS . . . . . . . . . . . 5-1
5.1 General Description . . . . . . . . . . . . . . . . . 5-1
5.2 Compile, Load, and Save . . . . . . . . . . . . . . . 5-1
5.2.1 Compile, Load and Save Example . . . . . . . . . . 5-1
5.3 ISAM . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.3.1 ISAM Functions . . . . . . . . . . . . . . . . . . 5-2
5.3.1.1 /B Example . . . . . . . . . . . . . . . . . . . 5-3
5.3.1.2 /P Example . . . . . . . . . . . . . . . . . . . 5-4
5.3.1.3 /M Example . . . . . . . . . . . . . . . . . . . 5-4
6 CSSDBM AUDIT TRAIL OPTION . . . . . . . . . . . . . . . . 6-1
6.1 General Description . . . . . . . . . . . . . . . . . 6-1
6.2 Audit Trail Record Format . . . . . . . . . . . . . . 6-2
6.3 Audit Trail Recording Scheme . . . . . . . . . . . . 6-2
6.4 Implementation Procedure . . . . . . . . . . . . . . 6-3
6.4.1 ISAM Command File Execution . . . . . . . . . . . . 6-3
6.4.2 B E W A R E ! . . . . . . . . . . . . . . . . . . 6-3
6.5 Audit Trail Report Example . . . . . . . . . . . . . 6-3
7 CSSDBM DATA BASE HANDLER (DBMTST) . . . . . . . . . . . . 7-1
7.1 General Description . . . . . . . . . . . . . . . . . 7-1
7.2 DBMTST Dialog . . . . . . . . . . . . . . . . . . . . 7-1
7.2.1 DBMTST Dialog Example . . . . . . . . . . . . . . . 7-2
7.3 DBMTST Commands . . . . . . . . . . . . . . . . . . . 7-2
7.3.1 DBMTST Commands Example . . . . . . . . . . . . . . 7-2
7.3.2 Type Command (T) . . . . . . . . . . . . . . . . . 7-2
7.3.2.1 Type Command Example . . . . . . . . . . . . . . 7-3
7.3.3 Insert Command (I) . . . . . . . . . . . . . . . . 7-3
7.3.3.1 Insert Command Example . . . . . . . . . . . . . 7-3
7.3.3.2 Insert Command Options . . . . . . . . . . . . . 7-4
7.3.4 Search Command (S) . . . . . . . . . . . . . . . . 7-5
7.3.4.1 Search Command Example . . . . . . . . . . . . . 7-6
7.3.5 Change Command (C) . . . . . . . . . . . . . . . . 7-6
7.3.5.1 Change Command Example . . . . . . . . . . . . . 7-7
7.3.6 Next Command (N) . . . . . . . . . . . . . . . . . 7-8
7.3.6.1 Next Command Example . . . . . . . . . . . . . . 7-8
7.3.7 Page Command (P) . . . . . . . . . . . . . . . . . 7-8
7.3.7.1 Page Command Example . . . . . . . . . . . . . . 7-9
7.3.8 Delete Commmand (D) . . . . . . . . . . . . . . . . 7-9
7.3.8.1 Delete Command Example . . . . . . . . . . . . . 7-9
7.3.9 Finish Command (F) . . . . . . . . . . . . . . . . 7-9
7.3.9.1 Finish Command Example . . . . . . . . . . . . . 7-9
7.4 DBMTST Overview . . . . . . . . . . . . . . . . . . . 7-10
8 CSSDBM ARITHEMETIC PROCESSOR (CSSTOT) . . . . . . . . . . 8-1
8.1 General Description . . . . . . . . . . . . . . . . . 8-1
8.1.1 Special CSSTOT Parameters . . . . . . . . . . . . . 8-1
8.2 Input Format . . . . . . . . . . . . . . . . . . . . . 8-2
8.2.1 CSSTOT Example . . . . . . . . . . . . . . . . . . 8-2
9 CSSDBM REPORT WRITER (CSSRPT) . . . . . . . . . . . . . . 9-1
9.1 General Description . . . . . . . . . . . . . . . . . 9-1
9.2 Report Generation and Access Privilege . . . . . . . 9-2
9.2.1 CSSRPT Example . . . . . . . . . . . . . . . . . . 9-2
9.3 Author's Name and Output Device Selection . . . . . . 9-3
9.3.1 Privilege, Author and Output Device Example . . . . 9-3
9.4 Output Definition . . . . . . . . . . . . . . . . . . 9-4
9.4.1 Long or Short Dialog . . . . . . . . . . . . . . . 9-4
9.4.2 Input to Output Field Correspondence . . . . . . . 9-4
9.4.3 Field Alpha, Numeric or Date Characteristics . . 9-5
9.4.4 Output Field Size . . . . . . . . . . . . . . . . . 9-5
9.4.5 Field Breakdown . . . . . . . . . . . . . . . . . . 9-6
9.4.5.1 Field Breakdown Example . . . . . . . . . . . . . 9-7
9.5 Input Data Field Representation . . . . . . . . . . . 9-10
9.6 Output Format Dialog . . . . . . . . . . . . . . . . 9-10
9.6.1 Overlay and Header Option . . . . . . . . . . . . . 9-10
9.6.1.1 Overlay and Header Option Example . . . . . . . . 9-11
9.6.2 Report File Code Name . . . . . . . . . . . . . . . 9-11
9.6.2.1 Report File Code Name Example . . . . . . . . . . 9-11
9.6.3 Report Title . . . . . . . . . . . . . . . . . . . 9-11
9.6.3.1 Report Title Example . . . . . . . . . . . . . . 9-11
9.6.4 Data Suppression Feature . . . . . . . . . . . . . 9-11
9.6.4.1 Data Suppression Example . . . . . . . . . . . . 9-12
9.6.5 Sorting Sequence . . . . . . . . . . . . . . . . . 9-13
9.6.5.1 Sorting Sequence Example . . . . . . . . . . . . 9-13
9.6.6 Spacing, Paging, and Line Skipping . . . . . . . . 9-13
9.6.6.1 Spacing, Paging, and Line Skipping Example . . . 9-14
9.6.7 Column Headings . . . . . . . . . . . . . . . . . . 9-14
9.6.7.1 Column Headings Example . . . . . . . . . . . . . 9-14
9.7 Output Program . . . . . . . . . . . . . . . . . . . 9-15
9.7.1 Repeatable Output Program Example . . . . . . . . . 9-16
9.7.2 "Once-only" Output Program Example . . . . . . . . 9-17
9.8 CSSRPT UPDATE Mode . . . . . . . . . . . . . . . . . 9-19
9.8.1 CSSRPT UPDATE Example . . . . . . . . . . . . . . . 9-19
9.9 CSSRPT CHANGE Mode . . . . . . . . . . . . . . . . . 9-20
9.9.1 CSSRPT CHANGE Example . . . . . . . . . . . . . . . 9-20
9.9.1.1 Data Suppression Change . . . . . . . . . . . . . 9-22
9.9.1.2 Output Field Column Heading Change . . . . . . . 9-22
9.9.1.3 Sorting Sequence Change . . . . . . . . . . . . . 9-23
9.9.1.4 Examples . . . . . . . . . . . . . . . . . . . . 9-23
10 CSSDBM DATA BASE CONVERTER (CSSCNG) . . . . . . . . . . . 10-1
10.1 General Description . . . . . . . . . . . . . . . . . 10-1
10.2 CSSCNG Dialog . . . . . . . . . . . . . . . . . . . . 10-2
10.2.1 CSSCNG Example . . . . . . . . . . . . . . . . . . 10-2
Figures
1-1 Basic Data Processing Terms . . . . . . . . . . . . . . 1-2
1-2 CSSDBM Basic Data Flow . . . . . . . . . . . . . . . . 1-3
Tables
1-1 Data Base Layout . . . . . . . . . . . . . . . . . . . 1-7