Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-07 - decus/20-0168/v05doc.rno
There is 1 other file named v05doc.rno in the archive. Click here to see a list.
.LEFT MARGIN 0
.RIGHT MARGIN 65
.PS 58,65
.CENTER
^^PREFACE\\
.SKIP 2
.LOWER CASE
.FILL
.JUSTIFY
^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 ^^DEC\\SYSTEM-10 AND ^^DEC\\SYSTEM-20, AS
ALL ^^CSSDBM\\ PROCESSING MUST OCCUR ON A DISK TYPE DEVICE.
.END NOTE
.PAGE
.CH INTRODUCTION
.TITLE #
.INDEX #1####^^INTRODUCTION\\
.LM 0
.RIGHT MARGIN 65
.HL1 GENERAL DESCRIPTION
.INDEX #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
.FIG 50
.C;^FIGURE 1-1 - ^BASIC ^DATA ^PROCESSING ^TERMS
.SUBINDEX FIGURES>1-1####^BASIC ^DATA ^PROCESSING ^TERMS
.PAGE
^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:
.LIST
.LE;^A PROGRAM TO TAKE DATA ENTERED ON A
TERMINAL AND STORE IT ON THE DISK, WHICH
ALSO FACILITATES CHANGES
OR UPDATES TO THE FILE.
.LE;^A PROGRAM WHICH SELECTS, SORTS AND
FORMATS THE DATA AS A
USEFUL REPORT.
.END LIST
.FIG 15
.C;^FIGURE 1-2 - ^^CSSDBM\\ ^BASIC ^DATA ^FLOW
.SUBINDEX FIGURES>1-2####^^CSSDBM\\ ^BASIC ^DATA ^FLOW
.B2
^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.
.BREAK
.SKIP 2
^THERE ARE TWO TYPES OF PROGRAMS USED IN ^^CSSDBM\\:
.SKIP 1
.BREAK
.NOFILL
.NOJUSTIFY
.TS 8, 28
	^PRIMARY ^PROGRAMS	^THOSE PROGRAMS WHICH PROMPT (REQUEST)
		THE INFORMATION NECESSARY TO SATISFY
		THE REQUIREMENT.
.SKIP 1
	^SECONDARY ^PROGRAMS	^THOSE PROGRAMS GENERATED BY
		THE ^PRIMARY PROGRAMS WHICH
		ACTUALLY MANIPULATE THE DATA.
.PAGE
^THERE ARE FOUR ^PRIMARY PROGRAMS TO ^^CSSDBM\\:
.SKIP 1
	^^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. 
.SKIP 1
	^^CSSTOT\\	^A PROGRAM WHICH ASKS FOR EQUATIONS
		TO BE PERFORMED ON EACH RECORD
		IN THE FILE.
.SKIP 1
	^^CSSRPT\\	^A PROGRAM WHICH ASKS HOW THE
		FILE DATA SHOULD BE FORMATTED,
		SORTED AND SELECTED TO SATISFY
		A PARTICULAR REPORT REQUIREMENT.
.SKIP 1
	^^CSSCNG\\	^A PROGRAM WHICH ASKS FOR A NEW
		RECORD LAYOUT.  ^IT IS USED WHEN
		THE RECORD'S FIELD ARRANGEMENT
		CHANGES.
.SKIP 2
^THERE ARE TWO ^UTILITY PROGRAMS:
.SKIP 1
	^^DBMDMP\\	^GENERATES A LISTING OF FIELD
		NAMES AND FIELD SIZES. ^IT ALSO
		PRODUCES A REPORT GENERATION
		WORK SHEET.
.SKIP 1
	^^CSSVLD\\	^GENERATES AN OPTIONAL FILE USED
		BY THE DATA INPUT PROGRAM TO
		TEST FOR CERTAIN CHARACTER VALUES.
.HL1 SYSTEM FUNCTION AND FEATURES
.INDEX #1.2#######^SYSTEM ^FUNCTION AND ^FEATURES
.FILL
.JUSTIFY
^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
^^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.
.SKIP 1
^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.
.HL2 ^UNIQUE ^CHARACTERISTICS
.INDEX #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.
.SKIP 1
^^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.
.HL2 ^^OVERLAY\\ ^FEATURE
.INDEX #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.
.HL2 ^KEY ^FIELD
.INDEX #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.
.HL2 ^DATA ^BASE ^VERSION ^NUMBER
.INDEX #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
.PS 60,65
.HL1 DATA BASE LAYOUT
.INDEX #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\\:
.B1
.NF.NJ
.TS 5,45
	##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.
.FILL
.JUSTIFY
.B1
^^NOTE\\:  ^A PHOTOCOPY OF THIS PAGE WOULD PROVE INVALUABLE TO ANYONE CONSTRUCTING
OR CHANGING A DATA BASE.
.FIG 33
.C;^TABLE 1-1 - ^DATA ^BASE ^LAYOUT
.SUBINDEX TABLES>1-1####^DATA ^BASE ^LAYOUT
.PAGE
.PS 58,60
.LM0.RM95
.HL1 CSSDBM EXAMPLE
.INDEX #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:
.NOFILL
.NOJUSTIFY
.TS10,32,41,51,63,79
.B5
^^FIELD	FIELD	PAGE	FIELD	DECIMAL	VALIDATION:	REPORT WRITER
NO.	NAME	NO.	SIZE	PLACES	(A, X, N, SP,	OUTPUT:
					SPEC. CHAR.)	(A, N, D)
-----	-----	----	-----	-------	-------------	-------------
.B1
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
.FILL
.JUSTIFY
.NOTE
^IN THE ABOVE EXAMPLE, WE HAVE SELECTED FIELD NUMBER 5, "^^BADGE NUMBER"\\,
AS THE ^^KEY\\ FIELD.
.END NOTE
.LEFT MARGIN 0
.RIGHT MARGIN 65
.PS 58,65
.PAGE
.LOWER CASE
.HL1 FILE LOOK-UP PATH SUGGESTIONS
.INDEX #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.
.SKIP 1
^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.
.HL2 ^^SETSRC\\ ^EXAMPLE
.INDEX #1.5.1#######^^SETSRC\\ ^EXAMPLE
.NOFILL
.NOJUSTIFY
.B1
.UPPER CASE
_.R SETSRC
.SKIP 1
*A /LIB:[PROJ,PROG]
.SKIP 1
*_^C
.FILL
.JUSTIFY
.LOWER CASE
.LM 0
.RM 65
.PS 58,65
.CH CSSDBM DATA BASE WRITER (CSSDBW)
.TITLE #
.SPACING 1
.LOWER CASE
.INDEX #2####^^CSSDBM DATA BASE WRITER (CSSDBW)
.HL1 GENERAL DESCRIPTION
.INDEX #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:
.SKIP 1
.NOFILL
.NOJUSTIFY
.TS 10,26
	^^DBMTST.FMT\\	#^VARIABLE DATA FORMAT FILE
		 USED BY THE ^^CSSDBM\\ PROGRAMS.
.SKIP 1
	^^DBMTST.CBL\\	#^SOURCE PROGRAM WHICH, WHEN
		 COMPILED, LOADED AND SAVED,
		 WILL BECOME YOUR ^DATA ^BASE
		 ^HANDLER PROGRAM.
.SKIP 1
	^^DBMTST.SEQ\\	#^A TEMPORARY SEQUENTIAL FILE
		 REQUIRED BY ^^ISAM\\ TO CREATE
		 YOUR INDEXED SEQUENTIAL FILE.
.FILL
.JUSTIFY
.SKIP 1
^BESIDES THE CREATION OF YOUR DATA BASE, ^^CSSDBW\\ ALSO PERFORMS TWO ADDITIONAL UTILITY FUNCTIONS:
.LIST
.LE;^THE CHANGING OF EXISTING DATA BASE FIELDS.
.LE;^THE UPDATING OF AN EXISTING DATA BASE TO ADD FUTURE FEATURES OF ^^CSSDBM.\\
.END LIST
.HL1 USE OF EXISTING DATA
.INDEX #2.#2#######^USE OF ^EXISTING ^DATA
.FILL
.JUSTIFY
^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.
.HL1 CSSDBW INITIALIZATION
.INDEX #2.#3#######^^CSSDBW\\ ^INITIALIZATION
^THERE ARE THREE FEATURES TO  TO BE AWARE OF DURING DATA BASE INITIALIZATION:
.LIST
.LE;^ON-LINE ^VALIDATION.
.LE;^RECORD ^CREATION AND ^ACCESS ^DATES.
.LE;^DATA ^BASE ^AUDIT ^TRAIL.
.END LIST
.HL2 ^ON-LINE ^VALIDATION
.INDEX #2.#3.1#######^ON-LINE ^VALIDATION
.B1
^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:
.BREAK
.SKIP 1
	^A - ^REQUIRES AN ALPHA CHARACTER.
.BREAK
	^N - ^REQUIRES A NUMERIC CHARACTER.
.BREAK
	^X - ^REQUIRES ANY ALPHA OR NUMERIC CHARACTER.
.NOTE
 ^ANY OTHER CHARACTER REQUIRES THAT THE  CHARACTER OF THE SAME ^^ASCII\\ VALUE
 BE INPUT.
