RAPGEN
Installation Manual
Part 1.
Table
of contents
1. Copyall and operating system
requirements.............................................................................................................................. 4
1.1. Copy from master disc.................................................................................................................................................................. 4
1.1.1. Contents of the library list........................................................................................................................................................... 4
1.2. SYSMOD Requirements............................................................................................................................................................... 4
1.2.1. Operating system.......................................................................................................................................................................... 4
1.3. Disc space requirement................................................................................................................................................................. 5
1.4. Installation step by step............................................................................................................................................................... 5
2. DMS.RAPGEN.SYS system definitions...................................................................................................................................... 6
2.1. Creating/expanding report generator
files................................................................................................................................. 7
2.2. The system parameters in
DMS.RAPGEN.SYS......................................................................................................................... 7
2.2.1. System name.................................................................................................................................................................................. 7
2.2.2. DRN file.......................................................................................................................................................................................... 7
2.2.3. Not used......................................................................................................................................................................................... 7
2.2.4. User report file............................................................................................................................................................................... 7
2.2.5. File definition file.......................................................................................................................................................................... 7
2.2.6. Sort workfile................................................................................................................................................................................... 7
2.2.7. Phantom port................................................................................................................................................................................. 8
2.2.8. Default pagelength....................................................................................................................................................................... 8
2.2.9. Expiration date............................................................................................................................................................................... 8
2.2.10. Max. program size in KB............................................................................................................................................................. 8
2.2.11. Rapgen lu...................................................................................................................................................................................... 8
2.2.12. Backchain to program.................................................................................................................................................................
8
2.2.13. No. of printers.............................................................................................................................................................................. 8
2.2.14. DLU table...................................................................................................................................................................................... 8
2.2.15. No. of saved reports.................................................................................................................................................................... 9
2.2.16. Opr.system and RAP/DAP......................................................................................................................................................... 9
2.2.17. No. of screen workfiles............................................................................................................................................................... 9
2.2.18. System (0=OS, 1=ST, 2=TAMOS)............................................................................................................................................ 9
2.2.19. Opt.code (0/1/2)........................................................................................................................................................................... 9
2.2.20. Selector code (0/1)....................................................................................................................................................................... 9
2.2.21. Lanquage code........................................................................................................................................................................... 10
2.2.22. Multifile code............................................................................................................................................................................. 10
2.2.23. Field 101 building XXDATAFIL............................................................................................................................................. 10
2.2.24. Field 201 and 205 building XXREPORT................................................................................................................................. 10
2.2.25. Field 301 building XXFILES..................................................................................................................................................... 10
2.2.26. Field 401,402 and 43 building XXSORTWORK.................................................................................................................... 10
2.2.27. Field 501‑505 printer parameters.............................................................................................................................................. 10
3. Tamos selector and jobqueue..................................................................................................................................................... 11
3.1. DMS.R Start interface program.................................................................................................................................................. 11
3.2. DMSE End interface program.................................................................................................................................................... 13
3.3. DMS.RAPGEN.TAQ TAMOS jobqueue
interface................................................................................................................. 13
4. File structure.................................................................................................................................................................................. 14
4.1. System definition file 0/CHSYSTEM........................................................................................................................................ 14
4.2. File definition files....................................................................................................................................................................... 14
4.2.1. XXFILES File/index definitions................................................................................................................................................ 14
4.2.2. XXDATAFILY Field definitions.............................................................................................................................................. 15
4.2.3. XXREAD.FF Read statements.................................................................................................................................................. 15
4.3. Workfiles for program generation and
sorting........................................................................................................................ 16
4.4. User report file and programs.................................................................................................................................................... 16
5. The file definition module............................................................................................................................................................ 17
5.1. Steps in a file definition.............................................................................................................................................................. 17
5.2. The function selector.................................................................................................................................................................. 17
5.3. Defining a new DRN (fields)...................................................................................................................................................... 18
5.4. Definition of a single field.......................................................................................................................................................... 19
5.4.1. Extended field definitions.......................................................................................................................................................... 19
5.5. Displaying and amending fields................................................................................................................................................ 20
5.6. Defining the file (DEF command).............................................................................................................................................. 20
5.7. Fields not included in the filerecord......................................................................................................................................... 21
5.7.1. Key not included in the file record........................................................................................................................................... 21
5.8. Amending the definitions of a defined
file.............................................................................................................................. 21
5.9. The MAT READ command........................................................................................................................................................ 21
5.10. Inserting and deleting fields..................................................................................................................................................... 22
5.11. Other commands......................................................................................................................................................................... 22
5.12. Additional field documentation for
HELP............................................................................................................................... 22
5.13. Generating read statements....................................................................................................................................................... 23
5.14. Maintenance of the file definitions.......................................................................................................................................... 24
5.14.1. Base file information.................................................................................................................................................................. 25
5.14.1.1. File shortname........................................................................................................................................................................... 25
5.14.1.2. File name.................................................................................................................................................................................... 25
5.14.1.3. Text............................................................................................................................................................................................. 25
5.14.1.4. Password.................................................................................................................................................................................... 25
5.14.1.5. Recordlength............................................................................................................................................................................. 25
5.14.1.6. No. of records............................................................................................................................................................................ 25
5.14.1.7. DRN............................................................................................................................................................................................ 25
5.14.1.8. Utilities....................................................................................................................................................................................... 25
5.14.1.9. Cont.end mark........................................................................................................................................................................... 25
5.14.1.10. Subsystem................................................................................................................................................................................ 26
5.14.1.11. STAR DRN no.......................................................................................................................................................................... 26
5.14.1.12. Key not in record..................................................................................................................................................................... 26
5.14.1.13. Other fields............................................................................................................................................................................... 26
5.14.2. Index and file connections....................................................................................................................................................... 26
5.14.2.1. No................................................................................................................................................................................................ 26
5.14.2.2. Var............................................................................................................................................................................................... 26
5.14.2.3. House......................................................................................................................................................................................... 27
5.14.2.4. Dir................................................................................................................................................................................................ 27
5.14.2.5. Keyfields.................................................................................................................................................................................... 27
5.14.2.6. Name........................................................................................................................................................................................... 27
5.14.2.7. Len.............................................................................................................................................................................................. 27
5.14.2.8. Option code............................................................................................................................................................................... 27
5.14.3. Structure of the keyfield definitions....................................................................................................................................... 27
5.14.3.1. Fields.......................................................................................................................................................................................... 27
5.14.3.2. Functions................................................................................................................................................................................... 27
5.14.3.3. Combinations of fields and functions................................................................................................................................... 28
5.14.3.4. Examples of key structures...................................................................................................................................................... 28
6. Filenames and interface programs.............................................................................................................................................. 29
6.1. Filename conventions................................................................................................................................................................. 29
6.1.1. DMS.RAPGEN.LU filename conversions............................................................................................................................... 29
6.1.2. Filename conversion rules......................................................................................................................................................... 30
6.2. DMS.COMET interface to parameter
files............................................................................................................................... 31
7. Programming in the read‑statements......................................................................................................................................... 32
7.1. The simple read‑statement......................................................................................................................................................... 32
7.2. Loading of the read statement................................................................................................................................................... 32
7.3. Loading of read statements for
referenced files...................................................................................................................... 32
7.4. Read statements for packed fields............................................................................................................................................ 32
7.5. Unpacking of keys....................................................................................................................................................................... 33
7.6. Calculations in the read statements.......................................................................................................................................... 33
7.7. The subroutines 4000 and 4100................................................................................................................................................. 34
7.8. Initial dimensions......................................................................................................................................................................... 34
7.9. Special subroutines..................................................................................................................................................................... 34
7.10. Variants of the read statements................................................................................................................................................ 34
7.11. Write statements......................................................................................................................................................................... 34
7.12. Opening of special files............................................................................................................................................................. 35
7.13. Indexed/contigous/formatted files........................................................................................................................................... 35
7.14. Files with different record layouts........................................................................................................................................... 35
8. Language dependent textes........................................................................................................................................................ 36
9.
Structure of the generated
output program.............................................................................................................................. 37
9.1. Generation of the output program............................................................................................................................................. 37
9.2. Subroutines in the generated program..................................................................................................................................... 38
9.3. Line numbers in generated program......................................................................................................................................... 39
9.4. Channels used in generated program....................................................................................................................................... 40
9.5. Variables used in generated program....................................................................................................................................... 40
9.5.1. System constants....................................................................................................................................................................... 40
9.5.2. Start parameters.......................................................................................................................................................................... 41
9.5.3. DRN and file variables............................................................................................................................................................... 41
9.5.4. Report variables.......................................................................................................................................................................... 42
9.5.5. Read/write variables................................................................................................................................................................... 42
9.5.6. Work variables............................................................................................................................................................................ 43
10. Record descriptions for system files........................................................................................................................................ 44
10.1. Structure of COMMON‑AREA
(DMS.RAPGEN.PCB) and 0/CHSYSTEM....................................................................... 44
10.2. Structure of the DRN field definitions
z/zzDATAFILs......................................................................................................... 46
10.3. Structure of y/yyREPORT......................................................................................................................................................... 48
10.4. Structure of the file definition file
f/ffFILES............................................................................................................................ 50
10.5. Structure of the language textfile
x/DMS.RAPGEN.T........................................................................................................... 52
10.6. Structure of additional field textfile
z/zzs.TEXTnn................................................................................................................ 52
11. Internal structure of the report
generator................................................................................................................................ 53
11.1. Link segments in the report generator..................................................................................................................................... 53
11.2. Standard routines loaded into the
generated program......................................................................................................... 54
11.3. Channel usage in definition modules...................................................................................................................................... 54
11.4. Temporary used channels......................................................................................................................................................... 54
11.5. Temporary channels in start segment
DMS.RAPGEN.99..................................................................................................... 54
12. Printout of the library lists.......................................................................................................................................................... 55
Figures.......................................................................................................................................................................................................... 59
Keyword index............................................................................................................................................................................................ 60
1. Copyall and operating system
requirements.
2.1. Copy from master disc
The report generator is copyed from the
master disc using the COPYALL with the library list DMS.COMET.LIB.
The report generator may be placed on any
lu from 0 to 9.
It is possible to optimize all basic
programs if desired by the normal use of
the EXPERT selector program.
2.2.1. Contents of the library list
The library list DMS.COMET.LIB contains:
1. Report generator programs and
installation programs.
2. Programs for file definitions
(DATAMASTER).
3. File definition and READ statements for
the most common used COMET‑TOP files.
4. Programs for reading the COMET‑TOP
parameter files and updating byte displacement etc. in read statements.
The library list DMS.RAPGEN.LIB contains all
report generator programs.
The library list DMS.XLIB contains all
programs for file definitions (DATAMASTER).
If you have made your own file definitions
on a master pack it is only nessesary to copy these definitions together with
the report generator programs (DMS.RAPGEN.LIB) to the customer system.
However, if you need to amend the file
definitions on the customer system the file definition programs (DMS.XLIB) have
to be copied.
2.3. SYSMOD Requirements.
The report generator requires a minimum
partition size of 18 KB and at least 14 data files open.
The programs are all saved with size 0, so
be carefull to set the DEFAULT PARTITION SIZE for basic programs before
copying.
The size of the programs and the user
defined report programs will depend on
the parameter 'MAX. PROGRAM SIZE' in the report generator system, which is used
to dimension work‑variables etc.
All generated programs will be saved with
default partition size, this should be set equal to main partition size.
If you need to define files using the
DATAMASTER programs, at least 20 data files should be configured.
2.4.1. Operating system.
The report generator may run from NIROS 3.0
to 7.0.
The report generator released 01/01‑1987
must be installed on NIROS 5.0 or newer due to the use of the help function
etc.
A parameter is set up during installation
with the operating system number so that new basic functions are not use on old
operating system.
2.5. Disc space requirement.
DMS.RAPGEN normally takes up approximately
2500 sectors (blocks) of disc space.
The actual space can be calculated in the
following way:
1. DMS.RAPGEN‑programs 1000 sectors.
2. Per additional user
at 1 * 75, eg. 75
= 75 ‑
the same time
3. Per file x * 20, eg. 10
= 200 ‑
4. Per report x * 4, eg.
44 = 176 ‑
5. Textfile per.report x *
4, eg. 44 = 176 ‑
6. Program per report x * 16, eg. 44
= 704 ‑
7. Sortfile per 1000
records x *150, eg.1000 =
150 ‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
2481 sectors.
If an installation has limited disc space,
Item 6, Program per Report, may be omitted.This will reduce performance in the
main selection module, but not in printing the report itself.
2.7. Installation step by step.
The first step in installing the
reportgenerator is copyall from a master disc. The next step in the
installation will allways be to run the program DMS.RAPGEN.SYS to set up the lu‑numbers
and other parameters for the reportgenerator.
If you are installing the reportgenerator on
a standard system as COMET‑TOP or STAR you will have copied the standard
file definitions to the customer disc and don't have to worry about file
definitions etc. The only thing will be to run a interface program as DMS.COMET
or DMS.STARDRN to read the parameter files from the standard system and update
the file definitions with actual bytenumbers, special fields etc.
If you install a new individual system the
required files have to be defined before they may be used in the
reportgenerator, most of this manual will descripe how to do this and how to
threat special sorts of files. The reportgenerator can interface any sort of
file due to the basic routines which are used as interface between the user and
the physical read of the files.
If you intend to install a large number of
your own standard system it will be possible to write a program especially for
this purpose to read parameter files and updating a set of base file
definitions according to these.
The last step in the installation will be to
run DMS.RAPGEN.LU to set up logical unit numbers for the individual
installation.
3. DMS.RAPGEN.SYS system definitions.
The program DMS.RAPGEN.SYS is used to
install the report generator. It has 2 functions:
1. Maintenance of 0/CHSYSTEM
parameters.
2. Creating/expanding report
generator files.
The program may be called from scope or from
the TAMOS selector.
Figure
1 DMS.RAPGEN.SYS system selection.
DMS.RAPGEN VERSION 01/01‑1987,RELEASE 01/01‑1987
SYSTEM NR.? 1 2
3 4 5
01 SYSTEM: NO. REC RECLEN
KEY SIZE ITEMS
02/03 DRN FILE: DATAFIL 10:
04 USER REPORT FILE: REPORT 20:
05 FILE DEFINITION FILE: FILES 30:
06 SORT WORKFILE SORTWORK 40:
07 PHANTOM PORT
08 DEFAULT PAGELENGTH LINES
09 EXPIRATION DATE
10 MAX.PROGRAM SIZE KB
11 RAPGEN LU DMS.RAPGEN
12 BACKCHAIN TO PROGRAM
13 NO.OF PRINTERS
14 DLU TABLE
15 NO.OF SAVED REPORTS
16 OPR.SYSTEM AND RAP/DAP
17 NO.OF SCREEN‑WORKFILES
18 SYSTEM (0=OS,1=ST,2=TAMOS)
19 OPT.CODE (0/1/2)
20 SELECTOR CODE (0/1)
21 LANGUAGE SUFFIX DMS.RAPGEN.T
22 MULTIFILE CODE:
You will be asked for a 'system number'
which equals a record in the file CHSYSTEM. Each system may be seen as a
seperate installation of the report generator and must be selected by the start
program when the report generator is selected from TAMOS.
The
information for this system will be shown and you may amend these by selecting
a fieldnumber and enter the new contents of the field.
You end the session by just pressing cr. as
fieldnumber. If you now answer Y for OUTPUT TO LINE PRINTER you will get a
print of the screen and an overview of all implemented files.
Figure
2 DMS.RAPGEN.SYS
DMS.RAPGEN VERSION 01/01‑1987,RELEASE 01/01‑1987
SYSTEM NR.? 63 1 2
3 4 5
01 SYSTEM: D.M.S.
C O M E T NO. REC RECLEN
KEY SIZE ITEMS
02/03 DRN FILE: 9/DMDATAFIL 10
3000 177
04 USER REPORT FILE: 9/DMREPORT 20
256 256 257 66
05 FILE DEFINITION FILE: 9/DMFILES 30
150 96 3
101
06 SORT WORKFILE 9/DMSORTWORK 40 300
16 15 64
07 PHANTOM PORT 1
08 DEFAULT PAGELENGTH 51 LINES
09 EXPIRATION DATE 9999990
10 MAX.PROGRAM SIZE 24 KB
NO. S..E..L.. PRINTER NAME
11 RAPGEN LU 9/DMS.RAPGEN 501 000131072 $RPL4
12 BACKCHAIN TO PROGRAM 9/DMSE 502
13 NO.OF PRINTERS 2 503
14 DLU TABLE 0123456789 504
15 NO.OF SAVED REPORTS 99 505
16 OPR.SYSTEM AND RAP/DAP 514R
17 NO.OF SCREEN‑WORKFILES 01
18 SYSTEM (0=OS,1=ST,2=TAMOS) 2
19 OPT.CODE (0/1/2) 1
20 SELECTOR CODE (0/1) 1
21 LANGUAGE SUFFIX DMS.RAPGEN.TE
22 MULTIFILE CODE: m
FIELDNO:
4.1. Creating/expanding report generator
files.
If the file 0/CHSYSTEM is not present when
DMS.RAPGEN.SYS is selected this file will be created.
If you select a system, which has not been
defined, a set of default values will be set up.
The system information will be displayed
together with a file status of the report generator files (upper right corner).
When ending the program files will be
created/expanded.
Workfiles will be created according to the
number of screens stated in field 17.
If you have changed any of the file
information fields in the upper right corner (by specifying a field number in
the matrix row+coloum, eg.101,201 etc.) the according file will be created. If
the file is present allready the old contents will be copyed to the new file.
If you amends lu or prefix for any file AND
the file informations for the file it will be copied to another file and the
old file is kept. Otherwise the old file is deleted after copying. It is
recommended to take a backup of the involved files by means of COPY before you
replace a file.
All files except the report file XXREPORT
may also be builded/extended by use of FORMAT/COPY/BUILDXF/IFCOPY if so
desired.
If you change the prefix for the report
file the textfiles and programs must be copyed manually by copyall afterwards.
4.3. The system parameters in
DMS.RAPGEN.SYS
A systemno. equals a recordno. in the file
0/CHSYSTEM.
Each system can be seen as a seperate
installation of the reportgenerator.
The systemno. is set by the start program
DMS.R based on the TAMOS selector parameters.
4.4.1. System name
30 characters text identifying the system.
4.4.3. DRN file
Lu and prefix for the field definition file
l/XXDATAFIL.
4.4.5. Not used
4.4.7. User report file.
Lu and prefix for the report file,
l/XXREPORT, report textfiles l/XXT10nn and programs l/XX10nn.
Note that space is allocated dynamically for
the report programs as they are generated on this lu.
4.4.9. File definition file.
Lu and prefix for the file index file l/XXFILES
and the readstatements for the files l/XXREAD.FF.
4.4.11. Sort workfile.
Lu and prefix for the sort workfile
l/XXSORTWORK.
4.4.13. Phantom port.
Default phantom port used when the user
answers Y to the question START (Y/N).
Normally set to 1.
The user can start the reports on any
phantom port by entering the port number instead of Y it is overwriting this
default.
4.4.15. Default pagelength.
Used as default when a new report is
defined.
The user can overwrite this just by entering
another number.
4.4.17. Expiration date.
Normally set to 999999.
It will not be possible to use the
reportgenerator when the system date exeeds this date.
The date is in the form YYMMDD and is
normally only used when renting the reportgenerator for a limited period of
time.
4.4.19. Max. program size in KB.
Minimum 18 KB.
Should not exeed the default size for basic
programs set in SYSMOD.
Used for dimensioning of buffers in the
reportgenerator itself and for checking if a user defined report will become to
large to run (total arrays/large letter textes).
4.4.21.
2.2.11. Rapgen lu.
Logical unit number for the reportgenerator
programs itself and its workfiles.
Also the file definition module (DATAMASTER)
programs must reside on this lu.
4.4.23. Backchain to program.
Normally the end program DMSE.
This program is called when the user leaves
the reportgenerator.
If set to l/ST.E special screen masks will
be used to support STAR installations.
4.4.25.
2.2.13. No. of printers.
Normally set to 1 leaving all printer
assignments to TAMOS.
If set to a value between 2 and 6 the user
will get the choice of selecting a printer when defining a new report, it is
the printer table defined in the fields 501 to 505 to the right of this field
will become active.
4.4.27. DLU table.
Allways set to 0123456789.
All lu numbers of user files will be
transformed according to this table.
4.4.29. No. of saved reports.
Normally set to 99.
Can be reduced if disc space is a problem in
the installation.
All report programs with a report number
larger than this number will be generated again whenever they are started this
not occupying disc space.
4.4.31. Opr.system and RAP/DAP.
4 letters ABCD.
A is used to determine which operating
system facilities can be used in the reportgenerator, errors can occur in
defining/running reports if this parameter is not set up correctly.
BC is threated as comment only.
D must be set to 'D' if you are using the
old DAP screens in order to ignore meaningless key values.
4.4.33. No. of screen workfiles.
The number of users which can use the
reportgenerator at the same time.
When leaving DMS.RAPGEN.SYS a set of
workfiles will be builded if not present according to this number.
4.4.35. System (0=OS, 1=ST, 2=TAMOS).
Must be set to 2 for normal installations.
0 activates DMS filename conventions.
1 activates STAR SYSTAR filenamr file.
2 activates TF.LOGFILE/TF.PARAM on
channel #0 and 1.
2 in combination with backchain to
l/ST.E activates the ST.PARAM files.
3 activates superstar.
4.4.37. Opt.code (0/1/2).
Normally set to 1.
Determines if the pass called 'Program is
being optimized' should be done during program generation. This pass transforms
all parameters used in the report definition files into BASIC statements,
especially conserning the PRINT statements.
0 = Programs will be parameter driven.
1
= No parameters are used, basic statements are generated.
2 = as 1, program will be saved
optimized using SAVE ,D,XX10nn.
Must be set to 0 if you should use
integration to several files in a report size of these is not supported by
parameters only.
4.4.39. Selector code (0/1).
0 = No selector integration
1 = integration.
If set to 1 the user will be asked where the
report should be placed in the selector when defining a new report, if set to 0
this question will be omitted.
Independent of this a report can be placed
in the selector by use of the EXPERT selector maintenance.
4.4.41. Lanquage code.
1 character used as suffix for the lanquage
dependent textes held in the file DMS.RAPGEN.Tx.
Also used to determine the lanquage of the
file definition module (DATAMASTER) textfile DMS.XTEXTx.
blank = Danish (DMS.RAPGEN.T).
E = English (DMS.RAPGEN.TE).
Y = German (DMS.RAPGEN.TY).
4.4.43. Multifile code.
Normally set to M.
If space the user will not be allowed to use
the integration to other files by means of READ(XX) etc.
A capital letter A‑Z will allow this
function.
A small letter a‑z will allow this
function and will allow reportgenerator TEST mode. The escape handling will be
changed at critical sequenses and it will be possible to stop between link
segments by lightning LKY 4.
4.4.45. Field 101 building XXDATAFIL.
If you give a number of records in
fieldnumber 101 the field definition file will be builded/extended if present.
4.4.47. Field 201 and 205 building XXREPORT.
If you give a number of records in field 201
and a number of reports (items) in field 205 the report file XXREPORT will be
created/extended if present.
The number of records should normally be set
to 4 times the number of reports due to one report definition in overage will
use 4 records in the spanned file.
The file can be extended (contracted) with
this function and a automatic cleanup will take place gathering as much
contigous space as possible.
4.4.49. Field 301 building XXFILES.
If you give a number of records in field 301
the file definition file XXFILES will be created/extended.
4.4.51. Field 401,402 and 43 building XXSORTWORK.
You can build the sortworkfile by changing
these fields or by use of BUILDXF.
Default
will be keylength 15 words and no data record.
4.4.53. Field 501‑505 printer parameters.
Refer to field 13, no. of printers.
A printer is given as start position, end
position and lines on form followed by space and the printer name.
The printer definitions are kept in record 0
of CHSYSTEM and are common to all systems.
5. Tamos selector and jobqueue.
DMS.RAPGEN is supplied on the master disc
with an installation selector on the account RAP named TF.SYSTEMRAP and
TF.PROGRAP:
Figure
3 The TAMOS selector for installation.
T A M O S RAPPORTGENERATOR RAPPORTGENERATOR # 3 86.11.18/21:4
D.M.S.
RAPPORTGENERATOR
1 ... REPORT GENERATOR
2 ... DMS.RAPGEN
INSTALL
3 ... DMS.RAPGEN
TEXTES
4 ... FILE LU
CHECK/SETUP
5 ... COMET
INSTALLATION
6 ... FILE
DEFINITIONS
7 ... INSERT IN
SELECTOR
VÆLG NR.(ELLER
CR) .......
MEDDELELSE :
The
selector gives you the following functions:
1. Reportgenerator (DMS.RAPGEN).
2. Install (DMS.RAPGEN.SYS).
3. Lanquage textes (DMS.TEXT).
4. File lu check/setup (DMS.RAPGEN.LU).
5. Comet installation (DMS.COMET).
6. File definitions (DMS.XDRN).
7. Insert in selector.
The points are discussed in details in this
manual, function 1 is the user reportgenerator itself, function 7 is the
isolated part of inserting a report into a selector as descriped in the user manual.
6.1. DMS.R Start interface program.
The print of the selector looks as follows:
Figure
4 The TAMOS selector definition.
SELECTOR ID. LEVEL HEADING
RAP D.M.S.
RAPPORTGENERATOR
DESCRIPTION PROGRAM NAME NO.
PASSWORD ABORT RUNMOD
1 ... REPORT GENERATOR 09/DMS.R,006300 YES 0
2 ... DMS.RAPGEN INSTALL 09/DMS.R,910000 YES 0
3 ... DMS.RAPGEN TEXTES 09/DMS.R,920000 YES 0
4 ... FILE LU CHECK/SETUP 09/DMS.R,936300 YES 0
5 ... COMET INSTALLATION 09/DMS.R,946300 YES 0
6 ... FILE DEFINITIONS 09/DMS.R,956300 YES 0
7 ... INSERT IN SELECTOR 09/DMS.R,126300 YES 0
as
you notice all functions is selected through the start interface program DMS.R.
This program is inserted in the selector as:
lu/DMS.R,xxyyzz
where
xxyyzz is passed as parameters to the program:
xx = Function number.
00 = Reportgenerator.
01‑10 = Function in the
reportgenerator menue.
12 = Insert in selector.
91 = DMS.RAPGEN.SYS.
92 = DMS.TEXT.
93 = DMS.RAPGEN.LU.
94 = DMS.COMET.
95 = DMS.XDRN.
yy = Reportgenerator system no. (CHSYSTEM).
zz = Report number if required.
Also
reports inserted in the selector will be called using this program.
DMS.R will read the TAMOS common area and
supply the parameters from this to DMS.RAPGEN combined with the reportgenerator
system setup from CHSYSTEM through the 'COMMON‑AREA' file
0/DMS.RAPGEN.PCB. If this file is not present it will be created.
If nessesary modifications may be made to
this start program for example to input reportgenerator system number or to
check autorizations. The program is listed below.
Figure
5 The start interface program DMS.R
1 REM DMS.R VERSION 01/01‑1987 RELEASE 01/06‑1987
10 IF ERR 0
/*
20 DIM
J0$(512),B$(512),1%,J0,Z8,R0
25 LET J0= SPC 6
30 OPEN
#0,"TF.LOGFILE","TF.PARAM"
40 IF ERR 0 GOSUB
240
50 OPEN
#3,"0/DMS.RAPGEN.PCB"
60 IF ERR 0 STOP
70 OPEN #2,"0/CHSYSTEM"
100 CALL 3,J0,B$
110 LET Z8=B$(105,106) /*FUNCTION
120 LET S0=B$(107,108) /*SYSTEM
130 LET R0=B$(109,110) /*REPORT
140 MAT READ #2,S0;J0$;
145 REM LET J0$(372,372)="Y" /*LANGUAGE
150 LET
J0$(373,375)=B$(93,95),"
" /*TAMOS SYSTEM
xxx,2.SELECTOR PARAM
160 LET
J0$(327,329)=B$(90,92),"
" /*TAMOS SYSTEM
xxx,1.SELECTOR PARAM
170 LET
J0$(330,332)=B$(111,113),"
" /*TAMOS PROGRAM NO.
180 LET
J0$(341,341)="3" /*FLAG TAMOS
STARTET
190 IF ABS Z8+ ABS R0 LET
J0$(376,376)="1" /*BACKCHAIN
TO SELECTOR AFTER USE
200 CALL 72,J0$,Z8,R0
210 MAT WRITE #3,J0;J0$;
220 CLOSE #2,#3
230 LET
J0$=J0$(277,278),"DMS.RAPGEN"
231 IF Z8<=90 CHAIN J0$
232 IF Z8=91 LET
J0$(3)="DMS.RAPGEN.SYS"
233 IF Z8=92 LET
J0$(3)="DMS.TEXT"
234 IF Z8=93 LET
J0$(3)="DMS.RAPGEN.LU"
235 IF Z8=94 LET
J0$(3)="DMS.COMET"
236 IF Z8=95 LET
J0$(3)="DMS.XDRN"
237 IF Z8=95 CALL 2,J0,J0$
239 CHAIN J0$
240 IF ERR 0 STOP
250 BUILD
#3,"(10:256)0/DMS.RAPGEN.PCB"
260 RETURN
6.3. DMSE End interface program.
The parameter in DMS.RAPGEN.SYS called
'BACKCHAIN TO' should be set to DMSE to make an end interface to the TAMOS
system.
The program will make sure that channel 0
and 1 is open and will from the interface to new requirements in the operating
system.
6.5. DMS.RAPGEN.TAQ TAMOS jobqueue
interface.
The user is able to insert any report into
the TAMOS jobqueue by entering Q when asked for START (YES/NO...).
As DMS.R forms the interface for the
selector, DMS.RAPGEN.TAQ will form the interface for the jobqueue, that is it
will be this program which is inserted in the queue and then calling DMS.RAPGEN
with the proper parameter settings.
When a report is queued a record will be
written in the file 0/DMS.JOBQUEUE00000 containing all start and system
parameters for the report (a copy of the common‑area in DMS.RAPGEN.PCB).
This recordnumber will be transferred to DMS.RAPGEN.TAQ via the jobqueue entry.
The file DMS.JOBQUEUE00000 will be created
if not present and will be deleted when all jobs has been executed.
7. File structure.
The report generator files may be split into
1. System definition file.
2. File definition files.
3. Workfiles for program generation
and sorting.
4. User report files and programs.
8.1. System definition file 0/CHSYSTEM
The file 0/CHSYSTEM must be placed on the
system disc and contains the lu‑numbers of all other files and programs.
The file is contiguos with 64 records of 256
words recordlength.
Each record in this file will identify a
report generator system, when the report generator is called from TAMOS one of
these records must be transferred by the start program to the screen record in
the file 0/DMS.RAPGEN.PCB (this file replaces the use of COMMON‑AREA in
earlier versions of DMS.RAPGEN).
From the informations in this record the
report generator will open the specified files etc.
For each system you may define a prefix for
the file definition file, the user report file and programs. Hence you may
install the report generator on a machine with several different file
definitions or with several report files using the same file definitions.
The start program called from the TAMOS
selector may be modifyed to choice a system from the selector parameter, the
user account number or even input the system number.
In the next sections we will assume a prefix
of XX for all files.
8.3. File definition files.
The file definitions is kept in
1. XXFILES File/index
definitions.
2. XXDATAFILY Field definitions.
3. XXREAD.FF Read statements for
file FF.
8.4.1. XXFILES File/index definitions.
XXFILES is an indexed file with 3 different
sorts of keys:
1. File shortname.
2. File shortname + index number.
3. File shortname + connected file
shortname.
The file contains pointers to the field
definitions in XXDATAFILY, the physical filename on the disc and all index/file
connection definitions.
The file is maintained by function 6 in the
file definition module. The file may be enlarged by IFCOPY.
8.4.3. XXDATAFILY Field definitions.
This file(s) is a contiguos file with x
records of 3000 words, each record contains a complete definition of up to 100
fields in a file with field name, type and displacement.
The file is maintained by the file
definition modules.
Y may be space or the digits 1‑9 and
is called SUBSYSTEM number. The only purpose of this is to split a large number
of file definitions into different logical blocks so each logical block may be
copied independent of the other.
In a normal installation only the file
XXDATAFIL will be present.
If the user is running DATAMASTER these
files will be defined in subsystem 9 (XXDATAFIL 9).
You may create a new subsystem by the
command
#FORMAT (X:3000)XXDATAFIL1
and
you can enlarge the file by:
#COPY (X:3000)XXDATAFIL1! =XXDATAFIL1
A record number in the field definition file
is called a DRN (data record number).
Each file in the file definition file will
point to a DRN field definition by means of a subsystem number and a DRN number.
8.4.5. XXREAD.FF Read statements.
Each file definition must have a connected
textfile containing the read statements for all fields in the file.
The lu and prefix for this file must be the
same as for the file definition file XXFILES.
The read statements may be generated from
the field definitions using function 5 in the file definition module.
The file contains normal BASIC READ
statements in the line numbers 8010 ff. and in case of packed fields unpack
routines for all fields.
The file will be loaded into the generated
program after all standard routines just before the user report definitions is
loaded. Hence this file may contain special modifications for all routines in
order to implement all kind of special files.
The purpose with the file is to make the
interface between the physical file and the defined fields. In most cases this
will just be read (and possible unpack) of the fields, which may be generated
automnatically by the file definition module.
The file may be written by hand in normal
basic and DUMPED as a textfile, in this case there does not have to be any
connection at all between the field definitions/byte displacements and the
physical structure of the file, the subroutines just has to produce proper
values in the fields using any required basic function (unpack, IBM unpack, bit
manipulation.
8.5. Workfiles for program generation and
sorting.
The report generator requires a text‑
and a continous workfile for each concurrently used screen. These files are
created automatically by DMS.RAPGEN.SYS based on the parameter 'NO. OF
SCREENS'.
The sortworkfile XXSORTWORK is an indexed
file which must be created at installation time. The file may be created by
BUILDXF or using DMS.RAPGEN.SYS.
The number of records in this file should be
the maximum number of records, the user will ever sort in any file. If possible
it should be equal to the number of records in the largest file on the system.
The keylength should be the maximum length
of any defined sortkey + 3 bytes for randomization. Normally you may use 10 or
15 words.
The recordlength may be 0 words if the file
is created by DMS.RAPGEN.SYS or 2 words if created with BUILDXF.
If you have files of the type KEY NOT
CONTAINED IN RECORD which you intend to sort, the recordlength must be at least
16 words, this space is used for temporary storage of the key during sorting.
The file can allways be killed or rebuilded
if nessesary.
If the file is not created, the user will
not be able to define or execute any sorting.
8.7. User report file and programs.
The report definitions are stored in a
report file XXREPORT and a textfile XXT10nn, where nn=report no. When the
report is startet a basic program XX10nn is generated.
The lu and prefix for the report file also
gives the lu and prefix for the textfiles and programs.
The
report file XXREPORT is a contiquos file with x records of 256 words each. The
file must be created/expanded using DMS.RAPGEN.SYS since the first record(s)
contains a free record list.
The file contains main report informations
as report name, printer, standard routines etc. and the report print lines
layout. One report may be spanned over multiple records in the report file.
The textfile XXT10nn contains basic
statements generated from calculations etc. to be loaded into the object program.
The file is splitted into pages (by form
feed characters) so each function in the report definition (selection, sorting,
calculations) equals one page in this file. You may load the file directly from
basic but do not dump to the file since the paging will disapear, causing
amendments to the report definitions to be impossible.
The program file XX10nn is generated if not
present when the report is started and kept until the user makes amendments to
the report where it will be killed. For test purpose you can make amendments to
this program (read statements etc.) but remember to store these proberly before
amending the report.
9. The file definition module.
The file definitions are maintained with the
DATAMASTER module in a special programmer version.
In DATAMASTER the user is able to define,
create, redefine and maintain his own files. In the programmer version you are
able to define existing files for use by the report generator without involving
update of the file itself.
The program is called DMS.XDRN and should be
selected from the TAMOS selector.
10.1. Steps in a file definition.
The definition of a file is not as automatic
as in datamaster and goes in 4 steps:
1. Creation of a new DRN (function 1).
Defining fields with names, length and
type.
2. Defining the file (DEF command).
Setting byte displacements and connection
to filename/fileshortname.
3. Generating read‑statements
(function 5).
Creating the file XXREAD.FF.
4. Defining index/connections (function 6).
Allow use of Reportgenerator and define
index structure and automatic connection to other files.
You
may omit some of this points:
If you have the read statements allready
(from any program using the file) you may make the textfile containing read
statements by dumping these from basic. In this case you dont have to worry
about byte displacements, these are used for generation of read statements
only.
The definition of indexes is used only to
display the possible indexes of the file when the user omit the definition
completely or just state an index name without any field definitions.
The definition of file connections is used
only to make it easyer for the user to read other files. If you omit these it
is still possible to read the files, the user just have to know the key
structure. The file connection definitions may be added to the system at any
time.
10.3. The function selector.
When you select the file definition module
you will get the following mask:
Figure
6 The file definition module functions.
DATAMASTER VERSION 01/01‑1987 SYSTEM 63
D.M.S. C O M E T
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
FUNCTION ? 1=CREATE, 2=PRINT, 3=AMEND ,
4=DELETE
5=GEN.READ/WRITE/INDEX , 6=FILES , 7=BUILD FILES
?=DISPLAY DRN, F=FORM FEED ,
SYSTEM=CHANGE SYSTEM
The
following functions may be selected:
1.
Create a new DRN field definition.
2.
Print one or more DRN's.
3.
Amend DRN definitions.
4.
Delete a DRN.
5.
Generate READ statements.
6.
File definitions.
END
End this program (cr.‑).
F
Form feed on printer.
?
View DRN usage.
SYSTEM Select system and
subsystem.
Function 1‑4 works on the DRN field
definitions (XXDATAFILY).
Function 5 generates the textfile
XXREAD.FF.
Function 6 maintains the file definitions
in XXFILES.
The SYSTEM command may be used to select a
specific reportgenerator system (record in the file 0/CHSYSTEM as set up by
DMS.RAPGEN.SYS) or a SUBSYSTEM, it is changing Y in XXDATAFILY in the range 0
(space) through 9.
The files must be created beforehand by the
#FORMAT command. This may be used to split up the file definitions.
10.5. Defining a new DRN (fields).
You select function 1 and will be asked for
DRN number. Just press cr. to get the next free number. This will give you a
record in the file XXDATAFILY.
You now enters the field definition screen
where the fields may be defined one by one.
Figure
7 The field definitions.
DATAMASTER VERSION 01/01‑1987 SYSTEM 62,9
DMS.RAPGEN MANUAL
DRN NO: 1 VAREKARTOTEK FIELDS: 10
BYTES: 57
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
1 ARTICLE NO 4 K 3***** 0
S$(1,4) 4 VA#1 W
2 DESCRIPTION 20 0 S$(5,24)
8 VA#2 W
3 SALE PRICE 6,2 3 S3(1)
28 VA#3 W
4 COST PRICE 6,2 3 S3(2)
34 VA#4 W
5 DATE LAST PURCHASE , 6,
4DATE 2 S2(1)
40 VA#5 W
6 SUPPLIER NO. 3 0 S$(25,27)
44 VA#6 W
7 ARTICLE GROUP NO 2, 1 S1(1)
48 VA#7 W
8 STOCK BALANCE ‑ 6, 2 S2(2)
50 VA#8 W
9 ALTERNATIVE SUPPLIER 3, 1 S1(2)
54 VA#9 W
10 FREE !!!! ‑ 6,2 3 S3(3)
56 VA#10W
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
ENTER 'HELP' TO SHOW ALL
COMMANDS.
The definition is ended by typing END (or cr.‑)
in the field‑number coloumn and at this time the field definitions will
be written to the file, not before.
You can end the definition at any time and
then use function 3, amendments of DRN, to resume the definition.
10.7. Definition of a single field.
When you type cr. in the fieldnumber
coloumn the cursor will be moved to the field name. Here you may enter a text
as short as possible since this text is used as headline on the reports.
After the name you may enter the field
format following the notation given in the user manual, eg. 10 defines an
alphanumeric field of 10 characters; 8,2 a numeric field with 8 digits and 2
decimals; 3, a numeric field with 3 digits.
NOTE: If numeric fields should be printed
with sign you have to specify the format as ‑8,2 or, 8,2 or ‑3.
The field type (1%, 2%, 3%, 4% or $) will
be calculated from the format specification and shown on the screen, and you
will now be ready to define the next field.
10.8.1. Extended field definitions.
If you type cr. after the format
specification you will go to the next field. If you use anyone of the function
keys (key 3‑17) you will continue with the field informations in the same
line and go to the coloumns:
CHECK
just press cr. here, the code is relevant only if using DATAMASTER file
update.
PSEUDO
here you may specify the actual length
of an alphanumeric field in the file, e.g. if you have a keyfield
stored as 10
characters but only the 4 first of these are used you may give the field format
as 4 and
then enter a
pseudolength of 10.
DELIMITER characters at the
end of an alphanumeric field may be defined by entering S (Stop character) in
the
pseudo coloumn. This
will add one character to the field length and cause the read statement to read
the next
alphanumeric field seperately.
TYPE
The field type is calculated from the
format specification, if this is 4, you will get a 2% field.
Here you have the
possibility to change the type eg. forcing 4 digits to be held in a 1%
variable.
PACKING
of a field may be defined by entering P
together with the field type. Packing may be done both
for alphanumeric and
numeric fields.
You will now continue with the next field
definition unless you again use on of the function keys after the TYPE
specification in which case you may specify:
BYTE
It is possible to state a specific
bytenumber for a field eg. owerwriting the standard bytenumber
calculation for this
field.
The field VARIABLE is allways calculated
automatically as the reportgenerator BASIC variable named S$, S1, S2, S3, S4
depending on the field type as arrays with a pointer from 1 and forward.
The fields REF and W is not relevant for
the reportgenerator.
10.9. Displaying and amending fields.
When you are placed in the fieldno. coloumn
you may type:
cr. To amend/define this
field.
xx A fieldnumber. You
will move to this field.
99 Move to next unused field.
L List one page
starting from the current field.
Sx(xx) Variable name. Move to the fieldno. with this variable.
Text followed by any
function key (3‑17).
Search all
fieldnames for any occurence of this text and display the field definitions.
In this way you are able to position to any
field in the file and amend this definition.
When you amend a definition, cr. will keep
the present value in any coloumn. Characters from the field name may be copied
using the (arrow up) key.
10.11. Defining the file (DEF command).
When you have entered all the fields in the
file you may issue the DEF command in the fieldnumber coloumn.
Figure
8 Definition of a file with the DEF
command.
DATAMASTER VERSION 01/01‑1987 SYSTEM 62,9
DMS.RAPGEN MANUAL
AMEND
DRN NO: 9 STOCK FILE FIELDS: 10
BYTES: 57
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
1 ARTICLE NO 4 K 3***** 0
S$(1,4)
DEF
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
FILE SHORTNAME:FF FILENAME ?
9/STOCKabc
TEXT:STOCK MAIN FILE
OPTIMIZE FIELD‑TYPES:$1234:
ENTER X TO OPTIMIZE, OTHERWISE ENTER
' '.
You
will be asked to enter:
File shortname: the 2 letter
shortname used to identify the file.
File name: lu/filename of the
disc file.
File text: 24 characters text
descriping the file.
Field in the file: Normally enter 1‑99
here.
Bytenumbers will be
associated with the fields in the order they are mentioned here,
only these fields
will be threated as components of the file.
Optimize field types: ($1234). Normally
enter 5 spaces here.
If you enter an 'x'
in any of the positions all fields of this type will be placed together
independent of
fieldnumbers. This may be used with MAT read.
Start byteno.: Normally enter 0 or
2 here. The first byte displacement will be this value.
The file will now be entered in the file
index XXFILES with the given shortname and a pointer to this DRN definition in
XXDATAFILY. The program will respond with the defined record length and you
should check this with your documentation. If you list the field definitions
you will notice that the fields have got a connected bytenumber which may be
checked with your documentation.
10.13. Fields not included in the filerecord.
You may define a number of fields which you
do not define to be part of the file record with the DEF command.
These fields will be given the value zero
when the report is running as they are not read, unless you writes basic
calculations for the fields together with the readstatements.
10.14.1. Key not included in the file record.
If the key of the file is not a part of the
record itself, you have to define a field of 30 characters co contain the key
and specify this fieldnumber in 'KEY NOT IN RECORD' in function 6. This will
cause the reportgenerator to place the value of the key in this field and to
keep track of this by use of the record in XXSORTWORK during sorting.
10.15. Amending the definitions of a defined
file.
If you amend any field after the DEF command
has been issued you will notice, that the field types will not change any
longer according to the field format and you will not be able to extend
alphanumeric fields if the field has an associated byteno., eg. the file record
layout will be kept.
To change the record layout you must issue
the command ZERO which will remove all bytenumbers from the fields whereafter
you may change the definition freely.
When you issue the command DEF again the
file shortname, disc name and text is known already.
If you just have to add fields to the end of
the file you may do this without using the ZERO command and then use the REDEF
command to set bytenumbers on the new fields only. The filename/text may be
changed using function 6.
10.17. The MAT READ command.
If MAT READ is to be used for the file you
may issue the command MAT in the fieldnumber coloumn.
Figure
9 Definition of MAT READ with the MAT
command.
DATAMASTER VERSION 01/01‑1987 SYSTEM 62,9
DMS.RAPGEN MANUAL
AMEND
DRN NO: 1 VAREKARTOTEK FIELDS: 10
BYTES: 57
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
1 ARTICLE NO 4 K 3***** 0
S$(1,4) 4 VA#1 W
2 DESCRIPTION 20 0 S$(5,24)
8 VA#2 W
3 SALE PRICE 6,2 3 S3(1)
28 VA#3 W
4 COST PRICE 6,2 3 S3(2)
34 VA#4 W
5 DATE LAST PURCHASE , 6,
4DATE 2 S2(1)
40 VA#5 W
6 SUPPLIER NO. 3 0 S$(25,27)
44 VA#6 W
7 ARTICLE GROUP NO 2, 1 S1(1)
48 VA#7 W
8 STOCK BALANCE ‑ 6, 2 S2(2)
50 VA#8 W
9 ALTERNATIVE SUPPLIER 3, 1 S1(2)
54 VA#9 W
10 FREE !!!! ‑ 6,2 3 S3(3)
56 VA#10W
MAT
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
VARIABLE TYPES FOR MAT READ
ARE:$1234
VARIABLE TYPES FOR MAT READ :
MARK WITH X FOR MAT READ , ELSE
SPACE
You
will be asked for which variable types mat read is to be used ($1234) and you
have to enter 5 letters where x indicates mat read and space indicates normal
read.
If you issue the MAT command again this
will overwrite the old definitions.
The MAT command will change the array index
of numeric variables to start from 0 instead of 1 (eg. S4(0) instead of S4(1)
as first 4% variable) and cause read statements to be generated with MAT READ.
NOTE: MAT READ will NOT be generated
if
The
fields of the same type does not follow after eachother in the bytenumber
sequence.
If
any fields of the type is specified as PACKED.
In this case you will have to amend the
readstatements by hand.
10.19. Inserting and deleting fields
By use of the I command in the fieldnumber
coloumn you may insert a number of fields before the current fieldnumber.
By use of the D command you may delete a
number of fields from the current fieldnumber.
10.21.
5.11. Other commands.
A number of other commands may be given in
the field number coloumn, HELP gives you alist of avaiable commands.
Figure
10
Help screen in the field definition module.
DATAMASTER VERSION 01/01‑1987 SYSTEM 63,8
D.M.S. C O M E T
DRN NO: 1 VAREKARTOTEK FIELDS: 10
BYTES: 57
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
L LIST FIELDS ON SCREEN HELP DISPLAY COMMANDS
I INSERT FIELDS BEFORE CURRENT FIELD F
FORM FEED ON PRINTER
D DELETE FIELDS FROM CURRENT FIELD MAT
MAT READ MODE (INXEX 0)
GET GET FIELDS FROM OTHER DRN USED LIST PROGRAMS USING DRN
REGET GET NEW FIELDDEFINITIONS T AMEND EXTERNAL TEXTES
N SET DRN NAME DB SET VARIABLE MODE
ZERO
ZERO FILE DEFINITIONS BYTES SET BYTES FROM READSTAT.
PRINT PRINT DRN
DEF DEFINE FILE
REDEF INSERT EXTRA FIELDS IN DEFINITION
W SET FIELD WRITE ACCESS
R SET FIELD READ ACCESS
FIL SET FILE CONNECTIONS
END WRITE DRN
SPR ABORT
Sx(xx) SEARCH FOR FIELD
1 ARTIKELNR 4 K 3***** 0
S$(1,4) 4 VA#1 W
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
CHECK/PSEUDOLENGTH AND TYPE CAN BE
ENTERED
IF ONE OF THE SPECIAL KEYS IS USED
AFTER FORMAT (FOR DAP:THE 'N'KEY)
Only the commands mentioned in this manual
will be of any interest to a programmer installing the reportgenerator, the
rest of the commands are intended for use by DATAMASTER or other program
development.
10.23. Additional field documentation for
HELP.
The help function in the reportgenerator
gives the user a list of all implemented files and all fields in a selected
file.
It is possible to enter additional field
documentation for use by this help function (se the user manual).
This is done by the T command in the
fieldnumber coloumn, which causes the file definition module to switch to help
text maintenance.
Figure
11
Entering additional help‑textes with T command.
DATAMASTER VERSION 01/01‑1987 SYSTEM 62,9
DMS.RAPGEN MANUAL
DRN NO: 1 VAREKARTOTEK FIELDS: 10
BYTES: 57
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
1 ARTICLE NO 4 K 3***** 0
S$(1,4) 4 VA#1 W
2 DESCRIPTION 20 0 S$(5,24)
8 VA#2 W
3 SALE PRICE 6,2 3 S3(1)
28 VA#3 W
4 COST PRICE 6,2 3 S3(2)
34 VA#4 W
5 DATE LAST PURCHASE , 6,
4DATE 2 S2(1)
40 VA#5 W
6 SUPPLIER NO. 3 0 S$(25,27)
44 VA#6 W
7 ARTICLE GROUP NO 2, 1 S1(1)
48 VA#7 W
8 STOCK BALANCE ‑ 6, 2 S2(2)
50 VA#8 W
9 ALTERNATIVE SUPPLIER 3, 1 S1(2)
54 VA#9 W
10 FREE !!!! ‑ 6,2 3 S3(3)
56 VA#10W
MAX. 7990 CHARS TEXT , 477
CHARS USED.
1 ARTICLE NO
NØGLE 1
SKAL VÆRE EN EENTYDIG
IDENTIFIKATION AF VAREN.
2 DESCRIPTION
3 SALE PRICE
VEJLEDENDE UDSALGSPRIS I DANSKE
KRONER
3 SALE PRICE
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
FIELDNO.? 3 CHANGE THIS TEXT (Y/N/D) ? Y
TX:SALES PRICE IN CURRENCY
You may now enter a fieldnumber and
associate any number of lines helptext to this field. End or cr. will bring you
back to the normal definition module.
The function is especially usefull for code
fields.
The textes are stored in the textfile
l/xxDMs.TEXTnn where l/xx is the prefix for l/xxDATAFILs, s the subsystem
number and nn the DRN number.
10.25.
5.13. Generating read statements.
You must select function 5 to generate the
file XXREAD.FF containing readstatements.
You will be asked for a DRN number, here you
may enter either the specific DRN number if you remember this or just the file
shortname.
Figure
12
Generation of READ statements.
DATAMASTER VERSION 01/01‑1987 SYSTEM 63,8
D.M.S. C O M E T
DRN NO: 1 VAREKARTOTEK FIELDS: 10
BYTES: 57
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
GENERATING READ/WRITE‑STATEMENTS
‑ PLEASE WAIT...
NO.NAME FORMAT CHECK PSEUDO TYPE
VARIABLE BYTE REF. W
TEXTFILENAME FOR READ/WRITE/INDEX
STATEMENTS (CR=9/R3!) ? R
READ STATEMENTS #1 ONLY,ALL FIELDS
(DMS.RAPGEN)9/DMREAD.VA!
When you are asked to enter 'filename for
read/write statements' you must enter R which causes read statements for all
fields to be generated with the proper filename for use by the reportgenerator.
You may load/check/modify and dump this
textfile after the generation as you want.
If you write the read statements by yourself
or copies these from another program, you don't have to worry at all about
bytenumbers or generation.
10.27. Maintenance of the file definitions.
When you select function 6 in the main
function selector you will get the following screen:
Figure
13
The file maintenance function selection.
03 SHORTNAME 01 FILENAME 04 PASSWORD
02 TEXT
DLU:0123456789 05 RECORDLENGTH
9999999999 07 DRN 06 NO.OF RECORDS
SCREEN NO. 3
10 SUBSYSTEM 09
CONT.END MARK
FILE SUFFIX: 08 UTILITIES 11 STAR DRN NO.
KEYS: 12
KEY NOT IN RECORD
xx1 xx2 xx3
xx4 xx5 xx6 xx7 xx8
NO. VAR. HOUSE DIR.
KEYFIELDS NAME LEN OPTION
100:
200:
300:
400:
500:
600:
700:
800:
900:
FUNCTION:
1=CREATE 2=READ
3=CHANGE 4=DELETE 5=DISPLAY
6=CHECK
In this module you can maintain all the
informations stored in XXFILES file definition file eg. filenames, index and
file connection informations.
You may select one of the following
functions:
1 = Create new file definition.
2 = Inquery.
3 = Amend.
4 = Delete.
5 = Display list of all files.
6 = Check ‑ do not use ‑
for internal use only.
END = Back to main function selector
(cr.‑).
If you choose to amend the file VA from the
user manual you will get the following screen after entering function 3 and the
file shortname VA:
Figure
14
Maintenance of the file definitions.
03 SHORTNAME VA 01 FILENAME 9/CH.VAKA# 04 PASSWORD
02 TEXT ARTICLE FILE
DLU:0123456789 05
RECORDLENGTH 31
9999999999 07 DRN 1 06 NO.OF RECORDS 0
SCREEN NO. 3
10 SUBSYSTEM 9 09 CONT.END MARK 0
FILE SUFFIX: 08 UTILITIES 6999 11 STAR DRN NO. 0
KEYS:2,4 12
KEY NOT IN RECORD 0
xx1 xx2 xx3
xx4 xx5 xx6 xx7 xx8
NO. VAR. HOUSE DIR.
KEYFIELDS NAME LEN OPTION
100:01 00
1 1,S ARTICLE NO. 4
0
200:02 00
2
6,1,S SUPPLIER
NO. 8 0
300:GR 00
GR 1 7,S
ARTICLE===>GROUP 0 0
400:LE 00
LE 1 6,S
ARTICLE=>SUPPLIER 0 0
500:
600:
700:
800:
900:
FUNCTION:3=CHANGE FIELDNO:
"
As in DMS.RAPGEN.SYS you may now change the
fields by entering a fieldnumber and the new contents of the field. To return
to the function selection just press cr. instead of fieldno.
The upper half of the screen contains base
file information, below you have one line for each index or file connection
definition. Each of these corresponds to a record in the file XXFILES.
You adress a field in a index line by
entering fieldno. xyy, where x is the lineno. as stated to the left, yy is the
fieldno. If the line is unused you will be guided through all the fields and a
new record will be created.
If you have more than 9 index/file
connection definitions the screen will scroll up when you press cr. as fieldno.
If you have changed field 1 or 2, eg. the
file shortname or the file name, the program will go through all DRN
definitions in all subsystems (XXDATAFILY) and update informations stored here.
10.28.1. Base file information.
The base file information consist of the
fields:
10.28.2.1. File shortname.
2 letter shortname identifying the file.
10.28.2.3. File name.
Lu/filename of the physical disc file. Refer
to next section for filename conventions.
10.28.2.5. Text.
24 characters text descriping the file.
10.28.2.7. Password.
A 6 characters password may be connected to
the file.
The password must be entered when the user
creates a new report with this file as main file, the user will then be
responsible to protect the report with a password himself.
10.28.2.9. Recordlength.
Information only, used by DATAMASTER file
build.
10.28.2.11. No. of records.
Information only, used by DATAMASTER file
build.
10.28.2.13. DRN.
DRN number, reference to the recordnumber in
XXDATAFILY where the field definitions is kept. The reference is set
automatically when defining a new file.
10.28.2.15. Utilities.
Utility allowed code, should be set to 999.
0 will cause the file to be removed from the
reportgenerator file list and it will not be possible to define any reports
based on this file allthrough the file is defined. May be used to supress parts
of standardsystem files.
6999 allows the user to redefine the file
using DATAMASTER.
10.28.2.17. Cont.end mark.
Not used.
Reserved for future use to supply
information of the number of used records in a contiguos file (new EOD basic
function).
10.28.2.19. Subsystem.
Subsystem number, set automatically when
defining a file.
Suffix Y for the DRN file XXDATAFILY, may be
used to split file definitions into logical blocks, eg. standard systems,
individual files etc.
Normally 0, reffering to XXDATAFIL. DATAMASTER
uses 9 reffering to XXDATAFIL9.
10.28.2.21.
5.14.1.11. STAR DRN no.
Not used.
In STAR installations, DMS.STARDRN will
insert the origin STAR drn number here for documentation purpose.
10.28.2.23. Key not in record.
Normally 0.
Used if SORTING has to be installed on an
indexed file, where the key is not part of the data record itself. The
reportgenerator will temporary store the key during sorting in the record in
XXSORTWORK and retrieve this during printing.
The fieldnumber of a free field in the DRN
definition of 30 characters length must be supplied here. This field may be
printed/calculated upon in the reports.
10.28.2.25.
5.14.1.13. Other fields.
The DLU and FILE SUFFIX is displayed from
the system.
The screen number is displayed from SPC 6.
The KEYS field will be displayed only for
DATAMASTER files.
10.28.3. Index and file connections.
Name of these informations have to be
created when you install the reportgenerator, they may be added later of
desired.
The index definitions is used only to
display the possible indices to the user when starting a report on the file.
Only the index name is displayed, if you supply keyfield informations it will
be for documentation (good) only.
Definition of file connections will make it
a lot easyer for the user to integrate multiple files since he does not have to
worry about packed keys, leading zeroes or other constants. Unfortunately many
system documentations will give you very little help on this point.
The fields for each definition line are:
10.28.4.1. No.
Index number or shortname of connected file.
The shortname is referenced in READ(XX)
commands.
10.28.4.3. Var.
Variant of definition, allways 00.
Reserved for future use for definition of
different connections between the same files.
10.28.4.5. House.
House of index, normally blank if index
definition and shortname of connected file if connection definition.
The SEARCH command to find a key will be
issued on this file whereas the READ command will be issued on the file stated
in parameter 1, eg. another file may contain an index with record printes to
this file (external indexes).
10.28.4.7. Dir.
Directory number in the file containing the
index.
For index definitions this number should
normally be equal to parameter 1.
For file connection definitions you should
state the directory number in the connected file.
10.28.4.9. Keyfields.
The fieldnumber or combination of fields in
this file used to form the index key for either an index for this file itself
or for searching in a connected files index.
The syntax of keyfields definition is
descriped in the next section (packing, parts of files, constants etc.).
If the connected file is a number file
(transaction file) to this file you should note that the keylength defined will
be less than the actual keylength of the file, eg. first part of the key holds
a customer number.
The
keyfield definition may be continued in the NAME field if the 25 characters in
this field is not sufficial.
10.28.4.11. Name.
18 characters text.
10.28.4.13. Len.
Keylength, not used, used by DATAMASTER
only.
10.28.4.15. Option code.
Special option code, not used.
Reserved for future use to make special
handling of keyrecordno. connection eg. threating part of a key in an external
index as recordno. to this file.
10.28.5. Structure of the keyfield definitions.
In the following the full syntax for this
key definition will be explained.
10.28.6.1. Fields.
Fields are written as fieldnumbers without
leading #
10 = field number 10
10(5,6) = character 5‑6 of field 10
R = record number (exact)
N = record number (relativ to first data record)
"XX" = text constants
10.28.6.3. Functions.
Functions are written just after the field
as a letter:
D = Date turnaround (DDMMYY ==> YYMMDD as FND)
P = Packing
Z = Zero, suppression
S = Space padding
10.28.6.5. Combinations of fields and functions.
Multiple fields are combined by separating
these with comma.
The P function may be used for each field or
alone without field number, in which case you will get packing of all
characters previus defined.
The S function may only be used at the end
or alone.
10.28.6.7. Examples of key structures.
1. 1 Field 1.
2. 1,2
Field 1 and after that field 2.
3. 1,2,P As above, the
complete key packed.
4. 1P,2 Field 1 packed
followed by field 2 unpacked.
5. 1(3,4),2 Character 3 to 4 of
field 1 folowed by field 2.
6. "01",1 The constant 01
followed by field 1.
7. 1,S Field 1 padded with
spaces to even keylength.
8. 2,NP,S Field 2, relativ
packed recordnumber, blanks.
The two last key structures are used
normally by DATAMASTER, the first by definition of a unique key, the second by
definition of a key with duplicates allowed.
11. Filenames and interface programs.
This chapter descripes the interface to
standard packages and individual software through external parameter files.
12.1. Filename conventions.
Most programmers and all standard packages
includes a filename convention which normally will be to store the filename or
part of this (lu) in external files and possible modifying these just before
opening the file with informations as system number, account number or screen
number.
DMS.RAPGEN supports nearly all of these, but
it may of course be nessesary to make special programming concerning this
point. All file open is done in one and only one segment: DMS.RAPGEN.99.
The base filename is stored in XXFILES
connected to the file shortname. All open will take place based on this
filename supplied with external parameters.
The conversion of the base filename to a
physical disc file name will be done according to the rules descriped in the
following sections. The conversion may be done place in 2 different programs:
DMS.RAPGEN.99 can make the conversion just
before open.
DMS.RAPGEN.LU may be called for each system
at installation time to make the conversion for all files interactive with the
programmer ensuring all files in present and supplying the exact filename to
DMS.RAPGEN.99 open.
12.2.1. DMS.RAPGEN.LU filename conversions.
This program should be called from the
install selector and must be supplied with the TAMOS system number, eg. 001.
You may specify information about disc to be
searched for the files, otherwise disc lu. 0‑9 is searched if active.
Figure
15
Updating filenames with DMS.RAPGEN.LU
SYSTEM:63 D.M.S.
C O M E T
TAMOS SYSTEM:001
SEARCH
DISK:(CR=00010203040506070809) ?
BU 9/GF‑01200abc BUDGETDATEI 09/GF‑01200001
DB 9/GF‑03100abc DEB/KRED BEWEGUNG 09/GF‑03100001
DK 9/GF‑03000abc DEB/KRED STAMDATEI 09/GF‑03000001
GR 9/DM.GRKA# VARENGRUPPENDATEI 09/DM.GRKA
KB 9/GF‑01100abc SACHKONTEN‑BEWEGUNG 09/GF‑01100001
KO 9/GF‑01000abc SACHKONTEN‑STAMMDATEI 09/GF‑01000001
KU 9/DM.KUKA# VALUTADATEI 09/DM.KUKA
L2 9/LF‑06000abc ARTIKELSTAMM 2/LAWI 09/LF‑06000001
L3 9/LF‑06000abc ARTIKELSTAMM 3/LSTAP 09/LF‑06000001
L4 9/LF‑06000abc ARTIKELSTAMM 6/ AB/F 09/LF‑06000001
L5 9/LF‑06000abc ARTIKELSTAMM ‑ FEROS 09/LF‑06000001
L6 9/LF‑06000abc ARTIKELSTAMM COSTING 09/LF‑06000001
LA 9/LF‑06000abc ARTIKEL‑STAMKARTOTEK 09/LF‑06000001
LE 9/DM.LEKA# LIEFERANTDATEI 09/DM.LEKA
LO 9/LF‑06001abc LAGERORTDATEI 09/LF‑06001001
NF 9/DX.NFKA# GESTE STAMMDATEI 09/DX.NFKA
NG 9/DX.NGKA# GESTS ADDITIONAL FIL 09/DX.NGKA
NK 9/NF‑01200000 LEISTUNGS‑/KONTOPOSITION
The program will scan the reportgenerator
systems file definition file XXFILES transforming the base filenames to a
physical filename according to the conversion rules and check this file is
present.
If the file is found and no other file with
the same name exists on another disc the program continuos with the next file,
hence the conversion will be done in DMS.RAPGEN.99 for this file.
If the file is not found all opther lu's are
scanned for the file.
If the file is still not found the
programmer is asked to give the filename or skip the file.
If more files is found with the same name on
different discs the programmer is asked to deside which file should be used.
In these cases where the filename cannot be
extracted directly from the base filename the physical filename will be
inserted in index 4 of the file definition file XXFILES preceeded by the file
shortname, reportgenerator system and TAMOS system number. Whenever
DMS.RAPGEN.99 finds such a special filename this will be used instead of
converting the base filename.
DMS.RAPGEN.LU should be run for all active
TAMOS systems and whenever files are moved to different discs.
Whenever DMS.RAPGEN.LU is called all special
filenames for the given system will be cleared before the new update is done.
12.2.3. Filename conversion rules.
The base filename in the file definitions
must be stated as lu/filename in capital letters. Lower case and special
characters will trigger the conversion.
The COMET‑TOP customer file should for
example be 1/GF‑03000abc.
Lower case and special characters will be
replaced by:
abc = TAMOS selector
parameter 1.
def = TANOS selector
parameter 2.
ghi = TAMOS program
number.
jk
= Starting port number (screenno.).
l
= DMS compagni suffix no.
mn
= Reportgenerator systemno.
o
= Reportgenerator lanquage suffix.
pq
= Reserved, alternativ DMS program
prefix.
r‑z = Free for use.
#
= Reportgenerator file suffix.
@
= Screen number, 1‑9 only at the
end of the name.
The logical unit number will be replaced
with the according number in the DLU table defined by DMS.RAPGEN.SYS. You are
advised to always set this to 0123456789 to avoid replacement hence leaving the
job to be done by DMS.RAPGEN.LU.
Special conversions is done for STAR,
SUPERSTAR and NYRUP systems depending on the setting in DMS.RAPGEN.SYS of the
system interface code and system name. Refer to previus documentation for
details.
12.3. DMS.COMET interface to parameter
files.
The purpose of DMS.COMET is to read the
COMET‑TOP parameter files and extract CHICO informations from these such
as byte numbers and file/part of file active flags. These informations are
stored in the pre‑defined COMETTOP files definitions whereafter READ
statements will be generated for all files with flexible record layout.
The program may be called from the install
selector or from scope and must be supplied with information about
reportgenerator system number and TAMOS system number.
You also have to give the lu number of the
COMET‑TOP parameter files, normally 0 is used unless of library discs.
One or all files may be updated in one run.
Figure
16
Interfacing with DMS.COMET to the parameter files.
DMS.COMET ‑ TRANSFER COMET
PARAMETER‑FILES TO DMS.RAPGEN
TO REPORT GENERATOR SYSTEM:(CR=63
D.M.S. C O M E T ) ?
63 DMS.COMET D.M.S. C O M E T
9/DMDATAFIL, 9/DMFILES,
SYSTEM:000
COMET SYSTEM NO. (cr=000) ? 001 COMET SYSTEM LU. (cr=0) ? 9
ENTER FILE‑SHORTNAMES (AA,BB)
(cr=ALL FILES) ?
0/LF‑06000001 LA 00 01
ARTIKEL‑STAMKARTOTEK
OK.
0/XX XX 00 13 TEST
9/GF‑01000abc KO 00 10
SACHKONTEN‑STAMMDATEI
OK.
9/GF‑01100abc KB 00 11
SACHKONTEN‑BEWEGUNG
OK.
9/GF‑01200abc BU 00 12
BUDGETDATEI
NOT ACTIVE.
9/GF‑03000abc DK 00 08
DEB/KRED STAMDATEI
OK.
To generate the new read‑statements
the file definition module must be present on the system (DATAMASTER,
DMS.XDRN).
13. Programming in the read‑statements.
14.1. The simple read‑statement.
A simple read‑statement as generated
by the file definition module could look as follws:
Figure
17
A simple read‑statement (the user manual file VA)
8010 READ
#R1,R2,4;S$(1,24),S3(1),S3(2),S2(1),S$(25,27),S1(1),S2(2),S1(2),S3(3);
8011 RETURN
The read statement must start at linenumber
8010 and a RETURN must be the last command.
The channel number must be stated as #R1,
the recordno. as R2 and the variables as S$,S1,S2,S3 or S4 according to the
field types.
14.3. Loading of the read statement.
The read statement conserning the MAIN file
will be loaded after the standard routines and before the user defined textfile
when generating the report program.
Hence subroutines or modifications to the
standardroutines can be included in this file, refer to the following sections.
The
read statements can occupy as many lines as needed.
14.5. Loading of read statements for
referenced files.
When a file is referenced by means of
READ(XX) in the calculations the read statements for this file are loaded
directly into the report textfile.
This load will only concern the statements
numbered from 8010 and onwords ultill the first RETURN statement is set,
rejecting all standard routine modifications or special programming in the
referenced file which is not placed in these linenumbers.
The variable names will be changed during
this load from S to B,C,D etc. according to the channel no. assoiciated with
the referenced file.
The lines will be renumbered to start at the
next free linenumber in the 8010 routine and the ON‑GOTO statement for
this routine will be updated. For the first referenced file the last linenumber
in the read statements for the main file will be checked to do this.
If you make changed to read statements which
involves referenced files in the report or if you extend the number of lines in
any main file read statement it will be nessesary to go through the involved report
calculations, not only regenerating the program will update the references
probably.
14.7. Read statements for packed fields.
All packed fields should be unpacked in the
read statements as the user will normally not be able to program this. However
he is able to place his own call 61 statement in the calculations if so
desired.
Figure
18
Read statements with unpacking of fields (COMET customers)
8010 READ #R1,R2;S1(1)
8011 READ #R1,R2,2;T9$(1,4)
8012 LET T9$(5)=""
8013 CALL 61,T9$,T2$
8014 LET S3(1)=T2$(1,8)
8015 READ
#R1,R2,8;S$(1,161),S1(2),S1(3),S1(4),S1(5),S1(6),S1(7),S1(8),S1(9),S1(
10),S1(11),S1(12),S4(1),S4(2),S4(3),S4(4),S4(5),S4(6),S4(7),S4(8),S4(9)
8016 READ
#R1,R2,264;S4(10),S4(11),S4(12),S4(13),S1(13),S1(14),S2(1),S4(1),S4(1
5),S4(16),S4(17),S2(2),S1(15),S1(16),S1(17),S2(3),S4(18),S4(19),S4(20),S4(21)
8017 READ
#R1,R2,382;S$(162,189)
8018 READ #R1,R2,410;T9$(1,4)
8019 LET T9$(5)=""
8020 CALL 61,T9$,T2$
8021 LET S3(2)=T2$(1,8)
8022 READ
#R1,R2,416;S1(18),S1(19),S2(4),S2(5),S1(20),S4(22),S4(23),S4(24),S4(25
),S4(26),S4(27),S4(28),S$(190,204)
8023 READ
#R1,R2,502;S$(206,224),S1(21),S1(22),S1(23),S1(24),S1(25),S1(26),S1(27
),S1(28),S1(29),S1(30),S1(31),S1(32),S1(33),S3(7),S3(8);
8024 RETURN
This
unpacking is generated automatically when generating read‑statements.
14.9. Unpacking of keys.
If you are working with min files with
packed keys the read statements should contain pack/unpack routines for the key
R$ subroutines 4800 and 4900.
This is nessesary to make the entered START/STOP
key values work and to trigger the defined total levels on a report correctly.
From the user point of view the key should allways be unpacked.
Figure
19
Key pack/unpack routines in the read statement file.
4800 IF R7<>R1 RETURN
4801 IF R5<>1 RETURN
4802 CALL 60,R$,R$
4803 RETURN
4900 IF R7<>R1 RETURN
4901 IF R5<>1 RETURN
4902 CALL 61,R$,T2$
4903 LET R$=T2$
4904 RETURN
The key pack/unpack routine will be
generated automatically when generating read statements if you have made index
definitions involving packed keys in the file definition module.
In the above example the first statement
(R7/R1) checks if sorting has taken place, the sortkey should not be
packed/unpacked. The next statements (R5) checks the indexnumber used, it is
some keys in a file can be packed, other not. The Call 0/61 will pack/unpack
the complete key, this can be replaced by partly packing in nessesary.
These routines are not loaded for referenced
files, the packing must be stated in the connection from READ(XX).
14.11. Calculations in the read statements.
The function of the read statements is to
form the interface between the physical stored file and the fields in the file
definition DRN.
The field definition does not have to
correspond with the file record layout at all allthough this will be the most
common case. The read subroutine should just return proper values in the fields
no matter if these are read or calculated based on read informations.
A common use if this is to define a set of
fields in the DRN which in fact is stored in one field in the file due to space
savings and the program unpacking routine in the read statements. Such a
routine can of cause not be generated automatically.
Figure
20
Splitting a packed codefield (COMET general ledger).
8018 LET T9$=S$(32,42)
8019 CALL 61,T9$,T2$
8020 LET S1(6)=T2$(1,2)
8021 LET S1(7)=T2$(3,3)
8022 LET S1(8)=T2$(4,4)
8023 LET S1(9)=T2$(5,5)
8024 LET S1(10)=T2$(6,6)
8025 LET S1(11)=T2$(7,7)
8026 LET S1(12)=T2$(8,8)
8027 LET S1(13)=T2$(9,9)
8028 LET S1(14)=T2$(10,10)
8029 LET S1(15)=T2$(11,11)
8030 LET S1(16)=T2$(12,12)
8031 LET S1(17)=T2$(13,13)
8032 LET S1(18)=T2$(14,14)
8033 LET S1(19)=T2$(15,15)
8034 LET S1(20)=T2$(16,16)
8035 LET S1(21)=T2$(17,17)
8036 LET S1(22)=T2$(18,18)
8037 LET S1(23)=T2$(19,19)
8038 RETURN
The routine should be placed in line numbers
8010 ff, together with the read statements in order to be loaded when the file
is referenced. You can use T2$,T9$,T1 and T3 as work variables.
14.13. The subroutines 4000 and 4100.
You can place subroutines 4000 and 4100
together with the read statements, these will be loaded whern a report is
defined with the file as main file.
The subroutine 4000 is invoked just after
all calculations, read of referenced files and selections has been done.
These routines were used before the
multifile version of the reportgenerator was released to read several files and
make them look like one DRN field definition.
If you program such routines you should
avoid use of the keyfields R1$ because you will never know if the file has been
sorted.
14.15. Initial dimensions.
You can place initial dimensions in
statement 900‑999 for the read of a main file. For referenced files these
should be placed as deallo/dim together with the read subroutine.
14.17. Special subroutines.
You can place your own subroutines in the
linenumbers 10000 and onwards, this area is not used at all by the
reportgenerator. The subroutines can be called by use of GOSUB in the
calculations.
14.19. Variants of the read statements.
The normal read statements should be dumped
in the textfile XXREAD.FF.
You can create files named XXREAD.FFx where
x is the variant number.
The user can define reports using these read
statements for the main file by giving FF,x as main file shortname.
If x is a letter the defined report will be
password protected.
14.21.
7.11. Write statements.
If you placed write statements in line
numbers 8010 ff, these will be loaded and executed for the main file!
Therefore do NOT place write‑statements
unless you specific wants to allow the user to write to the file.
Write statements should allways be placed
only in variants of the textfile, eg. XXREAD.FFW, causing the report to be
password protected. DATAMASTER will do so for user defined files.
You could choose just to write a subset of
fields which is innocent for the systems use.
However, only write of the main file can be
done and only to existing records, no insert/delete or build of temporary files
are supported.
14.23. Opening of special files.
You can open files on channel #16 and
onwards as you like in the same way as dimensioning of variables, for example
to read initial values.
You must use a flag and open the files in
statement 8010 if this is to be used for external file references.
14.25.
7.13. Indexed/contigous/formatted files.
You install a contigous or a formatted file
in exactly the same way as an indexed file but of cause no index definitions
can be made in the file definition module.
The reportgenerator will switch
automatically to read by recordnumber when it is recognized that the file is
not indexed.
When reading a contigous file as referenced
file the user must use READR(XX), recordnumber instead of READ(XX) and no
automatic connection can be defined to a contigous file.
14.27. Files with different record layouts.
If the same file has different record
layouts the file should be defined as two logical seperate files with different
shortname and DRN field definitions.
As you will get records of both record
layouts returned from the read statements a selection must be done either by
the user selection or by programming in the read statement.
Most commenly the record type can be
determined from the record key in which you can place a statement like:
4800 IF R$(5,5)<>"1" LET
R4=99
4899 RETURN
The reportgenerator will skip all records
which causes the 4800 routine to return the value of R4=99.
15. Language dependent textes.
Figure
21
DMS.TEXT maintenance of lagguage dependent textes.
9/DMS.RAPGEN.TE 11 PAGES ,
1836 CHARS/PAGE PAGE 7 , 1574 CHARS,LINE 50
7,30:
7,31:TAB(25,23) TO REPORT NO.?
7,32:TAB(12,23)NEW NAME ?
7,33:TAB(45,23) NEW USER NAME
?
7,34:TAB(15,24)PLEASE WAIT...
7,35: COPIED !!
7,36:TAB(0,24)'LD''BEL'MAXIMUM IS 9
FILES,NO FREE CHANNELS LEFT.
7,37: DEFINED ON CHANNEL NO.
7,38:FORMAT:(CR=
7,39:TAB(0,24)'BEL''LD'READSTATEMENTS FOR
7,40:BOTH PASSES.
7,41:FIRST PASS ONLY
7,42:SECOND PASS ONLY
7,43:ALWAYS
7,44:LINES ONLY
7,45:TOTALS ONLY
7,46:TAB(0,24)'LD''BEL'FILE
7,47: NOT FOUND.
7,48:TAB(0,24)'LD''BEL'INVALID
FIELDNO.
7,49:ONLY
7,50:DIS
PAGENO.,LINENO.?
All textes in DMS.RAPGEN is placed in an
external file DMS.RAPGEN.TX. The file suffix x may be inserted with
DMS.RAPGEN.SYS so the reportgenerator may be implemented in multiple lanquages
on the same disc.
DMS.RAPGEN.T is a contiqous file with 11 records
(referred as pages) and a recordlength of 680 words (may be extended if
required for translation). The program DMS.TEXT is used to maintain the textes.
DMS.RAPGEN will read one page into core to
minimize access time. Each page can contain up to 100 textes of variable
length. The textes can contain any screen control characters as TAB, 'CS' etc.
When using DMS.TEXT you must enter:
PAGENO, LINENO:
1,5 Pageno.1 lineno.5.
9 Lineno.9 in the
current page.
Cr. Next line is current
page.
PRINT Print all pages on
printer.
LIST List next 20 lines.
DUMP Dump all pages to
textfile.
LOAD Load all pages from
textfile.
The text is displayed and may be changed. If
you use (arrow up) the character value will be kept.
17. Structure of the generated output
program.
18.1. Generation of the output program.
Figure
22
Generieren eines Ausgabe‑Programmes.
┌───────────────┐
│ User input
│
└───────┬───────┘ ┌──────────────────┐
│ │Standard routines │
┌───────┴───────┐ │DMS.RAPGEN.CHECK │
┌──────────®┤ DMS.RAPGEN ├¬────────────┤DMS.RAPGEN.CHEX │
│ └─┬───────────┬─┘ │DMS.RAPGEN.ARB │
┌──────────────┐ │ │ │ │DMS.RAPGEN.NAVN │
│ DMFILES ├──┤ │ │ └──────────────────┘
└──────────────┘ │ ¯ ¯
┌──────────────┐ │ ┌─────────┴───┐ ┌──┴─────────┐
│ DMDATAFILs ├──┤ │ DMREPORT
│ │ DMT10xx │
└──────────────┘ │ └─────────┬───┘ └──┬─────────┘
┌──────────────┐ │ │ │ ┌──────────────────┐
│ DMREAD.ff ├──┤ │ │ │Standard routines │
└──────────────┘ │ ¯ ¯ │DMS.RAPGEN.O1A/O1B│
│ ┌─┴───────────┴─┐ │DMS.RAPGEN.S2A/S2B│
└──────────®┤ DMS.RAPGEN ├¬────────────┤DMS.RAPGEN.S3A/S3B│
└───────┬───────┘ │DMS.RAPGEN.S4A/S4B│
│ │DMS.RAPGEN.S5R/S5W│
│ │DMS.RAPGEN.S6A │
│ │DMS.RAPGEN.S9A/S9B│
│ └──────────────────┘
¯
┌───────────────┐ ┌───────┴───────┐ ┌───────────────┐
│ DMS.RAPGEN.99 ├───®┤ DM10xx ├────®┤ DMS.RAPGEN.999│
└───────────────┘ └───────────────┘ └───────────────┘
Notes:
1. The output program DM10xx is
generated and saved if not present.
2. Any amendments to the report definitions
will cause this output program to be killed.
3. Special subroutines and read
statements for external READ (XX) files are loaded into the textfile DMT10xx
during definition.
4. The output program is generated by
loading the routines in order:
a. Standard routines
b. Read statements for MAIN file
c. The textfile DMT10xx
5. Hence the read statements for the
main file may contain modifications and extensions for the standard routines.
6. And the report definitions may
contain modifications for both the standard routines and the read routines.
7. All open of files are done by the
start segment DMS.RAPGEN.99.
8. All close of files and return
messages are done by the end segment DMS.RAPGEN.999.
9. Killing the output program will
cause new generation at next start.
10. Which neans: Amendments to MAIN file
read routines will be updated.
11. Amendments to external referenced files read statments loaded by
READ (XX) will be updated only by
passing through the calculation
definition with function 4.
18.3. Subroutines in the generated program.
Figure
23
Subroutines in the generated program.
┌───────────────────┐
│ START │
└─────────┬─────────┘
5100 │
┌─────────┴─────────┐
│ FIRST calc. │
└─────────┬─────────┘
┌──────────────────────────────────®┤ 8340
│ ┌─────────┴─────────┐
│ │
Find next record │
│ └─────────┬─────────┘
│ 6200 ├¬──────────────────────────────────────────────────┐
│ ┌─────────┴─────────┐
Yes │
│ │ TOTAL ? ├─────────────────┐ │
│ └─────────┬─────────┘ │ │
│ │ 6200 ¯ │
│ Yes┌─────────┴─────────┐ ┌─────────┴─────────────┐ │
│ ┌───────────┤ END
? │ │ Calculated totals ? │ │
│ │ └─────────┬─────────┘ └──┬─────────────┬──────┘ │
│ 1300 │ 8000 │ No │ │Yes 5800
│
│Yes┌─────────┴─────────┐
┌─────────┴─────────┐ │ ┌───┴────────────┐ │
├¬──┤ More passes ? │ │ Read record │ │ │ Fields=totals │
│
│ └─────────┬─────────┘
└─────────┬─────────┘ │ └───────┬────────┘ │
│ 5150 │ 5200 │ │ │ 5200
│
│ ┌─────────┴─────────┐
┌─────────┴─────────┐ │ ┌───────┴────────┐ │
│ │ LAST calculations │
│
NORMAL calc. │ │ │ NORMAL calc. │ │
│ └─────────┬─────────┘
└─────────┬─────────┘ │ └───────┬────────┘ │
│ 7900 │ 5000 │ 7000 │ │ 7000
│
│ ┌─────────┴─────────┐
┌─────────┴─────────┐
┌────────┴──────┐ ┌───────┴────────┐ │
│ │ END │ │ Selections │ │
Print totals │ │
Print totals │ │
│ └───────────────────┘
└─────────┬─────────┘
└────────┬──────┘ └───────┬────────┘ │
│ │ │ │ │
│ No ┌─────────┴─────────┐ ┌─┴─────────────────┴──┐ │
├¬────────────────────────┤ OK ? │ │ Add next / zero
this │ │
│ └─────────┬─────────┘ └──────────┬───────────┘ │
│ 5300 │ │ │
│ ┌─────────┴─────────┐ └─────────────────────┘
│ │ AFTER calc. │
│ └─────────┬─────────┘
│ │
│ Sorting ┌─────────┴─────────┐
No
│ ┌───────────┤ First Pass
? ├──────────────────┐
│ │ └─────────┬─────────┘ │
│ │ │Weigthed totals │
│ 5500 │ │ │ 7000
│ ┌─────────┴─────────┐ │ ┌─────────┴─────────┐
│ │ Insert sortkey │ │ │ Print line │
│ └─────────┬─────────┘ │ └─────────┬─────────┘
│ │ │ │
└─────────────┴─────────────────────┴────────────────────────────┘
18.5. Line numbers in generated program.
Linenumbers
Contents
1‑
145 Initial remarks, names of
routines loaded
197‑
499 Initial DIM etc
800‑
899 DEF of user functions
900‑
999 Initial staments from READ of
main file
1100‑1199 Initiation of print routine
1200‑1299 Initiation of read routine
1300‑1399 Read next of main file
1400‑1499 Call calculation and selection routines
1500‑1599 Call print and totalling routines
1600‑1899 Reserved for later use
1900‑1999 Call rewrite routine and repeat
2000‑3999 Free for extensions
4000‑4099 Fixed calculations from READ statements
4100‑4199 Fixed calculations from READ
statements,AFTER selections
4200‑4299 Load routines DMS.RAPS.xxxxx goes in here
4300‑4799 Reserved
4800‑4899 Pack R$ if main key packed, from READ
statements
4900‑4999 Unpack R$ if main key packed, from read
statements
5000‑5099 User defined selections
5100‑5149 User defined FIRST calculations
5150‑5199 User defined LAST calculations
5200‑5299 User defined NORMAL calculations
5300‑5349 User defined AFTER calculations
5350‑5499 Generated routines for READ (XX) external
files etc
5500‑5599 Generated routine for build/insert sortkey
5600‑5699 Init (DIM) total fields
5700‑5799 Collect totals from file
5800‑5899 Move totals to fields, if calculated
totals
5900‑5949 Add next total level
5950‑5999 Zero total level
6000‑6099 Reserved
6100‑6199 Reserved
6200‑6299 Determine total level
6300‑6399 Collect totals and group totals
6400‑6499 Reserved
6500‑6599 Reserved
6600‑6699 Reserved
6700‑6799 Generated DIM for variables external files
(B/C/D...I)
6800‑6899 Print total and add next level
6900‑6999 Reserved
7100‑7899 Generated print statements
7900‑7999 End of program and error routine
8000‑8099 READ statements, all channels
8100‑8199 WRITE statements, normally not present
8200‑8299 INDEX key routines, not used
8300‑8399 Read (search) routine, checking for total
break/quicksel
8400‑8599 Reserved (Index update write routine)
8600‑8699 Reserved (Log routines)
8700‑8799 Handling of lamp‑keys during read
(LKY 1 and 2)
8800‑8999 Mentioning of variables due to LINK
9000‑9899 Reserved, not used
9999
RETURN, may be used for DEBUG
18.7.
Channels used in generated program.
#0 TF.LOGFILE
#1 TF.PARAM
#2 = Main file
#3...#10 =
Referenced files
#11
= z/zzDATAFILs DRN file
#12
= q/qqSORTWORT Sort workfile
#13
= $LPT Printer
18.9.
Variables used in generated program.
18.10.1.
System constants.
Variable
Contents
S9$(100) Spaces
T8$(220)
T8$ Format string
T8$(100) 'END' keyword
T8$(107) 'PRINT' keyword
T8$(120) x/DMSE backchain to
program
(123,124) "ST"
indicates STAR system
T8$(128,154) System files prefix
from common area
T8$(155,157) System number
T8$(159,192) System name
Special NYRUP: x/DSxxSYSTEM, filename file
Special Norway: Klient name
T8$(193,198) Expiration date
T8$(200,219) File shortnames, 2
bytes/channel
2%,X(11)
System variables
X Pass: 0=printing pass, 1=first
sorting/weighted pass
X(1) Program no. 1000 + report number
X(2) Reserved, not used
X(3) DRN number of main
file DRN
X(4) Report number
X(5) PSBD program
selector parameter, not used
X(6) System date
X(7) #DD Todays date
X(8) #PD as of date
X(9) No of saved reports
X(10) Staring screen
number
X(11) Record count if LKY
1 pressed
1%,X0(20)
System variables
X0 Reserved
X0(1) Report number from
report file
X0(2) DRN number from
report file
X0(3) Dimension of line
index P0(x,1)
X0(4) Dimension of field
index P(x,2)
X0(5) Dimension of report
text buffer Q$(x)
X0(6) Lines on form, from printer open
parameters
X0(7) Reserved, not used
X0(8) Reserved, not used
X0(9) Reserved, not used
X0(10) Flag run mode:
1=phantom port, 0=screen
X0(11) Printer channel: 13
if printer selected
X0(12) Flag sorting: ‑x='SORT'
start, +x=Sorting
x=keylength of SORTWORK file in bytes
X0(13) Page number
X0(14) Flag system: 0=DMS,
1=DMS selector
2=SYSTAR/ST.PARAM,
3=Normal TAMOS
X0(15) Lowest total level
to be printed, 0=all, 9=no print
X0(16) Flag printer active:
0=no printer
X0(17) xxyy: xx=no of
channels, yy=no of indexes active
X0(18) Report created with
report generator version number
X0(19) Reserved, not used
X0(20) Reserved, not used
1%,X2(1) Lines on form
X2 Lines on form or 25 if
running with screen output
X2(1) Lines on form
1%,X4 Program number, 1000
+ report number
X9$(150) Text constants and
names
X9$ x/DMS.RAPGEN.999 Chain to after run
X9$(21) 001177051 Printer open parameters
X9$(30) $LPT Printer name
X9$(50)
x/DM10xx Name of generated
program for link
x/DM000s if report not
saved, s=screen no
X9$(70) 'SORT' text
X9$(80) 'PRESS CR.' text
X9$(100) 'Printer not ready'
text
18.10.3.
Start parameters.
Variable
Contents
X0$(250) Start parameters
X0$ #DD todays date, edited ##,##,##
X0$(11) #PD as of date, edited ##,##,##
X0$(25*x) #DAx data entered by
start
4%,Q(9)
#Dx data entered by start
18.10.5. DRN
and file variables.
Variable
Contents
1%,Z
Number of fields, including the 20 free fields
1%,Z0
Total length of S$ string for main file
1%,Z1
Dimension of 1%,S1(Z1)
1%,Z2
Dimension of 2%,S2(Z2)
1%,Z3
Dimension of 3%,S3(Z3)
1%,Z4
Dimension of 4%,S4(Z4)
1%,T(Z,5)
DRN
S$,S1,S2,S3,S4
MAIN file and free field variables
B$,B1,B2,B3,B4
File on channel #2
C$,C1,C2,C3,C4
File on channel #3
D$,D1,D2,D3,D4
File on channel #4
E$,E1,E2,E3,E4
File on channel #5
F$,F1,F2,F3,F4
File on channel #6
G$,G1,G2,G3,G4
File on channel #7
H$,H1,H2,H3,H4
File on channel #8
I$,I1,I2,I3,I4
File on channel #9
4%,W(x,y)
Total array
18.10.7.
Report variables.
Variable
Contents
1%,P(x,1)
Line index
1%,P0(x,2)
Field index
P0 Image number
Q$(x) Report buffer
1%,P1(10)
Start line number
1%,P2
Print line number
1%,P3(10)
Print mode
1%,P4(10)
End line number
1%,P5
Work
1%,P6(1)
Group total level number
1%,P7(10)
Zero suppress mode
1%,P8
Total level number
1%,P9(10)
Work
P5$(100) Linefeed characters
1%,X1
Actual printed line number
18.10.9.
Read/write variables.
x=no of
channels used, y=x + no of indexes used
Variable
Contents
1%,R(16)
Flag for file type
R(R1) 0 = normal indexed
file
1 = continous file, record not present if byte 0‑4=zero
2 = continous file with endmark (special)
1%,R1(10,2)
R1 Current channel number for READ
R1(0,1) MAIN file channel
number
R1(0,2) MAIN file index
number
Rest not used pt.
2%,R2(10,1)
R2 Current record number
R2(R1,1) First data record
for channel #R1
Rest not used pt.
1%,R4(y,5)
R4 Current error status after search
Rest not used pt.
1%,R5(y,5)
R5 Current index number for search
R5(R1,5) Index of channel #R1
to start/stop keys R1$ and R2$
Rest not used pt.
1%,R7
Current index number for search
1%,R8
Read mode:
0 = Find and read record
1 = Find next and read record
2 = Find record
2%,R9(22)
R$(32) Current key for
search
R1$(34*x) Start key
R1$(34*(R1‑1)+1) Start key channel #R1
R2$(34*x) End key (default:
";" for STAR, "å" else)
R2$(34*(R1‑1)+1) End key channel #R1
R3$(32) Restart key if weighted
totals
R8$(32) Not used, kept only
to be compatible with old readstat.
18.10.11. Work
variables.
Variable
Most frequent use
1%,T1(2)
Fieldno
1%,T2 Work
4%,T3(10)
Field contents
1%,T4
Work
T$(4) Extract DRN info
T2$(512) Field contents
T9$(256) Work
2%,V
Work selections, 0=OK
19.
Record descriptions for system files
20.1.
Structure of COMMON‑AREA (DMS.RAPGEN.PCB) and 0/CHSYSTEM.
Byteno
Default Contents
1,34 Program name / work status after
save
35,128
Program start parameters, start/end key and data
129
Format string
228
END Keyword for END
235
PRINT Keyword for PRINT
242 ‑‑‑‑‑ Keyword for TOTAL, free for use
249
0/DMSE Backchain to program
257,260 0/DM
Prefix for x/xxDATAFILx (DRN)
261,264 ‑‑‑‑ Prefix for x/xxMASKER and x/xxCMASKER mask
files
265,268 ‑‑‑‑ Prefix for x/xxLOGTEXT program definitions
269,272 ‑‑‑‑ Prefix for x/xxREPORT system report file
273,276 0/DM
Prefix for x/xxVIKA and x/xxVIKAIX checkfields
277,2800 0/DM
Prefix for x/DMS.RAPGEN and x/DMS.XDRN
281,284 0/DM
Prefix for x/xxREPORT,x/xxT10xx and x/xx10xx reports
285,288 0/DX
Prefix for x/xx.FFKA# DATAMASTER files
289,292 0/DM
Prefix for x/xxFILES and x/xxREAD.FF file definitions
293,296 0/DM
Prefix for x/xxSORTWORK sort workfile
297,300 ‑‑‑‑ Prefix for system programs
301,301
Compagni suffix for files (#)
302,303 xx
System number
304,305 xx
Starting port number
306,315 0123456789 DLU table, do not touch
316,316
Subsystem suffix for x/xxDATAFILs
317,317 ‑‑‑‑ Flag modefile execution
318,318 1
Default phantom port number
319,320 51
Default lines on form
321,326 999999
Expiration date
327,329 001
TAMOS selector parameter 1
330,332 001
TAMOS selector parameter 2
333,333 1
No.of printers
335,336 99
No.of saved reports
337,340 514R
Operating system and flag for RAP/DAP screens
341,341 2
Rapgen system: 0=DMS, 1=STAR, 2=TAMOS
342,342 1
Rapgen optimize flag: 0=NO, 1=YES, 2=and save ,d
343,343 0
Rapgen TAMOS selector interface flag: 0=no, 1=yes
344,344 4
Datamaster file allotment flag
345,345 A
Rapgen multifile code
346,346 0
Rapgen TAMOS sort flag
347,350 ‑‑‑‑ Free for use
351,370 Name
System name
371,371 ‑‑‑‑ Spoolfile flag
372,372
Rapgen language code, suffix for DMS.RAPGEN.Tx
373,375 001
TAMOS selector parameter 2
376,376
Rapgen start flag, if <>" " ==> backchain to selector
377,378 01
Rapgen number of screen‑workfiles
379,380 24
Active file size
381,382 ‑‑‑‑ Alternative system program prefix
383,388 310379
System date
389,394 310379
#DD todays date
395,400 310379
#PD as of date
401,404 ‑‑‑‑ PSBD program status word
405,406 ‑‑‑‑ Mask number
407,408 xx
DRN number
409,410 xx
Report number
411,419 ‑‑‑‑ Printer open parameters, not used
420,440 ‑‑‑‑ Printer name, not used
441,470 ‑‑‑‑ Program name
471,471 ‑‑‑‑ No.of phantom ports
472,475 10xx
Program number
476,485 ‑‑‑‑ Time started
486,489 ‑‑‑‑ Transformed program number
490,491 ‑‑‑‑ Printer number, not used
492,492 0
Rapgen printer flag: 0=no printer, 2=printer
493,493 0
Rapgen lowest total level to be printed
494,494 ‑‑‑‑ Log code
495,496 ‑‑‑‑ Maximum selector code
497,498 ‑‑‑‑ Spoolstart mask number
499,501 ‑‑‑‑ PSW status
502,502 ‑‑‑‑ Program status in jobqueue
503,504 ‑‑‑‑ Program priority in jobqueue
505,506 ‑‑‑‑ Jobnumber in jobqueue
507,511 ‑‑‑‑ Free for use
512,512 X
"X" marks active system
-‑‑‑ Indicates that the parameter is not used
by rapgen/datamaster.
20.3.
Structure of the DRN field definitions z/zzDATAFILs
Continous file, 3000 words/record. Record 0 not used.
T1 = Fieldno. , R1 = channel no.
byteno. variable contents
0
1%,Z1 Dimension of 1 word
fields 1%,S1(Z1)
2
1%,Z2 Dimension of 2 word
fields 2%,S2(Z2)
4
1%,Z3 Dimension of 3 word
fields 3%,S2(Z3)
6
1%,Z0 Dimension of string
fields S$(Z0)
8
1%,Z Number of variables
12
1%,Z4 Dimension of 4 word
fields 4%,S2(Z4)
14
1%,T(Z,5) field definitions
+12*T1
T(T1) index S‑var.
Sx(T(T1)) / S$(T(T1),T(T1)+T(T1,2)‑1)
+2 T(T1,1) old: input position
new: channel no * 100 + origin field no.
+4 T(T1,2) Field length
+6 T(T1,3) TCSD
T = Field type (0,1,2,3,4)
C = Check code for input validation
0 = none
1 = fixed length
2 = fixed length
prompted with *
3 = promt with *
4 = date
5‑8 = user
defined
9 = vikaix checkfield
S = Sign / edit code
0 = no
1 = yes
2 = edit by 1000 or date edit
D = No of decimal places
SD = Alphanumeric fields
only:
Pseudolength,
eg.length of field in record
T = INT (T(T1,3)*.001)
C = INT ( 10 * FRA (T(T1,3)*.001) )
S = INT ( 10 * FRA (T(T1,3)*.01) )
D = 10 * FRA
(T(T1,3)*.001)
+8 T(T1,4)
Field position on screen
+10 T(T1,5)
Index format string T8$(T(T1,5),T(T1,5)+T(T1,2)‑1)
1214
1260
R0$(140) Read request, 1 bit for each field, all channels
Get read request: CALL 20,0,R0$,100*R1+T1,N
Set read request: CALL 20,1,R0$,100*R1+T1
Clear read request: CALL
20,2,R0$,100*R1+T1
1400‑1432
N$(32) DRN name
1433‑1454
F9$(10,30) File shortnames for file on channel #R1
1455‑1464
F9$(90,99) Variable names for file on channel #R1
1466‑1535
I0$(70) Index request for all
files
1 bit/index, 50 bits/file
1700
1%,T0(4,115) Additional field
information
1700+2*T1
T0(0,T1) DRN no * 100 + fieldno
of origin
1932+2*T1
T0(1,T1) Byteno + 1 if file
defined
0 = field is not
included in file
sorting by: CALL
65,0,nokeys,keylen,text,worktext
2164+2*T1
T0(2,T1) Channelno
2396+2*T1
T0(3,T1) Flag for write
2628+2*T1
T0(4,T1) KPBS Special handling
flag
K = Datamaster keyfield flag
1:K keyfield,
unique
2:D duplicates
alloved
3:E
4:Z zero supress
5:V
6:I inverted
7:X
P = 1:Flag for packed field
B = 1:Flag for byteno.entered manually
S = 1:Stop byte
included in last position of text
1932
T0(1,0) Defined file size
1930+230*T
T0(T,114) No.of variables of type
T if MAT read is used
1930+232*T
T0(T,115) Flag for MAT read for
variable type T
2860
W0$(140) Write request flags as
R0$
3000
T$(Z*26) Field names, 26
chars/field, includding delimiter
3000+26*T1
T$(T1*26+1) Field name for field T1
5750
F0$(242) Filenames and openflag
for channel #0‑#10
5750+22*R1 OLRxl/FILENAME for channel #R1
O = Open flag, O for open
L = Lock flag, L or R for open
"L";
R = R/W/D file access flag
x = Not used
l/ = DLU, logical unit no
5772 Filename and open flag channel #1
5776 Filename channel #1
5996
2% Date last change from
SPC(2)
20.5. Structure
of y/yyREPORT
Continous file, 256 words/record, Spanned
MUST be
created and initialised with DMS.RAPGEN.SYS or DMS.XSYS
Record 0:
Byteno. Variable Contents
0
1%,F0(0) File record length in bytes (512)
2
F0(1) No of reports (items) in file
4
F0(2) No.of used reports
6
F0(3) No.of used records
8
F0(4) Not used
12
F0(6) Not used
14
F0(7) Not used
16
F0(8) Not used
18
F0(9) Not used
20
F0(10) Not used
Headerrecord continued from record 0, possible
spanned over multiple records:
22
1%,F(F0(1)) Pointer to start record number of report
22+2*R0
F(R0) Start record number of
report R0
24+2*F0(1) F$(N) Free record list, N=number of records + 1 (CHF
X)
F$(R,R) R=record number:
"X"=record used, " "=record free
Report structure in records starting by F(R0)
Byteno. Variable Contents
0
1%,R0 Report no.
2
1%,R2 DRN no.
4
1%,Q6 Dimension of 1%,P0(Q6,1),
line index
6
1%,Q7 Dimension of 1%,P(Q7,2),
field index
8
1%,Q8 Dimension of Q$(Q8),
report buffer
20
Q6$(15) Printer filename ($LPT)
36
Q1$(15) File shortname and
filename (read‑statements)
52
Q2$(4) Reserved, system prefix
57
Q3$(25) User defined free field
format field 1‑10
packed: 5 chars/field unpacked
xxxyy: T(T1,5)=xxx, index to format string if xxx<100
T(T1,0)=xxx‑100+Z0,
index to S$ if xxx>100
T(T1,2)=yy, Field
length
83
Q4$(25) User defined free field
format field 11‑20, as Q3$
110
Q0$(15) Flags for load of
standard routines:
"AB" ==> load DMS.RAPGEN.S1A and S2B
Q0$(15,15)="‑" ==>Do not optimize even if system
marked
(used for
accounting reports)
125
Q7$(25) Report name for selector
152
Q8$(15) User name (password)
178
1%,Q5(1) PSBD selector status, no.of start data #D used
P = 5: password protect
S = 2 + number of start data
B = 1: not used
D = 2: no of dates input by
start (not used)
180
Q5(2) No.of versions of a letter
182
Q5(3) Subsystem no.of main file DRN
184
Q5(4) No.of subtotal levels
186
Q5(5) DMS.RAPGEN version no.
0 =
1 = Free field textes contained in DMREPORT
2 = Free field format input in DMREPORT
3 =
4 = Multifile prerelease
5 = Multifile release
6 = 01/01‑1987 English & german prerelease
7 = 01/06‑1987 Tamos menu and call 1 input
188
Q5(6) xxyy, xx=No.of channels, yy=no of indexes used
190
Q5(7) Not used
192
Q5(8) Not used
194
Q5(9) DB flag
196
Q5(10) Size of report (sectors)
200
1%,P0(Q6,1) Line index
P0(x,0) = Start character for line x in buffer Q$
P0(x,1) = Start field in field index P for line x
+(Q6+1)*4
1%,P(Q7,2) Field index
P(x,0) = Start position of field x in buffer Q$
P(x,1) = Fieldno.
‑1 = #DD
date X(7)
‑2 = #PD as of
date X(8)
‑3 = #PP
pageno X0(13)
‑4 = #FI
filename T8$(189,192)
‑5 = #SN
systemname T8$(159,188)
‑6 = #SY systemnumber T8$(155,157)
‑7 = #TI
systemtime T2$(15,22) CALL 99,T2$
‑8 = #NO
programnumber X(1)
‑9 = #SC
screenno X(10)
1xyy = fieldno yy on
channel no.x
yy = fieldno yy from main file
P(x,2) = Not used
+(Q7+1)*6 Q$(Q8) Text buffer
212+Q6*4+Q7*6+Q8
F9$(10,30) File Shortnames if multifile
233‑257+ 24 bytes free for use
258+Q6*4+Q7*6+Q8
T$(402) Field names of 20 user defined free fields
(20 + del, if
212:48+(T1‑1)*21) )
Report size = ( 200 + (Q6+1)*4 + (Q7+1)*6 + Q8 +
50 + 450 ) / 512 records.
20.7.
Structure of the file definition file f/ffFILES
Indexed file, 96 words recordlength, 4 indexed:
3,3,3,12 words.
3 recordtypes: 1 = File definition
2 = Index definition
3 = Set connection between files
Recordtype 1: File definition:
Key1: xx0000 shortname+ 0000
Key2: xxyyzz shortname+ subsystem +
DRN
Key3: yyzzxx subsystem+ DRN +
shortname
Key4: fffffffffffffffffffxxyyzz filename + shortname + DRN + subsystem
Key1a:sstttxxll/nnnnnnnnnnnnnn system
+ tamos + shortname + name
xx
= Shortname
yy
= Subsystem no
zz
= DRN no
fffffffffffffffffff = dlu/filename
Key 1a is created by DMS.RAPGEN.LU if special
filename only:
ss
= System no.in CHSYSTEM
ttt= TAMOS 1.selector parameter (eg.001)
xx
= file shortname
ll/= logical unit no.
nnnnnnnnnnnnnn = filename, physical discname
no Byteno
Variable contents
1 0 S$(1,17) Filename
2 17 S$(18,42) Text
3 42 S$(43,44) Shortname
4 44 S$(45,50) Password
5 50 S2(1) Record length
6 54 S2(2) No.of records
7 58 S2(3) DRN no
8 62 S2(4) Utility code
9 66 S2(5) Contigous end mark code
11 74
S2(7) STAR DRN no.
12 78
S2(8) Keyfieldnumber if key
not in record
13 82
S2(9) Size/1000 records
14 86
S2(10) Actual size
15 90
S2(11) Not used
16 94
S2(12) Not used
17 98
S2(13) Not used
18 102
S2(14) Not used
19 106
S2(15) Not used
20 110
S2(16) Not used
21 114
S2(17) Not used
22 118
S2(18) Not used
23 122
S2(19) Pointer textfile
24 126
S2(20) Size text
25 130
S$(51,95) Keylengths
26 175
S$(96,96) Used internally by
tool programs (CH.L)
27 176
S$(97,97) Used internally by
tool programs (CH.L)
28 177
S$(98,99) Used internally by
tool programs (CH.L)
29 179
S$(100,110) Used internally by tool programs (CH.L),last flds
Recordtype 2: Index definition:
Key1: xxnn00 shortname + indexnumber +
00
xx
= Shortname
nn
= Index number
no Byteno
Variable contents
1 0 S$(1,25) Index definition
2 17 S$(26,42) Text
3 42 S$(43,44) Logical index no.
4 44 S4(45,46) Variant no, normally 00
5 49 S4(50,51) Shortname for file containing house of index
6 50 S2(1) Index number
7 54 S2(2) Keylength
8 58 S2(3) Option code
Recordtype 3: File connection definition.
Key1: xxff00 shortname + connected
shortname + 00
xx
= Shortname
ff
= Connected file shortname
no Byteno
Variable contents
1 0 S$(1,25) Index definition
2 25 S$(26,42) Text
3 42 S$(43,44) Connected file shortname
4 44 S4(45,46) Variant no, normally 00
5 49 S4(50,51) Shortname for file containing house of index
6 50 S2(1) Index number
7 54 S2(2) Keylength
8 58 S2(3) Option code
20.9.
Structure of the language textfile x/DMS.RAPGEN.T.
Continous file, 11 records of 1024 words.
Maintained with DMS.TEXT
Byteno
Variable Contents
0
1%,U(103) Text index
U(0) Length of text
U(x) Pointer to text start in
U$
U(101) Length of text
U(102) This record number
U(103) Pointer to text 0
210
U$(U) Text lines containing
screen position characters
Separated by delimiter characters
20.11.
Structure of additional field textfile z/zzs.TEXTnn.
The additional
field documentation is held in a textfile with the name z/zzs.TEXTnn where z/zz
is the same lu and prefix as for the field definition file z/zzDATAFILS, s is
the subsystem number and nn the DRN definition number.
Each
time is separated by line‑feed characters.
Each
text is preceeded by the sequence @xx in a separate line, where xx equals the
fieldnumber. Fieldno. 0 is threated as general remarks for the file.
The
field textes is not sorted, they must be searched by means of call 23.
21.
Internal structure of the report generator.
22.1.
Link segments in the report generator.
Figure
24
Link segments in the report generator.
┌───────────────┐
│
DMS.XSTART │
│
Start program │
└───────┬───────┘
┌───────┴───────┐
│
DMS.RAPGEN │
│
Main program │
└───────┬───────┘
┌────────────┬────────────┬────────────┼────────────┬────────────┬───────┐
┌─────┴─────┐ │ ┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐
│
│.01 │ │ │.05 ││.07 ││.08 ││.09 │ │
│Input main │ │ │Delete/copy││Init
letter││Doc
layout ││Input
start│
│
└─────┬─────┘ │ └───────────┘└─────┬─────┘└─────┬─────┘└─────┬─────┘
│
│ │ │ │ ├──────┐│
│ │ ┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐││
└────────────┤ │.071 ││.081 ││.090 │││
│ │Def.letter ││Doc
calc ││Testprint │││
│ └─────┬─────┘└─────┬─────┘└─────┬─────┘││
┌─────┴─────┐ ┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐││
│.001 │ │.072 ││.082 ││.091 │││
┌──────┤Screen
mask├──────┐ │Store ││Doc file ││Generate │││
│ └─────┬─────┘ │ └─────┬─────┘└───────────┘└─────┬─────┘││
┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐ ┌─────┴─────┐││
│.011 ││.03 ││.04 ││.073 │ │.OPT │││
│Input lines││Sort/levels││Init
calc ││Help │ │Optimize │││
└─────┬─────┘└─────┬─────┘└─────┬─────┘└───────────┘ └─────┬─────┘││
┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐ ┌─────┴─────┐││
│.012 ││.031 ││.041 │ │.OPS │││
│Store lines││Total
field││Input
calc │ │Optimize │││
└─────┬─────┘└─────┬─────┘└─────┬─────┘ └─────┬─────┘││
┌─────┴─────┐┌─────┴─────┐┌─────┴─────┐ ┌─────┴─────┐││
│.013 ││.032 ││.042 │ │BASIC‑NEW │││
│Create text││Group
total││File
conn. │ │LOAD‑SAVE │││
└───────────┘└─────┬─────┘└─────┬─────┘ └─────┬─────┘││
│ ┌─────┴─────┐ ┌─────┴─────┐││
│ │.043 │ │.092 │││
│ │File read │ │Check
error│││
│ └─────┬─────┘ └─────┬─────┘││
│ │ ├¬─────┘│
│ ┌─────┴─────┐ ┌─────┴─────┐
│
│ │.044 │ │.99 │ │
│ │Quick/help │ │Start/open
│
│
│ └─────┬─────┘ └─────┬─────┘
│
├────────────┘ ┌─────┴─────┐
│
│ │DM10xx │ │
│ │Program │ │
│ └─────┬─────┘
│
┌─────┴─────┐ ┌─────┴─────┐
│
│.90 │ │.999 │ │
│Store text │ │End
segment│
│
└───────────┘ └─────┬─────┘
│
├¬──────┘
┌─────┴─────┐
│DMSE │
│End
program│
└───────────┘
22.3.
Standard routines loaded into the generated program.
Load of
these routines are requested by placing the last letter in the routine name in
the report header variable Q0$(x,x) where x=routine number.
Name
Contents
DMS.RAPGEN.S1A
Not optimized print routine 7000‑7999, lists
DMS.RAPGEN.S1B
Not optimized print routine 7000‑7999, letter
DMS.RAPGEN.O1A
Optimized print routine 7000‑7999, lists
DMS.RAPGEN.O1B
Optimized print routine 7000‑7999, letters
DMS.RAPGEN.S2A
Main program for lists
DMS.RAPGEN.S2B
Main program for letters
DMS.RAPGEN.S3A
Not calculated totals
DMS.RAPGEN.S3B
Calculated totals
DMS.RAPGEN.S4A
Sorting
DMS.RAPGEN.S4B
Weighted totals
DMS.RAPGEN.S5R
Read (search) routines
DMS.RAPGEN.S5W
Read and write routines (not released)
DMS.RAPGEN.S6A
FN function definitions
DMS.RAPGEN.S9A
Accounting list main program (not released)
DMS.RAPGEN.S9B
Accounting letter main program (not released)
22.5.
Channel usage in definition modules.
#4 = x/DMS.RAPGEN.Tx Textes for DMS.RAPGEN
#5 = y/yyT10xx Source textfile for report
#8 = x/DMS.RAPGEN.W1 (Wn1)
Destination textfile for report
to be
passed to DMS.RAPGEN.90
#9 = x/DMS.RAPGEN.W0 (Wn0)
Continous workfile
#10
= y/yyREPORT Report file
#11
= z/zzDATAFILs DRN file, field
definition file
#12
= y/yyreport Report file, used
for lock
#13
= f/ffFILES File definition
file
x/ = J0$(277,278) = T8$(121,122)
y/yy =
J0$(281,284) = U0$(1,2)
z/zz =
J0$(257,260)
s = J0$(316,316) Subsystem no.
f/ff =
J0$(289,292)
n = Screen no.if first file(s) locked.
(n=n+1, retry open if file locked, repeat if next locked etc.)
22.7.
Temporary used channels.
.0 #0 = 0/TF.LOGFILE TAMOS logfile
.0 #1 = 0/TF.PARAM TAMOS parameter file
.42 #2 = f/ffread.xx File read statements
.43 x/DMS.RAPGEN.HX Extended help ‑ index
.43 x/DMS.RAPS.xxxxx Load routines
.41 #3 = f/ffread.xx File read statements
.42
.43 x/DMS.RAPGEN.HP Extended help ‑ text
.044 z/zzDATAFILs Subsystem DRN file
.0 #6 = 0/CHSYSTEM System file (common area)
.0 #7 = $LPT Printer
22.9.
Temporary channels in start segment DMS.RAPGEN.99
#7 = 0/KLKA Special open file ‑ Norway
#8 = 0/LUKA Special open file ‑ Norway
#10
= f/ffFILES File index
#11
= x/DMS.RAPGEN.Tx Textes
#12
= 0/DS10SYSTEM Special open file (NYRUP systems)
0/SYSTAR Special open
file (STAR systems)
0/ST.PARAMxxx Special open
file (STAR systems)
23.
Printout of the library lists.
Figure
25
DMS.COMET.LIB complete library list.
*
FILENAME PROT COST
SIZE ACCOUNT AGE
HSLA TYPE PRIV
HBA
T
DM.TEXT8 0 $0.00
3 0, 0 2592
70 30 3
27061
C
DMDATAFIL 0 $0.00
587 0, 0 2687
0 32 3
24025
C
DMDATAFIL1 0 $0.00
25 0, 0 0
0 32 3
566
C
DMDATAFIL9 0 $0.00
119 0, 0 2112
2112 32 3
31001
C
DMFILES 0 $0.00
132 0, 0 2687
0 32 3
25444
T
DMREAD.BU 77 $0.00
2 0, 0 2613
2587 30 3
27072
T
DMREAD.DB 77 $0.00
3 0, 0 2634
2612 30 3
3026
T
DMREAD.DK 77 $0.00
3 0, 0 2492
544 30 3
27130
T
DMREAD.F6 0 $0.00
2 0, 0 2681
2681 30 3
23263
T
DMREAD.KB 77 $0.00
3 0, 0 2613
2591 30 3
25732
T
DMREAD.KO 77 $0.00
4 0, 0 2612
2592 30 3
25730
T
DMREAD.L2 0 $0.00
2 0, 0 2681
544 30 3
23250
T
DMREAD.L3 0 $0.00
2 0, 0 2681
2641 30 3
23247
T
DMREAD.L4 0 $0.00
2 0, 0 2681
2681 30 3
23251
T
DMREAD.L5 0 $0.00
2 0, 0 2681
2681 30 3
23261
T
DMREAD.L6 0 $0.00
2 0, 0 2681
2681 30 3
26525
T
DMREAD.LA 77 $0.00
3 0, 0 2686
70 30 3
26501
T
DMREAD.LO 0 $0.00
2 0, 0 2680
2112 30 3
26531
C
DMS.CHSYSTEM 0 $0.00
65 0, 0 2593
0 32 3
27662
B
DMS.COMET 77 $0.00
11 0, 0 2680
70 2 3
26670
T
DMS.COMET.LIB 77 $0.00
6 0, 0 0
0 30 3
6622
B
DMS.G 0 $0.00
3 0, 0 10769 0
2 3 31340
B
DMS.HANDSHAKE 0 $0.00
3 0,62 2777
2777 2 2
2413
B
DMS.JOBQUEUE 0 $0.00
23 0,62 2855
2777 2 2
526
C
DMS.JOBQUEUE.T 0 $0.00
4 0,62 2777
2777 32 2
3633
B
DMS.RAPGEN 0 $0.00
20 0,62 2777
70 2 2
2440
B
DMS.RAPGEN.00 0 $0.00
3 0,62 2777
70 2 2
2422
B
DMS.RAPGEN.001 0 $0.00
7 0,62 2777
1196 2 2
2470
B
DMS.RAPGEN.01 0 $0.00
19 0,62 2777
1196 2 2
2503
B
DMS.RAPGEN.011 0 $0.00
22 0, 0 2586
1196 2 3
30411
B
DMS.RAPGEN.012 0 $0.00
11 0,62 2777
1196 2 2
2565
B
DMS.RAPGEN.013 0 $0.00
11 0,62 2777
1196 2 2
2604
B
DMS.RAPGEN.03 0 $0.00
21 0,62 2777
1196 2 2
2623
B
DMS.RAPGEN.031 0 $0.00
18 0,62 2777
1196 2 2
2660
B
DMS.RAPGEN.032 0 $0.00
18 0,62 2777
1196 2 2
2706
B
DMS.RAPGEN.04 0 $0.00
6 0, 0 2661
1195 2 3
27150
B
DMS.RAPGEN.041 0 $0.00
20 0, 0 2777
1195 2 3
2746
B
DMS.RAPGEN.042 0 $0.00
19 0, 0 2593
1195 2 3
30007
B
DMS.RAPGEN.043 0 $0.00
20 0, 0 2586
1195 2 3
30251
B
DMS.RAPGEN.044 0 $0.00
16 0,62 2777
1195 2 2
3060
B
DMS.RAPGEN.05 0 $0.00
9 0,62 2777
1195 2 2
3104
B
DMS.RAPGEN.07 0 $0.00
11 0,62 2777
1195 2 2
3121
B
DMS.RAPGEN.071 0 $0.00
20 0,62 2777
1195 2 2
3140
B
DMS.RAPGEN.072 0 $0.00
13 0,62 2777
1195 2 2
3170
B
DMS.RAPGEN.073 0 $0.00
7 0,62 2777
1195 2 2
3211
B
DMS.RAPGEN.08 0 $0.00
10 0,62 2777
1195 2 2
3224
B
DMS.RAPGEN.081 0 $0.00
11 0,62 2777
1195 2 2
3242
B
DMS.RAPGEN.082 0 $0.00
9 0,62 2777
1195 2 2
3261
B
DMS.RAPGEN.09 0 $0.00
17 0,62 70
70 2 2
31265
B
DMS.RAPGEN.090 0 $0.00
11 0,62 2777
1195 2 2
3323
B
DMS.RAPGEN.091 0 $0.00
11 0,62 70
70 2 2
2251
B
DMS.RAPGEN.092 0 $0.00
7 0,62 2777
70 2 2
3361
B
DMS.RAPGEN.11 0 $0.00
21 0, 0 10772 0
2 3 627
B
DMS.RAPGEN.21 0 $0.00
14 0, 0 10772 0
2 3 2550
B
DMS.RAPGEN.211 0 $0.00
26 0, 0 10772 0
2 3 3303
B
DMS.RAPGEN.31 0 $0.00
9 0, 0 10772 0
2 3 3401
B
DMS.RAPGEN.90 0 $0.00
5 0,62 2777
1195 2 2
3370
B
DMS.RAPGEN.99 0 $0.00
18 0,62 0
0 2 2
540
B
DMS.RAPGEN.999 0 $0.00
9 0,62 2777
1195 2 2
3427
T
DMS.RAPGEN.DIS 0 $0.00
5 0, 0 0
0 30 3
3402
B
DMS.RAPGEN.FIL 0 $0.00
12 0,62 2777
1195 2 2
3444
B
DMS.RAPGEN.H 0 $0.00
11 0, 0 2586
1195 2 3
3040
C
DMS.RAPGEN.HP 77 $0.00
51 0, 0 2588
2594 32 3
30306
C
DMS.RAPGEN.HX 0 $0.00
14 0, 0 2588
2594 32 3
3002
B
DMS.RAPGEN.KEY 0 $0.00
4 0, 0 7335
0 2 3
3425
T
DMS.RAPGEN.LIB 0 $0.00
10 0,62 2777
1195 30 2
2301
T
DMS.RAPGEN.O1A 0 $0.00
5 0,62 2777
70 30 2
2331
T
DMS.RAPGEN.O1B 0 $0.00
5 0,62 2777
1195 30 2
2342
B
DMS.RAPGEN.OPS 0 $0.00
16 0,62 2777
1195 2 2
3464
B
DMS.RAPGEN.OPT 0 $0.00
9 0,62 2777
1195 2 2
3510
T
DMS.RAPGEN.S1A 0 $0.00
12 0,62 71
71 30 2
27341
T
DMS.RAPGEN.S1B 0 $0.00
14 0,62 70
70 30 2
2273
T
DMS.RAPGEN.S2A 0 $0.00
4 0,62 2777
70 30 2
2344
T
DMS.RAPGEN.S2B 0 $0.00
4 0,62 2777
1195 30 2
2360
T
DMS.RAPGEN.S3A 0 $0.00
2 0,62 2777
70 30 2
2402
T
DMS.RAPGEN.S3B 0 $0.00
3 0,62 2777
1195 30 2
2406
T
DMS.RAPGEN.S4A 0 $0.00
3 0,62 2777
1195 30 2
2400
T
DMS.RAPGEN.S4B 0 $0.00
2 0,62 2777
1195 30 2
2407
Figure
26
DMS.COMET.LIB continued.
T
DMS.RAPGEN.S5R 0 $0.00
5 0,62 2777
70 30 2
2343
T
DMS.RAPGEN.S5W 0 $0.00
11 0, 0 0
0 30 3
26511
T
DMS.RAPGEN.S6A 0 $0.00
4 0,62 2777
1195 30 2
2361
T
DMS.RAPGEN.S9A 0 $0.00
17 0, 0 0
0 30 3
27346
T
DMS.RAPGEN.S9B 0 $0.00
4 0, 0 0
0 30 3
27373
B
DMS.RAPGEN.SYS 0 $0.00
17 0,62 71
70 2 2
3525
C
DMS.RAPGEN.T 0 $0.00
29 0,62 2777
0 32 2
2204
B
DMS.RAPGEN.TAQ 0 $0.00
4 0,62 2777
1195 2 2
2427
C
DMS.RAPGEN.TE 0 $0.00
29 0, 0 0
0 32 3
30110
C
DMS.RAPGEN.TY 0 $0.00
45 0, 0 2593
544 32 3
27565
B
DMS.RAPGENX.07 0 $0.00
12 0, 0 10772 0
2 3 27400
T
DMS.RAPS.ARB 0 $0.00
4 0, 0 0
0 30 3
30165
T
DMS.RAPS.CHECK 0 $0.00
3 0,62 2777
1195 30 2
2401
T
DMS.RAPS.CHEX 77 $0.00
3 0, 0 0
0 30 3
30166
T
DMS.RAPS.KEY 0 $0.00
4 0, 0 0
0 30 3
30200
B
DMS.SEL 0 $0.00
17 0, 0 10772 0
2 3 30201
B
DMS.ST.E 0 $0.00
3 0, 0 10772 0
2 3 31330
B
DMS.STARDRN 0 $0.00
13 0,62 2777
2777 2 2
3552
B
DMS.TAMOSDRN 0 $0.00
3 0,62 2777
2777 2 2
3573
B
DMS.TEXT 0 $0.00
13 0,62 2777
2777 2 2
3602
B
DMS.X 0 $0.00
4 0, 0 10769 0
2 3 31332
B
DMS.XDRN 0 $0.00
20 0,41 2777
2777 2 2
770
B
DMS.XDRN.05 0 $0.00
10 0,41 2777
2777 2 2
740
B
DMS.XDRN.07 0 $0.00
12 0,41 2777
2777 2 2
1024
B
DMS.XDRN.071 0 $0.00
20 0,41 2777
2777 2 2
1044
B
DMS.XDRN.072 0 $0.00
13 0,41 2777
2777 2 2
1100
B
DMS.XDRN.BACKU 0 $0.00
4 0,41 2777
2777 2 2
752
B
DMS.XDRN.CK 0 $0.00
19 0,44 2777
2777 2 2
1121
B
DMS.XDRN.CONV 0 $0.00
8 0,41 2777
2777 2 2
1150
T
DMS.XDRN.COPY 0 $0.00
22 0,41 2777
2777 30 2
663
B
DMS.XDRN.DUM 0 $0.00
3 0,41 2777
2777 2 2
762
B
DMS.XDRN.FIL 0 $0.00
15 0,41 2777
2777 2 2
1164
B
DMS.XDRN.FIL1 0 $0.00
32 0,48 2777
2777 2 2
1207
B
DMS.XDRN.PRINT 0 $0.00
2f4 0,41 2777
2777 2 2
1263
B
DMS.XDRN.SUPER 0 $0.00
13 0,41 2777
2777 2 2
1323
C
DMS.XDRN.T 0 $0.00
81 0, 0 2112
544 32 3
30624
C
DMS.XDRN.TY 0 $0.00
81 0, 0 2277
2112 32 3
30447
C
DMS.XDRN.VIKA 0 $0.00
16 0,41 2777
2112 32 2
633
B
DMS.XDRN0 0 $0.00
28 0,41 2777
2112 2 2
1344
B
DMS.XDRN00 0 $0.00
9 0,41 2777
2777 2 2
1410
B
DMS.XDRN000 0 $0.00
3 0,41 2777
2777 2 2
1425
B
DMS.XDRN1 0 $0.00
22 0,41 2777
2777 2 2
1430
B
DMS.XDRN11 0 $0.00
20 0,41 2777
2777 2 2
1466
B
DMS.XDRN2 0 $0.00
21 0,41 2777
2777 2 2
1522
B
DMS.XDRN21 0 $0.00
18 0,41 2777
2777 2 2
1553
B
DMS.XDRN3 0 $0.00
15 0,41 2777
2777 2 2
1605
B
DMS.XDRN31 0 $0.00
19 0,41 2777
2777 2 2
1630
B
DMS.XDRN4 0 $0.00
11 0,41 2777
2777 2 2
1663
B
DMS.XDRN5 0 $0.00
21 0,41 2777
2777 2 2
1702
B
DMS.XDRN6 0 $0.00
15 0,41 2777
2777 2 2
1733
B
DMS.XDRN61 0 $0.00
30 0,41 2777
2777 2 2
1762
B
DMS.XDRN7 0 $0.00
17 0,41 2777
2777 2 2
2030
B
DMS.XDRN8 0 $0.00
21 0,41 2777
2777 2 2
2061
T
DMS.XLIB 0 $0.00
7 0,41 2777
2777 30 2
707
B
DMS.XSTART 0 $0.00
4 0,62 0
0 2 2
530
B
DMS.XSYS 0 $0.00
19 0,41 2777
2112 2 2
2122
B
DMS.XSYS1 0 $0.00
15 0,41 2777
2777 2 2
4000
B
DMS.YSTART 0 $0.00
4 0,41 4993
4993 2 2
2170
B
DMSE 0
$0.00 4 0,41
2777 2777 2
2 2151
Figure
27
DMS.RAPGEN.LIB report generator only.
FIL NAVN
USER BLOKKE PART./
APPL. VERS SPC DATO
HBA
* #REC. AREA FMVVTM INF
T
DMS.COMET.L 1 4
0 0 0 0 0
0 06.02.87 4711
B
DMS.COMET 1 23
0 0 0 0 0
0 06.02.87 2500
T
DMS.COMET.LIB 58 21
20 0 0 0 0
0 29.07.86 3520
B
DMS.HANDSHAKE 1 3
0 0 0 0 0
0 06.02.87 2053
B
DMS.RAP 1 5
0 0 0 0 0
0 06.02.87 2004
B
DMS.RAPGEN 5 20
0 0 0 0 0
0 09.02.87 1060
B
DMS.RAPGEN.00 1 3
0 0 0 0 0
0 06.02.87 1672
B
DMS.RAPGEN.001 5 7
0 0 0 0 0
0 06.02.87 1010
B
DMS.RAPGEN.01 5 19
0 0 0 0 0
0 09.02.87 713
B
DMS.RAPGEN.011 5 23
0 0 0 0 0
0 09.02.87 2011
B
DMS.RAPGEN.012 5 11
0 0 0 0 0
0 06.02.87 20353
B
DMS.RAPGEN.013 5 11
0 0 0 0 0
0 06.02.87 17224
B
DMS.RAPGEN.03 5 21
0 0 0 0 0
0 09.02.87 1552
B
DMS.RAPGEN.031 5 19
0 0 0 0 0
0 09.02.87 2263
B
DMS.RAPGEN.032 5 19
0 0 0
0 0 0
09.02.87 206
B
DMS.RAPGEN.04 5 6
0 0 0 0 0
0 06.02.87 2333
B
DMS.RAPGEN.041 5 20
0 0 0 0 0
0 06.02.87 2321
B
DMS.RAPGEN.042 5 19
0 0 0 0 0
0 09.02.87 2512
B
DMS.RAPGEN.043 5 20
0 0 0 0 0
0 09.02.87 1630
B
DMS.RAPGEN.044 5 15
0 0 0 0 0
0 06.02.87 1663
B
DMS.RAPGEN.05 5 9
0 0 0 0 0
0 06.02.87 2501
B
DMS.RAPGEN.07 5 11
0 0 0 0 0
0 06.02.87 30453
B
DMS.RAPGEN.071 5 20
0 0 0 0 0
0 09.02.87 2727
B
DMS.RAPGEN.072 5 13
0 0 0 0 0
0 09.02.87 30072
B
DMS.RAPGEN.073 5 8
0 0 0 0 0
0 09.02.87 20332
B
DMS.RAPGEN.08 5 10
0 0 0 0 0
0 06.02.87 30124
B
DMS.RAPGEN.081 5 11
0 0 0 0 0
0 06.02.87 31327
B
DMS.RAPGEN.082 5 9
0 0 0 0 0
0 06.02.87 2742
B
DMS.RAPGEN.09 5 17
0 0 0 0 0
0 06.02.87 2772
B
DMS.RAPGEN.090 1 11
0 0 0 0 0
0 06.02.87 16364
B
DMS.RAPGEN.091 1 11
0 0 0 0 0
0 06.02.87 3111
B
DMS.RAPGEN.092 1 8
0 0 0 0 0
0 06.02.87 3045
B
DMS.RAPGEN.90 1 5
0 0 0
0 0 0
06.02.87 3061
B
DMS.RAPGEN.99 1 19
0 0 0 0 0
0 06.02.87 2524
B
DMS.RAPGEN.999 5 9
0 0 0 0 0
0 09.02.87 16403
B
DMS.RAPGEN.FIL 1 12
0 0 0 0 0
0 06.02.87 6310
T
DMS.RAPGEN.LIB 62 10 9
0 0 0 0 0
29.07.86 2167
T
DMS.RAPGEN.O1A 1 5
4 0 0 0 0
0 06.02.87 7445
T
DMS.RAPGEN.O1B 1 5
4 0 0 0 0
0 06.02.87 444
B
DMS.RAPGEN.OPS 1 16
0 0 0 0 0
0 06.02.87 30627
B
DMS.RAPGEN.OPT 1 9
0 0 0 0 0
0 06.02.87 471
T
DMS.RAPGEN.S1A 1 12
11 0 0 0 0
0 06.02.87 762
T
DMS.RAPGEN.S1B 1 14
13 0 0 0 0
0 06.02.87 751
T
DMS.RAPGEN.S2A 1 4
3 0 0 0 0
0 06.02.87 3323
T
DMS.RAPGEN.S2B 1 4
3 0 0 0 0
0 06.02.87 3324
T
DMS.RAPGEN.S3A 1 2
1 0 0 0 0
0 06.02.87 2561
T
DMS.RAPGEN.S3B 1 3
2 0 0 0 0
0 06.02.87 1560
T
DMS.RAPGEN.S4A 1 3
2 0 0 0 0
0 06.02.87 3421
T
DMS.RAPGEN.S4B 1 2
1 0 0 0 0
0 06.02.87 3427
T
DMS.RAPGEN.S5R 1 5
4 0 0 0 0
0 06.02.87 3430
T
DMS.RAPGEN.S5W 1 11
10 0 0 0 0
0 06.02.87 3450
T
DMS.RAPGEN.S6A 1 4
3 0 0 0 0
0 06.02.87 3467
T
DMS.RAPGEN.S9A 1 17
16 0 0 0 0
0 06.02.87 3501
T
DMS.RAPGEN.S9B 1 4
3 0 0 0 0
0 06.02.87 7444
B
DMS.RAPGEN.SYS 1 17
0 0 0 0 0
0 06.02.87 2607
C
DMS.RAPGEN.T 62 45
11 0 0 0 0
0 31.07.86 7733
B
DMS.RAPGEN.TAQ 1 4
0 0 0
0 0 0
06.02.87 6333
C
DMS.RAPGEN.TE 62 45
11 0 0 0 0
0 31.07.86 30760
C
DMS.RAPGEN.TY 62 45
11 0 0 0 0
0 30.07.86 7622
T
DMS.RAPS.ARB 1 4
3 0 0 0 0
0 06.02.87 1547
T
DMS.RAPS.CHECK 1 3
2 0 0 0 0
0 06.02.87 1405
T
DMS.RAPS.CHEX 1 3
2 0 0 0 0
0 06.02.87 1412
T
DMS.RAPS.NAVN 1 5
4 0 0 0 0
0 06.02.87 3372
B
DMS.STARDRN 1 14
0 0 0 0 0
0 06.02.87 2223
B
DMS.TAMOSDRN 1 3
0 0 0 0 0
0 06.02.87 203
B
DMS.TEXT 1 13
0 0 0 0 0
0 06.02.87 345
B
DMS.XSTART 3 8
0 0 0 0 0
0 09.02.87 15423
B
DMS.XSYS 1 19
0 0 0 0 0
0 06.02.87 3272
B
DMS.XSYS1 1 15
0 0 0 0 0
0 06.02.87 1743
B
DMSE 1 4
0 0 0 0 0
0 06.02.87 1623
F
TF.PROGRAP1 5 5
20 0 0 0 0
0 09.02.87 12603
F
TF.SYSTEMRAP 5 5
4 0 0 0 0
0 09.02.87 15405
B
ST.E 62 3
0 0 0 0 0
0 29.07.86 3673
Figure
28
DMS.XLIB Datamaster file definition programs.
FIL NAVN
USER BLOKKE PART./
APPL. VERS SPC DATO
HBA
* #REC. AREA FMVVTM INF
B
DMS.XDRN 5 20
0 0 0 0 0
0 09.02.87 7500
B
DMS.XDRN.05 1 10
0 0 0 0 0
0 06.02.87 1707
B
DMS.XDRN.07 1 12
0 0 0 0 0
0 06.02.87 20303
B
DMS.XDRN.071 1 20
0 0 0 0 0
0 06.02.87 1725
B
DMS.XDRN.072 1 13
0 0 0 0 0
0 06.02.87 567
B
DMS.XDRN.BACKU 1 4
0 0 0 0 0
0 06.02.87 610
B
DMS.XDRN.CK 1 18
0 0 0 0 0
0 06.02.87 620
B
DMS.XDRN.CONV 1 8
0 0 0 0 0
0 06.02.87 7713
T
DMS.XDRN.COPY 1 22
21 0 0 0 0
0 06.02.87 3507
B
DMS.XDRN.DUM 1 3
0 0 0 0 0
0 06.02.87 645
B
DMS.XDRN.FIL 1 15
0 0 0 0 0
0 06.02.87 12541
B
DMS.XDRN.FIL1 1 32
0 0 0 0 0
0 06.02.87 650
B
DMS.XDRN.PRINT 1 24
0 0 0 0 0
0 06.02.87 3550
B
DMS.XDRN.SUPER 1 14
0 0 0 0 0
0 06.02.87 1032
C
DMS.XDRN.T 44 81
20 0 0 0 0
0 31.07.86 11744
C
DMS.XDRN.TE 44 81
20 0 0 0 0
0 31.07.86 12121
C
DMS.XDRN.TY 44 81
20 0 0 0 0
0 29.07.86 1167
C
DMS.XDRN.VIKA 44 16
120 0 0 0 0
0 29.07.86 1344
B
DMS.XDRN0 1 29
0 0 0 0 0
0 06.02.87 31051
B
DMS.XDRN00 1 9
0 0 0 0 0
0 06.02.87 20663
B
DMS.XDRN000 1 4
0 0 0 0 0
0 06.02.87 1146
B
DMS.XDRN1 1 22
0 0 0 0 0
0 06.02.87 31271
B
DMS.XDRN11 1 20
0 0 0
0 0 0
06.02.87 711
B
DMS.XDRN2 5 21
0 0 0 0 0
0 09.02.87 2444
B
DMS.XDRN21 1 18
0 0 0 0 0
0 06.02.87 1072
B
DMS.XDRN3 1 16
0 0 0 0 0
0 06.02.87 1470
B
DMS.XDRN31 1 20
0 0 0 0 0
0 06.02.87 1124
B
DMS.XDRN4 1 12
0 0 0 0 0
0 06.02.87 30726
B
DMS.XDRN5 1 22
0 0 0 0 0
0 06.02.87 661
B
DMS.XDRN6 1 15
0 0 0 0 0
0 06.02.87 1522
B
DMS.XDRN61 1 30
0 0 0 0 0
0 06.02.87 16423
B
DMS.XDRN7 1 17
0 0 0 0 0
0 06.02.87 1572
B
DMS.XDRN8 1 22
0 0 0 0 0
0 06.02.87 31233
T
DMS.XLIB 44 7
6 0 0 0 0
0 29.07.86 1026
B
DMS.XSTART 3 8
0 0 0 0 0
0 09.02.87 15423
B
DMS.XSYS 1 19
0 0 0 0 0
0 06.02.87 3272
B
DMS.XSYS1 1 15
0 0 0 0 0
0 06.02.87 1743
Figures
Figure
1 DMS.RAPGEN.SYS system selection....................................................................................................................................... 6
Figure 2 DMS.RAPGEN.SYS...................................................................................................................................................................... 6
Figure 3 The TAMOS selector for installation...................................................................................................................................... 11
Figure 4 The TAMOS selector definition.............................................................................................................................................. 11
Figure 5 The start interface program DMS.R......................................................................................................................................... 12
Figure 6 The file definition module functions....................................................................................................................................... 17
Figure 7 The field definitions................................................................................................................................................................... 18
Figure 8 Definition of a file with the DEF command............................................................................................................................. 20
Figure 9 Definition of MAT READ with the MAT command............................................................................................................. 21
Figure 10 Help screen in the field
definition module............................................................................................................................. 22
Figure 11 Entering additional help‑textes
with T command................................................................................................................. 22
Figure 12 Generation of READ
statements............................................................................................................................................. 23
Figure 13 The file maintenance function
selection................................................................................................................................ 24
Figure 14 Maintenance of the file
definitions......................................................................................................................................... 24
Figure 15 Updating filenames with DMS.RAPGEN.LU......................................................................................................................... 29
Figure 16 Interfacing with DMS.COMET to
the parameter files.......................................................................................................... 31
Figure 17 A simple read‑statement
(the user manual file VA).............................................................................................................. 32
Figure 18 Read statements with
unpacking of fields (COMET customers)....................................................................................... 32
Figure 19 Key pack/unpack routines in
the read statement file........................................................................................................... 33
Figure 20 Splitting a packed codefield
(COMET general ledger)........................................................................................................ 33
Figure 21 DMS.TEXT maintenance of
lagguage dependent textes.................................................................................................... 36
Figure 22 Generieren eines Ausgabe‑Programmes................................................................................................................................ 37
Figure 23 Subroutines in the generated program.
................................................................................................................................. 38
Figure 24 Link segments in the report
generator. ................................................................................................................................. 53
Figure 25 DMS.COMET.LIB complete
library list.................................................................................................................................. 55
Figure 26 DMS.COMET.LIB continued.................................................................................................................................................. 56
Figure 27 DMS.RAPGEN.LIB report
generator only............................................................................................................................. 57
Figure 28 DMS.XLIB Datamaster file
definition programs................................................................................................................... 58
Keyword index
#DD........................................................................ 40,
41, 44, 49
#NO.......................................................................................... 49
#PD........................................................................ 40,
41, 44, 49
#PP........................................................................................... 49
#SC........................................................................................... 49
#SN.......................................................................................... 49
#SY........................................................................................... 49
#TI............................................................................................ 49
ABS.......................................................................................... 12
Account................................................................ 11,
14, 29, 55
BUILDXF...................................................................... 7,
10, 16
Checks..................................................................................... 33
CHSYSTEM.......................... 6,
7, 10, 12, 14, 18, 44, 50, 54, 55
CLEANUP............................................................................... 10
Continous................................................. 16,
42, 46, 48, 52, 54
Core.......................................................................................... 36
Cost........................................................................ 18,
21, 22, 55
DATAMASTER................... 4,
8, 10, 15, 17‑23, 25‑28, 31, 34,
44, 45, 47, 58
DIM.............................................................................. 12,
34, 39
DMDATAFIL............................................................... 6,
31, 55
DMFILES................................................................ 6,
31, 37, 55
DMREAD.................................................................... 23,
37, 55
DMREPORT................................................................. 6,
37, 49
DMS.RAPGEN.S6A............................................. 37,
54, 56, 57
DMS.RAPGEN.SYS..................... 5‑7,
9, 11‑13, 16, 18, 24, 30,
36, 48, 56, 57
DMS.RAPS........................................................... 39,
54, 56, 57
DMSORTWORK..................................................................... 6
DRN...................... 6,
7, 15, 17, 18, 20‑26, 33‑35, 40, 41, 43, 44,
46‑48, 50, 52, 54
ESCape.................................................................................... 10
fil............................................................................. 22,
29, 55‑58
FND.......................................................................................... 27
Format.................................. 7,
15, 17‑23, 36, 40, 44, 46, 48, 49
GOSUB.............................................................................. 12,
34
HBA............................................................................. 55,
57, 58
INT........................................................................................... 46
Layout............................................................. 16,
21, 31, 33, 53
LD............................................................................................. 36
LEN.................................................................................... 24,
27
LOAD............................................ 16,
23, 32, 36, 39, 48, 53, 54
LPT......................................................................... 40,
41, 48, 54
LU................................. 4‑8,
11, 12, 14‑16, 20, 25, 29‑31, 50, 52
MODE.................................................................... 10,
22, 40, 42
NIROS........................................................................................ 4
NOT.............................. 4,
5, 7‑10, 12, 13, 15‑19, 21, 24‑27, 29,
31‑37, 39‑50, 52, 54
NYRUP........................................................................ 30,
40, 54
over.................................................................................... 16,
48
Partition..................................................................................... 4
Pass.......................................................................... 9,
36, 38, 40
Password................................................... 11,
24, 25, 34, 48, 50
QUICK..................................................................................... 53
REM......................................................................................... 12
S9$............................................................................................ 40
SAVE............................................................................. 9,
44, 53
SCOPE................................................................................. 6,
31
Search............................................ 20,
22, 27, 29, 39, 42, 43, 54
SORT 5‑7,
16, 40, 41, 44, 53
STAR................................. 5,
8, 9, 24, 26, 30, 40, 43, 44, 50, 54
Status................................................................. 7,
42, 44, 45, 48
STOP.......................................................... 10,
12, 19, 33, 42, 47
Subtotal................................................................................... 48
SYSMOD............................................................................... 4,
8
T2$......................................................................... 32,
33, 43, 49
T3....................................................................................... 33,
43
T9$............................................................................... 32,
33, 43
TAMOS....................... 6‑9,
11‑14, 17, 29‑31, 41, 44, 49, 50, 54
Testprint.................................................................................. 53
Utility................................................................................. 25,
50