.END NOTE
.SKIP 1
^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.
.HL2 ^RECORD ^CREATION \AND ^ACCESS ^DATES
.INDEX #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 ^YR^MO^DA FORMAT.
.PAGE
.HL2 ^DATA ^BASE ^AUDIT ^TRAIL
.INDEX #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.
.HL1 INITIALIZATION DIALOG
.INDEX #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.
.SKIP 1
^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:
.LIST
.LE;^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.
.LE; ^THE SIZE OF THE FIELD (32 CHARACTERS MAXIMUM).
.LE;^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.
.END LIST
.FILL
.JUSTIFY
^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.
.END NOTE
.PAGE
.HL2 ^INITIALIZATION ^EXAMPLE
.INDEX #2.#4.1#######^INITIALIZATION ^EXAMPLE
.NF
.NJ
.UPPER CASE
_.RUN CSSDBW
.SKIP 1
CSS DATA BASE WRITER(V05)
.SKIP 1
NEW OR OLD:  NEW
TYPE IN A 3 CHARACTER FILE CODE:  TST
DO YOU ALREADY HAVE A SEQUENTIAL FILE:  NO
.SKIP 1
1...FIELD NAME:     BADGE NUMBER
_....SIZE OF FIELD:  5
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
2...FIELD NAME:     NAME
_....SIZE OF FIELD:  25
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
3...FIELD NAME:     WAGE CLASS
_....SIZE OF FIELD:  1
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
4...FIELD NAME:     COST CENTER
_....SIZE OF FIELD:  3
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
5...FIELD NAME:     PHONE EXTENSION
_....SIZE OF FIELD:  5
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
6...FIELD NAME:     HOURLY RATE
_....SIZE OF FIELD:  4
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  2
.SKIP 1
7...FIELD NAME:     MAIL STOP
_....SIZE OF FIELD:  3
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
8...FIELD NAME:     LOCATION CODE
_....SIZE OF FIELD:  4
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
9...FIELD NAME:     AUTO REGISTRATION
_....SIZE OF FIELD:  6
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
10..FIELD NAME:     AUTO MAKE
_....SIZE OF FIELD:  10
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
11..FIELD NAME:     REGISTRATION DATE
_....SIZE OF FIELD:  6
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.PAGE
12..FIELD NAME:     WEEKLY INSUR. DED.
_....SIZE OF FIELD:  5
_....NUMBER OF DECIMAL PLACES FROM RIGHT:  2
.SKIP 1
13..FIELD NAME:     STOP
.LOWER CASE
.FILL
.JUSTIFY
.HL1 ACCESS CODES AND PRIVILEGES
.INDEX #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 _<^C^R>.
.HL2 ^ACCESS ^CODES \AND ^PRIVILEGES ^EXAMPLE
.INDEX #2.#5.1#######^ACCESS ^CODES AND ^PRIVILEGES ^EXAMPLE
.NOFILL
.NOJUSTIFY
.LC
.SKIP 2
^^USER'S NAME:  SMITH  _<--------^^NOTE:\\  ^CAN BE ANY SIX CHARACTER
.BR
^^THIS USER'S PRIVILEGES:\\  0###########AND/OR NUMBER COMBINATION.
.SKIP 1
.UPPER CASE
^^USER'S NAME:  JONES
THIS USER'S PRIVILEGES:  1
.SKIP 1
USER'S NAME:  HARRIS
THIS USER'S PRIVILEGES:  2
.SKIP 1
USER'S NAME:  COLE
THIS USER'S PRIVILEGES:  3
.SKIP 1
USER'S NAME:  STOP\\
.FILL
.JUSTIFY
.LOWER CASE
.HL1 PAGING
.INDEX #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.
.END NOTE
^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:
.HL2 ^PAGING ^EXAMPLE
.INDEX #2.#6.1#######^PAGING ^EXAMPLE
.NOFILL
.NOJUSTIFY
^^IN THE FOLLOWING DIALOG TYPE <^C^R> IF SETTING IS OK
OR A NEW NUMBER TO CHANGE IT.\\
.SKIP 2
.UPPER CASE
NUMBER OF PAGES: 0 : 1
TOP LINE OF PAGE 1 : 0 :  1
.LOWER CASE
.FILL
.JUSTIFY
.HL1 VALIDATION - CREATION/ACCESS DATES - AUDIT TRAIL
.INDEX #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.
.NOFILL
.NOJUSTIFY
.HL2 ^OPTIONS ^EXAMPLE
.INDEX #2.#7.1#######^OPTIONS ^EXAMPLE
.RIGHT MARGIN 72
.SKIP 1
.UPPER CASE
DO YOU WANT ON-LINE VALIDATION (Y OR N) [ ]:  NO
.SKIP 1
DO YOU WANT RECORD CREATION + ACCESS DATES
.BR
PLACED IN FIELDS 1 AND 2 RESPECTIVELY [ ]:  NO
.SKIP 1
DO YOU WANT AN AUDIT TRAIL:  NO
.SKIP 1
TYPE IN YOUR NAME:  JOHN DOE
.SKIP 1
TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52
.BREAK
KEY FIELD NUMBER IS: 0 :  1
.FILL
.JUSTIFY
.LOWER CASE
.RIGHT MARGIN 65
.HL1 ISAM PROMPTS
.INDEX #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.
.HL2 ^^ISAM\\ ^INFORMATION ^EXAMPLE
.INDEX #2.#8.1#######^^ISAM\\ ^INFORMATION ^EXAMPLE
.NOFILL
.NOJUSTIFY
.SKIP 2
.UPPER CASE
.RM 72
SOURCE IS CALLED :  DBMTSTCBL
.SKIP 1
FORMAT IS CALLED :  DBMTSTFMT
.SKIP 1
VERSION NUMBER   :  1
.SKIP 1
OVERLAY PAGE NO. :  0
.SKIP 1
.LC
^^I S A M  R E S P O N S E S\\		_<---^^NOTE:\\ ^JOT DOWN ON PAPER
.BR
- - - -  - - - - - - - - -############AND ^&SAVE\& FOR INPUT
.BR
					     ####IN ^CHAPTER 5.
.UPPER CASE
.SKIP 1
MAXIMUM RECORD SIZE: 77
.SKIP 1
KEY DESCRIPTOR: X  1.  5
.SKIP 1
TOTAL RECORDS PER DATA BLOCK: 64
.SKIP 1
TOTAL ENTRIES PER INDEX BLOCK: 64
.SKIP 1
EXIT
.PS 58,65
.RM65
.PAGE
.FILL
.JUSTIFY
.LC
^YOU SHOULD NOW HAVE AT LEAST THE FOLLOWING FILES IN YOUR DIRECTORY;
  TYPE ^^DIR\\ _<^C^R> TO VERIFY.
.B1
.NF
.NJ
.TS10,30
	^^LIB:[PROJ, PROG]\\	(^SEE ^PARAGRAPH 1.5)
.BR
	^^DBMTST.SEQ\\	(^DATA ^BASE ^SEQUENTIAL ^FILE)
.BR
	^^DBMTST.FMT\\	(^DATA ^BASE ^FORMAT ^FILE)
.BR
	^^DBMAUD.FMT\\	(^AUDIT ^TRAIL ^FORMAT ^FILE)
.BR
	    (^IF ^AUDIT ^TRAIL OPTION SELECTED.)
.BR
	^^DBMTST.CBL\\	(^DATA ^BASE ^^COBOL\\ ^FILE)
.B1
.FILL
.JUSTIFY
^IF THERE ARE NO UPDATES (BELOW), OR CHANGES DUE TO MISTAKES
 (^PARAGRAPH 2-10), GO TO ^CHAPTER 3.
.FILL
.JUSTIFY
.LOWER CASE
.HL1 UPDATE
.INDEX #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.
.SKIP 1
^THE FOLLOWING EXAMPLE ILLUSTRATES THE ADDITION OF ^ON-LINE
 ^VALIDATION.
.NOFILL
.NOJUSTIFY
.RIGHT MARGIN 72
.HL2 ^^UPDATE\\ ^EXAMPLE
.INDEX #2.#9.1#######^^UPDATE\\ ^EXAMPLE
.UPPER CASE
.SKIP 1
.NO FILL
.NO JUSTIFY
_.RUN CSSDBW
.SKIP 1
CSS DATA BASE WRITER CSSDBW(V05)
.SKIP 1
NEW OR OLD:  OLD
.SKIP 1
CHANGE OR UPDATE:  UPDATE
TYPE NAME OF FORMAT FILE:  DBMTST
PASSWORD:  COLE
.SKIP 1
DO YOU WANT ON- LINE VALIDATION (Y OR N) [N]:  YES
.PAGE
.PS 58,65
.RM65
DO YOU WANT RECORD CREATION + ACCESS DATES
PLACED IN FIELDS 1 AND 2 RESPECTIVELY [N]:  NO
.SKIP 1
DO YOU WANT AN AUDIT TRAIL:  NO
.SKIP 1
TYPE IN YOUR NAME:  JOHN DOE
.SKIP 1
TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52
.SKIP 1
KEY FIELD NUMBER IS : 1 :
SOURCE IS CALLED :  DBMTSTCBL
FORMAT IS CALLED :  DBMTSTFMT
.SKIP 1
VERSION NUMBER   :  1
.SKIP 1
OVERLAY PAGE NO. :  0
.SKIP 1
I S A M  R E S P O N S E S
.BREAK
- - - -  - - - - - - - - -
.SKIP 1
MAXIMUM RECORD SIZE: 77
.SKIP 1
KEY DESCRIPTOR: X   1.  5
.SKIP 1
TOTAL RECORDS PER DATA BLOCK: 64
.SKIP 1
TOTAL ENTRIES PER INDEX BLOCK:  64
.SKIP 1
EXIT
.B1
.LC
.FILL
.JUSTIFY
^NOTE: ^IF YOU'VE MADE A MISTAKE, GO TO ^^CHANGE\\, BELOW.
.LOWER CASE
.RIGHT MARGIN 65
.HL1 CHANGE
.INDEX #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.
.END NOTE
^THE ENTIRE CHANGE
TRANSITION CONSISTS OF A SIX STEP OPERATION:
.BREAK
.NOFILL
.NOJUSTIFY
.TAB STOPS 8,20,23
.SKIP 2
	1. ^^CSSCNG\\		^CREATES A PROGRAM, VIA A DIALOG, TO
			REARRANGE YOUR DATA (^CHAPTER 10).
.SKIP 1
	2. ^^CSSDBW\\		^^CHANGE\\ ROUTINE TO MAKE THE SAME
			ADJUSTMENTS MADE IN STEP 1 TO
			YOUR FORMAT FILE.
.SKIP 1
	3. ^^ISAM\\		"^BUILD" FUNCTION (/^B) TO REBUILD
			YOUR NEW REFORMATTED DATA BASE.
.SKIP 1
	4. ^^CSSVLD\\		^RECREATES YOUR ^VALIDATION
			FILE, IF THAT OPTION WAS SELECTED.
.SKIP 1
	5. ^^CSSTOT\\		^RECREATES THE ARITHMETIC
			PROCESSOR TO CORRECT VERSION
			INCONSISTENCIES, IF THAT
			OPTION WAS SELECTED.
.SKIP 1
	6. ^^CSSRPT\\		^RECREATES THE OUTPUT REPORTS
			TO CORRECT VERSION INCONSISTENCIES.
.B2
.FILL
.JUSTIFY
^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.
.SKIP 1
^THE  FIVE BASIC COMMANDS TO THE ^^CHANGE\\ ROUTINE OF ^^CSSDBW\\ ARE:
.BREAK
.NOFILL
.NOJUSTIFY
.SKIP 2
.TAB STOPS 4,8,12
	_<^C^R>		^IF ^O^K AS IS.
.B1
	^I		#^TO INSERT A NEW FIELD NAME BEFORE THE CURRENTLY
			#DISPLAYED FIELD.
.B1
	^D		#^TO DELETE THE CURRENTLY DISPLAYED FIELD.
.B1
	^O		#^TO OVERWRITE THE CURRENTLY DISPLAY FIELD.
.B1
	^F		#^IF ALL REMAINING FIELDS ARE TO STAY THE SAME.
.B1
	^^STOP\\	#^TO TERMINATE THE RECORD AT THIS POINT.
.B1
	^^OVERLAY\\	#^TO MAKE ALL FOLLOWING OVERLAY PAGES IDENTICAL.
.FILL
.JUSTIFY
.SKIP 1
^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 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.
.SKIP 1
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.
.SKIP 2
.C;^^OVERLAY NOTES\\
.B1
^INITIAL ^CREATION:
.B1
.LM5
^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:
.B1
#####19...^^FIELD NAME:########OVERLAY\\.
.B1
.LM0
^^CHANGE\\ ^COMMAND:
.B1
.LM5
^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
.LM0
.HL2 ^^CHANGE\\ ^EXAMPLE
.INDEX #2.10.1#######^^CHANGE\\ ^EXAMPLE
.UPPER CASE
.NOFILL
.NOJUSTIFY
_.RUN CSSDBW
.SKIP 1
CSS DATA BASE WRITER CSSDBW(V05)
.SKIP 1
NEW OR OLD:  OLD
.SKIP 1
CHANGE OR UPDATE:  CHANGE
TYPE NAME OF FORMAT FILE:  DBMTST
PASSWORD:  COLE
.SKIP 1
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
.SKIP 1
1...BADGE NUMBER          5  :I
FIELD NAME:  RECORD CREATION DATE
SIZE OF FIELD:  6
NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.SKIP 1
2...BADGE NUMBER          5  :I
FIELD NAME:  RECORD ACCESS DATE
SIZE OF FIELD:  6
NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.B1
3...BADGE NUMBER          5  :I
FIELD NAME:  ANNUAL SALARY
SIZE OF FIELD:  7
NUMBER OF DECIMAL PLACES FROM RIGHT:  2
.B1
4...BADGE NUMBER          5  :I
FIELD NAME:  TOTAL WEEKLY INS DED
SIZE OF FIELD:  5
NUMBER OF DECIMAL PLACES FROM RIGHT:  2
.B1
5...BADGE NUMBER          5  :<CR>
.B1
6...NAME                  25  :D
.B1
6...WAGE CLASS            1  :I
FIELD NAME:  LAST NAME
SIZE OF FIELD:  20
NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.PAGE
7...WAGE CLASS            1  :I
FIELD NAME:  FIRST NAME
SIZE OF FIELD:  15
NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.B1
8...WAGE CLASS            1  :I
FIELD NAME:  MIDDLE INITIAL
SIZE OF FIELD:  2
NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.B1
9...WAGE CLASS            1  :<CR>
.B1
10..COST CENTER           3  :<CR>
.B1
11..PHONE EXTENSION       5  :<CR>
.B1
12..HOURLY RATE           4  :<CR>
.B1
13..MAIL STOP             3  :<CR>
.B1
14..LOCATION CODE         4  :O
FIELD NAME:  LOCATION CODE
SIZE OF FIELD:  6
NUMBER OF DECIMAL PLACES FROM RIGHT:  <CR>
.B1
15..AUTO REGISTRATION     6  :OVERLAY
.SKIP 2
TYPE IN FIRST LINE NUMBER OF FIRST OVERLAY PAGE:  15
.SKIP 1
TYPE IN LAST LINE NUMBER OF FIRST OVERLAY PAGE:  18
.SKIP 1
TYPE IN FIRST OVERLAY PAGE NUMBER:  2
.SKIP 1
TYPE IN TOTAL NUMBER OF OVERLAY PAGES IN DATA BASE:  6
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^ALTERING ^PASSWORDS \AND ^PRIVILEGES
.INDEX #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.
.SKIP 1
^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 "^N^O" TO THE QUESTION
CONCERNING KEEPING PRESENT CODES.  ^FOLLOWING THAT, RE-ENTER THE OLD
PASSWORDS AND PRIVILEGES YOU WISH TO RETAIN ALONG WITH ANY NEW ADDITIONS.
^UPON COMPLETION, TERMINATE THIS LOOP BY TYPING "^^STOP\\".
.B1
^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\\".
.BREAK
.NOFILL
.NOJUSTIFY
.HL3 ^DISPLAYING ^PASSWORDS \AND ^PRIVILEGES ^EXAMPLE
.INDEX #2.10.2.1#######^DISPLAYING ^PASSWORDS AND ^PRIVILEGES ^EXAMPLE
.UPPER CASE
.SKIP 1
.NF.NJ
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
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^ALTERING ^DATA ^BASE ^PAGE
.INDEX #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).
.END NOTE
.HL3 ^ALTERING ^DATA ^BASE ^PAGE ^EXAMPLE
.INDEX #2.10.3.1#######^ALTERING ^DATA ^BASE ^PAGE ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
IN THE FOLLOWING DIALOG TYPE <CR> IF SETTING IS OK
OR A NEW NUMBER TO CHANGE IT.
.SKIP 1
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>
.SKIP 1
.FILL
.JUSTIFY
.LOWER CASE
.SKIP 1
.NOFILL
.NOJUSTIFY
.UPPER CASE
.RIGHT MARGIN 72
.SKIP 1
DO YOU WANT ON-LINE VALIDATION (Y OR N) [Y]:  YES
.SKIP 1
DO YOU WANT RECORD CREATION + ACCESS DATES
PLACED IN FIELDS 1 AND 2 RESPECTIVELY [N]: YES
.SKIP 1
DO YOU WANT AN AUDIT TRAIL:  YES
.SKIP 1
TYPE IN YOUR NAME:  JOHN DOE
.SKIP 1
TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52
KEY FIELD NUMBER IS: 1 :  5
SOURCE IS CALLED :  DBMTSTCBL
.SKIP 1
FORMAT IS CALLED :  DBMTSTFMT
.SKIP 1
VERSION NUMBER   :  2
.SKIP 1
OVERLAY PAGE NO. :  2
.SKIP 1
.LC
^^I S A M  R E S P O N S E S\\		_<---^^NOTE:\\ ^JOT DOWN ON PAPER
.BR
- - - -  - - - - - - - - -############AND ^&SAVE\& FOR INPUT
.BR
					     ###################IN ^CHAPTER 5.
.SKIP 1
.UPPER CASE
MAXIMUM RECORD SIZE: 250
.SKIP 1
KEY DESCRIPTOR: X  25.  5
.SKIP 1
TOTAL RECORDS PER DATA BLOCK: 17
.SKIP 1
TOTAL ENTRIES PER INDEX BLOCK: 64
.SKIP 1
EXIT
.PAGE
.PS 60,60
.RIGHT MARGIN 65
.CH CSSDBM DATA BASE FORMAT DUMP (DBMDMP)
.TITLE #
.INDEX #3####^^CSSDBM DATA BASE FORMAT DUMP (DBMDMP)
.LOWER CASE
.FILL
.JUSTIFY
.LEFT MARGIN 0
.RIGHT MARGIN 65
.SPACING 1
.HL1 GENERAL DESCRIPTION
.INDEX #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
^^DEC\\SYSTEM-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.
.B1
^IF YOU'RE BUILDING YOUR DATA BASE AND YOU DESIRE A BLANK REPORT
WORK SHEET WITH YOUR DATA BASE DESCRIPTION, ENTER _<^C^R> 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
.HL2 ^^DBMDMP \\ ^EXAMPLE
.INDEX #3.1.1#######^^DBMDMP\\ ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
_.RUN DBMDMP
.SKIP 1
TYPE NAME OF FORMAT FILE:  DBMTST
.SKIP 1
REPORT NAME OR <CR> IF NOT A REPORT DUMP:  RPT001
.SKIP 1
EXIT
.LOWER CASE
.FILL
.JUSTIFY
.HL1 SAMPLE DBMTST.LPT DATA
.INDEX #3.2#######^SAMPLE ^^DBMTST.LPT\\ ^DATA
^YOU HAVE NOW ADDED A LINE PRINTER (^^LPT\\) FILE TO YOUR DIRECTORY;
 TYPE ^^DIR _<CR>\\ TO VERIFY.
.B1
^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:
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 1
_.PRINT DMPTST.LPT
.PAGE
.PS 58,60
.LEFT MARGIN 0
.RIGHT MARGIN 132
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
         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.. --------------------------------
.SKIP 1
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.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.SKIP 1
                                                                                 IF ITS
                                                                  INPUT SYMBOL:(=,NOT,<,>):  LITERAL:
                                                                  05.. -------      ---      01.. --------------------------------
                                                                                             02.. --------------------------------
                                                                                             03.. --------------------------------
                                                                                             04.. --------------------------------
                                                                                             05.. --------------------------------
                                                                                             06.. --------------------------------
                                                                                             07.. --------------------------------
                                                                                             08.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.SKIP 1
                                                                                 IF ITS
                                                                  INPUT SYMBOL:(=,NOT,<,>):  LITERAL:
                                                                  06.. -------      ---      01.. --------------------------------
                                                                                             02.. --------------------------------
                                                                                             03.. --------------------------------
                                                                                             04.. --------------------------------
                                                                                             05.. --------------------------------
                                                                                             06.. --------------------------------
                                                                                             07.. --------------------------------
                                                                                             08.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.SKIP 1
                                                                                 IF ITS
                                                                  INPUT SYMBOL:(=,NOT,<,>):  LITERAL:
                                                                  07.. -------      ---      01.. --------------------------------
                                                                                             02.. --------------------------------
                                                                                             03.. --------------------------------
                                                                                             04.. --------------------------------
                                                                                             05.. --------------------------------
                                                                                             06.. --------------------------------
                                                                                             07.. --------------------------------
                                                                                             08.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.SKIP 1
                                                                                 IF ITS
                                                                  INPUT SYMBOL:(=,NOT,<,>):  LITERAL:
                                                                  08.. -------      ---      01.. --------------------------------
                                                                                             02.. --------------------------------
                                                                                             03.. --------------------------------
                                                                                             04.. --------------------------------
                                                                                             05.. --------------------------------
                                                                                             06.. --------------------------------
                                                                                             07.. --------------------------------
                                                                                             08.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.PAGE
                                                                                 IF ITS
                                                                  INPUT SYMBOL:(=,NOT,<,>):  LITERAL:
                                                                  09.. -------      ---      01.. --------------------------------
                                                                                             02.. --------------------------------
                                                                                             03.. --------------------------------
                                                                                             04.. --------------------------------
                                                                                             05.. --------------------------------
                                                                                             06.. --------------------------------
                                                                                             07.. --------------------------------
                                                                                             08.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.SKIP 1
                                                                                 IF ITS
                                                                  INPUT SYMBOL:(=,NOT,<,>):  LITERAL:
                                                                  10.. -------      ---      01.. --------------------------------
                                                                                             02.. --------------------------------
                                                                                             03.. --------------------------------
                                                                                             04.. --------------------------------
                                                                                             05.. --------------------------------
                                                                                             06.. --------------------------------
                                                                                             07.. --------------------------------
                                                                                             08.. --------------------------------
                                                                                             09.. --------------------------------
                                                                                             10.. --------------------------------
.SKIP 1
                                                                  SORTING SEQUENCE: 10INN, 6INN, 7INN
.SKIP 1
                                                                  DO YOU WANT DOUBLE SPACING: (Y OR N): N
.SKIP 1
                                                                  DO YOU WANT A NEW PAGE ON THE BREAK:  N
.SKIP 1
                                                                  NUMBER OF LINES TO SKIP AFTER BREAK:  3
.SKIP 1
.SKIP 1

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.
.SKIP 1

[END]
.PS 58,65
.CH CSSDBM VALIDATION HANDLER (CSSVLD)
.TITLE #
.LEFT MARGIN 0
.RIGHT MARGIN 65
.LOWER CASE
.FILL
.JUSTIFY
.SPACING 1
.INDEX #4####^^CSSDBM VALIDATION HANDLER (CSSVLD)
.HL1 GENERAL DESCRIPTION
.INDEX #4.1#######^GENERAL ^DESCRIPTION
^THE ^^CSSVLD\\ HANDLER IS REQUIRED IF YOU INTEND TO
PERFORM ARITHMETIC CALCULATIONS USING ^^CSSTOT\\ (^CHAPTER 8).
.B1
^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:
.SKIP 1
	^A#####^REQUIRES AN ALPHA CHARACTER.
.BREAK
	^N#####^REQUIRES A NUMERIC CHARACTER.
.BREAK
	^X#####^REQUIRES ANY ALPHA OR NUMERIC CHARACTER.
.BREAK
.NOTE
^ANY OTHER CHARACTER REQUIRES THAT A CHARACTER OF THE SAME
^^ASCII\\ VALUE TO BE INPUT, UNLESS:
.LIST
.LE;^YOU SPACE OVER SAID CHARACTERS WITH THE SPACE BAR.
.LE;^YOU DEPRESS _<^C^R> AT THAT POINT.
.LE;^YOU HAVE DEPRESSED _<^C^R> PRIOR TO SAID CHARACTER.
.END LIST
.END NOTE
.HL1 ^^CSSVLD DIALOG\\
.INDEX #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 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:
.LIST
.LE;^THE DATA BASE FIELD NAME AND YOUR OLD VALIDATION FIELD.
.LE;^THE DATA BASE FIELD NAME, FOLLOWED BY THE FIELD SIZE BETWEEN 
COLONS.
.LE;^THE FIELD NAME ONCE MORE, PLUS A COLON.
.END LIST
.FILL
.JUSTIFY
^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.
.end note
.HL1 CSSVLD OUTPUT FILES
.INDEX #4.3#######^^CSSVLD\\ ^OUTPUT ^FILES
^THE TWO FILES THAT ^^CSSVLD\\ OUTPUTS ARE:
.SKIP 2
.TAB STOPS 8,16,20
.BREAK
.NOFILL
.NOJUSTIFY
	1. ^^DBMTST.VLD\\		#^ONE RECORD 6-BIT ^VALIDATION
				   ^FILE USED BY THE ^DATA ^BASE
			    ^HANDLER PROGRAM.
.SKIP 1
	2. ^^VLDTST.LPT\\		#7-BIT READABLE ^^ASCII\\ REPRES-
				   ENTATION OF THE 6-BIT ^VALIDATION
				   ^FILE WHICH CAN BE PRINTED
				   FOR INFORMATION PURPOSES.
.SKIP 2
.FILL
.JUSTIFY
.NOTE
^THE "^^TST\\" PORTION OF THE OUTPUT FILE'S NAME IS THE THREE
CHARACTER FILE NAME OF YOUR DATA BASE.
.END NOTE
.PAGE
.LOWER CASE
.HL1 NEW VALIDATION FILE EXAMPLE
.INDEX #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.)
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 2
_.RUN CSSVLD
.SKIP 1
CSSDBM VALIDATION ROUTINE CSSVLD(V05)
.SKIP 1
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
 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
.SKIP 1
EXIT
.JUSTIFY
.FILL
.LOWER CASE
.B2
^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.
.B1
^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:
.B1
_.^^PRINT VLDTST.LPT\\
.B1
^IF THERE ARE NO CHANGES TO BE MADE, PROCEED TO ^CHAPTER 5.
.PAGE
.HL1 CHANGING OLD VALIDATION FILE
.INDEX #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.
.HL2 ^CHANGING ^OLD ^VALIDATION ^FILE ^EXAMPLE
.INDEX #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)
 _<^C^R> 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 ^CHAR^&L\&ES), IT WILL NOT INVOKE THE
^LINE ^COMMAND.
.END NOTE
^THE FOLLOWING EXAMPLE ILLUSTRATES CHANGES TO AN OLD ^VALIDATION ^FILE.
.SKIP 2
.NOFILL
.NOJUSTIFY
.UPPER CASE
_.RUN CSSVLD
.SKIP 1
CSSDBM VALIDATION ROUTINE CSSVLD(^V05)
.SKIP 1
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
.SKIP 1
EXIT
.PAGE
.LC
.FILL
.JUSTIFY
^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:
.SKIP 1
.UPPER CASE
.NF.NJ
_.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
.CH CSSDBM FINAL DATA BASE REQUIREMENTS
.TITLE #
.LEFT MARGIN 0
.RIGHT MARGIN 65
.LOWER CASE
.FILL
.JUSTIFY
.SPACING 1
.INDEX #5####^^CSSDBM FINAL DATA BASE REQUIREMENTS\\
.HL1 GENERAL DESCRIPTION
.INDEX #5.1#######^GENERAL ^DESCRIPTION
^^CSSDBM\\ REQUIRES THE COMPLETION OF TWO FINAL STEPS BEFORE THE
DATA BASE IS READY FOR INPUT.
.LIST
.LE;^COMPILE, LOAD, AND SAVE YOUR ^DATA ^BASE ^HANDLER.
.LE;^CREATE INDEX AND DATA FILES FROM YOUR SEQUENTIAL
FILE USING ^^ISAM\\.
.END LIST
.HL1 COMPILE, LOAD, AND SAVE
.INDEX #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.
.HL2 ^COMPILE, ^LOAD, \AND ^SAVE ^EXAMPLE
.INDEX #5.2.1#######^COMPILE, ^LOAD AND ^SAVE ^EXAMPLE
 ^THE FOLLOWING EXAMPLE ILLUSTRATES THE COMPILE, LOAD AND SAVE PROCEDURE
OF OUR TEST DATA BASE.
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 2
_.LOAD DBMTST.CBL,ECHO
COBOL:  DBMTST  [DBMTST.CBL]
.SKIP 1
WARNINGS:
.SKIP 1
    0527  RIGHT-MOST TRUNCATION ON AUD-HOLD
    0550  RIGHT-MOST TRUNCATION ON AUD-NEW
    0663  RIGHT-MOST TRUNCATION ON AUD-OLD
    0672  RIGHT-MOST TRUNCATION ON AUD-NEW
NO FATAL ERRORS, 4 WARNINGS
LINK:   Loading
.SKIP 1
EXIT
.SKIP 1
_.SAVE
DBMTST SAVED
.LOWER CASE
.FILL
.JUSTIFY
.HL1 ISAM
.INDEX #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 ^^DEC\\SYSTEM-10
^^COBOL\\ ^USER'S ^GUIDE, ^^AA-0939B-TB.
.HL2 ^^ISAM\\ ^FUNCTIONS
.INDEX #5.3.1#######^^ISAM\\ ^FUNCTIONS
 ^THE THREE BASIC FUNCTIONS OF ^^ISAM\\  ARE:
.NOFILL
.NOJUSTIFY
.TAB STOPS 8,12,16
.SKIP 1
	/^B	-	^BUILD
.SKIP 1
	/^P	-	^PACKING
.SKIP 1
	/^M	-	^MAINTENANCE
.SKIP 1
.FILL
.JUSTIFY
^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
.HL3 /^B ^EXAMPLE
.INDEX #5.3.1.1#######/^B ^EXAMPLE
.B1
 ^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\\.
.SKIP 1
.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.
.END NOTE
.NOFILL
.NOJUSTIFY
.UPPER CASE
_.R ISAM
.SKIP 1
.SKIP 1
*=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
.SKIP 1
1 LEVEL OF INDEX
0 DATA RECORDS
.SKIP 1
.SKIP 1
*_^C
.FILL
.JUSTIFY
.PAGE
.LOWER CASE
^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.
.HL3 /^P ^EXAMPLE
.INDEX #5.3.1.2#######/^P ^EXAMPLE
.B1
 ^THIS ^^ISAM\\ EXAMPLE ILLUSTRATES THE /^P FUNCTION, OR PACKING YOUR
INDEXED SEQUENTIAL DATA BASE BACK TO AN ^^ASCII\\ SEQUENTIAL FILE.
.SKIP 1
.NOFILL
.NOJUSTIFY
.UPPER CASE
_.R ISAM
.SKIP 1
.SKIP 1
*=DBMTST.IDX/P
MODE OF OUTPUT FILE: A
RECORDS PER OUTPUT BLOCK: 0
.SKIP 1
*_^C
.FILL
.JUSTIFY
.LOWER CASE
.HL3 /^M ^EXAMPLE
.INDEX #5.3.1.3#######/^M ^EXAMPLE
.B1
^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.
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 1
_.R ISAM
.SKIP 1
*=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>
.SKIP 1
1 LEVEL OF INDEX
0 DATA RECORDS
.SKIP 1
.SKIP 1
*_^C
.PAGE
.LC
.FILL
.JUSTIFY
^ADDITIONAL FILES HAVE AGAIN BEEN ADDED TO YOUR DIRECTORY; TYPE
^^DIR _<CR>\\ TO VERIFY THAT THE FOLLOWING ARE PRESENT:
.B1
.NF
.NJ
.TS10,30
	^^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)
.FILL
.JUSTIFY
.CH CSSDBM AUDIT TRAIL OPTION
.TITLE #
.INDEX #6####^^CSSDBM AUDIT TRAIL OPTION\\
.LEFT MARGIN 0
.RIGHT MARGIN 65
.LOWER CASE
.HL1 GENERAL DESCRIPTION
.INDEX #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 [P\\ROJ,^PROG].
.END NOTE
.PAGE
.HL1 AUDIT TRAIL RECORD FORMAT
.INDEX #6.2#######^AUDIT ^TRAIL ^RECORD ^FORMAT
.TAB STOPS 15, 40, 50
.RIGHT MARGIN 72
.SKIP 2
.NOFILL
.NOJUSTIFY
.UPPER CASE
FIELD	FIELD	FIELD	COMMENTS
NUMBER	NAME	SIZE
.SKIP 1
  1.	TRANSACTION DATE, TIME	15	KEY FIELD
	AND DATA BASE FIELD NUMBER
.SKIP 1
  2.	TRANSACTION CODE	1	0 = RECORD INSERTED
			1 = RECORD CHANGED
			2 = RECORD DELETED
.SKIP 1
  3.	PASSWORD USED	6	PASSWORD OF PERSON
			UPDATING DATA BASE
.SKIP 1
  4.	RECORD KEY	32	DATA BASE KEY
			FOR THE RECORD BEING
			UPDATED.
.SKIP 1
  5.	FIELD NUMBER	3	THE FIELD NUMBER UPON
			WHICH THE UPDATE TAKES
			PLACE.
.SKIP 1
  6.	FIELD NAME	20	THE PROMPT FROM THE
			FORMAT FILE FOR THIS
			FIELD
.SKIP 1
  7.	OLD DATA	32	THE DATA AS IT
			APPEARED BEFORE THE
			UPDATE TOOK PLACE.
.SKIP 1
  8.	NEW DATA	32	THE DATA AS IT IS NOW
			FOLLOWING THE UPDATE.
.SKIP 1
.FILL
.JUSTIFY
.LOWER CASE
.PS58,65
.HL1 AUDIT TRAIL RECORDING SCHEME
.INDEX #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.
.HL1 IMPLEMENTATION PROCEDURE
.INDEX #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:
.HL2 ^^ISAM\\ ^COMMAND ^FILE ^EXECUTION
.INDEX #6.4.1#######^^ISAM\\ ^COMMAND ^FILE ^EXECUTION
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 1
_.R ISAM
.SKIP 1
*@DBMAUD.CCL
.SKIP 1
1 LEVEL OF INDEX
0 DATA RECORDS
.SKIP 1
*_^C
.HL2 ^B ^E ^W ^A ^R ^E #!
.INDEX #6.4.2#######^B ^E ^W ^A ^R ^E #!
.LOWER CASE
.FILL
.JUSTIFY
^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.
.HL1 AUDIT TRAIL REPORT EXAMPLE
.INDEX #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:
.NOFILL
.NOJUSTIFY
.UPPER CASE
.LEFT MARGIN 0
.RIGHT MARGIN 132
.PAGE
                                             CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY                                     PAGE   1

                                                      RUN ON 31-MAY-78 AT 11:48
.SKIP 1
TRANS/TRANS   TR PASSWD  KEY    FLD  FIELD                 DATA BEFORE                       DATA AFTER
DATE /TIME    CD USED    FIELD   #   NAME                  TRANSACTION                       TRANSACTION
.SKIP 1
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
                                             CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY                                     PAGE   2

                                                      RUN ON 31-MAY-78 AT 11:48
.SKIP 1
TRANS/TRANS   TR PASSWD  KEY    FLD  FIELD                 DATA BEFORE                       DATA AFTER
DATE /TIME    CD USED    FIELD   #   NAME                  TRANSACTION                       TRANSACTION
.SKIP 1
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
                                             CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY                                     PAGE   3

                                                      RUN ON 31-MAY-78 AT 11:48
.SKIP 1
TRANS/TRANS   TR PASSWD  KEY    FLD  FIELD                 DATA BEFORE                       DATA AFTER
DATE /TIME    CD USED    FIELD   #   NAME                  TRANSACTION                       TRANSACTION
.SKIP 1
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
.B2
.LC
.FILL
.JUSTIFY
.LM 22
.RM 86
^ADDITIONAL FILES HAVE AGAIN BEEN ADDED TO YOUR DIRECTORY; TYPE
^^DIR _<CR>\\ TO VERIFY THAT THE FOLLOWING ARE PRESENT:
.B1
.NF
.NJ
.TS32,52
	^^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.)
.PS 58,65
.CH CSSDBM DATA BASE HANDLER (DBMTST)
.TITLE #
.LEFT MARGIN 0
.RIGHT MARGIN 65
.LOWER CASE
.FILL
.JUSTIFY
.INDEX #7####^^CSSDBM DATA BASE HANDLER (DBMTST)\\
.HL1 GENERAL DESCRIPTION
.INDEX #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.
.HL1 DBMTST DIALOG
.INDEX #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
.HL2 ^^DBMTST\\ ^DIALOG ^EXAMPLE
.INDEX #7.2.1#######^^DBMTST\\ ^DIALOG ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
_.RUN DBMTST
.SKIP 1
PASSWORD:  JONES
CSS DATA BASE MANAGEMENT SYSTEM CSSDBM(V05)
.SKIP 1
LONG OR SHORT DIALOG:  LONG
.FILL
.JUSTIFY
.LOWER CASE
.HL1 DBMTST COMMANDS
.INDEX #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.
.SKIP 2
.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.
.END NOTE
.HL2 ^^DBMTST\\ ^COMMANDS ^EXAMPLE
.INDEX #7.3.1#######^^DBMTST\\ ^COMMANDS ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
*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
.LOWER CASE
.FILL
.JUSTIFY
.HL2 ^TYPE ^COMMAND (^T)
.INDEX #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
.HL3 ^TYPE ^COMMAND ^EXAMPLE
.INDEX #7.3.2.1#######^TYPE ^COMMAND ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
*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         :
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^INSERT ^COMMAND (^I)
.INDEX #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.
.SKIP 1
^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.
.END NOTE
.HL3 ^INSERT ^COMMAND ^EXAMPLE
.INDEX #7.3.3.1#######^INSERT ^COMMAND ^EXAMPLE
.B1
^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
.NOFILL
.NOJUSTIFY
.UPPER CASE
*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
.LOWER CASE
.FILL
.JUSTIFY
.HL3 ^INSERT ^COMMAND ^OPTIONS
.INDEX #7.3.3.2#######^INSERT ^COMMAND ^OPTIONS
.B1
^THE FOLLOWING ^INSERT COMMAND OPTIONS ARE AVAILABLE:
.B1
.FILL
.JUSTIFY
.LM9
.I-9
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.
.SKIP 1
.LM0
.UPPER CASE
.NOFILL
.NOJUSTIFY
.PAGE
EXAMPLE:
.SKIP 1
 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         :
.LOWER CASE
.FILL
.JUSTIFY
.B2
.LM9
.I-9
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.
.LM 0
.UPPER CASE
.NOFILL
.NOJUSTIFY
.B1
EXAMPLE:
.SKIP 1
  5                        :NNNNN:
  5  BADGE NUMBER          :F
*
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^SEARCH ^COMMAND (^S)
.INDEX #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
.HL3 ^SEARCH ^COMMAND ^EXAMPLE
.INDEX #7.3.4.1#######^SEARCH ^COMMAND ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
*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         :
.SKIP 1
.FILL
.JUSTIFY
.SKIP 1
.LOWER CASE
^IF YOUR RECORD IS NOT FOUND IN THE DATA BASE, THE PROGRAM WILL RESPOND
WITH "^^NO SUCH KEY\\".
.NOFILL
.NOJUSTIFY
.SKIP 1
.UPPER CASE
EXAMPLE:
.SKIP 1
*S
TYPE IN THE KEY YOU ARE SEARCHING FOR:  25172
NO SUCH KEY
.LOWER CASE
.HL2 ^CHANGE ^COMMAND (^C)
.INDEX #7.3.5#######^CHANGE ^COMMAND (^C)
.FILL
.JUSTIFY
^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
.HL3 ^CHANGE ^COMMAND ^EXAMPLE
.INDEX #7.3.5.1#######^CHANGE ^COMMAND ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
*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 <^C^R>
*13
*14
*0
.FILL
.JUSTIFY
.SKIP 1
.LOWER CASE
^THE PROGRAM WILL THEN REQUEST THAT THE FIELDS SELECTED BE REWRITTEN.
^UPON COMPLETION, ^PAGE 1 OF THE RECORD JUST CHANGED WILL BE SHOWN.
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 1
EXAMPLE:
.SKIP 1
 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
.LC
.HL2 ^NEXT ^COMMAND (^N)
.INDEX #7.3.6#######^NEXT ^COMMAND (^N)
.FILL
.JUSTIFY
^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.
.HL3 ^NEXT ^COMMAND ^EXAMPLE
.INDEX #7.3.6.1#######^NEXT ^COMMAND ^EXAMPLE
.SKIP 1
.NOFILL
.NOJUSTIFY
.UPPER CASE
*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
.FILL
.JUSTIFY
.LOWER CASE
.B2
^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\\".
.NOFILL
.NOJUSTIFY
.SKIP 1
.UPPER CASE
EXAMPLE:
.SKIP 1
*N20
END OF FILE
.LOWER CASE
.FILL
.JUSTIFY
.HL2 ^PAGE ^COMMAND (^P)
.INDEX #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
.HL3 ^PAGE ^COMAND ^EXAMPLE
.INDEX #7.3.7.1#######^PAGE ^COMMAND ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
*P2
 15  AUTO REGISTRATION     :
 16  AUTO MAKE             :FORD
 17  REGISTRATION DATE     :770201
 18  WEEKLY INSUR. DED.    :520
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^DELETE ^COMMAND (^D)
.INDEX #7.3.8#######^DELETE ^COMMMAND (^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.
.NOFILL
.NOJUSTIFY
.HL3 ^DELETE ^COMMAND ^EXAMPLE
.INDEX #7.3.8.1#######^DELETE ^COMMAND ^EXAMPLE
.B1
.UPPER CASE
.NOFILL
.NOJUSTIFY
*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
.SKIP 1
DELETE THIS RECORD...ARE YOU SURE?  Y
.TP 10
.LOWER CASE
.HL2 ^FINISH ^COMMAND (^F)
.INDEX #7.3.9#######^FINISH ^COMMAND (^F)
.FILL
.JUSTIFY
^THE "^F" COMMAND AT THIS LEVEL CAUSES THE PROGRAM
TO EXIT TO THE MONITOR.
.HL3 ^FINISH ^COMMAND ^EXAMPLE
.INDEX #7.3.9.1#######^FINISH ^COMMAND ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
*F
.SKIP 1
EXIT
.SKIP 1
_.
.FILL
.JUSTIFY
.LOWER CASE
.HL1 DBMTST OVERVIEW
.INDEX #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:
.NOFILL
.NOJUSTIFY
.SKIP 1
.UPPER CASE
_.RUN DBMTST
.SKIP 1
PASSWORD:  COLE
CSS DATA BASE MANAGEMENT SYSTEM CSSDBM(V05)
.SKIP 1
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
.SKIP 1
.SKIP 1
.SKIP 1
.SKIP 1
.SKIP 1
*F
.SKIP 1
EXIT
.B2
.FILL
.JUSTIFY
.LOWER CASE
^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.
.CH CSSDBM ARITHEMETIC PROCESSOR (CSSTOT)
.TITLE #
.LEFT MARGIN 0
.RIGHT MARGIN 65
.FILL
.JUSTIFY
.SPACING 1
.LOWER CASE
.INDEX #8####^^CSSDBM ARITHEMETIC PROCESSOR (CSSTOT)\\
.HL1 GENERAL DESCRIPTION
.INDEX #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.
.SKIP 1
^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.
.HL2 ^SPECIAL ^^CSSTOT\\ ^PARAMETERS
.INDEX #8.1.1#######^SPECIAL ^^CSSTOT\\ ^PARAMETERS
^BECAUSE OF THE HIGH VOLUME OF DATA  ACCESSED BY ^^CSSTOT\\, SOME
PRECAUTIONS WERE TAKEN DURING ITS DEVELOPMENT.
.LIST
.LE;^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\\.
.LE;^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\\.
.LE;^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.
.END LIST
.LEFT MARGIN 0
.RIGHT MARGIN 65
.PAGE
.HL1 INPUT FORMAT
.INDEX #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:
.LIST
.LE;^SPACES MUST BE PLACED BETWEEN EACH ITEM OR INTEGER AND THE
OPERATIONAL SIGN.
.LE;^THE DESTINATION OF THE CALCULATIONS MUST ALWAYS BE SPECIFIED
FIRST.
.LE;^ALL FIELD REFERENCES MUST BE FOLLOWED BY A
DELIMITER OF "^^INN\\"; THE INTENDED FIELD NUMBER WILL BE RECOGNIZED AS AN INTEGER, OTHERWISE.
.END LIST
.HL2 ^^CSSTOT\\ ^EXAMPLE
.INDEX #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.
.SKIP 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.
.SKIP 1
^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
^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.
.END NOTE
.B1
.NOFILL
.NOJUSTIFY
.TS9
^MATHEMATICAL ^SYMBOLS:
.B1
	^^+####ADD
	-####SUBTRACT
	*####MULTIPLY
	/####DIVIDE\\
.B2
.UPPER CASE
.NOFILL
.NOJUSTIFY
_.RUN CSSTOT
.SKIP 1
TYPE NAME OF INPUT FORMAT FILE: DBMTST
PASSWORD:  COLE
.SKIP 1
CSS ARITHMETIC PROCESSOR CSSTOT(V05)
.SKIP 1
TYPE A 3 CHARACTER IDENTIFIER FOR THIS APPLICATION:  001
.SKIP 1
TYPE IN YOUR NAME:  JOHN DOE
TYPE IN UP TO 30 EQUATIONS; TERMINATE EACH WITH A PERIOD. 
.SKIP 1
  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
_.LOAD TOT001.CBL,ECHO
COBOL:  TOT001  [TOT001.CBL]
.SKIP 1
WARNINGS:
.SKIP 1
    0177  MOST SIGNIFICANT DIGITS TRUNCATED ON 3INN
NO FATAL ERRORS, 1 WARNING
LINK:   Loading
.SKIP 1
EXIT
.SKIP 1
_.SAVE
TOT001 SAVED
.SKIP 3
_.RUN TOT001
.SKIP 1
PASSWORD:  HARRIS
.SKIP 1
.SKIP 1
EXIT
.PAGE
.LM 0
.RM 65
.FILL
.JUSTIFY
.LC
^A CHECK OF YOUR DIRECTORY WILL SHOW THAT YOU HAVE ADDED 3 NEW FILES:
.B1
.NOFILL
.NOJUSTIFY
.TS5,25
	^^TOT001.CBL\\	(^ARITHMETIC ^PROCESS ^^COBOL\\ ^FILE)
	^^TOT001.REL\\	(^ARITHMETIC ^PROCESS ^RELOCATABLE ^FILE)
	^^TOT001.EXE\\	(^ARITHMETIC ^PROCESS ^EXECUTABLE ^FILE)
.B1
.FILL
.JUSTIFY
^AS SEVERAL OF THESE FILES ARE NO LONGER REQUIRED AND ARE TAKING
UP VALUABLE SPACE, THEY CAN, AND SHOULD, BE DELETED.  ^THOSE FILES ARE:
.B1
.NOFILL
.NJ
.TS5,25
	^^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)
.B1
.FILL
.JUSTIFY
^WHEN COMPLETED, YOUR DIRECTORY SHOULD CONTAIN THE FOLLOWING
FILES.  ^VERIFY BY TYPING ^^DIR <CR>\\.
.B1
.NOFILL
.NJ
.TS5,25
	^^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)
.FILL
.JUSTIFY
.CH CSSDBM REPORT WRITER (CSSRPT)
.TITLE #
.LEFT MARGIN 0
.RIGHT MARGIN 65
.LOWER CASE
.INDEX #9####^^CSSDBM REPORT WRITER (CSSRPT)\\
.HL1 GENERAL DESCRIPTION
.INDEX #9.1#######^GENERAL ^DESCRIPTION
.FILL
.JUSTIFY
^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).
.SKIP 1
^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:
.LIST
.LE;^OUTPUT IS LIMITED TO 132 CHARACTERS WHEN USING THE
LINE PRINTER (A PRINTER RESTRICTION).
.LE;^^CSSRPT\\ WILL ONLY RUN ON FILES CREATED WITH ^^CSSDBW\\.
.LE;^OUTPUT IS LIMITED TO 72 CHARACTERS WHEN USING THE
USER TERMINAL (^^TTY\\).
.END LIST
.FILL
.JUSTIFY
.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.
.END NOTE
.PAGE
.HL1 REPORT GENERATION AND ACCESS PRIVILEGE
.INDEX #9.2#######^REPORT ^GENERATION AND ^ACCESS ^PRIVILEGE
.FILL
.JUSTIFY
^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 <^C^R> RESPONSE WILL CAUSE ^^CSSRPT\\ TO
REFERENCE YOUR AREA.
.SKIP 1
^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 <^C^R> DEFAULTS
TO A PRIVILEGE LEVEL OF 2.
.SKIP 1
^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.
.SKIP 1
^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.
.HL2 ^^CSSRPT\\ ^EXAMPLE
.INDEX #9.2.1#######^^CSSRPT\\ ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
.LEFT MARGIN 0
.RM70
_.RUN CSSRPT
.SKIP 1
TYPE NAME OF INPUT FORMAT FILE: DBMTST
.SKIP 1
ENTER DATA BASE PROJECT PROGRAMMER NUMBER
OR <CR> IF DATA BASE IS ON THIS AREA
PPN:  <CR>
PASSWORD:  HARRIS
.SKIP 1
CSS REPORT GENERATOR CSSRPT(V05)
.SKIP 1
NEW OR OLD:  NEW
.RM65
.SKIP 1
.RM65
.PAGE
.RM70
DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING
(Y OR N):  YES
.SKIP 1
  FLD FIELD                FIELD  :  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :  NUM NAME                  SIZE  :
.SKIP 1
   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  :
.PS 58,65
.LEFT MARGIN 0
.RIGHT MARGIN 65
.FILL
.JUSTIFY
.LOWER CASE
.HL1 AUTHOR'S NAME AND OUTPUT DEVICE SELECTION
.INDEX #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.
.SKIP 1
^^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.
.HL2 ^PRIVILEGE, ^AUTHOR \AND ^OUTPUT ^DEVICE ^EXAMPLE
.INDEX #9.3.1#######^PRIVILEGE, ^AUTHOR AND ^OUTPUT ^DEVICE ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT:  1
.SKIP 1
TYPE IN YOUR NAME:  JOHN DOE
.SKIP 1
OUTPUT DEVICE (DSK OR TTY):  DSK
WILL OUTPUT TO DSK
.PAGE
.FILL
.JUSTIFY
.LOWER CASE
.HL1 OUTPUT DEFINITION
.INDEX #9.4#######^OUTPUT ^DEFINITION
.HL2 ^LONG \OR ^SHORT ^DIALOG
.INDEX #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.
.HL2 ^INPUT \TO ^OUTPUT ^FIELD ^CORRESPONDENCE
.INDEX #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).
.END NOTE
.PAGE
.HL2 ^FIELD ^ALPHA, ^NUMERIC \OR ^DATE ^CHARACTERISTICS
.INDEX #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.
.SKIP 1
^TO USE THE ^DATE ^SUPPRESSION FEATURE (^PARAGRAPH 9.6.4) HOWEVER,
THE FIELD ^&MUST BE\& DEFINED AS EITHER "^N" OR "^D" AT THIS TIME.
.HL2 ^OUTPUT ^FIELD ^SIZE
.INDEX #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.
.END NOTE
.HL2 ^FIELD ^BREAKDOWN
.INDEX #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 <^C^R>.
^HAVING SELECTED ALL OUTPUT FIELDS,  THIS LOOP IS BROKEN BY TYPING
"^^STOP\\" WHEN THE PROGRAM NEXT DISPLAYS "^^INPUT FIELD NUMBER:\\".
.PAGE
.HL3 ^FIELD ^BREAKDOWN ^EXAMPLE
.INDEX #9.4.5.1#######^FIELD ^BREAKDOWN ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
LONG OR SHORT DIALOG:  L
.SKIP 1
ANSWER THE FOLLOWING ABOUT YOUR OUTPUT:
.B1
INPUT FIELD NUMBER: 5
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   5..BADGE NUMBER        ..   5  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
6 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 6
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   6..LAST NAME           ..  20  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*1
*19
*<CR>
27 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 7
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   7..FIRST NAME          ..  15  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  10
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
38 CHARACTERS APPROXIMATELY
.PAGE
INPUT FIELD NUMBER: 8
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   8..MIDDLE INITIAL      ..   2  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
41 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 1
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   1..RECORD CREATION DATE..   6  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D
51 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 10
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  10..COST CENTER         ..   3  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
55 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 4
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   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
.B1
INPUT FIELD NUMBER: 17
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  17..REGISTRATION DATE   ..   6  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D
73 CHARACTERS APPROXIMATELY
.PAGE
INPUT FIELD NUMBER: 11
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  11..PHONE EXTENSION     ..   5  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
79 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 15
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  15..AUTO REGISTRATION   ..   6  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
86 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 16
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  16..AUTO MAKE           ..  10  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
97 CHARACTERS APPROXIMATELY
.B1
INPUT FIELD NUMBER: 18
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  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
.B1
INPUT FIELD NUMBER: STOP
.PAGE
.FILL
.JUSTIFY
.LOWER CASE
.HL1 INPUT DATA FIELD REPRESENTATION
.INDEX #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:
.SKIP 1
.CENTER
^^6INN2\\
.SKIP 1
.NOFILL
.NOJUSTIFY
.TS 10,15,18
^WHERE:
.SKIP 1
	6	=	^THE INPUT FIELD NUMBER.
.SKIP 1
	^^INN\\	=	^THE SYMBOLS USED TO SEPERATE THE TWO INTEGERS.
.SKIP 1
	2	=	^THE OCCURRENCE OF A SUBDIVISION OF THAT
.BR
			INPUT FIELD WHICH WAS CAUSED WHEN THE FIELD
.BR
			WAS BROKEN DOWN DURING THE DEFINITION OF
.BR
			THE OUTPUT.
.SKIP 1
.FILL
.JUSTIFY
^REFERENCES TO INPUT FIELDS, THROUGHOUT THE REMAINDER OF THIS DOCUMENT,
WILL BE MADE WITH THESE SYMBOLS.
.HL1 OUTPUT FORMAT DIALOG
.INDEX #9.6#######^OUTPUT ^FORMAT ^DIALOG
.HL2 ^OVERLAY \AND ^HEADER ^OPTION
.INDEX #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.
.SKIP 1
^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\&.
.HL3 ^OVERLAY \AND ^HEADER ^OPTION ^EXAMPLE
.INDEX #9.6.1.1#######^OVERLAY AND ^HEADER ^OPTION ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
.B1
OVERLAY PAGE (Y OR N):  YES
DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING:  NO
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^REPORT ^FILE ^CODE ^NAME
.INDEX #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.
.HL3 ^REPORT ^FILE ^CODE ^NAME ^EXAMPLE
.INDEX #9.6.2.1#######^REPORT ^FILE ^CODE ^NAME ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
TYPE 3 CHAR REPORT FILE CODE:  001
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^REPORT ^TITLE
.INDEX #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.
.HL3 ^REPORT ^TITLE ^EXAMPLE
.INDEX #9.6.3.1#######^REPORT ^TITLE ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
TYPE REPORT TITLE (FOR TOP OF EACH PAGE)
*PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^DATA ^SUPPRESSION ^FEATURE
.INDEX #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.
.SKIP 1
 ^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 FIELD WAS BROKEN DOWN DURING INPUT.
^THE NEXT REQUEST IN THIS LOOP IS FOR
"^^SIGN:\\".  ^RESPONSE IS EITHER "=", "^^NOT\\", ">" OR "<".
.LIST
.LE;^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.
.LE;^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.
.LE;^THE ">" SIGN WILL CAUSE THE INPUT RECORD TO BE
SUPPRESSED IF FIELD IS GREATER THAN ANY OCCURANCE
OF ONE OF THE TEN LITERALS.
.LE;^THE "<" SIGN WILL CAUSE SUPPRESSION IF THE FIELD
IS LESS THAN THE SPECIFIED LITERALS.
.END LIST
.FILL
.JUSTIFY
.NOTE
^USE OF EITHER "<" OR ">" REQUIRES THAT THESE FIELDS BE DEFINED AS ^&NUMERIC\& DURING THE INPUT DEFINITION OF THE REPORT.
.END NOTE
.SKIP 1
^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.
.SKIP 1
^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.
.HL3 ^DATA ^SUPPRESSION ^EXAMPLE
.INDEX #9.6.4.1#######^DATA ^SUPPRESSION ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
SUPPRESS: <CR> IF NONE OR WHEN SELECTION IS COMPLETE
.B1
INPUT SYMBOL:  6INN1
6..LAST NAME
SIGN:  =
LITERAL:  F
LITERAL:  G
LITERAL:  <CR>
.PAGE
INPUT SYMBOL:  10INN
10..COST CENTER
SIGN:  NOT
LITERAL:  /ENTER 3 COST CNTRS FOR RPT: /
LITERAL:  //
LITERAL:  //
LITERAL:  <CR>
.B1
INPUT SYMBOL:  <CR>
.SKIP 1
.FILL
.JUSTIFY
.LOWER CASE
.TP 15
.HL2 ^SORTING ^SEQUENCE
.INDEX #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.
.HL3 ^SORTING ^SEQUENCE ^EXAMPLE
.INDEX #9.6.5.1########^SORTING ^SEQUENCE ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 1
TYPE SORT SEQUENCE (<CR> IF NO SORT)
*10INN, 6INN, 7INN
WILL BREAK ON COST CENTER
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^SPACING, ^PAGING, \AND ^LINE ^SKIPPING
.INDEX #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 "^Y^E^S" OR "^N^O" 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.
.HL3 ^SPACING, ^PAGING, \AND ^LINE ^SKIPPING ^EXAMPLE
.INDEX #9.6.6.1#######^SPACING, ^PAGING, AND ^LINE ^SKIPPING ^EXAMPLE
.B1
.NOFILL
.NOJUSTIFY
.UPPER CASE
DO YOU WANT DOUBLE SPACING:  NO
 
DO YOU WANT A NEW PAGE ON THE BREAK:  NO
.SKIP 1
TYPE NUMBER OF LINES TO SKIP AFTER A BREAK:  3
.FILL
.JUSTIFY
.LOWER CASE
.HL2 ^COLUMN ^HEADINGS
.INDEX #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.
.SKIP 1
^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.
.SKIP 2
.INDEX #9.6.7.1#######^COLUMN ^HEADINGS ^EXAMPLE
.BREAK
9.6.7.1 ^COLUMN ^HEADINGS ^EXAMPLE
.SKIP 1
.NOFILL
.NOJUSTIFY
.UPPER CASE
OUTPUT FIELD COLUMN INFORMATION
.SKIP 1
                      :------:
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
                      :----------:
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
.FILL
.JUSTIFY
.LOWER CASE
.HL1 OUTPUT PROGRAM
.INDEX #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
.HL2 ^REPEATABLE ^OUTPUT ^PROGRAM ^EXAMPLE
.INDEX #9.7.1#######^REPEATABLE ^OUTPUT ^PROGRAM ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 1
_.LOAD RPT001.CBL,ECHO
COBOL:  RPT001  [RPT001.CBL]
LINK:   Loading
.SKIP 1
EXIT
.SKIP 1
_.SAVE
RPT001 SAVED
.SKIP 1
.LC
.FILL
.JUSTIFY
^BY TYPING ^^DIR\\ <^^CR\\>, YOU WILL FIND THAT THE FINAL NECESSARY
FILES HAVE BEEN CREATED AND ADDED TO YOUR DIRECTORY.  ^THE NEW ONES
ARE:
.B1
.NF
.NJ
.TS5,25
	^^RPT001.HLD\\	(^REPORT ^HOLD ^FILE)
	^^RPT001.CBL\\	(^REPORT ^^COBOL\\ ^FILE)
	^^RPT001.REL\\	(^REPORT ^RELOCATABLE ^FILE)
	^^RPT001.EXE\\	(^REPORT ^EXECUTABLE ^FILE)
.B1
.FILL
.JUSTIFY
^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:
.B1
.NF
.NJ
.TS5,25
	^^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)
.B1
.UPPER CASE
_.RUN RPT001
.SKIP 1
PASSWORD:  HARRIS
.SKIP 1
ENTER 3 COST CNTRS FOR RPT: 201
*202
*203
.SKIP 1
EXIT
.SKIP 1
_.PRINT RPT001.LPT
.PAGE
.FILL
.JUSTIFY
.B1
.LOWER CASE
^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 <^C^R>, 
AND ALL PARAMETERS SELECTED WILL BE ENTERED FOR YOU AUTOMATICALLY.
.HL2 "^ONCE-ONLY" ^OUTPUT ^PROGRAM ^EXAMPLE
.INDEX #9.7.2#######"^ONCE-ONLY" ^OUTPUT ^PROGRAM ^EXAMPLE
.B1
.NF
.NJ
.UPPER CASE
_.EXECUTE RPT001.CBL, ECHO
COBOL: RPT001 [RPT001.CBL]
.LC
^^LINK: L\\OADING
.UPPER CASE
[LNKXCT RPT001 EXECUTION]
PASSWORD: HARRIS
ENTER 3 COST CNTRS FOR RPT: 201
*202
*203
.B1
EXIT
.B1
_.PRINT RPT001.LPT
.B1
_.DEL RPT001.*
.PAGE
.NOFILL
.NOJUSTIFY
.UPPER CASE
.LEFT MARGIN 0
.RIGHT MARGIN 132
                                         PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER                               PAGE   1

.SKIP 1
                                                      RUN ON 01-JUN-78 AT 09:34
.SKIP 2
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.
.SKIP 1
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
.SKIP 1
***** SUBTOTALS *****     201
                                                                                                                         31.93

.B3

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
.SKIP 1
***** SUBTOTALS *****     202
                                                                                                                         24.04
.SKIP 3


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
.SKIP 1
***** SUBTOTALS *****     203
                                                                                                                         31.04


 

***** FINAL TOTALS *****
                                                                                                                         87.01
.PS 58,65
.PAGE
.LEFT MARGIN 0
.RIGHT MARGIN 65
.FILL
.JUSTIFY
.LOWER CASE
.HL1 CSSRPT UPDATE MODE
.INDEX #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).
.SKIP 1
^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.
.HL2 ^^CSSRPT UPDATE\\ ^EXAMPLE
.INDEX #9.8.1#######^^CSSRPT UPDATE\\ ^EXAMPLE
.NOFILL
.NOJUSTIFY
.UPPER CASE
_.RUN CSSRPT
.SKIP 1
TYPE NAME OF INPUT FORMAT FILE: DBMTST
.SKIP 1
ENTER DATA BASE PROJECT PROGRAMMER NUMBER
OR <CR> IF DATA BASE IS ON THIS AREA
PPN:  <CR>
PASSWORD:  HARRIS
.SKIP 1
CSS REPORT GENERATOR CSSRPT(V5C)
.SKIP 1
NEW OR OLD:  OLD
.SKIP 1
ENTER OLD REPORT NAME:  RPT001
.SKIP 1
CHANGE OR UPDATE:  UPDATE
    CREATING RPT001.CBL ...
EXIT
.B1
LOAD RPT001.CBL,ECHO
COBOL: RPT001  [RPT001.CBL]
.LC
^^LINK:   L\\OADING
.UPPER CASE
.B1
EXIT
.B1
_.SAVE
RPT001 SAVED
.TP 10
.FILL
.JUSTIFY
.LOWER CASE
.HL1 CSSRPT CHANGE MODE
.INDEX #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\\.
.SKIP 1
^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.
.B1
^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.
.SKIP 2
.NOFILL
.NOJUSTIFY
.TAB STOPS 15, 30
^COMMAND	^FUNCTION	^RESULT
.SKIP 1
<^^CR\\>	^DEFAULT	^LEAVES CURRENT COLUMN
		SPECIFICATION AS IS.
.SKIP 1
^I	^INSERT	^PLACES A NEW REPORT
		COLUMN BEFORE THE
		CURRENT COLUMN.
.SKIP 1
^D	^DELETE	^DELETE CURRENT
		COLUMN FROM REPORT.
.SKIP 1
^O	^OVERWRITE	^SUPERSEDE THIS REPORT
		COLUMN SPECIFICATION.
.SKIP 1
^F	^FINISH	^RETAINS ALL PREVIOUS
		COLUMN SPECIFICATIONS
		AND EXITS FROM COLUMN
		SELECTION ROUTINE.
.SKIP 1
^^STOP\\	^STOP	^MAKE LAST COLUMN
		DISPLAYED THE LAST
		REPORT COLUMN AND
		EXITS FROM THIS ROUTINE.
.LEFT MARGIN 0
.HL2 ^^CSSRPT CHANGE\\ ^EXAMPLE
.INDEX #9.9.1#######^^CSSRPT CHANGE\\ ^EXAMPLE
.UPPER CASE
.NF
.NJ
_.RUN CSSRPT
.SKIP 1
TYPE NAME OF INPUT FORMAT FILE: DBMTST
.SKIP 1
ENTER DATA BASE PROJECT PROGRAMMER NUMBER
OR <CR> IF DATA BASE IS ON THIS AREA
PPN:  <CR>
PASSWORD:  HARRIS
.SKIP 1
CSS REPORT GENERATOR CSSRPT(V5C)
.RM72
.SKIP 1
NEW OR OLD:  OLD
.SKIP 1
ENTER OLD REPORT NAME:  RPT001
.SKIP 1
CHANGE OR UPDATE:  CHANGE
.SKIP 1
DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING
(Y OR N):  N
.SKIP 1
ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT:  <CR>
.SKIP 1
TYPE IN YOUR NAME:  JOHN DOE
.SKIP 1
OUTPUT DEVICE (DSK OR TTY):  DSK
WILL OUTPUT TO DSK
.SKIP 1
LONG OR SHORT DIALOG:  L
.SKIP 1
ANSWER THE FOLLOWING ABOUT YOUR OUTPUT:
.SKIP 1
.NOFILL
.NOJUSTIFY
                              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
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
  13..MAIL STOP           ..   3  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): <CR>
.SKIP 1
TYPE TOTAL OUTPUT FIELD SIZE:  <CR>
FIELD BREAKDOWN EXTRA <CR> WHEN DONE
*<CR>
31 CHARACTERS APPROXIMATELY
.PAGE
.B1
.RM72
    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
.SKIP 1
  FLD FIELD                FIELD  :
  NUM NAME                  SIZE  :
.SKIP 1
   2..RECORD ACCESS DATE  ..   6  :
FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D
66 CHARACTERS APPROXIMATELY
.B1
    8...REGISTRATION DATE   ..D .. ..     6..  ,   ,   ,   ,   , : F
.SKIP 2
.PS 58,65
.FILL
.JUSTIFY
.LOWER CASE
.LM0
.RM65
^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:
.HL3 ^DATA ^SUPPRESSION ^CHANGE
.INDEX #9.9.1.1#######^DATA ^SUPPRESSION ^CHANGE
.B1
^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.  
.HL3 ^OUTPUT ^FIELD ^COLUMN ^HEADING ^CHANGE
.INDEX #9.9.1.2#######^OUTPUT ^FIELD ^COLUMN ^HEADING ^CHANGE
.B1
^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
.HL3 ^SORTING ^SEQUENCE ^CHANGE
.INDEX #9.9.1.3#######^SORTING ^SEQUENCE ^CHANGE
.B1
^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.
.NOFILL
.NOJUSTIFY
.HL3 ^EXAMPLES
.INDEX #9.9.1.4#######^EXAMPLES
.UPPER CASE
.B1
.NOFILL
.NOJUSTIFY
OVERLAY PAGE (Y OR N):Y:<CR>
DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING:N:Y
.SKIP 1
TYPE 3 CHAR REPORT FILE CODE:  002
TYPE REPORT TITLE (FOR TOP OF EACH PAGE)
PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER
*<CR>
.SKIP 1
SUPPRESS: <CR> IF NONE OR WHEN SELECTION IS COMPLETE
INPUT SYMBOL:6INN1  :BLANK
.SKIP 1
TYPE SORT SEQUENCE (<CR> IF NO SORT)
10INN, 6INN, 7INN
*BLANK
.SKIP 1
DO YOU WANT DOUBLE SPACING:N:<CR>
OUTPUT FIELD COLUMN INFORMATION
.SKIP 1
                      :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
                      :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
.B1
LOAD RPT002.CBL,ECHO
COBOL:  RPT002  [RPT002.CBL]
.LC
^^LINK:  L\\OADING
.UPPER CASE
.B1
EXIT
.B1
_.SAVE
RPT002 SAVED
.PS 58,65
.CH CSSDBM DATA BASE CONVERTER (CSSCNG)
.TITLE #
.LEFT MARGIN 0
.RIGHT MARGIN 65
.LOWER CASE
.FILL
.JUSTIFY
.INDEX 10####^^CSSDBM DATA BASE CONVERTER (CSSCNG)\\
.HL1 GENERAL DESCRIPTION
.INDEX 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:
.LIST
.LE;^RUN ^^CSSCNG\\ TO CREATE A REFORMATED SEQUENTIAL
FILE FROM YOUR INDEXED SEQUENTIAL FILE.
.LE;^USE THE ^^CHANGE\\ MODE OF ^^CSSDBW\\ AND ADJUST THE
DATA BASE FORMAT FILE (REFER TO ^CHAPTER 2).
.LE;^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).
.LE;^RUN ^^CSSVLD\\ TO RECREATE YOUR ^VALIDATION FILE, IF THAT
OPTION WAS SELECTED.
.LE;^RUN ^^CSSTOT\\ TO RECREATE THE ^ARITHMETIC ^PROCESSOR TO CORRECT
VERSION INCONSISTENCIES, IF THAT OPTION WAS SELECTED.
.LE;^RUN ^^CSSRPT\\ TO RECREATE THE OUTPUT REPORTS TO CORRECT VERSION
INCONSISTENCIES.
.END LIST
.FILL
.JUSTIFY
.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.
.END NOTE
.HL1 CSSCNG DIALOG
.INDEX 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.
.SKIP 1
^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.
.SKIP 1
^THREE OPTIONS ARE AVAILABLE FOR THE PURPOSE OF EXITING TO THE MONITOR,
ONCE THE DEFINITION OF THE NEW OUTPUT RECORD IS COMPLETE:
.NOFILL
.NOJUSTIFY
.SKIP 1
.TS 10,15
	^F	^IF THE REMAINING FIELDS IN THE OUTPUT
		RECORD ARE THE SAME AS THOSE REMAINING
		IN THE OLD RECORD.
.B1
	^S	^TERMINATES THE NEW OUTPUT RECORD AT
		THAT POINT.
.B1
	^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.
.FILL
.JUSTIFY
.HL2 ^^CSSCNG\\ ^EXAMPLE
.INDEX 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.
.NOFILL
.NOJUSTIFY
.UPPER CASE
.SKIP 2
_.RUN CSSCNG
.SKIP 1
TYPE NAME OF INPUT FORMAT FILE:  DBMTST
PASSWORD:  COLE
.SKIP 1
CSS DATA BASE CONVERTER CSSCNG(V05)
.SKIP 1
DO YOU NEED TO SEE THE HELP DIALOG:  YES
.SKIP 1
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.
.SKIP 1
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
ANSWER THE FOLLOWING ABOUT YOUR NEW OUTPUT RECORD
.SKIP 1
OUTPUT FIELD NUMBER  1
*<CR>
  1...RECORD CREATION DATE  :6
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER  2
*<CR>
  2...RECORD ACCESS DATE    :6
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER  3
*<CR>
  3...ANNUAL SALARY         :7
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER  4
*<CR>
  4...TOTAL WEEKLY INS DED  :5
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER  5
*B
NEW FIELD
.SKIP 1
SIZE:  6
.SKIP 1
OUTPUT FIELD NUMBER  6
*<CR>
  5...BADGE NUMBER          :5
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER  7
*<CR>
  6...LAST NAME             :20
.SKIP 1
SIZE:  25
.SKIP 1
OUTPUT FIELD NUMBER  8
*<CR>
  7...FIRST NAME            :15
.SKIP 1
SIZE:  <CR>
.PAGE
OUTPUT FIELD NUMBER  9
*<CR>
  8...MIDDLE INITIAL        :2
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 10
*<CR>
  9...WAGE CLASS            :1
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 11
*<CR>
 10...COST CENTER           :3
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 12
*<CR>
 11...PHONE EXTENSION       :5
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 13
*<CR>
 12...HOURLY RATE           :4
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 14
*<CR>
 13...MAIL STOP             :3
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 15
*<CR>
 14...LOCATION CODE         :6
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 16
*<CR>
 15...AUTO REGISTRATION     :6
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 17
*<CR>
 16...AUTO MAKE             :10
.SKIP 1
SIZE:  <CR>
.SKIP 1
.PAGE
OUTPUT FIELD NUMBER 18
*<CR>
 17...REGISTRATION DATE     :6
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 19
*<CR>
 18...WEEKLY INSUR. DED.    :5
.SKIP 1
SIZE:  <CR>
.SKIP 1
OUTPUT FIELD NUMBER 20
*O
.SKIP 1
TYPE FIRST LINE NUMBER OF FIRST OVERLAY PAGE IN
YOUR OUTPUT RECORD:  16
.SKIP 1
TYPE LAST LINE NUMBER OF THE FIRST OVERLAY PAGE IN
YOUR OUTPUT RECORD:  19
    CREATING CNGTST.CBL  ...
EXIT
.SKIP 1
_.EXECUTE CNGTST.CBL,ECHO
COBOL:  CNGTST  [CNGTST.CBL]
LINK:   Loading
[LNKXCT  CNGTST  EXECUTION]
PASSWORD:  COLE
.SKIP 1
RECORDS CONVERTED:  37
.SKIP 1
EXIT
.SKIP 1
.FILL
.JUSTIFY
.LOWER CASE
.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.
.END NOTE
.LM0
.RM65
.FILL
.JUSTIFY
.B2
^NOW RETURN TO ^PARAGRAPH 2.10 TO EXECUTE ^^CSSDBW\\ IN THE ^^OLD\\
AND ^^CHANGE\\ MODES.
.PAGE
.PS 58,65
.NONUMBER
.C;^^TABLE OF CONTENTS\\
.LM0.RM130
.PRINT INDEX