RAPGEN
User
Manual
Part 2.
Table
of contents
11. DMS.RAPGEN printer control.................................................................................................................................................... 6
11.1. Preface............................................................................................................................................................................................ 6
11.2. Structure of the printer control................................................................................................................................................... 6
11.3. TAMOS printer assignment........................................................................................................................................................ 7
11.3.1. Logical printername (e.g. $LPT)................................................................................................................................................. 7
11.3.2. Physical printername (e.g. $RPL2)............................................................................................................................................. 7
11.3.3. Other parameters (lines/chars)................................................................................................................................................... 7
11.4. Connecting a report to a specific
printer................................................................................................................................... 7
11.4.1. Changing the printer for a report............................................................................................................................................... 8
11.5. Selection of printer by start of the
report.................................................................................................................................. 8
11.6. Use of control codes in the print
image.................................................................................................................................... 9
11.7. Calculated control codes (@X,@Y,@Z)................................................................................................................................... 9
11.7.1. Use of calculated control codes in the
layout......................................................................................................................... 9
11.7.2. The dummy control code @O.................................................................................................................................................. 10
11.7.3. Calculation of control codes.................................................................................................................................................... 10
11.8. Definition of printer code tables............................................................................................................................................... 11
11.8.1. The first page of the printer code table.................................................................................................................................. 11
11.8.2. Spool parameters....................................................................................................................................................................... 12
11.8.2.1. Logical printername.................................................................................................................................................................. 12
11.8.2.2. Start print at spool in (Y/N)..................................................................................................................................................... 12
11.8.2.3. Dialog before/after print.......................................................................................................................................................... 12
11.8.2.4. Number of copies...................................................................................................................................................................... 12
11.8.2.5. Paper code................................................................................................................................................................................. 12
11.8.2.6. Report name (Y/N).................................................................................................................................................................... 12
11.8.3. Printer control codes................................................................................................................................................................. 12
11.8.3.1. @ RESET.................................................................................................................................................................................... 13
11.8.3.2. @A‑W Control codes.............................................................................................................................................................. 13
11.8.3.3. @X‑Z Calculated control codes............................................................................................................................................. 13
11.8.3.4. @0 The dummy control code.................................................................................................................................................. 13
11.8.3.5. @1‑9 Control codes.................................................................................................................................................................. 13
11.8.3.6. Linefeed character.................................................................................................................................................................... 13
11.8.3.7. Formfeed control code............................................................................................................................................................. 13
11.8.4. Printout of the code table......................................................................................................................................................... 14
11.9. Fault on the printer..................................................................................................................................................................... 15
11.9.1. Basic error 26 ‑ printer not ready............................................................................................................................................. 15
11.9.2. Basic error 73 ‑ invalid open
parameter.................................................................................................................................. 15
11.10. Installation of DMS.RAPGEN printer
control....................................................................................................................... 15
12. DMS.RAPGEN PC‑integration................................................................................................................................................... 16
12.1. Introduction................................................................................................................................................................................. 16
12.1.1. Structure...................................................................................................................................................................................... 16
12.1.2. LOTUS,CHART,MULTIPLAN and VISICALC..................................................................................................................... 16
12.1.3. The physical PC‑transmission................................................................................................................................................. 16
12.1.4. Prerequirements......................................................................................................................................................................... 17
12.2. An example of a transmission................................................................................................................................................... 17
12.2.1. Start/stop of the BCU queue.................................................................................................................................................... 17
12.2.2. Creating the PC report............................................................................................................................................................... 17
12.2.3. Starting the PC report................................................................................................................................................................ 18
12.2.3.1. Several reports and jobqueue................................................................................................................................................. 18
12.2.4. The physical transfer to the PC............................................................................................................................................... 18
12.2.4.1. Reports created from screen................................................................................................................................................... 19
12.2.4.2. Delete the Nixdorf 8870 textfiles (Y/N)................................................................................................................................... 19
12.2.4.3. Start now or at time (HHMM)................................................................................................................................................. 19
12.2.5. Starting the transmission from the PC.................................................................................................................................... 19
12.3. The transmitted files................................................................................................................................................................... 19
12.3.1. Overwiew of the transmitted files............................................................................................................................................ 20
12.4. Standard PC printers.................................................................................................................................................................. 20
12.5. Retransmission after fault.......................................................................................................................................................... 20
12.5.1. Deleting the textfiles only......................................................................................................................................................... 20
12.6. Manual deletion of the 8870 textfiles....................................................................................................................................... 21
12.7. A little more technical information........................................................................................................................................... 21
12.7.1. The print textfile......................................................................................................................................................................... 21
12.7.2. The temporary control file........................................................................................................................................................ 21
12.7.3. The format control file............................................................................................................................................................... 22
12.7.4. The BCU job queue................................................................................................................................................................... 22
12.7.5. Status during the transfer......................................................................................................................................................... 22
12.8. Installation of DMS.RAPGEN PC
integration........................................................................................................................ 22
12.8.1. The installation program DMSPC.SYS................................................................................................................................... 23
12.8.2. Installation of one PC................................................................................................................................................................ 23
12.9. Resetting the PC log................................................................................................................................................................... 23
12.10. DMS.RAPGEN PC printer control........................................................................................................................................... 24
12.10.1. Print heading and totals........................................................................................................................................................... 24
12.10.2. Lines on form............................................................................................................................................................................. 24
12.10.3. Start pageno.............................................................................................................................................................................. 24
12.10.4. PC integration code.................................................................................................................................................................. 25
12.10.5. Textfile extend flag (B/!/+)....................................................................................................................................................... 25
12.10.6. PC textfile suffix......................................................................................................................................................................... 25
13. Print image control....................................................................................................................................................................... 26
13.1. Structure of the print generation.............................................................................................................................................. 26
13.1.1. Improved functions by this structure..................................................................................................................................... 26
13.2. New print image control............................................................................................................................................................. 26
13.2.1. New functions by this structure.............................................................................................................................................. 26
13.3. Print line control.......................................................................................................................................................................... 27
13.3.1. The LINE command................................................................................................................................................................... 27
13.3.1.1. Print zero fields.......................................................................................................................................................................... 27
13.3.1.2. New page lines before end of page........................................................................................................................................ 27
13.3.1.3. Heading print lines................................................................................................................................................................... 27
13.3.1.4. Normal print lines...................................................................................................................................................................... 27
13.3.1.5. Total print lines......................................................................................................................................................................... 27
13.3.1.6. Detail (READH) print lines...................................................................................................................................................... 28
13.3.2. Letters.......................................................................................................................................................................................... 28
13.3.3. Inquiery programs..................................................................................................................................................................... 28
13.4. Controlling the print by calculations....................................................................................................................................... 28
13.4.1. Setting lines to be printed........................................................................................................................................................ 28
13.4.1.1. Line specifications.................................................................................................................................................................... 28
13.4.1.1.1. +xx skip a number of lines....................................................................................................................................................... 28
13.4.1.1.2. :xx skip to line........................................................................................................................................................................... 29
13.4.1.2. PRINT (L= line specification................................................................................................................................................... 29
13.4.1.2.1. Conditional line printing......................................................................................................................................................... 29
13.4.1.3. PRINT (T=total line specification........................................................................................................................................... 29
13.4.1.4. PRINT (D=detail (READH) line specification....................................................................................................................... 29
13.4.1.5. PRINT (H= heading line specifications................................................................................................................................. 29
13.4.1.6. PRINT (N= newpage specification......................................................................................................................................... 30
13.4.2. Footer lines................................................................................................................................................................................. 30
13.5. PRINT gaining complete control.............................................................................................................................................. 30
13.5.1. PRINT (x‑y) print lines.............................................................................................................................................................. 30
13.5.2. Combinations of print options................................................................................................................................................. 31
13.5.3. START/NEXT/REPEAT used for statements....................................................................................................................... 31
13.6. PRINT in LAST calculations..................................................................................................................................................... 31
13.7. Contracting print lines with ¬................................................................................................................................................. 32
13.7.1. Contracting print lines with ¬¬ ........................................................................................................................................... 32
13.7.2. ¬> function to end the ¬
function ...................................................................................................................................... 32
13.8. R3 ‑ print long screen lines........................................................................................................................................................ 32
13.9. PRT command on letters............................................................................................................................................................ 32
13.10. New commands in function 7 - amendment
of letter or report............................................................................................ 32
13.11. PRINTER
Controlling up to 9 prints from one report.......................................................................................................... 32
13.11.1. Definition of (opening) extra printers.................................................................................................................................... 33
13.11.2. Divide print on two printers.................................................................................................................................................... 33
13.11.3. Letter with journal..................................................................................................................................................................... 34
13.11.4. Print on two printers at the same time................................................................................................................................... 34
14. Subfunctions................................................................................................................................................................................ 35
14.1. CCODE Getting DATAMASTER fieldcheck
text.................................................................................................................. 35
14.2. CHAIN Start the next report...................................................................................................................................................... 35
14.3. CHECK calculation of OCR checkdigit.................................................................................................................................... 36
14.4. CHEX Calculation of checkdigit modulus
11.......................................................................................................................... 36
14.5. COPIES Number of print copies, print
priority and paper code........................................................................................... 36
14.6. EDIT editing of customer numbers or
other numbers........................................................................................................... 37
14.7. EXPORT writing to external files.............................................................................................................................................. 37
14.7.1. The parameters for EXPORT.................................................................................................................................................... 38
14.7.1.1. Fields.......................................................................................................................................................................................... 38
14.7.1.2. Filename..................................................................................................................................................................................... 38
14.7.1.3. Record length and file type..................................................................................................................................................... 38
14.7.1.4. Output specifications............................................................................................................................................................... 39
14.7.1.5. Printer output............................................................................................................................................................................ 39
14.7.1.6. CSV parameters......................................................................................................................................................................... 40
14.7.2. EXPORT in calculations........................................................................................................................................................... 40
14.8. EXPOX Export with file definition included............................................................................................................................ 40
14.9. FILENAME Physical filename.................................................................................................................................................. 41
14.10. FIND search for text in fields................................................................................................................................................... 41
14.11. IMPORT reading of external files............................................................................................................................................ 41
14.11.1. The parameters for IMPORT................................................................................................................................................... 42
14.11.1.1. Fields......................................................................................................................................................................................... 42
14.11.1.2. Filename.................................................................................................................................................................................... 42
14.11.1.3. Record length and file type.................................................................................................................................................... 42
14.11.1.4. Input specifications................................................................................................................................................................. 43
14.11.2. Different entries of the IMPORT routine.............................................................................................................................. 43
14.11.2.1. IMPOCONT ("11‑20")............................................................................................................................................................. 43
14.11.2.2. IMPOTHIS ("1‑20")................................................................................................................................................................. 43
14.11.2.3. IMPONEXT ("11‑20")............................................................................................................................................................. 43
14.12. INDEX lock reports index/start/stop
keys............................................................................................................................. 44
14.13. KEYS start/stop specifications................................................................................................................................................ 44
14.13.1. The KEYS command in the main menu.................................................................................................................................. 44
14.13.2. Entering the start/stop values................................................................................................................................................ 44
14.13.3. Functions in the editor............................................................................................................................................................. 45
14.13.4. Activating the KEYS function in a report............................................................................................................................. 46
14.13.5. Start of a KEYS report.............................................................................................................................................................. 46
14.13.6. Functions and parameters....................................................................................................................................................... 47
14.13.6.1. One or separated reports........................................................................................................................................................ 47
14.13.6.2. Fixed definition file.................................................................................................................................................................. 47
14.13.6.3. KEYS calculationcode 47/xxxx................................................................................................................................................ 47
14.13.7. Special definition files.............................................................................................................................................................. 47
14.13.8. Sorting start/stop values......................................................................................................................................................... 47
14.14. The LET command..................................................................................................................................................................... 48
14.15. The LET command with ON..................................................................................................................................................... 49
14.15.1. Columns..................................................................................................................................................................................... 49
14.15.2. Transactioncode-simulation................................................................................................................................................... 49
14.15.3. Monthly balance....................................................................................................................................................................... 49
14.15.4. Calculations in ON-part........................................................................................................................................................... 49
14.15.5. Multiple fields........................................................................................................................................................................... 50
14.15.6. Balance year to date................................................................................................................................................................. 50
14.15.7. X and logical operators............................................................................................................................................................ 50
14.15.8. 'Odd' values after ON............................................................................................................................................................... 50
14.15.9. Textfields after ON.................................................................................................................................................................... 50
14.16. LOWER lower case letters........................................................................................................................................................ 51
14.17. LTOT fixing the lowest total level........................................................................................................................................... 51
14.18. MERGE Mixing multiple files................................................................................................................................................... 51
14.19. MESS Message and possible abort of run............................................................................................................................ 52
14.20. MTOT Highest total level to be printed................................................................................................................................. 52
14.21. NAME isolating christian/last name....................................................................................................................................... 52
14.22. NODATA deactivate all #Dx fields......................................................................................................................................... 52
14.23. NOIX Supress index-update (saves space)........................................................................................................................... 53
14.24. NOPAS Deactivating of password......................................................................................................................................... 53
14.25. NOPRT Supress all print (saves space and
paper)............................................................................................................... 53
14.26. NUMBER conversion of 'dirty' numbers................................................................................................................................ 53
14.27. NUMS convert alphanumeric to numeric............................................................................................................................... 53
14.28. OPEN opening of files for reading.......................................................................................................................................... 54
14.29. PACK packing of fields............................................................................................................................................................ 54
14.30. PCIN and PCOUT exporting directly to PC
harddisc/floppy.............................................................................................. 54
14.31. PHONE conversion to new danish
phonenumbers.............................................................................................................. 54
14.32. PLCOUT exporting directly to a PLC line............................................................................................................................... 54
14.33. POUT Output of text / control codes directly
on printer..................................................................................................... 54
14.34. PRIO set priority........................................................................................................................................................................ 54
14.35. PXOUT Export directly to PC-harddisk
using ERNA........................................................................................................... 55
14.36. PZOUT Print directly to PC-harddisk
using ERNA.............................................................................................................. 55
14.37. RATE get COMET TOP currency rate................................................................................................................................... 55
14.38. RUND definition of FNR round............................................................................................................................................... 55
14.39. SIZE Optimize space requirement in large
reports................................................................................................................ 55
14.40. SMAA Convert names from upper to
upper/lower case letters......................................................................................... 55
14.41. SOGE Generating searchkey from addressfield..................................................................................................................... 56
14.42. SORTWORK multiple sort-files............................................................................................................................................... 56
14.43. SPOFF removal of spaces in field............................................................................................................................................ 56
14.44. STAR functions for financial reports..................................................................................................................................... 56
14.44.1. STARD Get bookkeeping and period dates......................................................................................................................... 56
14.44.2. STARF Calculate perid/year to date
realized and budget.................................................................................................. 56
14.44.3. STARN Index calculations...................................................................................................................................................... 56
14.44.4. STARP Define bookkeeping period....................................................................................................................................... 56
14.44.5. STARS Regroup current period to period 1......................................................................................................................... 56
14.45. TAPEOUT exporting directly to tape..................................................................................................................................... 57
14.46. TEST testprint function............................................................................................................................................................ 57
14.47. UNPACK unpacking of packed fields.................................................................................................................................... 57
14.48. UPDATE activate file updating............................................................................................................................................... 57
14.49. UPPER Upper case letters........................................................................................................................................................ 57
14.50. VALCH values of a textfield..................................................................................................................................................... 58
14.51. VALID values of a nuemric field............................................................................................................................................. 58
14.52. VALIX values of a numeric code............................................................................................................................................ 59
14.53. WEEK convert date/week or week/date................................................................................................................................. 59
14.54. WORKD data difference in number of
workdays................................................................................................................. 59
14.55. ZERO zero all workfields........................................................................................................................................................... 59
15. File update with DMS.RAPGEN................................................................................................................................................ 60
15.1. Defining an updating report...................................................................................................................................................... 60
15.2. UPDATE activate the updating................................................................................................................................................ 61
15.3. NOPAS deactivation of password........................................................................................................................................... 61
15.4. REWRITE (XX) update of a record.......................................................................................................................................... 61
15.5. WRITE (XX) update/insert record........................................................................................................................................... 62
15.6. INSERT (XX) creation of a new record................................................................................................................................... 62
15.7. DELETE (XX) deletion of a record........................................................................................................................................... 62
15.8. Updating of the file index.......................................................................................................................................................... 62
15.9. Changed structure in the main file
handling........................................................................................................................... 63
15.10. Error handling by updating...................................................................................................................................................... 63
15.11. Where to place the update statements................................................................................................................................... 63
15.12. LTOT freeze lowest total level................................................................................................................................................. 63
15.13. Updating the main file main index........................................................................................................................................... 64
15.14. Security against updating application
files........................................................................................................................... 64
15.15. Blocking for all updating.......................................................................................................................................................... 64
15.16. OPEN(XX,"3/XXFILE") special
file open.............................................................................................................................. 65
15.17. Creating new files with RAPGEN............................................................................................................................................ 66
15.17.1. Number of records, disk and company id............................................................................................................................. 66
15.17.2. Mix of files................................................................................................................................................................................. 66
15.17.3. Index keys.................................................................................................................................................................................. 67
15.17.4. Multiple fields in the key......................................................................................................................................................... 67
15.17.5. Multiple keys............................................................................................................................................................................. 67
15.17.6. Special keys............................................................................................................................................................................... 67
15.17.7. Deleting files.............................................................................................................................................................................. 67
15.17.8. Redefinition of files.................................................................................................................................................................. 67
15.17.9. Filenames and other tecnical information............................................................................................................................. 67
16. The edit functions 11-14............................................................................................................................................................. 68
16.1. The structure of the new functions......................................................................................................................................... 68
16.2. The text‑editor............................................................................................................................................................................. 69
16.3. Function 11 ‑ Documentation................................................................................................................................................... 71
16.4. Function 12 ‑ editing of
selections........................................................................................................................................... 72
16.4.1. Selections on alpha‑textfields.................................................................................................................................................. 72
16.5. Function 13 ‑ editing of sorting
and totalling......................................................................................................................... 73
16.6. Function 14 ‑ editing of
calculations....................................................................................................................................... 74
16.6.1. Remarks in the calculations...................................................................................................................................................... 74
16.6.2. GOTO/GOSUB and RETURN in the
calculations................................................................................................................. 75
16.7. Technic by editing...................................................................................................................................................................... 75
17. Other systems, individual adjustments
and optimization...................................................................................................... 76
17.1. REPS Multiple report systems.................................................................................................................................................. 76
17.1.1. S Start RAPGEN again.............................................................................................................................................................. 76
17.2. TAM Insert in TAMOS selector.............................................................................................................................................. 76
17.3. HEAD Individual standard headers......................................................................................................................................... 77
17.4. DRN file definitions.................................................................................................................................................................... 77
17.5. Function 9 - Starting multiple report
in one step................................................................................................................... 77
17.6. SPEED aggressive optimization................................................................................................................................................ 78
17.7. RAPGEN mini (runtime) version............................................................................................................................................... 80
17.8. Function 10 - Copying between systems /
machines............................................................................................................ 82
17.9. Automatic READ of other files at definition
of a report....................................................................................................... 82
17.10. Advancing the date functions for year
2000......................................................................................................................... 82
Figures.......................................................................................................................................................................................................... 83
Keyword index............................................................................................................................................................................................ 84
11.
DMS.RAPGEN printer control.
12.1. Preface.
This advanced
printer control module is developed to enable the users of DMS.RAPGEN to use
all facilities of the present and coming printers on the 8870.
Up to now the
printers have been quite simple and the controlling of these just limited to
line feeds and form feeds. By the introduction of the TD06/ TD09 and even laser
printers with single sheet feeders the printfacilities has been extended and hereby the need for
advanced printer control has grown.
These printers
have caused some trouble, as programs written for the 'old' printers are not able to print on some of the
new printers, as well as a program written for one of the new printers may not
run on any other printer at all due to special control codes for each of the
printers, which possible causes fault on the other printers.
To solve these
problems we have studied the printer control on different text systems and PC
computers. Based on the experience from these the advanced printer control has been developed
to make use of all facilities in the Nixdorf spool system.
Please note that
operating system NIROS 5.1 revision 5 or newer is needed if you should be able
to control the new printers correctly. With this operating system some of the 'old' printers
also will get a set of new control facilities.
Allready defined
reports can be used with this new printer control.
12.3. Structure
of the printer control.
A report is
defined with a certain printer, this printer is named the LOGICAL PRINTER.
By the TAMOS
printer assignment this logical printer is connected to a PHYSICAL PRINTER. When the report is started
from a certain screen the operating
system will look up the logical printer in the screens printer table and use
the physical printer instead. In this way the printer selection has been screen dependent.
It is the
PHYSICAL printer which is of interest in the DMS.RAPGEN printer control module.
This will be of a certain type and will require a certain set of control codes.
The
reportgenerator has a code tabel for each of these physical printers. This
table contains all control codes for linefeed, formfeed, elongated or fast
print etc. If a function is not valid on a printer the appropriate entry in the
table will be blank causing any use of this to be ignored. If a code table is
missing for the selected printer, the standard control codes used up to now
will be used, without any possibilities of special printer control.
The user is able
to place printer control characters on his report by entering the character @
followed by a letter or a digit, e.g. @L in a
report line will cause the print to be elongated.
Each control
code has an ON and an OFF function. You get the ON function by the use of a
capital letter, the OFF function by use of a lowercase letter. E.g. the heading of a report may be
partly elongated by placing @l HEADINGTEXT @L on the line.
By the
reportgenerator calculation module it is possible to change the 3 control codes
@X, @Y and @Z. By this you may define a report with underlining of specific
customers or printing deleted customers with special fonts.
In addition to
the printer control itself, the reportgenerator contains some new facilities
for selection of printers and overwiew of the printer assignments.
The control code
table for a printer also contains specification of OPEN parameters for the
printer. These may be used to overwrite the TAMOS printerassignment parameters
and you will get the possibilities to specify all parameters in use by the
spool system, not only a subset of these.
The pagelength
of a report is not longer field defined in the report defined with 72 lines on
form may now be printed on 66 lines paper with correct formfeed without
changing the report if a printer control table is defined for the selected
printer.
12.5. TAMOS
printer assignment.
The TAMOS
printer assignment may be defined as:
Figure 1 TAMOS printerassignment.
DEVICE ASSIGNMENT UTILITIES SUPERVISOR #15 87.12.04/11:34
DEVICE NAME LINES PRINT POSITION LINE
CHAR.
NO LOGICAL REAL PER PAGE FROM
TO DENS. DENS.
‑‑ ‑‑‑‑‑‑‑ ‑‑‑‑ ‑‑‑‑‑‑‑‑ ‑‑‑‑ ‑‑ ‑‑‑‑‑ ‑‑‑‑‑
0 $LPT $RPL11 =SPOOL 51
0 131
1 $RPL11 $RPL11 =SPOOL 72
0 131 6
10,0
2 $RPL4 $RPL11 =SPOOL 72
0 131 6
10,0
3 $RPL0 $RPL11 =SPOOL 72
0 131 6
10,0
4 $A A
5 $RPL2 $RPL11 =SPOOL 72
0 131 6
10,0
6 $CH $RPL0 =SPOOL 72
0 131 6
10,0
7 $BAD $LPT =SPOOL 51
0 131
8 $LABEL $LPT =SPOOL 9
0 131
9
10
11
12
PORT NO. :
15 FUNCTION :
CHA
LINES PER PAGE : ENTRY NO. :
MESSAGE:
In this way you connect a specific physical printer to a
logical printer for each screen.
Please note the
following details:
12.6.1. Logical
printername (e.g. $LPT).
This name have
to begin with the character $ and refers to the printer defined for the report.
This printer
driver does not have to be present in the operating system, e.g. $XYZ will be allowed.
You may select
names as $NARROW or $MIKE.
12.6.3. Physical
printername (e.g. $RPL2).
This is the
actual name of the printer to be used.
For this printer
you may create a control code table in the reportgenerator. You may enter
$RPL2,1 or $RPL2,2 eventually $RPL2,NARROW.
These physical
printers will all be treated as $RPL2 by the operating system, but you may
create different code tables in the reportgenerator for these. $RPL2,1 could be
assigned to single sheet feeder 1 on the printer, $RPL2,2 to the second feeder.
You may specify
a disc textfile as a physical printer.
12.6.5. Other
parameters (lines/chars).
These parameters
may be specifyed here or entered in the reportgenerator code table for the
printer.
For further
information please refer to the TAMOS manual.
12.7. Connecting
a report to a specific printer.
If the
programmer by installation of DMS.RAPGEN has specifyed more printers (in
DMS.RAPGEN.SYS) you will be able to enter a printer number when defining a new
report (0‑5). These printers are predefined by installation.
As a new
facility you may select any printer by entering the name on this instead of a
number, e.g. $RPL2.
Default will
always be $LPT.
12.8.1. Changing the
printer for a report.
By use of
function 7, amendment of report or letter, you are able to swith the report to
another printer. This is done by the PRINTER command in LINE,POS.
Figure 2 The PRINTER command in function 7.
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8
DATE:##,##,## * @L SUPPLIER LIST @L
* AS OF ##,##,## PAGE:#### 1
2
SUPPLIER NO. @0NAME @0CURRENCY CODE BALANCE 3
4
xxx @Xxxxxxxxxxxxxxxxxxxxxxxxx @x ## ‑‑‑,‑‑‑,‑‑#.## 5
6
7
8
9
10
11
12
13
14
15
16
17
18
LINIE,POS: PRINTER
PRINTER NR.? $RPL2 (CR=$LPT,1=$RPL4)
STARTPOSITION (CR=001) ? END
POSITION (CR=177) ?
LINES ON FORM (CR=051) ?
As when defining a new report you may now enter either a
printer number or a printer name in this place.
12.9. Selection
of printer by start of the report.
As a new
function you may select a specific printer when starting the report printout in function 9.
This is done in
the very last question asked: TESTPRINT (Y/N) and may be done in several
different ways:
1.
$RPL2 You
may enter a printername.
2.
P The
printerassignment for the port, on which the report is started, will be
displayed.
This might be the phantom port.
3. 0‑9 Selection
of a specific line from the printer assignment.
4. P0‑9 As
above.
5.
P$RPL2 As
function 1.
6.
Pxxxxx You
may select a textfile xxxxx.
This textfile must be present on the disc.
Figure 3 Selection of printer by start of report.
DMS.RAPGEN 11 SUPPLIERS LIST 9.....START AND GENERATE
REPORT
TODAYS DATE (DDMMYY) ? 300788
AS OF DATE (DDMMYY) ?
300788
INDEX:
START FROM ? 1:SUPPLIER
NO.
STOP AT ?
NR. LOGICAL PARAM PHYSICAL CHARS/INCH LINES/INCH
0: $LPT4 000131051 $RPL11
1: $RPL11 000131072 $RPL11 10 6
2: $RPL4 000131072 $RPL11 10 6
3: $RPLO 000131072 $RPL11 10 6
4: $A 0 0
A
5: $RPL2 000131072 $RPL11 10 6
6: $CH 000131072 $RPL0 10 6
7: $BAD 000131051 $LPT
8: $LABEL 000131009 $LPT
MINIMUM TOTAL LEVEL TO BE PRINTED (0‑
1, 0=WHOLE LIST) ? 0
START:( Y=PHANTOM , S=SCREEN ,
P=PRINTER , N=NO ) ? P
TESTPRINT / PRINTER SELECTION
(Y/N/P/$XXXX) ? 2 $RPL4
MESSAGE :
The TESTPRINT (Y/N) question will be repeated until you
answer N which causes the report to start.
12.11. Use of
control codes in the print image.
By use of
function 7, amendment of a report or letter, you may place control codes in
between the normal text as @L HEADING @L to get a heading elongated, fat,
underlined or like.
These control
codes may also be given when defining a new letter by use of function 6. They
may also be entered when you define a new report in function 1, here you will have to enter e.g.
@L instead of a fieldnumber.
Figure 4 Inserting control codes by use of function 7.
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8
DATE:##,##,## * @L SUPPLIER LIST @L
* AS OF ##,##,## PAGE:#### 1
2
SUPPLIER NO. @0NAME @0CURRENCY CODE BALANCE 3
4
xxx @Xxxxxxxxxxxxxxxxxxxxxxxx @x
## ‑‑‑,‑‑‑,‑‑#.## 5
6
7
8
9
10
11
12
13
14
15
16
17
18
LINE,POS:5
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8
#1 @X#2 @x #5 #6
A printer control code does not take space up on the
printed report line. You should note the display of a line with control codes
as e.g. @U will be displaced 2 characters to the right.
Also you should
note that the use of some control codes, as @L for elongated print, may change the print
positions for this line completely in respect to the other lines. If you use
such control codes you have to run the report to see the result.
Some control
codes as pitch/inch is only of sense if used for a complete line else the
printer will not be tabulating to the correct positions. It is possible to
change pitch in the middle of a line but possible you will have to make extra spacing on the
line and try to run the report a couble of times before this works out OK. The
number of lines/inch cannot be changed in the middle of a printout, this is
fixed for the complete report due to a restriction in the operating system.
You may refer to
the specifications of your printer in the NIXDORF manuals. These are normally
stated in the NIROS manuals, especially NIROS 5.1.4 upgrade manual may be
usefull.
12.13. Calculated
control codes (@X,@Y,@Z).
The control codes
@X,@Y,@Z and their associated @x,@y,@z has no function defined in the printer code table and
will not be printed unless you define these by calculations. You may make
conditional calculations of there codes so specific lines becomes underlined or
bold or printed in italies, cursiv etc.
12.14.1. Use of
calculated control codes in the layout.
You place
calculated control codes in the report as descriped above, just like normal
control codes.
Figure 5 Control code defined in function 1.
DMS.RAPGEN 11 SUPPLIERS LIST 1.....DEFINE NEW REPORT
1 SUPPLIER NO. 19 @FREE
2 NAME 20 @FREE
3 ADRESS 21 @FREE
4 TOWN 22 @FREE
5 CURRENCY CODE 23 @FREE
6 BALANCE 24 @FREE
7 @FREE 25 @FREE
8 @FREE 26 @FREE
9 @FREE
10 @FREE
11 @FREE
12 @FREE
13 @FREE
14 @FREE
15 @FREE
16 @FREE
17 @FREE
18 @FREE
1...,....10...,....20...,....30...,....40...,....50...,....60...,....70...,....8
+xx , ‑xx , Pxx =POSITION , Hxx =HEADING , Nxx =NO HEADING , D
=DELETE , T=TEXT
SUPPLIER NO. @0NAME
AAA
@XAAAAAAAAAAAAAAAAAAAAAAAA
LINE NO. 1 FIELDNO.? @x
MESSAGE :
12.14.3. The dummy
control code @O.
As a control
code as @X will not take space up on the line when printing the report, the
dummy control code @O will be inserted in the heading when you define a control code by use of function
1.
In this way the
screen display of the heading will be correct in respect to the lines and not
displaced.
12.14.5. Calculation
of control codes.
In function 4
calculations you are able to calculate on the control codes just like fields.
Fields are stated in calculation lines as e.g. #15, control codes as e.g. @X.
Such a
calculation usually always starts with zeroing the involved control codes, e.g.
@X="" and @x="" and is followed by a conditional setting of
the codes, e.g. If something LET @X=@L. You dont state the actual value of the code but instead you sets the value equal
to one of the defined codes. Usually always 2 codes is involved as @X and @x to
make the ON and OFF function on the
line. Otherwise the rest of the report print could become underlined or like.
You may make
combinations of more control codes by calculating e.g. @X=@L,@U, so the result will be both italies
and underlining of this.
However, the
length of a control code cannot exeed 16 characters in total (you may then use
2 codes).
Figure 6 Calculation of control codes.
DMS.RAPGEN 11 SUPPLIERS LIST 4.....DEFINE CALCULATIONS
1 SUPPLIER NO. 19 @FREE
2 NAME 20 @FREE
3 ADRESS 21 @FREE
4 TOWN 22 @FREE
5 CURRENCY CODE 23 @FREE
6 BALANCE 24 @FREE
7 @FREE 25 @FREE
8 @FREE 26 @FREE
9 @FREE
10 @FREE
11 @FREE
12 @FREE
13 @FREE
14 @FREE
15 @FREE
16 @FREE
17 @FREE
18 @FREE
@X=""
@x=""
IF BALANCE>1000 LET @X=@B
IF BALANCE>1000 LET @x=@b
CALCULATION:IF #6>1000 LET
@x=@b OK
(Y/N) ? Y
MESSAGE :
12.15. Definition
of printer code tables.
The printer
control code tables are defined with the program DMS.RAPGEN.PRT which may be
placed in the TAMOS selector or called from scope:
Figure 7 Start of DMS.RAPGEN.PRT
DMS.RAPGEN.PRT MAINTENANCE OF PRINTER TABLES
PRINTER DEFINITION NAME (PHYSICAL
NAME):$RPL2.NARROW
CODE TABLE IN HEXADECIMAL, DECIMAL
OR OCTAL (H/D/O)
MESSAGE :
First of all you have to enter: PHYSICAL PRINTER NAME:
You may enter $LPT
or $RPL2,2 depending on which printer code table you wants to amend. This code table must be
present on the disc.
Now you must
decide: CODE TABLE IN
HEXADECIMAL, DECIMAL OR OCTAL (H/D/O) ?
You can select the
most suitable notation for the code table. As the Nixdorf printer manuals usually is in octal
this will be the most common used.
12.16.1. The first
page of the printer code table.
Now the first page of the printer code table is
displayed.
This contains
the printer OPEN parameters which in details are descriped in the Nixdorf BASIC
manual.
Figure 8 First page of the printer code table.
DMS.RAPGEN.PRT MAINTENANCE OF PRINTER TABLEDS $RPL2.NARROW OCTAL
PRINTER ID.:
$RPL2.NARROW
LOGICAL PRINTERNAME: $RPL2
START POSITION (000): 000
END POSITION (131): 079
LINES OM FORM (072): 072
LINES/INCH (6/8):
CHARS/INCH (10/12/15/16.5):
PRIORITY (H/N/L/P): N
START PRINT AT SPOOL IN (Y/N): N
STORE DATA UNTIL SPOOL OUT
(Y/N): N
DIALOG AFTER PRINT OF FIRST PAGE
(Y/N): N
DIALOG BEFORE PRINT OF FIRST PAGE
(Y/N): N
NUMBER OF COPIES (00‑99): 00
PAPER CODE (00‑63): 00
REPORT NAME (Y/N): Y
MESSAGE :
The first field
PRINTER.ID is the physical printer name and the name of this table itself. If
you change this name you will get a copy of the original table stored with the
new name, it is connected to a different physical printer.
You may use the
normal TAMOS functions: ,@,END
and SPR
also the edit‑arrows may be used.
A printer code
table consist of 3 pages, if you exit from the last field on a page (or presses END) the next page is
displayed. If you use ; in the first
field on a page the previous page is displayed.
When you END the
last page the printer code table will be stored on disc. After this you can get
the table printed by entering Y upon the question: OUTPUT TO PRINTER (Y/N) ?
12.16.3. Spool
parameters.
On the first
page in the printer code table you can specify all the parameters to the NIROS spool system. It is
recommended to specify the parameters here instead of in the TAMOS printer
assignment as you are not able to give all parameters in TAMOS anyway.
Of cause the
NIROS spool system have to be switched on in the operating system if all of these parameters should be
in effect.
You find the
complete description in the TAMOS manual of the spool function but please note
the following:
12.16.4.1. Logical
printername.
Should normally
be the same as the stated physical printer name. The report program will open
this printer.
12.16.4.3. Start print at
spool in (Y/N)
If you enter N
here, the print will be held until the report is completed. This may especially
be usefull if you are running large sorted reports, as the printer will be free
for use by other users during the sorting.
12.16.4.5. Dialog
before/after print.
You can get a
testprint before the printout starts and keep the spoolfile until you confirm
the last page.
12.16.4.7. Number of
copies.
You can get up
to 99 copies of the report printout.
12.16.4.9. Paper code.
The spool system
will hold the print until the operator tells that this specific paper number is
mounted.
12.16.4.11. Report name
(Y/N).
If you place Y
here the report name will be displayed in the TAMOS spoolfile inquiery program.
12.16.5. Printer
control codes.
On the second
and third page of the code table you can enter the control codes in
hexadecimal, decimal or octal as your initaly choosed.
Figure 9 2 page of the printer table in octal notation.
DMS.RAPGEN.PRT MAINTENANCE OF PRINTER TABLES $RPL2.NARROW OCTAL
@X OPTION ON OFF
@ RESET: 376,230,200 376,230,200
A:
B BOLD: 376,236,261,201 376,236,261,200
C:
D MIDDLE‑STRIKED: 376,230,203,201 376,230,203,200
E 10 CHARS/INCH: 376,236,222,200
F 12 CHARS/INCH: 376,236,222,201
G 15 CHARS/INCH: 376,236,222,202
H DOUBLE HEIGHT: 376,230,207,201 376,230,207,200
I:
J:
K:
L ELONGATED: 376,236,224,201 376,236,224,200
M:
N NORMAL CHARS: 376,236,263
O:
P DRAFT PRINT: 376,236,265
Q NLQ: 376,236,264
R:
S SUBSCRIPT: 376,230,204,201 376,230,204,200
MESSAGE :
Each control code has an ON and OFF value which is
referred in the reportgenerator by
capital or lowercase letters, e.g. @L and @l for elongated ON and OFF.
Not all codes
requires an off value, in this case you just omit it. The @0 to @9 codes do
only have an ON value due to the lack of lower case digits.
Figure 10 Third page of the code table in hexadecimal
notation.
DMS.RAPGEN.PRT MAINTENANCE OF PRINTER TABLES $RPL2.NARROW HEX
@X OPTION ON OFF
T SUPERSCRIPT: FE,98,85,81 FE,98,85,80
U UNDERLINE: FE,98,82,81 FE,98,82,80
V UNIDIRECTIONAL: FE,9E,B2,81 FE,9E,B2,80
W DOUBLE WIDTH: FE,98,89,81 FE,98,89,80
X CALCULATED:
Y CALCULATED:
Z CALCULATED:
0 DUMMY:
1 FEEDER 1: FE,9E,96,81
2 FEEDER 2: FE,9E,96,82
3 FEEDER OPEN: 8A
4 PAPER IN: 8B
5 PAPER OUT: 8C
6:
7:
8:
9:
LINE FEED: 8D
FORM FEED: 8C
MESSAGE :
Each input field is 30 characters long it is you can
enter up to 7 control code values in octal notation. Is this not sufficient you
must use hexadecimal notation where up to 10 control code values can be given.
The text for the
specific codes is just descriping the normal use of the code. The code function
is determined solely by the control codes stated.
You may also use
the blank codes as @A for other functions as you which.
12.16.6.1. @ RESET.
Just after the
reportgenerator has opened the printer the ON value of this code will be printed. The OFF value is
printed just before the printer is closed.
A typical use is
selection of single sheet feeder number.
12.16.6.3. @A‑W
Control codes.
@A refers the ON
value, @A refers the OFF value.
12.16.6.5. @X‑Z
Calculated control codes.
You should not
define these in the printer table itself but leave them blank for the
reportgenerator calculations.
12.16.6.7. @0 The dummy
control code.
Also this code
should be left blank. It is used for screen display ajustment of the heading
when you define control codes in function 1 ‑ define new report.
12.16.6.9. @1‑9
Control codes.
These may be
used just like @A‑Z but just with an ON value.
12.16.6.11. Linefeed
character.
Only one
character, octal 215, should be stated here.
12.16.6.13. Formfeed
control code.
For a normal printer this code is 214 octal.
For single sheet
feeder printers you can enter codes for paper out, open feeder, select feeder,
paper in etc.
12.16.7. Printout of
the code table.
Figure 11 Printout of the printer definition table.
DMS.RAPGEN.PRT MAINTENANCE OF PRINTER TABLES
$RPL2.NARROW OCTAL
01:PRINTER ID: $RPL2.NARROW
02:LOGICAL PRINTERNAME: $RPL2
03:START POSITION (000): 000
04:END POSITION (131): 079
05:LINES ON FORM (072): 072
06:LINES/INCH (6/8):
07:CHARS/INCH (10/12/15/16.5):
08:PRIORITY (H/N/L/P): N
09:START PRINT AT SPOOL IN
(Y/N): N
10:STORE DATA UNTIL SPOOL OUT
(Y/N): N
11:DIALOG AFTER PRINT OF FIRST PAGE
(Y/N): N
12:DIALOG BEFORE PRINT OF FIRST PAGE
(Y/N): N
13:NUMBER OF COPIES (00‑99): 00
14:PAPER CODE (00‑63): 00
15:REPORT NAME (Y/N): Y
@X OPTION ON OFF
40:RESET: 376,230,200 376,230,200
41:A:
42:B BOLD: 376,236,261,201 376,236,261,200
43:C:
44:D MIDDLE‑STRIKED: 376,230,203,201 376,230,203,200
45:E 10 CHARS/INCH: 376,236,222,200
46:F CHARS/INCH: 376,236,222,201
47:G CHARS/INCH: 376,236,222,202
48:H DOUBLE HEIGHT: 376,230,207,201 376,230,207,200
49:I:
50:J:
51:K:
52:L ELONGATED: 376,236,224,201 376,236,224,200
53:M:
54:N NORMAL CHARS: 376,236,263
55:0:
56:P DRAFT PRINT: 376,236,265
57:Q NLQ: 376,236,264
58:R:
59:S SUBSCRIPT: 376,230,204,201 376,230,204,200
60:T SUPERSCRIPT: 376,230,205,201 376,230,205,200
61:U UNDERLINE: 376,230,202,201 376,230,202,200
62:V UNIDIRECTIONAL: 376,236,262,201 376,236,262,200
63:W DOUBLE WIDTH: 376,230,211,201 376,230,211,200
64:X CALCULATED:
65:Y CALCULATED:
66:Z CALCULATED:
67:0 DUMMY:
68:1 FEEDER 1: 376,236,226,201
69:2 FEEDER 2: 376,236,226,202
70:3 FEEDER OPEN: 212
71:4 PAPER IN: 213
72:5 PAPER OUT: 214
73:6:
74:7:
75:8:
76:9:
77: LINE FEED: 215
78: FORM FEED: 215
12.17. Fault on
the printer.
You should be
carefull when defining the control codes as the use of wrong control codes for
a printer may cause problems.
Possible you
will have to switch the printer completely off and on again for each invalid
code it receives and then give it an $PT (or F) command for formfeed. And if
your report are printing funny codes for each line and you have the spooler switched on you have now
quite a job to do.
A special
symptom of a control code error is that the printer may be opened quite OK by
the report program but any printout will cause error.
If you cannot
make the printer work you could try the following steps:
1. Try the LPT
(or F) command, this should work.
2. If not
switch the printer off and on and try 1 again.
3. Is
paper/ribbon OK.
Try to
remove it and reinsert again.
4. Switch the
screen off and on, and try LPT (or F).
5. Remove all
jobs in the spoolqueue if this is active.
Check if the
spooler is running by pressing the 'S' button.
6. Worst case:
Switch off the entire machine and restart it again (IPL).
12.18.1. Basic error
26 ‑ printer not ready.
This error may
occur from any printout following after an invalid control code.
12.18.3. Basic error
73 ‑ invalid open parameter.
This error may
occur if you have given spool parameters as 6/8 lines/inch for a printer
without this facility. The fields should be left blank for such printers.
Especially is
the END position for may printers restricted to 131 and error 73 may occur if
this is exeeded.
12.19. Installation
of DMS.RAPGEN printer control.
Niros 5.1
revision 5 or newer is required as older drivers is not able to support the
control codes correctly.
Only about 50 sectors disc space is required.
The installation
is done by COPYALL with the libr.list DMS.P.LIB.
Figure 12 The library list DMS.P.LIB.
LOGICAL UNIT :9 27.01.80 12:37:30
FILE NAME USER
BLOCKS PART./ APPL. VERS
SPC DATE HBA
* #REC. AREA FMVVTM INF
T
DMS.P.LIB 1 2
1 0 0 0 0
0 27.01.80 2267
C
DMS.P.LPT 1 3
1 0 0 0 0
0 27.01.80 2404
C
DMS.P.RPL2 1 3
1 0 0 0 0
0 23.01.80 2713
B
DMS.RAPGEN.PRT 1 20
0 0 0 0 0
0 27.01.80 24770
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
TOTAL : 28
1136 FREE BLOCKS ON LU NO. 9
The predefined code tables can now be copied with COPY to
the required physical driver names, e.g.
COPY
DMS.P.RPL3=DMS.P.RPL2
You should omit the $ sign from the printername.
If nessesary the tables may be amended with
DMS.RAPGEN.PRT for the specific printer types.
DMS.RAPGEN.PRT
may be inserted in the TAMOS selector by use of the interface program DMS.R
function 97:
00/DMS.R,970000
13.
12.
DMS.RAPGEN PC‑integration.
14.1.
Introduction.
On request from
several of our DMS.RAPGEN users we have now developed a modul for the
reportgenerator which simplifyes the transfer of data for a PC so this becomes an extremly simple
procedure.
The user just
selects a special printer for the PC report. This may be fixed for the report,
selected when starting the report or set by TAMOS printerassignment.
Several reports
may be transferred in one go. If a jobqueue like TAMOS spoolqueue is used a
textfile will be builded for each report containing the data to transfer.
The transfer is
started simply by typing PC in DMS.RAPGEN and DMSPC on the PC. These commands
will do all control nessesary for the BCU etc.
Dependent on the
selected printer the output on the PC will be placed as plain text or
LOTUS/CHART/VISICALC/MULTIPLAN format.
The
reportgenereator will split the coloums on the report and transform the text to
the described format without futher.
The user is able
to use all the functions in the reportgenerator for selection/calculation/sorting/totalling
and integration of up to 9 files in a PC‑report.
14.2.1. Structure.
When you select
a 'PC‑printer' the print of the report will be output to a textfile on
the disc instead of the printer.
These textfiles
will be numbered from 1 to 9999 so each run of a report will produce a new
textfile.
For each screen
which starts PC‑reports the reportgenerator will build a control
textfile. This textfile is a .BAT file for the PC and each report started from
this screen will be inserted in here with all transmission commands.
When the
textfile is started from the PC the transmission of all reports will take
place.
14.2.3.
LOTUS,CHART,MULTIPLAN and VISICALC.
The 'PC‑printer'
selected when you start a report may contain information that this report
should be used by e.g. LOTUS.
If so DMS.RAPGEN
will create a command in the PC control text file in order to transform the
textfile output from the report to the format required for LOTUS. Each field
printed on the report will result as a coloumn om the spreadsheat.
The
reportgenerator is supported with different PC‑printers for
LOTUS,MULTIPLAN (see later). You may even create your own PC‑printers for
other PC programs implemented in the PC EXPORT function.
14.2.5. The physical
PC‑transmission.
When one or
several reports which has been run should be transmitted in the PC you just
select the PC command in the reportgenerator menu and then shift to the PC and
select the DMSPC.BAT file.
By this the
control file builded for the reports started from this screen will be
transmitted. As soon as this .BAT file is on the PC it will be started.
This causes all
nessesary commands for the transmission (RDAC/RDMAIN) to be executed and after
this eventually creation of LOTUS format files by use of the EXPORT command.
When the
transmission is finished you will get an overwiew of the received reports on
the PC with one line for each report telling report number, name and start
parameters.
On the Nixdorf
8870 the reportgenerator will give the nessesary commands for the BCU transfer
queue. You may also specify that the print textfile on the 8870 should be
deleted after the transmission is completed and OK or you may select to do this
by yourself.
14.2.7.
Prerequirements.
DMS.RAPGEN PC integration requires operating system NIROS
5.1 or newer.
Of cause you
must have the NIXDORF PCLINK installed to be able to make the start and stop of
the BCU transmission queue as this program makes the 'talking' with the PC.
And the PC
should be connected to the 8870 and have the emulation programs for this.
Some disc space
on the 8870 may be required depending of how big and how many files you want to
transmit as the transmissions is done by making textfiles with the data. The
DMS.RAPGEN PC programs itself takes up 200 sectors on the disc only.
14.3. An example
of a transmission.
In the following
we will make a full example of transmission to a PC.:
14.4.1. Start/stop of
the BCU queue.
Before you can
start any transmission you have to have to start the BCU queue. This could for
instance be done when you power up the 8870 machine once a day.
Log on on
account id PCL (or PCLINK) and select program number 010101. Answer the 2 questions
here with 2 and Y.
Figure 13 Start of the BCU.
400/START BCU BCU‑AKTIVITETER COMET PC‑LINK 87.12.04
NORMAL=1/PHANTOM=2/STD.RECV=3 2
SHOULD BCU STAY ACTIVE AFTER
END OF JOB LIST ? Y/N . Y
MESSAGE:
When the 8870 sometime should be closed down for end of
run backup you have to stop the BCU again. This is done by selecting 010104 in
the same selector.
If the BCU is
not started when you select the PC command in the reportgenerator you will get
a message of this. You may then just start the BCU at this moment.
14.4.3. Creating the
PC report.
You define a
quite normal report in DMS.RAPGEN and this may of cause be printed:
Figure 14 Printout of a PC report.
DATE:14,01,87 * ARTICLE
LIST * AS OF 14,01,87 PAGE:
1
NO DESCRIPTION SALE PRICE COST PRICE DATE SUP ALT GR STOCK
0101 BOLT 2.00 1.50
1,01,87 271 270 0 100
0102 TRUCK‑HOPPER
20000.00 10000.00 1,01,85 100
0 9 0
0110 TRUCK‑WORK
100000.00 60000.00 15,12,86
123 100 2 1
1001 TRUCK‑WHEEL
1000.00 500.00 31,12,86 205
102 0
100
1005 TRUCK‑GEARBOX
2000.00 1500.00 1,06,86 100
0 1 10
2001 BOLT‑SPEC./AL
20.00 10.00 1,01,87 205 102 9
10
2002 BOLT‑SPEC./BR
25.00 10.00 30,07,86 205
102 9
200
You may use any
previously defined reports.
NOTE: If you
want to use LOTUS or other PC‑printers with automatic EXPORT command the
report must be defined with function 1 ‑ define new report and contain
one print time only.
14.4.5. Starting the
PC report.
The report is
started quite normal from the PC on 8870.
Figure 15 Starting the report.
DMS.RAPGEN 1 ARTICEL LIST 9.....START AND GENERATE
REPORT
TODAYS DATE (DDMMYY) ? 310788
AS OF DATE (DDMMYY) ? 310788
START FROM ? INDEX:
1:ARTICLE
NUMBER
STOP AT
?
2:MATCHCODE+RECNO
MINIMUM TOTAL LEVEL TO BE PRINTED (0‑
1 , 0=WHOLE LIST) ? 0
START:( Y=PHANTOM , S=SCREEN , P=PRINTER
, N=NO) ? P
TESTPRINT / PRINTER SELECTION
(Y/N/P/$XXXX) ? N $LOTUS
MESSAGE:
You just have to select a PC printer for the report.
This is done in
the very last prompt TESTPRINT/PRINTER by entering e.g. $PC or just PC as the $
sign may be omitted (it is a little difficult to find on the PC).
You may also
have fixed the report on a PC printer by use of function 7 amendment of report/letter
‑ with the command PRINTER at the prompt LINE,POS. You should enter $PC
as responce to the question PRINTER NO. (0=$LPT) here.
14.4.6.1. Several reports
and jobqueue.
You may start as
many reports as you need in this way. Also you may place these in the jobqueue
(by entering Q at the prompt START (Y/N/P/S).
Of cause all the
report programs must have fineshed before you can continue with the physical
transmission to the PC.
14.4.7. The physical
transfer to the PC.
In the
reportgenerator selector you enter PC:
Figure 16 Selection of the PC transmission function.
DMS.RAPGEN
1 ... DEFINE
NEW REPORT
2 ... DEFINE
SELECTIONS
3 ... DEFINE
SORTING AND TOTALLING
4 ... DEFINE CALCULATIONS
5 ... DELETE
REPORT
6 ... DEFINE
NEW LETTER
7 ... AMENDMENTS TO A
REPORT/LETTER
8 ... PRINT OF
DEFINITIONS
9 ... START AND
GENERATE REPORT
10 ... COPY
REPORT
ENTER
CODE:PC......
and you will now get the following screen:
Figure 17 Start of the PC transmission.
REPORT GENERATOR ENGLISH VERSION REPORT GENERATOR #15 87.12.04/13:05
TRANSMIT TO PC ON SCREEN 15 OF
REPORTS MADE BY SCREEN 15
NO.PC‑NAME SECTORS REPORT TODAYS DATE, AS OF,
START/STOP
01:DMS0009.NIX 0003 11 SUPPLIERS
LIST 30.07.88, 30.07.88, , Å ,
02:DMS0010.LOT 0003 11 SUPPLIERS
LIST 30.07.88, 30.07.88, , Å ,
03:DMS0011.LOT 0003 1 ARTIKEL LIST 31.07.88, 31.07.88, , Å ,
04:DMS0012.NIX 0002 1 ARTIKEL LIST 31.07.88, 31.07.88, 1000, 1999,
05:DMS0013.MUL 0003 2 STOCK LIST 31.07.88, 31.07.88, , Å ,
06:DMS0014.LOT 0002 3 SUPPLIERS 31.07.88, 31.07.88, , Å ,
DELETE THE NIXDORF 8870 TEXTFILES
(Y/N) ? Y
13:05 START NOW OR AT TIME (Y/N/HHMM) ? Y
MESSAGE:
Normally you should just press cr. 3 times to start the
transmission.
14.4.8.1. Reports created
from screen.
The first line
indicates that your PC is on Nixdorf 8870 port number 15 and if you just press
cr. upon the prompt all reports started from this screen will be transmitted.
Only if you started the reports from another screen you should enter this
screen number here.
14.4.8.3. Delete the Nixdorf 8870 textfiles (Y/N).
When the
transmission is completed without errors the textfiles will be deleted from the
8870 disc if you answer Y here as they are no longer needed.
If you enter N
the files will be kept and you should select a program later on to delete these
in order to free the disc space used. Refer to the next sections for this.
NOTE: If you
answer Y the reportgenerator will wait until the transmission is completed and
then delete the 8870 files.
If you answer N
the reportgenerator will finish its job after the control file is transmitted
and you may even use the 8870 system from the pc during the transmission.
14.4.8.5. Start now or at
time (HHMM).
You may enter a
time for the transmission start. This may be used if the reports is placed in a
jobqueue and this finish after you have left.
14.4.9. Starting the
transmission from the PC.
Now you should
return to the PC and type: DMSPC
and you just have
to wait until the transmission is completed.
14.5. The
transmitted files.
First of all the
reportgenerator will transmit the file lu/DMSPCXxx.BAT where xx is the 8870
screen number.
Then this file
is executed on the PC which causes one or more files with the name DMSxxxx.NIX
to be transmitted. xxxx is a number from 1 to 9999 given by the report
generator when a PC report is started. These files are plain text files usually
without report headings, formfeeds and totals.
If you have
selected a PC‑printer connected to a PC‑program like LOTUS for any
of the reports an EXPORT command will be issued for each of these after all
textfiles has been received.
This will create
the associated files DMSxxxx.LU on the PC. LU is either LOT,MUL,CHA or VIS
depending on the PC‑printer selected for the report (the 3 first
characters in the printer name).
14.6.1. Overwiew of
the transmitted files.
On the 8870 you
will get an overwiew of the files before the transmission starts.
When the
transmission is completed you will get this overwiew on the PC also.
You may get an
hardcopy of this from the 8870 with the PRT spooler command.
If you on the PC
with the printer on by typing control P before starting the transmission you
can follow the single steps on the PC‑printer.
The transmitted
control file DMSPCXxx.BAT contains all transmission commands. You may TYPE this
on the PC:
Figure 18 The control file DMSPCX06.BAT
DEL DMS0009.NIX
RDAC get DMS0009.NIX 8870
04/DMSPCX150009 %%
DEL DMS0010.NIX
RDAC get DMS0010.NIX 8870
04/DMSPCX150010 %%
DEL DMS0011.NIX
RDAC get DMS0011.NIX 8870
04/DMSPCX150011 %%
DEL DMS0012.NIX
RDAC get DMS0012.NIX 8870
04/DMSPCX150012 %%
DEL DMS0013.NIX
RDAC get DMS0013.NIX 8870
04/DMSPCX150013 %%
DEL DMS0014.NIX
RDAC get DMS0014.NIX 8870
04/DMSPCX150014 %%
RDMAIN S 1
EXPORT DMS0010.NIX ‑o
DMS0010.LOT ‑f wks ‑c 1:3,16:39,54:55,57:70
EXPORT DMS0011.NIX ‑o
DMS0011.LOT ‑f wks ‑c 1:6,18:50,52:67,62:63,66:76
EXPORT DMS0013.NIX ‑o
DMS0013.MUL ‑f mp ‑c
1:6,16:48,50:65,67:77
EXPORT DMS0014.NIX ‑o
DMS0014.LOT ‑f wks ‑c 1:3,14:37,39:48
ECHO 01:DMS0009.NIX 0003 11
SUPPLIERS LIST 30.07.88, 30.07.88, ,
Å ,
ECHO 02:DMS0010.LOT 0003 11
SUPPLIERS LIST 30.07.88, 30.07.88, ,
Å ,
ECHO 03:DMS0011.LOT 0003 1 ARTIKEL LIST 31.07.88, 31.07.88, , Å ,
ECHO 04:DMS0012.NIX 0002 1 ARTIKEL LIST 31.07.88, 31.07.88, 1000,1999,
ECHO 05:DMS0013.MUL 0003 2 STOCK LIST 31.07.88, 31.07.88, , Å ,
ECHO 06:DMS0014.LOT 0002 3 SUPPLIERS 31.07.88, 31.07.88, , Å ,
14.7. Standard PC
printers.
The following
'PC printers' is distribuated with DMS.RAPGEN:
$PC plain
text transmission, no export is done, heading and totals are included
$PCN as
$PC, no headings or totals
$LOTUS
as
$PCN, a .LOT LOTUS file is created
$MULTI
as
$PCN, a .MUL MULTIPLAN file is created
$CHART
as
$PCN, a .CHA CHART file is created
$VISI as
$PCN, a .VIS VISICALC file is created
14.9.
Retransmission after fault.
If the
transmission of any reason is not completed you may always select the PC
function again.
If you have not
run any report since last transmission you will be prompted:
NOTHING NEW TO
TRANSMIT, RETRANSMIT PREVIOUS (Y/N)?
Just answer Y to
retransmit once more.
14.10.1. Deleting the
textfiles only.
If you answer N
for retransmission you will anyway be prompted if the Nixdorf 8870 textfiles
should be deleted. You have the possibility just to delete the textfiles
without retransmission.
14.11. Manual
deletion of the 8870 textfiles.
If you have
desided not to delete the textfiles just after transmission to the PC or you
possible do not want to transmit some files anyway, the reportgenerator
contains a cleaning program so you can get ritt of these files and free the
disc space.
This cleaning
program is selected by entering: PCC
in the reportgenerator selector.
Figure 19 The PCC cleaning program.
REPORTGENERATOR ENGLISH VERSION REPORTGENERATOR #15 87.12.04/13:09
CLEANUP FOR SCREEN (CR= 15, 99=ALL
SCREENS) ? 15
FILE NAME USER
BLOCKS PART./ APPL. VERS
SPC DATE HBA
* #REC. AREA FMVVTM INF
T
DMSPCX15.BAT 48 4
3 0 0 0 0
0 31.07.88 63666
T
DMSPCX150009 48 3
2 0 0 0 0
0 30.07.88 20210
T
DMSPCX150010 48 3
2 0 0 0 0
0 30.07.88 20215
T
DMSPCX150011 48 3
2 0 0 0 0
0 31.07.88 20220
T
DMSPCX150012 48 2
1 0 0 0 0
0 31.07.88 63655
T
DMSPCX150013 48 3
2 0 0 0 0
0 31.07.88 63657
T
DMSPCX150014 48 2
1 0 0 0 0
0 31.07.88 63664
START CLEANUP (Y/N) ?
MESSAGE:
You can select cleaning for one screen only or for all
textfiles on the system.
You will get an
overwiew of all textfiles on the screen, cleaning will take place only if you
answer Y on the prompt CLEANUP Y/N.
14.13. A little
more technical information.
When a report is
started, DMS.RAPGEN will take the next textfile number from the file
00/DMS.PCQUEUE (4% in record 0, byteno. 0).
14.14.1. The print
textfile.
This number will
be used to form the name of the print output textfile on the disc:
lu/DMSPCXssxxxx
lu is
discno. from DMS.PCQUEUE (recordno. 0, byteno. 8, 4%).
ss is
the starting screen number.
xxxx is
the textfile number.
The naming of the
PC textfiles is in this way independent of the different reportgenerator
systems (companies). You may start the PC transmission with reports from
several different companies.
The structure of
the filenames makes it possible with the commands:
LIBR
@; lu/DMSPCX06 or
LIBR @; lu/DMSPCX
to get a list of files for one screen or for all screens
on the system.
This is in fact used in the PCC cleaning program.
14.14.3. The temporary
control file.
When a report is
started the file lu/DMSPCXxx will be builded. If this is allready present it
will be extended.
The
reportgenerator will place RDAC, EXPORT and ECHO commands in this file for
transmission.
14.14.5. The format
control file.
When you starts
the transmission by entering START Y in the PC function, the temporary control
file DMSPCXxx will be sorted to the final control file lu/DMSPCXxx.BAT and then
deleted.
All RDAC
commands will be placed first followed by an RDMAIN S 1 command, then all
EXPORT commands and finally ECHO of all report informations.
If the temporary
control file is not present when the PC function is selected you will be asked
if retransmission should take place controlled by the .BAT file.
14.14.7. The BCU job
queue.
The transfer is
started by placing a transmit/receive job for the screen in the BCU job queue
and then waiting until this job gets status completed.
The user is now
supposed to execute the DMSPC command on the PC it is the control file
DMSPCXxx.BAT will have been transmitted and now running on the PC when the BCU
job is completed.
DMS.RAPGEN will
now issue a second transmit/receive job for the BCU. This is used by the .BAT
file to receive the print textfiles.
If you have
entered N as responce to DELETE TEXTFILES the reportgenerator now finishes on
the 8870 and returns to the selector.
If the files are
to be deleted the reportgenerator waits for the BCU job to get the status
completed with no errors and the textfiles will be deleted.
14.14.9. Status during
the transfer.
During the
transfer no output will be done from the reportgenerator PC program to the
screen as this would cause the transfer to hold until the user withes the PC to
the 8870 system.
If you press
escape you will get a status on the message line of the transmission process.
14.15.
Installation of DMS.RAPGEN PC integration.
The PC programs
for DMS.RAPGEN should be copied to the same disc as DMS.RAPGEN is located on
according to the libr. list DMSPC.LIB:
Figure 20 The libr.list DMSPC.LIB.
LOGICAL UNIT :0 31.07.88 12:54:55
FILE NAME USER
BLOCKS PART./ APPL. VERS
SPC DATE HBA
HASH
*
#REC. AREA FMVVTM INF TOTAL
D DMSPC 48 24
0 0 0 0 0
1 29.07.88 162576
9640
D DMSPC.CLEAN 48
16 0 0 0
0 0 1
29.07.88 162675 15619
D DMSPC.CLEAN1 48
17 0 0 0
0 0 1
29.07.88 163050 27783
D DMSPC.LIB 48
4 3 0 0
0 0 0
29.07.88 101524
D DMSPC.MESS 10
22 21 0 0
0 0 0
28.07.88 162627 5821*
D DMSPC.MESSE 6
18 17 0 0
0 0 0
29.07.88 163126 34526*
D DMSPC.MESSY 6
18 17 0 0
0 0 0
29.07.88 162744 34526*
D DMSPC.SYS 48
19 0 0 0
0 0 1
29.07.88 163150 3034
D DMSPC.TEXT 6
4 1 0 0
0 0 0
29.07.88 105567 25077*
D DMSPC.TEXTE 48
4 1 0 0
0 0 0
29.07.88 37624 11288*
D DMSPC.TEXTY 63
4 1 0 0
0 0 0
31.07.88 154117 11288*
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
TOTAL : 150
47532
3573 FREE BLOCKS ON LU NO. 0
14.16.1. The
installation program DMSPC.SYS.
After this you
should select the installation program DMSPC.SYS either from scope or by
entering the command PCSYS in the reportgenerator selector. You will get the
following screen:
Figure 21 DMSPC.SYS installation.
REPORTGENERATOR ENGLISH VERSION REPORTGENERATOR #15 87.12.04/13:11
DISK (LU) FOR PC.TEXT‑FILES: 04
SEQUENCE NO. FOR PC‑TEXTFILES: 0014
OK (Y/N) ? Y
MESSAGE:
In this program you can state the disc number for the PC
printer text files and the current textfile number. You may select this program
again later to alter these informations.
The program will
create the file 00/DMS.PCQUEUE if this is not present and all the PC‑printer
code tabels DMS.P.LOTUS etc. Also a file for each screen DMSPCxx.BAT will be
created.
14.16.3. Installation
of one PC.
On each PC a small .BAT file is required to start the
transmission.
This file is
different for each PC as the 8870 port number for the PC must be stated in
here.
The installation
program DMSPC.SYS will create one file for each screen on the system named:
lu/DMSPCxx.BAT where
lu is
the disc given in DMSPC.SYS
xx is
the screen number
You should
transmit the apropriate file to the PC by issuing the command on the PC:
RDAC get
DMSPC.BAT 8870 lu/DMSPCxx.BAT %%
RDMAIN S 1
and then issue a
transmit/receive command on the 8870.
This may be done
by selecting the PC function in DMS.RAPGEN and just answer Y as screen number
or from the PCLINK selector.
Figure 22 The file DMSPC06.BAT.
ECHO OFF
DCU
DEL DMSPCX06.BAT
RDAC get DMSPCX06.BAT 8870
04/DMSPCX06.BAT %%
RDMAIN S 1
DMSPCX06.BAT
14.17. Resetting
the PC log.
The PC will keep a logbook of all transmissions.
You should reset
this after approximately 80 transfers to the PC with the command:
RDMAIN C 1
followed by a transmit/receive command on the 8870.
After the program has been running for a little while you
can stop it with control‑break and the logbook is reset.
14.19. DMS.RAPGEN
PC printer control.
A PC printer
works in the reportgenerator just like any other printer. It will be controlled
by a code table created by the program DMS.RAPGEN.PRT. You may refer to this
manual for detailed informations.
When PC
integration is activated (it is 00/DMS.PCQUEUE is present on the disc) you will
get an additional page 2 in this program:
Figure 23 DMS.RAPGEN.PRT printer control.
DMS.RAPGEN.PRT MAINTENANCE OF PRINTER TABLES CHART
OCTAL
PRINT HEADING & TOTALS (Y/N): N
LINES ON FORM: 7999
START PAGENO.:
PC INTEGRATION CODE
(Y/wks/mp/mc/dif): mc ‑r
1 2
TEXTFIL EXTEND FLAG (B/!/+): !
MESSAGE:
where you can give the following informations:
14.20.1.
12.10.1. Print heading
and totals.
This field
should be left blank for a normal printer. N causes a headings and totals to be
omitted from the printout and is used for LOTUS etc. transfers.
14.20.3.
12.10.2. Lines on form.
If you state
7999 here no form feeds will ever be issued.
14.20.5.
page \* arabic2412.10.3. Start pageno.
A start pageno.
for the report may be stated here.
14.20.7.
12.10.4. PC integration
code.
This field controls the EXPORT command.
If the field is blank or Y no export is issued.
If the field
contains anything else an EXPORT command will be issued as:
EXPORT input ‑
0 output ‑ f xxxxxx ‑ c coloums
xxxxxx will be the
text stated in the PC integration code and contains the format specification
for the export command and possible additional commands.
At the time
being the EXPORT function manages:
LOTUS
CHART
MULTIPLAN
VISICALC
If this command
set is extended you may just create a new PC printer with the new command.
The PC
integration code also controls the output meaning of the textfile. Blank causes
a normal printer name or textfile to be used, anything else will activate
numbering of textfiles as descriped in this manual.
14.20.9.
date \@ "MMMM d, yyyy"januar 10, 200812.10.5. Textfile
extend flag (B/!/+)
This field should be blank for a normal printer and ! for
a PC printer.
! causes a new
textfile to be builded and any existing file will be overwritten.
B builds a new
textfile and aborts the report if a textfile with this name is already present.
+ builds a new
textfile if this is not present. If the file exists the print will be added at
the end of this file.
14.20.11.
12.10.6. PC textfile
suffix.
The PC file will
be named DMSxxxx.ttt, ttt is taken from the LOGICAL printer name stated in the
second field of page 1 in the printer control code table.
15.
13. Print
image control.
In this release
(9.24) the generation of the print statements and the report print routines has
been completely changed to allow new facilities to be implemented.
This technical
change will not influent on any existing reports, these are fully compatible.
The user will notice that the print on screen has
changed:
Reports with
lines longer then 80 characters will no longer scroll the screen, 79 characters
of each line only are displayed. This can be controlled by the lamp key 3, if
you light R3 the complete line is displayed as in previous releases.
Letters which
are run on screen as inquiery programs will no longer display the leading text
in background by start and the fields only in foreground for each record. Both
leading text and fields will be displayed in foreground for each record as the
user is able to control the layout during the run.
16.1. Structure
of the print generation.
The print
statements generated by previous releases have contained direct printing of the
fields and heading textes to the printer generated as basic PRINT USING
statements.
TAB positions
were used whenever this could reduce the length of generated code which
increased speed on former operating systems.
From this
release the print is builded as a text line. This line will then be printed
with a simple print statements. All tabulation positions has been removed to
increase speed on the present operating systems and to enable manipulation with
the print string before print.
16.2.1. Improved
functions by this structure.
A number of
facilities has been improved by the change of print generation:
‑ Print
speed increased due to remove of TABs.
‑ Shift of
fonts was not controlled correctly by NIROS when the TAB positions were used.
‑ New ¬
functions to remove spaces on print lines.
‑ Quotes
are allowed as heading textes.
‑ Letters
may now contain more than 99 fields.
‑ Screen
display of long lines may be reduced to 8 characters avoiding scroll.
‑ A longer
TOTAL text do not move the rest of the line to the right.
‑
Delimiter characters in string fields can not any longer disturb the print
layout.
16.3. New print
image control.
The print
generation of heading, lines and totals were fixed in former releases it is the
heading would always be the same lines for a report as a heading print
subroutine were generated.
In this release
a subroutine is generated for each special print line seperately. A print
routine printing a subset of these controls e.g. the heading consists of line 1‑4.
16.4.1. New functions
by this structure.
‑ The
user is by the LINE command in function 7 able to change which lines are to be
printed.
‑ By the
calculation statements PRINT (1‑4) the user is able to print any line at
any point.
‑ By
PRINT (L=7) the user is able to have different line layouts on a report.
‑ The
user is able to take over the complete control of the printing by the
calculation section PRINT
(as
FIRST/NORMAL/AFTER).
‑ This
enables printing of statements, invoices etc. without use of READH.
16.5. Print line
control.
When a new
report is defined DMS.RAPGEN determines which lines should be used for heading, normal print lines and
totals.
On a standard
report defined with one field line the heading is fixed to line 1‑4 and
the print line (and total line) will be line 5.
In previous
releases of DMS.RAPGEN you have not been able to amend this line setting in
other way than defining a new report.
16.6.1. The LINE
command.
In function 7
(amendment of a letter or report) it is now possible to use the new LINE
command to change these informations.
When you in
LINE,POS issues the LINE command, the screen will scroll up one line and you
get a menu on the lower part of the screen:
Figure 24 The LINE command.
PRINT ZERO FIELDS (Y/N) ? Y
NEW PAGE LINES BEFORE END OF
PAGE: 3
HEADING PRINT LINES: 1‑5
NORMAL PRINT LINES: 7‑7
TOTAL PRINT LINES: 7‑7
DETAIL(READH) PRINT LINES: 6‑6
16.6.2.1. Print zero
fields.
You are able to
change the zero supress option which you defined when creating the report.
Note that it is
now also possible to define zero supression on letters even if this question is
not asked when defining a new report.
16.6.2.3. New page lines
before end of page.
DMS.RAPGEN will normally leave 3 lines free as footer on
any page.
When you define
the number of printlines (eg.66) by creating the report, you may enter 66,5 to
set the number of footer lines to 5.
You may change
this setting here.
16.6.2.5. Heading print
lines.
This is the
range of lines printed whenever the report shifts to a new page.
On this and the
following promts you may enter a new range by typing xx‑yy. It is only possible to enter
one range of lines at each promt.
16.6.2.7. Normal print
lines.
You are now able
to extend a report defined as printing only one line to print several lines for
each record.
16.6.2.9. Total print
lines.
The report
generator will normally use the same lines for total printing as for printing
normal records on the list.
The left part of
the first total line will be replaced by the total text. Any field in this
positions will be overwritten.
You may now
specify a total line print different from the normal lines, it is the total
lines may have a different layout.
Note that zero supression never will be used
when printing totals.
16.6.2.11. Detail (READH)
print lines.
This option
appears only if you have used the LINE command when defining the report with
function 1.
The range of
lines given here will be printed whenever the READH (xx) statement in the
calculations signals a change of record, thus acting as a heading for the normal print lines.
16.6.3. Letters.
If the report is
defined as a letter, only the options print zero fields and normal print lines
will appear.
It is a new
facility to be able to supress zeroes on the letter‑type reports.
16.6.5. Inquiery
programs.
If you intend to
use the letter as an inquiery program only with no special printer control you
may specify: PRINT ZERO FIELDS (Y/N): YS The S option as second character will
make the report generator optimize the screen print rather than the printer
output (in fact the old optimization for letters on screen will be used).
You will still
be able to run such a letter as a print program but none of the new print image
control functions can be used for the report.
16.7. Controlling
the print by calculations.
You have the
possibility to control the printing from the calculation module (function 4) by
the nowly introduced PRINT command.
The PRINT
command can have 3 different functions:
1. You may set
up which lines should be used when the report prints anything.
2. You can gain
complete control of the printing by a seperate routine.
3. You may
directly print lines.
It is possible to make a combination of function 1 and 3.
The print
commands given in the calculations will always have priority over the report print lines (given in
function 7 with the LINE command) and overwrite these.
16.8.1. Setting lines
to be printed.
If you as a
calculation enters: PRINT (L=7‑8) the report lines 7 and 8 will be
printed for this record.
The print is not
executed directly but after the calculations, selections etc. The statement will
only set up which lines should be printed at a later point.
The L= indicates
the following lines should be used when the next report Line should be printed.
You may use H=,
N=, T= and D= for Heading, Newpage, Totals and Detail (READH) lines.
16.8.2.1. Line
specifications.
You may give a
simple line as in PRINT
(L=7)
or a range of
lines as PRINT
(L=7‑9)
or any
combination hereof: PRINT
(L=7,15‑20,9,11‑12)
16.8.2.2.1. +xx skip a number
of lines.
You can skip a
number of lines by a +xx PRINT
(L=7,+2,8)
will print line 7, skip 2 lines and then print line 8.
16.8.2.2.3. :xx skip to line.
You may also
skip to a specific line by PRINT
(H=:10,1‑3)
where :10 makes
the report generator skip to line 10 on the paper.
Note: If you
define a :xx line and xx is lower than the current line on the paper, a new
page will be issued.
The newpage will
normally always contain a :1 in order to skip to line 1 on the next page.
16.8.2.3. PRINT (L= line
specification.
The L= will
change the print lines for the next printing of a record.
16.8.2.4.1. Conditional line
printing.
You may use the
IF command together with the PRINT commands to determine which lines should be
printed dependent on a record type:
IF
#15=1 PRINT (L=7)
IF
#15<>1 PRINT (L=8‑9)
16.8.2.5. PRINT (T=total
line specification.
PRINT
(T=17)
will set the next
total printout to use line number 17.
This function
will normally be usefull only together with calculated totals on a report.
Note that the
total text (GRANDE TOTAL or like) will be printed only on the first total line
specifyed in function 7 with the LINE command. If you change the total line
printing the control of such a text must be done by yourself.
16.8.2.7. PRINT (D=detail
(READH) line specification.
This option is
only usefull if you have a READH statement in the calculations of your report.
The READHeading
works like the normal read, but whenever the key is changing a heading is
printed.
PRINT
(D=+2,7) will set the lines for such a heading.
When defining a
new report with function 1 you will normally use the LINE command here to tell the
reportgenerator which lines should be printed when you issue the READH command.
If you take over
the control by the calculations PRINT (D= and PRINT (L= you do not have to
define the report with the LINE command to use READH.
16.8.2.9. PRINT (H=
heading line specifications.
PRINT (H=1,3)
will define the heading of the report to consist of line 1 and line 3.
The PRINT (H=
acts different from the other print options, as it is only meningfull to issue
this once.
The heading will
be fixed at the very start of the report, just as it has been a FIRST calculation. If you issues
several PRINT (H= on a report, even conditional by IF, the last one encountered
will be used for the complete report.
You may use the PRINT
(H= to leave extra blank lines at the very top of the page, eg.
PRINT
(H=+3,1‑4)
You may switch
off all headings completely by: PRINT
(H=)
16.8.2.11. PRINT (N=
newpage specification.
With this option
you specify the action the reportgenerator should take upon the end of page
condition.
The line
specification with this option must follow a special syntax:
PRINT (N=3,:1,1‑4)
The number
immidiatly following N= is the number of lines before end of page. If the form
height is 66 the PRINT (N=3 will give a new page at any attempt to print over
line 63.
The PRINT (N=
must contain a :1 or :xx specification to actually skip to the next page.
If you do not
follow this syntax unpredictable results such as no page control at all or repediatly page shifts may
occur.
16.8.3. Footer lines.
You may specify
any number of footer lines in connection with the PRINT (N= , eg:
PRINT
(N=6,:62,10‑11,:1,1‑4)
6 lines before end
of page (line 60) wou will skip to line 62 and print the lines defined as 10
and 11, after this the heading lines 1‑4 are printed on the next page.
Note that no
page control is in effect when the reportgenerator executes the newpage
condition, you may print to the next page causing a double form feed to be
issued.
16.9. PRINT
gaining complete control.
If you in a
calculation statement issue the PRINT command alone, the calculations you enter
hereafter will replace the normal print routine of the report.
If you do not
issue any other print statements hereafter, nothing exept the very first header
will be printed on the report.
The PRINT
command works just like the FIRST, NORMAL, AFTER and LAST command, it is the
calculations are performed in a special point of the report.
You may in the
following control printout of statements or like report by START/NEXT/REPEAT
loops, see below.
If you have
issued the PRINT command any PRINT (L= commands will be of no effect as you in
this routine takes over the complete control of the printing.
The print
routine is of cause located in the report after any other defined calculations
and selections and will not be invoked during the sorting phase of a report.
16.10.1. PRINT (x‑y)
print lines.
The calculation
statement: PRINT
(7)
will print the
line 7 on the paper at the point when it is issued opposite the former PRINT
(H= etc. which just specifyes which lines should be printed at a later point.
The calculation
statement PRINT
(L=7‑8)
will have exactly
the same function as PRINT
PRINT
(7‑8)
as the first will
tell the print routine to print line 7 and 8, the second will take the complete
control and print the same lines.
16.10.3. Combinations
of print options.
You may specify
several print options in one print command, eg:
PRINT (7‑9,N=3,:1‑3)
which prints line
7 to 8 and if a new page condition occurs 3 lines from end of page line 1‑3
is printed as heading on the next page.
A combination
as: PRINT (L=7‑8,N=3,:1,1‑3)
is also allowed as
a shorter form of writing the two statements
PRINT (L=7‑8)
PRINT (N=3,:1,1‑3)
16.10.5.
START/NEXT/REPEAT used for statements.
If you define a
report (or a letter) on the debtor main file DK you can list the transactions
from DB in the print section of the report.
All normal calculations, selections and sorting are done
on the main file.
The calculations
could be:
PRINT take
over print control
PRINT (:1,1‑20) print
letterhead
START (DB) initialize
transaction read
NEXT (DB) read
next transaction
PRINT (21) print
transaction line
REPEAT
(DB) loop
over trancactions
PRINT (:50,30‑40) print
footer
The calculations
could be extend to a little more complex version:
PRINT
#PP=0 Start
pageno.1 new statement
PRINT (:1,1‑20)
#53=0 Zero
total free field
START (DB)
NEXT (DB)
#51=0 Zero
debit/credit couloms
#52=0
IF DB#8<0
LET #51=DB#8 Debit/credit
#53=#53+DB#8 Totalize
PRINT
(21,N=20,:60,61‑62,:1,1‑20,22) set continue heading
REPEAT (DB)
PRINT (:50,30‑40)
16.11. PRINT in
LAST calculations.
You may issue
PRINT commands in the LAST section of a report to print a traiting page for the
report.
This may contain
totals collected by calculations for a letter or may simply be a blank page to
make is easyer to seperate the output.
16.13. Contracting
print lines with ¬.
If you in a
letter text prints a field containing a name this will be of fixed length, eg.
32 characters.
If the name is
OLE 29 characters will be blank before the next text starts.
Placing a ¬
after the field in the report definition causes the rest of the line to be
moved to the left close to the printed field.
#3 HAS
PAID prints as
OLE HAS
PAID
#3 ¬ HAS
PAID prints as
OLE HAS PAID.
16.14.1. Contracting
print lines with ¬¬ .
You may also
wish to move numeric fields close to a text, even if the numeric field has a
large format (eg. 9,2).
HAS PAID
#24 KR. prints as
HAS PAID 100.00 KR.
HAS PAID ¬¬#24 KR. prints as
HAS PAID
100.00 KR.
16.14.3. ¬> function to end the ¬ function .
In function 7
fields are contracted using the function ¬ (See Chapter 13.7). This
function can be ended using the ¬> function. An example
could be the line
#3 ¬HAS
PAID ¬>DATE:
#PD prints as
OLE HAS
PAID DATE: 31.03.92
16.15. R3 ‑
print long screen lines.
If you run a
report on screen, 79 characters only will be displayed of each line.
If you light
lamp key R3 the complete lines will be displayed.
16.17. PRT command
on letters.
When you are
running a letter‑type of report on screen it is possible to get a print
of the complete letter by entering the keyword PRINT.
In this release
also the standard command PRT is accepted, as well as pressing the PRT key (as
defined in TF.PARAM).
16.19. New commands
in function 7 - amendment of letter or report.
When you are
positioned the LINE,POSITION field in function 7 the following commands are
available:
NAME Amendment of report name (Copy of report is
no longer nessasarry).
USER
Amendment of the username attached to the current report.
INS/DEL Can be
used as the functions (IL/DL) to insert/delete lines. Input concerning number
of lines will take place.
FORMAT Can also be used to change the names and
formats of free fields.
PUT Saves the report definition in a text
file. With
GET a text file can be loaded (partial) into
another report.
R1 If lamp 1 is turned on text can
continually be entered. Return to the LINE,POSITION field has to done by entering END.
16.21.
13.11. PRINTER Controlling up to 9 prints from one report.
With this function you can print several layouts at the
same time on different printers from one report.
This can be used
if large sets of data has to be accessed to produce multiple prints, where all
prints are based on the same data set. This saves a good amount of time
accessing the data.
A typical
example is reminder letters where a log containing the written remainder
letters are requested. Of course this could be resolved by building a seperate
remainder-file and print from this.
Another example
is a simple form of sorting where letters are required divided in smaller
portions, each one giving a print.
RAPGEN can use
up to 9 printers at the same time, meaning that it can produce 9 different
prints in the same report. It is only possible to use the special printer
control codes with the @-control character.
16.22.1. Definition of
(opening) extra printers.
An extra printer
has to be defined (opened) one time with is done by inserting a FIRST command:
FIRST
PRINTER
(2,"$LPT")
The printers are
numbered as 1 for the main printer and up to no. 9. The same printer $LPT can
be opened several times if the spool system is used because then the extra
prints just waits in line. With:
PRINTER
(2,"A")
the print is directed to a text file. RAPGEN will insert
DMS- in front of the name given to avoid any conflict with files named A. This
means that the text file will be named DMS-A. The text file is default placed
on the same disk as RAPGEN is installed. But if 7/A is given as text file will
be saved on disk 7 - 07/DMS-A.
If for example
printer 2 is used but failed to be opened, RAPGEN will simply save the output
in the file DMS-2.
In connection
with opening an extra printer it is possible to assign parametersto it:
PRINTER
(2,"$RPL0","000131072")
giving start
position 0, last print position 131 and 72 lines per page.
If the report is
printed on screen the only result will be the one on printer 1. The other
prints will still be outputted to the attached printer.
16.22.3. Divide print
on two printers.
With PRINTER(2) you can redirect all print to printer
number 2. With the follwing calculation lines the print is devided in two.
Figure 25 Opdeling af liste på to printere.
FIRST
PRINTER
(2,"A") /* OPEN
PRINTER 2
NORMAL
PRINTER (1) /* NORMAL PRINT ON PRINTER 1
IF #7>=2 PRINTER (2) /* PRINTER 2 IF ARTICLE GROUP >=2
Using
PRINTER(2,"1-4","5","5") the print is redirected
to printer 2, setting the header-lines (H=1-4), the print-lines (L=5) and
finally the total-lines (T=5).
16.22.5. Letter with
journal.
To get automatic totals on the journal you have to define
a journal with a letter. First you define an ordinary report with function 1
giving the journal. Then the letter is inserted using function 7. For example
using line 10 and forward on the layout. Finally the report needs a few
calculations to control the print:
Figure 26 Letters with journal.
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8
DATE ##,##,## -JOURNAL WITH LETTER-
PR.##,##,## PAGE ####
1
---------------------------------------------------------- 2
CREDITOR NAME
CURRENCY AMOUNT 3
========================================================== 4
xxx
xxxxxxxxxxxxxxxxxxxxxxxx ##
---,---,--#.## 5
6
7
8
9
Copenhagen ##,##,##
10
Dear Sir.xxxxxxxxxxxxxxxxxxxxxxxx 11
12
You need to pay kr.
---,---,--#.##. 13
From. 14
Chris Hanson. 15
....,....!....,....!....,....!....,....!....,....!....,....!....,....!....,..
1 PRINT
2 PRINTER (2)
3 PRINT (:1,10-20)
4 PRINTER (1)
5 PRINT (5)
16.22.7. Print on two
printers at the same time.
PRINT
(L=>1,5,>2,15)
sets the normal printline (L=) to line 5 on printer 1 and
line 15 on printer 2. This results in print on one line on both printers at the
same time.
>printernumber.1-9 can be used with any print command syntax,
PRINT(H=, L= N=, T= and direct print. It makes it possible to set different
headers and totals for two printers.
In the example
below a report is defined with two different header and print lines. The
calculations then sets the
header and print lines for both printers.
Figure 27 Printing two concurrent lists.
DATE ##,##,## -MULTIPLE PRINTERS-
PR.##,##,## SIDE ####
------------------------------------------------
NO NAME SALE PRISE PUR. PRICE
NO NAME PUR. PRICE DATE CREDITOR
================================================
xxxx xxxxxxxxxxxxxxxxxxxx ######.## ######.##
xxxx xxxxxxxxxxxxxxxxxxxx ######.## ##,##,## xxx
FIRST
PRINTER (2,"A")
/* OPEN SECOND PRINTER
PRINT (H=>1,1-3,5,>2,1-2,4-5)
/* DIFFERENT HEADERS ON PRINTERS
PRINT (T=>1,6,>2,7)
/* DIFFERENT TOTALS ON PRINTERS
NORMAL
PRINT (L=>1,6) /*
ALWAYS PRINT ON PRINTER 1
IF #3>100 PRINT (L=>1,6,>2,7)
/* IF PRISE >100 ALSO ON PRINTER 2
DATE 27.09.92 ‑ 1 ‑
PR.27.09.92 PAGE 1 DATE 27.09.92 ‑ 2 ‑ PR.27.09.92 PAGE 1
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
NO NAME SALE PRICE PUR. PRICE NO NAME PUR. PRICE DATE CREDITOR
===========================================
===========================================
0101 CHOCOLATES 2,00 1,50
0102 LARGE MACHINE 10000,00 1.01.85 100
0102 LARGE MACHINE 20000,00 10000,00
0110 AUTOBUS 60000,00
15.12.86 123
0110 AUTOBUS 100000,00 60000,00
1001 MONEY 500,00
31.12.86 205
1001 MONEY 1000,00 500,00
1005 SMALL MASHINE 1500,00 1.06.86 100
1005 SMALL MACHINE 2000,00 1500,00
2001 CREDITCARD 20,00
10,00
72021,50
2002 ID‑CARD
25,00 10,00
7 TOTAL 123047,00 72021,50
Note that the total on the second print contains ALL
articles, but actually printed on one of the two printers. If you require
seperate totals use calculations and print free fields instead.
17.
Subfunctions.
Subfunctions in
DMS.RAPGEN replaces the former used LOAD functions in the calculations which
could be rather complex to use. However the LOAD function may still be used in
the reports.
A subfunction is
used in the calculations as a function with a number of parameters:
#47 = CHEX
(#48,#49)
(CHEX is
calculation of checkdigit modulus 11) instead of the former T3=...,T2$...,LOAD
CHEX, #47=T2$.
DMS.RAPGEN will
translate the single line with the subfunction call to the more complex form in
several lines and threat the function as a BASIC subroutine. The name
subfunction comes from subroutine internal but function from the user point of
view.
By this it is possible to extend the
functions available in DMS.RAPGEN nearly unlimited and with very complex
functions which in earlyer releases would require many lines to invoke. Also
you may write your own subfunctions specialized for your system without doing
changes in DMS.RAPGEN itself.
Subfunction may
also be used in the selections of a report and more subfunctions may be used in
the same calculation statement as:
IF
WORKD(#DD,#15>120 LET #63=NUMBER(#17)
A subfunction
can control nearly everything in a report eg. start/stop key values, writing on
floppyfiles, password protect the report or do complex calculations specific
for this installation.
To avoid
conflict with present as well as coming BASIC function a subfunction name is at
least 4 characters and letters only, not digits.
The installation
manual descripes in detail how a subfunction is written. DMS.RAPGEN will of
course be extended with new subfunctions as different requirements/idears comes
from the users. Installation of new subfunctions is just a copy of the small
subfunction textfiles to the system.
18.1. CCODE
Getting DATAMASTER fieldcheck text.
#50 = CCODE
(#71,"LE07")
The function
updated the textfields #50 with DATAMASTER's checkcode text defined for file LE
field 7. The value in #71 is used to get the correct value from the DATAMASTER.
18.3. CHAIN Start
the next report.
With the CHAIN
subfunction you may create a chain of reports. The calculations:
LAST
CHAIN
(13)
will cause report
number 13 to be started after this report has been finished.
The start
parameters of the next report(s) will be the same as for the first report
(dates, start/stop key etc.) unless you specify the values in the CHAIN.
CHAIN (13,010190,310390)
starts
the report with the given todays and as of date.
CHAIN
(13,,,4711,4712,3) chains with the same dates but with start/stop key
4711/4712 and first data field 3.
You may also use
CHAIN
(13,,,SORT) to
use the same sort sequence on the next report as created in this report (see
sorting).
18.5. CHECK
calculation of OCR checkdigit.
This routine
calculates a checkdigit modulus 10 wheighted 212121.. and replaces the former
used LOAD CHECK routine.
If you have got
a textfield #47 16 characters long and you have placed the customer number
and/or invoice number in the first 15 characters, the 16'th. digit can be
calculated as:
#47=CHECK(#47)
18.7. CHEX
Calculation of checkdigit modulus 11.
This subfunction
corresponds to the CHECK function, but the checkdigit is calculated modulus 11
and you may specify the weights for each digit.
The calculation
#47=CHEX(#47,"01020304")
will as CHECK add the checkdigit as the last character in
field 47.
The 2.parameter
"01020304" gives the weightes for each digit. 2 digits in the
parameter corresponds to one digit in the field.
See also the
description of the LOAD CHEX routine.
18.9. COPIES
Number of print copies, print priority and paper code.
With COPIES (1)
you will get an extra copy of the print. The maximal number is 99.
When RAPGEN
detects COPIES the printer will be closed and then reopened due to the fact the
spool system controls the number of copies. This doesn't effect the performance
of the print. In order not to open and close the printer more than once, giving
several jobs in the spool queue it is adviced to insert the command with the
FIRST command:
FIRST
COPIES (3)
giving the total of 4 sets of the print.
It is however
possible to let a field control the number of copies:
AFTER
COPIES (#17)
giving the number of copies equal to the value in #17. Be
aware that the operating system can be limited on the number of print-jobs
waiting in the spool queue, before forcing print-out.
In connection
with COPIES you can also specify print-priority for the print.
COPIES
(0,"S") suspends the print
until started in TAMOS-spool queue.
COPIES
(0,"H") gives high priority,
is printed before the others.
COPIES
(0,"N") is normal priority.
COPIES
(0,"L") low priority,
printed after the others.
COPIES
(0,"P") direct print, is not
controlled by the spool system.
A paper code can
also be parsed to the TAMOS-spool system. For example COPIES (1,,7) notifies
TAMOS-spool system that paper no.7 is to be used (Refer to TAMOS manual).
18.11. EDIT
editing of customer numbers or other numbers.
This subfunction
can be used to edit long numbers without using complex calculation lines.
The EDIT
function may be compared with the BASIC PRINT USING function but with some
special facilities.
The simple form of EDIT is:
#47=EDIT(#48)
by which the
numeric field 48 is transferred to a textfield field 47. If field 48 contains
the value 15 field 48 becomes "15".
As 2.parameter
for EDIT you may specify a mask as for PRINT USING which is illustrated by some
examples:
#47=EDIT(#48,"
")
if field
48= #47 will be:
EDIT
(12345,"&&&‑&&&") 012‑345
EDIT
(123,"###‑&&&") 0‑123
EDIT
(12300,"###‑###") 12‑3
EDIT
(123,"EG:#AND##") EG:1 AND
23
EDIT
(123,"&&&/&&") 001/23
By & you gets a digit or 0 in this position.
By # you gets a digit or blank if zero.
Any sign and decimals in the field will be ignored.
The digits are placed from right to left in the mask when
a # or & is sconned. All other characters is kept unchanged.
18.13. EXPORT
writing to external files.
With this
subfunction you can build an external file from a report and use this for
transmission to other systems.
The files can be
created as either textfiles, formatted files or contigous files for
transmission to PC or output to tapes/floppydisc.
The files are created in external readable form.
The EXPORT
subfunction is an example of an extremly powerfull routine and you will notice
it takes a little while to load the function when you referr it first time in
the calculations as more than 150 statements are loaded.
The simple form of EXPORT is: EXPORT ("1‑10")
which will
create a textfile named 0/DMS‑OUT‑ containing the fields 1‑10
in a good PC format, it is the field is seperated by comma and alphanumeric
fields are quoted.
If the article
file from the manual is exported in this form you will get a file as:
Figure 28 PC output with EXPORT.
"0101","BOLT",1,1.5,10187,"271",,100,270
"0102","TRUCK‑HOPPER",20000,10000,10185,"100",9
"0110","TRUCK‑WORK",10000,60000,151286,"123",2,1,100
"1001","TRUCK‑WHEEL",1000,500,311286,"205",,100,102
"1005","TRUCK‑GEARBOX",2000,1500,10686,"100",1,10,,
"2001","BOLT‑SPEC./AL",20,10,10187,"205",9,10,102
"2002","BOLT‑SPEC./BR",25,10,300786,"205",9,200,102
This layout is readable from most PC textedit and
spreadsheet programs and has the advantage that the file is as small as
possible giving a minimum of transmission line. The article file from the
manual is 42 sectors and the above shown textfile is just 1 sector it is less
than 512 characters.
18.14.1. The parameters
for EXPORT.
The EXPORT
subfunction has up to 5 parameters which you may state if you want special
function or omit if nessesary, eg:
EXPORT
("1‑10","FILE",80,11111,1) where the parameters are the following:
18.14.2.1. Fields.
Fields eg.
"1‑10".
Here you state
the fields you want to transmit in the order you want these eg. "1‑2,9‑10,8,3‑7".
All the fields
from the main file and the free fields can be used. With fieldno. 0 you get the
main filekey.
Fields from
secondary files must be moved to the free fields before these can be exported.
Fieldno. 0 can
be used for the KEY field.
18.14.2.3. Filename.
Filename eg.
"FILE".
This is the name
of the output file.
If the parameter
is omitted the filename will be 0/DMS‑OUT‑ the disc lu being the
same lu as DMS.RAPGEN itself.
"FILE" creates
0/DMS‑OUT‑FILE
"7/FILE" creates 7/DMS‑OUT‑FILE
"$LPT" may
be used for direct printer output
"‑" directs
the output to the screen
If the file is
present the old file will be deleted.
Due to security
reasons only files prefixed DMS‑OUT‑ can be created by EXPORT.
18.14.2.5. Record length
and file type.
If you omit this
parameter or state it as 0 you will get a textfile with variable record length
for use for transmission to PC or like.
80 will create a
socalled formatted file with fixed record length of 80 characters but with a
variable number of records. This filetype can be output to tape/floppydisc on
most systems.
‑80
creates a contigous file with fixed record length of 80 characters and fixed
number of records matching the number of records output from the report.
1 or ‑1
will create a formatted/contigous file with a record length equal to the total
field length.
This last
function is a little more time consuming as DMS.RAPGEN first has to create a
textfile (0/DMS‑OUTxx where xx is the screen number) and when the number
of output records is known this file is copied to the contigous output file.
Dependent on the operating system it may be nessesary to use this filetype for
output to tape/floppydisc.
18.14.2.7. Output
specifications.
Here you may
state 5 digits controlling how the fields should be produced in the output:
0 gives the
above shown layout with the fields separated by comma and textfields quoted.
The single
digits controls, numbered 12345:
1. 1 defines
fixed field length.
The fields
are output with their defined length without comma separation or quotes.
2. 1 gives
leading zeroes on numeric fields.
0 means
leading blanks.
3. 1 causes
decimal point and eventually comma edit characters to be supressed from the
output.
4. 0 gives
normal Nixdorf sign it is just in front of the first digit.
1 is leading
sign in fixed position.
2 is
traiting sign in fixed position.
5. Signtype:
0 negative: ‑
positive: space
1 negative: ‑
positive: +
2 negative:
1 positive: 0
3 IBM
overpunched minus in last digit
4 negative:
1 positive: 3
Of course you may
also create alphanumeric fields in the calculations containing the numeric
values if you need special representation.
18.14.2.9. Printer output.
It is possible
to get an additional output on the printer as an exact copy of the export
output file (on $LPT always).
1 as 5.parameter for EXPORT activates this:
2 as 5.parameter prints the record layout also.
You will get the
print even if the report is run on screen with screen output. You can always
start a report using EXPORT with lamp key 1 lightened and you will get a print
of the record layout and data just as you had used parameter 2. If you use $LPT
for the normal report print this printer must be SPOOLED if you also wants the
export print.
The print of the
article file may look like:
Figure 29 Export to tape/floppydisc.
A RECLEN 80 OPTIONS 11111
FIELD FROM TO LEN
NAME 1.RECORD FORMAT
A
1 1 4 4
ARTICLE NO (0101)
B
2 5 24 20
DESCRIPTION (BOLT )
C
3 25 32 9
SELLING PRICE (00000200) ######.##
D
4 33 40 9
COST PRICE (00000150) ######.##
E
5 41 46 8
DATE OF LAST PURCHASE (010187) ##,##,##
F
6 47 49 3
SUPPLIER NO. (271)
G
7 50 51 2
ARTICLE GROUP NO (00) ##
H
8 52 58 7
STOCK BALANCE (+000100) ‑‑‑‑‑‑#
I
9 59 61 3
ALTERNATIVE SUPPLIER NO(270)
###
J
10 62 70 10
FREE (+00000000) ‑‑‑‑‑‑#.##
...B,....!.....,....!..C..,....D.....,.E..!..F..G.H..!...I.,J...!.....,
0101BOLT
00000002000000015001018727100+000100270+0000
0102TRUCK‑HOPPER
00020000000100000001018510009+000000000+0000
0110TRUCK‑WORK 00100000000600000015128612302+000001100+0000
1001TRUCK‑WHEEL
00001000000005000031128620500+000100102+0000
1005TRUCK‑GEARBOX
00002000000015000001068610001+000010000+0000
2001BOLT‑SPEC./AL
00000020000000100001018720509+000010102+0000
2002BOLT‑SPEC./BR
00000025000000100030078620509+000200102+0000
18.14.2.11. CSV parameters.
As parameter 6 a
number of characters can be given. These are used when generating comma
seperated files (CSV files). The characters has the following meaning.
"--,.'''" Default if nothing else given
- Trailing empty fields are removed
- Zero fields are generated as ,,
, Fields are seperated by ,
. As decimal comma . is used
'' Text fields is sorounded by (")
' Invalid " in text is replaced with (')
"++;,
," Example of special parameters
+ All fields are transfered
+ Zero fields are generated as ,0,
; Fields are seperated by ;
, As decimal comma , is used
Blank ==> Text fields is not sorounded by (")
, Invalid ; in text is replaced with (,)
Note that "
has to entered as two single pings ('') in the character sequence.
18.14.3. EXPORT in
calculations.
If you just
place EXPORT in the calculations you should notice that this statement is
carryed out always before selections and during sorting.
By use of the
AFTER command you can move the EXPORT down after the selections have been
fullfilled. By use of WHEN command you can avoid creating lines during sorting.
Startlines can
be output by use of the FIRST command, endlines by placing EXPORT in the LAST
calculations.
You may create
more output lines by repeated use of EXPORT:
EXPORT ("1‑10","FILE",80)
EXPORT
("11‑20")
which gives 2
output lines for each main file record.
Note when you
use several EXPORT lines in one report you only have to state all parameters on
the first line. These will be used for all EXPORTs in the program.
EXPORT may of course be used in combination
with the KEYS subfunction to select which records should be exported, referr to
this section for details. CHECK and CHEX may be used to create checkdigits.
18.15. EXPOX
Export with file definition included.
EXPOX is
identical to the EXPORT function. The difference is that this function inserts
a header in the export file containing indexes and the selected fields for the
file. The result could look like this:
Figure 30 EXPOX with index and fielddefinitions.
"VA","DEMO‑ARTICLE
FILE","03/DA.VAKA",7,62,4,8
"VA0100","ARTICLE NUMBER,"1,S"
"VA0200","CREDITOR,"6,1,S"
"VAGR00","==>ARTICLE GROUP,"7"
"VALE00","==>CREDITOR,"6,S"
1,2,3,4,5,6,7,8
"ARTICLE
NO","NAME","S.PRICE","P.PRICE","DATE
LAST P.","CREDITOR","GROUPNO","BALANCE"
"4B4","20","6,2","6,2",",6,","3","2,","‑6,"
"‑‑‑‑‑‑‑‑‑‑‑‑"
"0101","CHOCOLATES",2,1.5,10187,"271",,100
"0102","LARGE
MACHINE",20000,10000,10185,"100",9
"0110","AUTOBUS",100000,60000,151286,"123",2,1
"1001","MONEY",1000,500,311286,"205",,100
"1005","SMALL
MACHINE",2000,1500,10686,"100",1,10
"2001","CREDITCARD",20,10,10187,"205",9,10
"2002","ID‑CARD",25,10,300786,"205",9,200
The first line contains fileshort name, text, filename,
number of records and length of each index.
Then follows one line per index with the index
definitions.
The three text lines contains fieldnumbers, then
fieldnames and last field formats.
The header is ended with a row of -. Trailing the header
is the file contents.
18.17. FILENAME
Physical filename.
#50=FILENAME
(LE) sets #50 to the physical filename of file LE.
The result could be 00/LEKA001. The file has to be used
in the report.
18.19. FIND search
for text in fields.
With this
subfunction you can search for the occurence of a given text in a number of
textfields which can be very usefull as selections on a report.
If you create a
report on the customer file you may place a calculation like:
#47=FIND("STEEL",#3,#4,#5,#6)
and a selection that field 47 should be minimum 1.
This causes all
customers where the name or adress contains the text STEEL in any position to
be printed.
By use of the
START‑DATA facility you can easely extend this report to input the search
criteria by start:
#47=FIND(#DA1,#3,#4,#5,#6)
The FIND command can have as many fields as parameters as
nessesary.
FIND will search
for the text in all these fields and returns:
0 if text not
found
>=1 the text
was found in this position
18.21.
14.11. IMPORT
reading of external files.
By use of the
IMPORT subfunction you can read external files and update/create files from
these data (only files for which you have WRITE access, eg. DATAMASTER files).
The external
files may be textfiles, formatted files or contigous files originating from a
PC, tape or floppydisc.
See also the EXPORT command.
The IMPORT subfunction
is very like the EXPORT and accepts the same file types. The fields may be
separated by comma or have a fixed length.
With IMPORT you
may read files produced by EXPORT. This may be used for copying data between
completely separated systems.
When you place the calculation line: IMPORT ("1‑10")
the main file of the report will be replaced by the
external file 0/DMSIN‑.
If the report is
started records will be read from this file and not from the main file. The
file is assumed to be in PC layout with the fields separated by comma.
You may define
selections, calculations and even sorting on such a report just as usual.
But of course it
becomes really usefull if you have write access for one or more files in the
report:
IMPORT ("1‑10")
INSERT
(VA)
will build a new
file from an external file.
18.22.1. The parameters
for IMPORT.
The IMPORT
subfunction takes 4 parameters which you may specify or omit if not nessesary:
IMPORT
("1‑10","0/FIL",80,111)
where the
parameters are the following:
18.22.2.1. Fields.
You state the
fields in the order they occur in the input file, eg. "1‑2,9‑10,8,3‑7".
All the fields
from the main file and the 20 free fields can be used here.
Of course these
fields may be moved to fields in other files if nessesary.
Sometimes you
need to add the imported values to fields in the file. This may of course be
done as calculation lines but can also be specifyed directly in the IMPORT
statement:
IMPORT
("1‑2,+3‑4,5‑6,&7,=8,9")
will read the
fields 1‑9 in the following way:
The fields
1 and 2 is just read.
+ The imported values are added to field 3,4
and 5.
‑ The value is subtracted from field 6.
& A dummy value is read, field 7 is unchanged.
= The fields 8 and 9 is just read normal.
By use of the
symbols +, ‑, & and = you may change the input method many times. The
seledted method is valid until next specification.
When reading a
file with fixed record length you may skip to a certain position in the input
record:
IMPORT
("1‑2,:40,3")
will read field
3 from position 40.
18.22.2.3. Filename.
As the second parameter you may state a completely
filename:
IMPORT
("1‑10","0/FILE")
If the filename is omitted the file 00/DMS‑IN‑
will be used. This file is placed on the same disc lu as DMS.RAPGEN itself.
If you state a
lu as "0/FILE" this file is opened. Opposite EXPORT this is allowed
as IMPORT is just reading from the file.
If you omit the
lu as "FILE" the file is prefixed with 0/DMS‑IN‑ it is
0/DMS‑IN‑FILE is used.
18.22.2.5. Record length
and file type.
If you omit this
parameter or state 0 the file will be read as a textfile with a variable record
length of maximum 512 characters.
80 will read a
contigous or formatted file with a fixed record length of 80 characters.
IMPORT can process any recordlength.
‑1024
reads a textfile with variable record length of a maximum of 1024 characters.
It is only nessesary to state the record length of a textfile if this exeeds
512 characters.
18.22.2.7. Input
specifications.
Here you may
state 2 digits which determines how the input fields are read.
The same
positions as for EXPORT are used, so 5 digits must be given but just the two of
these are used:
0 will read a file with commaseparated fields.
The digits
controls, numbered as 12345:
1. 1 reads the fields with fixed field length,
it is according to the defined field format and not separated by comma.
2. Not used.
3. 1 reads numeric fields without decimal point
in the input record it is the value is divided by 10;
(decimalplaces) after reading.
4. Not used.
5. Not used.
IMPORT takes
decimalcomma (,) or decimalpoint (.), it is it does not mather which is stated
in the input file. However in commaseparated files it must be decimalpoint in
the fields.
Sign must be
stated as ‑ and may be either leading or traling. + or space is accepted
for positive values.
Fields may be
given with leading blanks or zeroes.
If you should
import more special field layouts this may of course be done by importing to
free textfields and then pick the values from these by the calculations.
18.22.3. Different
entries of the IMPORT routine.
In order to activate the IMPORT subfunction it must be called
as eg:
IMPORT
("1‑10","0/FILE",80,11111)
in the calculations before the other entrypoints are
used.
This will select
which file should be read and which fields and as such replace the normal read
of the main file in the report.
After this you
can use the following functions:
18.22.4.1. IMPOCONT
("11‑20").
The reading
continues in the position of the current record which was next to be used in
the former IMPORT statement.
18.22.4.3. IMPOTHIS
("1‑20").
Reads the
current record once more from position 1.
18.22.4.5. IMPONEXT
("11‑20").
The next record
from the input file is read and moved to field 11‑20. By this input files
with multiple lines/record or variable record layout may be handled.
Also you may
control different number of lines for each record in the calculations.
18.23. INDEX lock
reports index/start/stop keys.
Some reports
should always use a certain index of the main file. By use of this subfunction
you will not have to state 2: whenever the report is started. If you place the
calculation line:
INDEX
(2) the report will be fixed to
index 2.
Also you may fix
the range for the start/stop keys:
INDEX
(2,"1234","5678) works as
START
FROM:2:1234
STOP
AT :
5678
nomather what is
entered when the report is started.
18.25.
14.13. KEYS
start/stop specifications.
With the
subfunction you can define several ranges or single key values for report run
instead of having to start the report multiple times.
18.26.1. The KEYS
command in the main menu.
In the
DMS.RAPGEN main menu you may now enter the command KEYS (or just K) and you
will get the following screen:
Figure 31 The KEYS command.
DMS.RAPGEN
16....START/STOP KEYS
START/STOP IS ACTIVATED BY KEYS(0)
AS CALCULATION, (NAME) IN START FROM
START/STOP VALUES ARE ENTERED AS
EG:110101‑110299,170101,471100‑471199
START/STOP NAME:
MESSAGE:
As name of the definition you can state 1‑6
characters. In this module a textfile named:
0/DMS‑KEY‑xxxxxx will be builded.
If the file is already present it will be read.
These files are always created on the same disc lu as
DMS.RAPGEN itself.
18.26.3. Entering the
start/stop values.
After this you
will go to a simple texteditor where you can enter up to 99 lines of 76
characters each:
Figure 32 Entering the start/stop values.
DMS.RAPGEN
16....START/STOP KEYS
....,....!....,....!....,....!....,....!....,....!....,....!....,....!
START/STOP VALUES ARE ENTERED AS
EG:110101‑110299,170101,471100‑471199
START/STOP VALUES: 0/DMS‑KEY‑A
1 110101
2 110101‑110199
3 110101,110199
4 110101‑110199,174711
5 110101,2:ABC‑DEF
6 47/110101
7 110101‑110199
8 120101‑120199
9 110101‑110199,120101‑120199
10
11
12
13
14
15
16
17
18
19
MESSAGE:DEL/INS CAN BE USED TO
DELETE/INSERT LINES.
Here you can enter the start/stop ranges for one or more
reports (see below).
1. 110101 this
record (start=stop=110101)
2. 110101‑110199 a
range from ‑ to
3. 110101,110199 two
single numbers
4. 110101‑110199,174711 any
combination of this
5. 110101,2:ABC‑DEF shift
to index 2 with 2:
6. 47/110101 47
may be used in calculation
The definition is ended by END and you may continue with
the next definition. If you press END once more you return to the main menu.
18.26.5. Functions in
the editor.
You can use the
arrows on the keyboard to go forward/backwards on a line and to insert/delete
characters.
With cr. you go
to the next line.
@ in
first position will also go to next line
goes
one line up
12 if
you just enter one or two digits you will jump to this line
INS insert
a number of lines
DEL delete
a number of lines
END end
and write the definition
SPR abort
without writing the changes
If you want two
different ranges printed on a report this may be done either by giving two
lines:
110101‑110199
120101‑120199
or by just one line:
110101‑110199,120101‑120199
Below you will notice that dependent of how you activate
the KEYS subfunction in the report these definitions will either;
a. be handled completely equal or
b. act as two separate starts of the report with
separate totals, pagenumbers etc.
18.26.7. Activating the
KEYS function in a report.
To activate this
function you must state a calculation line as: KEYS (0)
It does not
mather is this is done first/last or in between the other calculation lines.
Figure 33 Activating the subfunction.
DMS.RAPGEN 3 ARTICLE LIST 4....DEFINE CALCULATIONS
1 ARTICLE NO 19 @FREE
2 DESCRIPTION 20 @FREE
3 SELLING PRICE 21 @FREE
4 COST PRICE 22 @FREE
5 DATE OF LAST PURCHASE 23 @FREE
6 SUPPLIER NO. 24 @FREE
7 ARTICLE GROUP NO 25 @FREE
8 STOCK BALANCE 26 @FREE
9 ALTERNATIVE SUPPLIER 27 @FREE
10 FREE 28 @FREE
11 @FREE 29 @FREE
12 @FREE 30 @FREE
13 @FREE
14 @FREE
15 @FREE
16 @FREE
17 @FREE
18 @FREE
CALCULATIONS ARE TYPED AS EF:
#60=#21+#22 , PERCEMT AS EG. #61=#62%#63
#DD=DATE,#PD=AS OF DATE,#D1=DATA,#DA1=ALPHA.DATA,WHEN=WHEN
TO CALCULAT
CALCULATION:KEY(0)
MESSAGE: KEYS
18.26.9. Start of a
KEYS report.
You may start
such a report just as any other report but a new facility has been introduced
using the KEYS subfunction. In
START FROM
you may now enter eg. (A) if you have made a definition
named A. All ranges/single values in this will now be printed on the report.
Figure 34 Start of a KEYS report.
DMS.RAPGEN 3 ARTICLE LIST 9....START AND GENERATE REPORT
TODAYS DATE ? 120590
AS OF DATE ?
120590
INDEX:
START FROM ?
(A) 1:ARTICLE
NO.
2:SUPPLIER NO.
STOP AT ?
MINIMUM TOTAL LEVEL TO BE PRINTED
(0‑ 1 , 0=WHOLE LIST) ? 0
START:( Y=PHANTOM , S=SCREEN ,
P=PRINTER , N=NO ) ? Y
MESSAGE:
By giving the definition name in brackets we are able to
connect the start/stop from this to the report.
If you just have
got a few values you do not even have to create a definition for this. You can
state it directly in START FROM as:
(111101‑111199,
120101, 147100
and the values
will now be taken from this input as if you had created a definition. The
ranges may be continued on the next line STOP AT if you exeed the 30 characters
limit of the field.
Note this
function is activated by just giving a start‑bracket without any end‑bracket.
However if you enter the endbracket also this function is activated anyway if
the range specification is more than 8 characters it is not a definition name.
18.26.11. Functions and
parameters.
The KEYS
subfunction has two parameters:
18.26.12.1. One or separated
reports.
KEYS(0) defines print of just
one report for all the given ranges with a total at the very end.
KEYS(1) handles each line in
the definition as a separate report it is totals are printed before next
definition line
is used and this will start on a new page with page number one.
For sorted reports and for letters only KEYS(0) is
relevant.
18.26.12.3. Fixed definition
file.
KEYS(0,"A") The second
parameter may be used to state the name of the definition file.
If you then just press cr. in START/STOP this definition will be used.
However you may still enter (B) or a normal range in START/STOP.
18.26.12.5. KEYS
calculationcode 47/xxxx.
For example you
can enter 47/111101-111199,150101 in a KEYS definition file.
47/ doesn't
refer to a START/STOP interval but is the value returned when calling the KEYS
command. You can hereby code the following:
#20=KEYS()
receiving the value 47 in #20.
By using the
KEYS definition special reports can be produced, where the report is sorted by
#20 or in other ways calculated on the value of the field. The value can shift
many times during the KEYS definition file.
18.26.13. Special definition
files.
With the KEYS
function in DMS.RAPGEN you are able to edit definition files of a maximum of 99
lines of each 76 characters.
If you need more
or longer lines you may create the definition file by any texteditor as eg.
PAID as it is just plain textfiles.
You can avoid
the prefix 0/DMS‑KEY‑ if you state the lu when using the
definition. (A) or KEYS(0,"A") uses 0/DMS‑KEY‑A but (0/A)
or KEYS(0,"0/A") uses the textfile 0/A.
Due to security
reasons the texteditor in DMS.RAPGEN can only handle files prefixed o/DMS‑KEY‑.
18.26.15. Sorting start/stop
values.
If you enter a
number instead of a name when making the KEYS definition, for example 4711
instead of CH15, the numbers in the definition file will be sorted when the
KEYS definition is ended. The report will then be printed in client-order
without sorting the report.
18.27. The LET
command.
With the BASIC
LET statement you are able to set one field equal to another, eg. #17=XX#7.
When working
with file updating you may wish to move a large block of fields from one file
to another. If you have got 87 fields in the file you would have to write 87
calculation lines.
As a programmer
is born lazy the report generator now has got the LET command:
LET (#1‑10=XX#1‑10) is a short form of writing 10 lines:
LET #1=XX#1
LET #2=XX#2
.
.
.
LET
#10=XX#10
DMS.RAPGEN
recognizes the LET command from the nomal BASIC LET statement as in the command
LET is followed by a bracket ( which is never allowed in BASIC.
If you mix
fieldtypes, eg. by setting alphanumeric fields equal to numeric fields, the
field format of the numeric field will be used to form the textstring. LET
(#5=XX#5) would then act as fx. the BASIC statement LET #5= XX#5 USING "####".
A receiving
textfield will always be padded with blanks so you do not have to concern about
this.
The LET command may be used in different ways which is
shown by the following examples:
1) LET (#20‑30=0)
The fields
20 through 30 is set to zero.
If any of
the fields are alphanumeric these will be filled with spaces.
2) LET (#20‑30=1)
The fields
20‑30 is set to one (or any other figure).
Note that
alphanumeric fields will become the value "‑ / ‑ " and
will NOT be padded with spaces in this case.
3) LET (#1‑10=XX#2‑11)
The fields
2‑11 from the file XX is moved to the fields 1‑10.
4) LET (XX#1‑10=#2‑11)
The fields
2‑11 is moved to file XX field 1‑10.
5) LET (XX#1‑10=#2,5,7)
The fields
2,5 and 7 are moved to file XX field 1, 2 and 3. The fields XX#4‑10 will be
zeroed.
6) LET (XX#1‑3,5,YY#10=ZZ#6‑9,NN#10)
You may mix
different files on both sides.
7) LET (#1‑10+=1)
By use of
+= you can add one to all the given fields.
‑,*,/, may
be used instead of +.
8) LET (#20‑30+=XX#40‑50)
You may
also add a number of fields to other fields.
9) LET (#10‑19=#20‑21,+#22‑23,‑#24‑25,26)
Here the
fields 20‑21 are moved to field 10‑11, field 22‑23 are added
to field 12‑13,
field 24, 25
and 26 subtracted from field 14, 15 and 16, and the fields 17, 18 and 19 are
zeroed.
10) LET (#10‑11,+12,13‑14‑16=#20‑26)
The
operators may be written on the lefthand side of the expression.
18.29. The LET
command with ON.
LET (#1-10=0)
reduces the normal 10 lines of code to zero field 1 to 10 to one single line.
By using LET
(...) ON ... it is also possible to reduce conditional statements.
18.30.1. Columns.
In reports where
the layout is divided in columns the calculations normally contain several
conditional statements if the fields 41-50 are printed as a column.
LET (#41-50=0)
IF #5=1 LET
#41=#20
IF #5=2 LET
#42=#20
:
:
IF #5=10 LET
#50=#20
These lines can
be reduced to the following using the ON command:
LET (#41-50=0)
LET
(#41-50=#20) ON #5
By adding ON #5
RAPGEN will generate the required IF statements.
18.30.3.
Transactioncode-simulation.
LET
(#41-50+=#20) ON #5 generated the following lines:
IF #5=1 LET
#41=#41+#20
IF #5=2 LET
#42=#42+#20
:
:
This can
typically be used in START/NEXT/OM loops on a transaction file to sum the
balances depending on a transactioncode. If the number of transactions are to
be summed instead:
LET
(#41-50+=1) ON #5 which generated the lines:
IF #5=1 LET
#41=#41+1
IF #5=2 LET
#42=#42+1
:
:
18.30.5. Monthly
balance.
LET (#40=#21-30)
ON #5 generates the lines:
IF #5=1 LET
#40=#21
IF #5=2 LET
#40=#22
:
:
This example
could be related to get balance from the general ledger file based on the
month.
18.30.7. Calculations
in ON-part.
Instead of just
using #5 in the ON part any calculation can take place. The calculation may not
contain call of subfunctions.
LET
(#41-50=#20) ON #5-1 generates the lines:
IF #5=0 LET
#41=#20
IF #5=1 LET #42=#20
:
18.30.9. Multiple
fields.
In the previous
example multiple fields has only figured on one side of the equalsign.
LET (#41-50=0)
ON #5 or
LET
(#40=#31-30) ON #5
If multiple
fields are given on both sides:
LET
(#40,45=#21-30) ON #5 the IF value changes for each fieldgroup
IF #5=1 LET
#40=#21
IF #5=1 LET
#45=#22
IF #5=2 LET
#40=#23
IF #5=2 LET
#45=#24
:
As when using
the normal LET command without ON it is possible to refer to different files.
18.30.11. Balance year
to date.
Suppose you want
to sum a row of fields up to a certain month:
#40=0 /* remember to zero the field
LET
(#40+=#21-30) ON #5<=X generated the lines:
IF #5<=1
LET #40=#40+#21
IF #5<=2
LET #40=#40+#22
IF #5<=3
LET #40=#40+#23
:
18.30.13. X and logical
operators.
As the previous
example illustrates X can be used after the ON command. X is replaced with
(1-...) which the current line is set to. This makes it possible to enter a
number of LET statements with < <= > >= = <>.
18.30.15. 'Odd' values
after ON.
When using ON
the values won't always fit the sequence 1,2,3.... In this case the following
syntax can be used:
LET
(#41-50=#20) ON #5=7,17,5 generating the lines:
IF #5=7 LET #41=#20
IF #5=17 LET
#42=#20
IF #5=5 LET #43=#20
IF #5=7 LET #44=#20
:
When all values
given after the ON command are used the sequence is reset. This equals entering
the total sequence as 7,17,5,7,17,5,7,17,5,7.
18.30.17. Textfields
after ON.
LET
(#41-50=#20) ON #5 generates the lines
IF
#5="1" LET #41=#20
IF
#5="2" LET #42=#20
if #5 is a
textfield.
It is also
possible to enter 'odd' values when using textfields, giving:
LET
(#41-#43=#20) ON #5=CM,OS,CH generates
the lines
IF
#5="CM" LET #41=#20
IF
#5="OS" LET #42=#20
IF
#5="CH" LET #43=#20
18.31. LOWER lower
case letters.
#50=LOWER(#2)
converts textfield 2 to lower case.
18.33. LTOT fixing
the lowest total level.
On some reports
you will never want the complete report printed but just the totals.
If you place the calculation line: LTOT(1)
the lowest total level for the report will be fixed to 1
no mather what is entered by start of the report. The question is not removed
from the start screen.
Especially will
LTOT(9) supress all printout from the
report and may be used with updating reports.
You may also use
the LTOT subfunction to determine what was entered as lowest total level by
start as to control special calculations depending on this: #47=LTOT(‑1)
18.35. MERGE Mixing
multiple files.
With this
function up to 9 files can be mixed. An example can be a client file from two
different companies that when mixed gives a total client list.
Reports using
this function always has to be sorted (according to client number) because
MERGE controls files using the sort mecanism. If a report is defined with the
first client file KA the following calculation lines will mix it with the
second client file KB:
FIRST
MERGE (KB)
In this example
the files KA and KB has to have identical definitions (READ-statements).
Another
parameter can be parsed to MERGE giving the physical filename. For example it
can be used to compare with another company's client file.
FIRST
MERGE
(ka,"03/CLIENT.007")
With the BASIC
variable K0 you can determine from which file the current record has been read.
If K0 equals 1 the current record has been read from a main file, if 2 from the
first merged file, if 3 the second merged file etc.
If the files
merged has different definitions the fields are to be regrouped on the basis of
the value in K0:
FIRST
MERGE (KB)
NORMAL
IF K0=2 LET
(#1-10,17=KB#1-10,43)
18.37. MESS Message
and possible abort of run.
With the MESS
subfunction you can send a message to the screen which started the report:
MESS
("some message")
will send some message to the user who started the
report.
MESS is usually
just placed as FIRST or LAST calculation or as IF...MESS as you will get a
message for each record else.
You can also
abort the report run by stating a second parameter:
#47=#47+1
IF
#47>100 MESS("FINISHED.",1)
will abort the run after the first 100 records.
The message will
always be recorded in the systems logbook.
18.39. MTOT Highest
total level to be printed.
MTOT (1) sets
the highest total level to be printed to 1.
MTOT can be used
to supress meaningless totals.
18.41. NAME
isolating christian/last name.
By use of the
NAME subfunction you are able to pick out the christian and/or the last name
from a name field for especially sorting of the report.
This subfunction
corresponds to the LOAD NAME function, referr to this section also.
#47=NAME(#3) will is possible build the string lastname,
christianname in field 47 from the name in field 3.
You may get further informations by stating more
parameters:
#47=NAME(#3,#48,#49,#50)
returns
also: #48 christianname lastname
#49 christianname
#50 lastname
18.43. NODATA
deactivate all #Dx fields.
If you in a
report have used any of the #D1‑#D7 start data input fields in the calculations
there has been no way to get rid of this input even if the calculation lines
were removed.
If you place the
line:
NODATA()
all such fields will be deactivated.
18.45. NOIX Supress
index-update (saves space).
This function is
suitable for large reports performing updating files where the fields used
doesn't relate to any index in the file. NOIX can not be used on reports that
doesn't update.
NOIX() as a
calculation supresses RAPGENs entire index-update function saving a lot of
space.
NOIX can be
entered in connection with the SPEED function.
18.47. NOPAS
Deactivating of password.
If you define a
report with file update this report will become password protected (see the
chapter file update with DMS.RAPGEN).
If you place the
line: NOPAS() this password will be removed.
18.49. NOPRT
Supress all print (saves space and paper).
This function
suitable for all updating reports where print isn't needed. The result of the
execution will be listed in the TAMOS logbook.
NOPRT() as a
calculation supresses the print function from the report.
NOPRT can be
entered in connection with the SPEED function.
18.51. NUMBER
conversion of 'dirty' numbers.
It may occur
that numbers are entered in textfields with separator characters which make it
difficult to use as figurs. It may be a date as 15/11‑89 or a phonenumber
01)248340.
NUMBER is used to convert such an alphanumeric field to a
numeric:
#47=NUMBER(#8)
converts field 8 to a numeric field 47 as all separators
will be removed.
01248340,
01)248340, 01‑248340 and 01 24 83 40 all becomes 1238340 as the date
15/11‑89 becomes 151189.
The EDIT
subfunction may be used to create a new edit standard for the field eg:
#8=EDIT(#47,"&&)&&&&&&")
may be used to
create a new phonenumber standard as 01)248340.
18.53. NUMS convert
alphanumeric to numeric.
If numeric
figures are stored in textfields in a file you have to move these to numeric
fields before you are able to calculate with these.
If you should
add the values of the textfields 15 and 16 you would have to write this in 3
lines:
#47=#15
#48=#16
#49=#47+#48
as the direct
#49=#15+#16 would cause basic error.
With the NUMS
subfunction you can convert textfields on the line:
#49=NUMS(#15)+NUMS(#16)
will not require lines/freefields to add the two
textfields.
18.55. OPEN opening
of files for reading.
This subfunction
is descriped in chapter 15 ‑ file update with DMS.RAPGEN.
OPEN("XX","3/FILE") opens the file 3/FILE instead of
the report file xx.
18.57. PACK packing
of fields.
This function is
used only in special cases were keys/fields must be packed manually.
PACK will make
this packing easyer:
R$=PACK(R$)
packs the key R$
R$=PACK("&&&&",#47) converts
the numeric field to text according to the format specification and
packes
this.
R$=PACK(#3),#4,PACK(#5),PACK("01)
pack may be used multiple times on one line.
Refer also to UNPACK.
18.59. PCIN and
PCOUT exporting directly to PC harddisc/floppy.
To use these
EXPORT/IMPORT subfunctions you must have the ERNA PC‑card which enables
you to adress the PC directly without use of the BCU.
Futher
informations of this are avaiable on request.
18.61. PHONE
conversion to new danish phonenumbers.
As of 1/1‑1990 all danish area codes was changed.
#50=PHONE(#1)
converts the old number to a new number according to an external table. See the
danish manual for details.
18.63. PLCOUT
exporting directly to a PLC line.
This is a
variant of EXPORT and enables you to transmit directly to a PLC communication
line from a report. The subfunction must be modifyed for each installation by a
programmer for host computer name etc.
18.65. POUT Output
of text / control codes directly on printer.
POUT("text") is used to print text directly on printer without
entering the text in function 7. This functionality is very usefull to ouput
control codes:
POUT("@Q;") sets NLQ
on. The ; indicated that no line-feed is to be send.
The function
works even if the printer has to control-codes defined, because POUT then uses
the standard control codes from DMS.RAP.LPT.
18.67. PRIO set
priority.
Purpose: System tuning.
Some heavy
sorted reports you may wish to run with low priority in order to now slow down
other users. If yoy place a FIRST calculation:
FIRST
PRIO(1)
NORMAL
the priority
during the run will be the lowest (1). The priority is reset when the report is
ended.
DMS.RAPGEN may
be installed without this subfunction if you are afraid of unauthorized use.
18.69. PXOUT Export
directly to PC-harddisk using ERNA.
With ERNA-8870
emulation and the function call PXOUT("1-10","C:/DIR/NAME")
you can export directly to a CSV file on the PC-harddisk. The function is
identical to the EXPORT function but the filename refers to a DOS-file.
PXOUT performs
the same task as PCOUT thus using the new transfer method which TEXTTRAN uses.
The NIXDORF system doesn't need special configuration to
use this function.
18.71. PZOUT Print
directly to PC-harddisk using ERNA.
With ERNA-8870
emulation and the function PZOUT("C:/DIR/NAME") you can redirect the
entire print to the PC-harddisk without having to transfer anything else.
The report is
the be executed from a PC with ERNA installed. The printer to be selected is P
(screen printer) because the transfer is controlled from the PC-screen as
TEXTTRAN. Transfer from two windows at the same time is not possible.
18.73. RATE get
COMET TOP currency rate.
#20=RATE(#3)
will on a COMET
TOP system pick the rate for currency no. #3 from the ccy file GF‑04000xxx.
The first call for this subfunction will bild an internal table of the rates so
the file will not have to be accessed everytime a rate is needed.
#20=RATE
(#3,#21,#22,#23) will deliver in field 21,22,23 the ccy NAME, no.of decimals
and the unit also.
18.75. RUND
definition of FNR round.
When calculating
decimal numbers you normally use the function FNR. The FNR function rounds by
default the result to two decimals. With RUND you are able to change the round
factor:
RUND (5)
#50=FNR(12.65*25/100) /* 3.1625
==> normally 3.16 but in this case 3.20
where the result in #50 will be rounded to the nearest
x.x5. If RUND(25) was entered the result would have been 3.25, if RUND(100)
then 3.00.
All FNR calls
uses the the last round factor given. This allows you to change the round
factor during execution:
IF #7=1 RUND
(5)
:
:
If the value
parsed to RUND is negative, RUND(-5) the value is rounded to the nearest lower
value.
18.77. SIZE
Optimize space requirement in large reports.
With the SIZE()
function RAPGEN adds another step to the generation. The step performes the
task identical to the operative systems UNCOMMENT. Almost all comments are
removed from the program source. The task slows the generation time with
approx. 1/2 minut. In return you are able to define very large reports.
18.79. SMAA Convert
names from upper to upper/lower case letters.
#50=SMAA
(#2) converting textfield 2 to
upper/lower case letters.
If field 2
contains the name CHRIS HANSON the field 50 will result in the text Chris
Hanson.
18.81. SOGE
Generating searchkey from addressfield.
This function is
used to generate a searchkey using a field containing an address. The searchkey
field can as an example be used to sort the report later on.
#50=SOGE
(#3,15) will generate such a searchkey.
#3 is the addressfield and 15 is the position in the field where the
housenumber is positioned.
If field 3
contains the text Grenå Gade 2, 1.tv the field 50 will result in the text
GRENÅGADE_____0002. The address 17 Rue de Jambon will result in
RUEDEJAMBON___0017.
18.83. SORTWORK
multiple sort-files.
RAPGEN normally
works with only one sort-file unless several RAPGEN systems has been installed
with seperate sort-files attached.
At installation
you have to plan how many sort-files you may need. When planning you have to
consider the fact that each sort-file demands a large amount of diskspace.
RAPGEN version
01/10-92 or later will try to open the sort-file DMSORTWORK. If the sort-file
is occupied RAPGEN will automatically try to open a new sort-file DMSORTWORK01.
If this sort-file is occupied it will try with DMSORTWORK02 etc. until no more
sort-files exists.
If you want to
sort multiple reports at the same time and the diskspace required is available
it is possible to lock a report to a certain sort-file using the command:
SORTWORK (47)
The report will
then use the sort-file DMSORTWORK47. The sort-file has to be created before it
can be used by the report. It can be done by calling the program BUILDXF, name:
DMSORTWORK47, number of records: ?????, recordlength: 15, keylength: 15.
Using the
syntax:
SORTWORK (-47)
RAPGEN will build the sort-file automatically. The number
of records is determined by the number of records used by the mainfile of the
report.
18.85. SPOFF
removal of spaces in field.
SPOFF will
remove all leading blanks from a textfield.
A field may contain " A
" for one record and "A
" for another. With the selection:
FIELDNO:SPOFF(#15)
MINIMUM:"A"
MAXIMUM:"A"
you can ignore
all leading blanks.
18.87. STAR
functions for financial reports.
These
subfunctions are specially developed to simplify the definition of financial
reports on STAR systems.
The functions
automatically gets bookkeeping dates etc. from VIKA and budgets from BUKA.
Summation within the current period is also performed by the functions. This
makes the definition of such reports a lot easier. The functions are described
in the installation manual for subfunctions and therefore not described further
here except for the list below.
18.88.1. STARD Get
bookkeeping and period dates.
18.88.3. STARF
Calculate perid/year to date realized and budget.
18.88.5. STARN Index
calculations.
18.88.7. STARP Define
bookkeeping period.
18.88.9. STARS Regroup
current period to period 1.
18.89. TAPEOUT
exporting directly to tape.
The TAPEOUT
subfunction has exactly the same parameters as the EXPORT subfunction, just will the output be written
directly to a tape (call 70) and not to a discfile. The tape will be unlabelled
and the parameter
FILENAME will
have no function in this call.
18.91. TEST
testprint function.
If you place
TEST("1‑10") in the calculations you will get a print on the
screen of field 1‑10, nomatter how the report is defined.
This may be used
to find out which data actually passes in the calculations.
You may use
TEST("1‑10","$LPT") to get the output to a printer,
as you may place the staement before/after the calculations.
The TEST
subfunction is a variant of the EXPORT subfunction.
Figure 35 Output from TEST("1‑10").
ARTI DESCRIPTION SELLING P
COST PRIC DATE OF SUP
ART
0101 BOLT 2.00 1.50
1.01.87 271 0
0102 TRUCK‑HOPPER 20000.00
10000.00 1.01.85 100 9
0110 TRUCK‑WORK 100000.00 60000.00
15.12.86 123 2
1001 TRUCK‑WHEEL 1000.00 500.00
31.12.86 205 0
1005 TRUCK‑GEARBOX 2000.00
1500.00 1.06.86 100
1
2001 BOLT‑SPEC./AL 20.00 10.00
1.01.87 205 9
2002 BOLT‑SPEC./BR 25.00 10.00
30.07.86 205 9
18.93. UNPACK
unpacking of packed fields.
Usually all
unpacking of the fields are done as defined by installation in the
readstatements for the files.
In special cases
it may be nessesary to unpack fields in the calculations:
#47=UNPACK(#15)
unpacks the alphanumeric field 15 into the numeric field
47.
As the NUMS
subfunction UNPACK may be used directly in a calculation:
#47=UNPACK(#15)+UNPACK(#16)
or on part of a keyfield: #47=UNPACK(R$(7,10))
18.95. UPDATE
activate file updating.
Refer to chapter
15 ‑ file update with DMS.RAPGEN for details.
When you use the
commands REWRITE, WRITE, INSERT or DELETE a calculation statement
UPDATE (1)
must be placed
first in the calculation block to activate the file update.
18.97. UPPER Upper
case letters.
#50=UPPER
(#2) converts textfield 2 to upper case
letters.
18.99. VALCH values
of a textfield.
The VALCH
subfunction makes it easy to select that on alphanumeric field should have one
of a set of values:
#47=VALCH(#7,"AA,BB,CC")
will return 0 if field 7 contains either AA,BB or CC and
1 if not.
You should
separate the different values by comma and you may state as many as needed.
Is a selection
is placed that field 47 should be equal to 0 only records with field 7
containing one of the given values are printed.
#47=VALCH(#7,"‑AA,BB,CC")
returns the
inverse it is 0 if field 7 is not one of the given values else 1.
You can use a selection like:
VALCH(#7,#DA1) MINIMUM:0 MAXIMUM:0
and you can enter the allowed values by start of the
report.
Leading and
traiting blanks in the field will be ignored in the subfunction VALCH.
18.101. VALID values
of a nuemric field.
With the VALID
subfunction is it easy to select that a numeric field should be one of several
different values:
#47=VALID(#15,"1,3,5,10‑15")
returns 0 if the
numeric field 15 is one of the values 1,3,5,10,11,12,13,14,15 else 1.
If you place a selection like:
VALID(#15,#DA1) MINIMUM:0 MAXIMUM:0
you can enter which codes should be printed by start of
the report.
VALID(#15,"‑1,3,5,10‑15")
returns the
inverse value it is 0 if field 15 is not one of the given values.
VALID may also be used with long numeric constants as
datafields:
VALID(#15,"890331,890415‑890420")
See also the
VALIX subfunction.
18.103. VALIX values
of a numeric code.
The VALIX
subfunction is a restricted but quicker form of the VALID function.
First time you
use VALIX an internal table of the different code values is builded. This makes
VALIX faster than the VALID routine but gives the following restrictions:
‑ The
code must range from 0‑maximum
‑ One
byte of core is used for each value
‑ The
allowed values cannot be changed during the run
VALIX(#15,"1,3,5,10‑15") works just like
VALID(#15,"1,3,5,10‑15") just faster.
If one of the
values exeeds 99 you have to specify the table size for VALIX as a third
parameter:
VALIX(#15,"10‑15,471‑480,903",1000)
allocates a table of 1000 elements (maximum value).
This means that
selection on large numbers as datafields is not possible with the VALIX
function due to limited core.
18.105. WEEK convert
date/week or week/date.
With the WEEK
subfunction you can convert a date into a weeknumber and opposite a weeknumber
into a date.
Opposite the FNV
function which always takes the first day of the year as week 1, the WEEK
subfunction ajusts the first/last week correctly.
#47=WEEK(010189) gives 8852
in field 47
#47=WEEK(890101) nomather how
date is given
#47=WEEK(8852) gives start
date of week 8852.
Conversion of week to date requires NIROS 7.0.2 or
better.
18.107. WORKD data
difference in number of workdays.
This subfunction corresponds to the former LOAD ARB,
refer to this.
#47=WORKD(310389,050589)
calculates the number of working days between the two
dates.
This subfunction
contains a buildin calendar which may be modifyed for specific
countries/companies.
Consult your programmer for ajustment of this.
1/2 working days
are supported in this function.
18.109. ZERO zero all workfields.
This subfunction
allows you to zero one or several workfields by one single statement:
ZERO("51-60") Zero
the fields from 51 to 60.
ZERO("51,55") Zero
the field 51 and 55.
The function can
only be used on workfields.
See also the LET
(#51-60=0) command in chapter 15.
19. File
update with DMS.RAPGEN.
File update with
DMS.RAPGEN has always been restricted to DATAMASTER files only or files where a
programmer has issued a special write permission by installation with and this
is still the case. It may be dangerous to update files as you may destroy data
by misplaced write statements.
Apart from this
updating with the report generator has been restricted to simple rewrite of the
fields of the main file only. The main file could be read, and calculations on
the fields in this file executed whereafter the record was rewritten with the
new values.
With this
release the possibilities of file update is extremely extended:
‑
Update of until 9 files in one report
‑
Update of until 15 index of each file
‑
Insert/delete of records
This means you will
be able to build new files from existing data using the report generator.
These functions
are achieved by adding 4 simple but powerfull commands in the report generators
calculation module:
REWRITE
(XX) for update of one record
WRITE (XX)
for update or insert of a new record
DELETE (XX)
for deletion of an existing record
together with two
subfunctions to control this:
UPDATE (1)
to activate/deactivate all update
NOPAS () to control the standard password
protection
and last but not
least for your convenience:
LET(#1‑10=XX#1‑10)
assignment of a block of fields
20.1. Defining an
updating report.
In previous
releases an update report had to be defines on a special main file eg. XX,W.
You had to decide from the very start that this report should update the main
file. For compability this method can still be used.
The new update
functions are activated by use of one of the commands REWRITE, WRITE, INSERT or
DELETE in a calculation statement. By this the writestatements for the file(s)
(DMREAD.XXW) will be loaded into the report program.
If no write
statements for the file is present the command will be rejected it is the file
is protected.
Anyway the
report will still be 'innocent' as none of the update functions actually will
be executed. The report can be started and you can test the functions just as
normal without updating.
You have to place the statement: UPDATE (1)
as the first
statement is the calculations of the report. By doing this the report will now
execute the update commands and write to the specifyed files.
20.3. UPDATE activate
the updating.
All update from
a report will be deactivated until the subfunction UPDATE is called in the
calculations with a value unequal to zero.
Typically you would place a first calculation line as
UPDATE (1)
after you have tested the report and it is ready for
production run.
UPDATE may
be called with 4 different parameters:
0 Update not active
1 Update active
2 Update active as 1, in case of errors the
run will be aborted
3
Update active as 1, any errors
will be ignored completely
As UPDATE is a
subfunction you may give an calculation expression as parameter instead of just
0, 1, 2 or 3. This may be used by placing:
UPDATE
(#D1)
which will activate one of the start‑data fields of
the report.
When the report
now is started you may enter 0 or 1 as you wish this run of the report to
update the files or not.
The UPDATE
statement should be placed as the first statement in the calculations as
updating is not activated until this statement is executed. Anyhow it is
possible to change the update modem during the run, eg. you may use UPDATE (2)
during critical sequences or UPDATE (0) during the sort phase.
20.5. NOPAS
deactivation of password.
An updating
report will imidiatly be password protected when you issue one of the commands
REWRITE/WRITE/INSERT or DELETE.
As you have
other possibilities to protect the report using eg. username or insert the
program in TAMOS selector you is able to deactivate this standard password.
By placing the calculation statement:
NOPAS ()
the standard password is removed and you may protect the
report in other way or just start without any password.
You may place
the NOPAS statement anywhere in the calculations, first or last as you want.
20.7. REWRITE
(XX) update of a record.
REWRITE
(XX) will rewrite the new contents of a record to the file.
To execute this
function a record should be read from the file beforehand.
In case XX is
the main file of the report a record will always be read and present and
REWRITE (XX) will work just as you had defined the report on the main file XX,W
as in previous releases. But if the index fields of the file are changed the
index keys will be updated!
If XX is not the
main file you must have issued a READ (XX) in the calculations before you are
able to use REWRITE (XX).
If you are
missing this READ or if the read has not actually found any record the REWRITE
(XX) statement will just be ignored by the report generator.
20.9. WRITE (XX)
update/insert record.
WRITE (XX)
works just as REWRITE (XX) if you have read a record from the file XX it is if
XX is the main file or a previous READ (XX) statement has been executed
succesfully.
If this is not
the case, eg. the READ (XX) did not find any record with the given key value,
the WRITE (XX) will work as INSERT (XX) and create a new record in the file.
Of course you
have to place all relevant new values in the fields to be writen and especially
the index key fields should be set.
You should note
that the READ (XX) will zero all fields in the XX record if no record with the
given key value are found and XX is not the main file of the report.
20.11. INSERT (XX)
creation of a new record.
INSERT (XX)
will create a new record in the file XX and write this.
You should take
care that all index key fields has been set up probably before the INSERT is
executed.
20.13. DELETE (XX)
deletion of a record.
DELETE (XX)
will remove a record from the file XX and of course you should be carefull
using this function.
ESPECIALLY you
should note that if XX is the main file of the report and you just place a
DELETE (XX) in the calculations ALL records in the given from/to range for the
report will be deleted!
The NORMAL
calculations is executed BEFORE any selections is done. If you just want
selected records to be deleted you should place the DELETE in the
AFTER
calculations or make the delete conditional by: IF........DELETE (XX)
20.15. Updating of
the file index.
A file may have
up to 15 index and these will be updated by the report generator if defined.
DATAMASTER will always define index for the files so
these are updated.
By writing a
record the report generator checks if the fields which are components of an
index has been modifyed. In this case the index key will be modifyed.
Now it may occur
that an index cannot be updated normally due to duplicate key. If this happens
for the 7'th index after updating index 1‑6, all update will be rolled
back and the file left unchanged whereafter an error message is given.
It is possible
for a programmer to define file update for not only DATAMASTER files with or
without index updating. Eventuelly only write on 'non‑critical' fields
may be defined.
By use of the
WRITE and REWRITE commands you will be warned if index update is not defined.
In the case WRITE and REWRITE will act as the same command, only the fields in
the record are updated.
If you try to
use the INSERT or DELETE commands on such a file you will get an error message.
Is you furthermore try to start such a report the run will be abandoned
immediatly with the same error message.
20.17. Changed
structure in the main file handling.
By definition of
a report on the file XX you could in previous releases use the fields XX#1,
xx#1, Xx#1, xX#1 and #1. It is 5 different records from the same file could be
used eg. for 5 labels on a row.
This function is
kept unchanged but the READ (XX) is changed from handling a separate record to
be working on the main record itself.
This is
nessesary to implement writing of the main file by use of the WRITE (XX)
command.
Reports using
READ (XX) of the main file will still be working but by the first amendment of
the calculations on such a report with this new version you will have to change
all XX fields to eg. xx.
20.19. Error
handling by updating.
You should of
course always test your updating report without activating the writing by the
UPDATE command.
Errors during
file updates may be serious and will always be written to the system logbook.
Also the error
message will be printed on the printer on the line above the report in error.
By this the reader of the report print will be notifyed of the error. Naturally
such error messages may disturb a nice list but this is better than not
noticing the error.
In case of
attempt to use the INSERT/DELETE commands on a file where index is not defined
the report will be aborted after this error message.
By 'normal'
error messages such as record key already present in the index an error message
is given with filename, index, error number and if possible the index key value
in error. By use of the UPDATE (1) you have specifyed that the run should
continue or by UPDATE (2) that the run should be abandoned after the message.
20.21.
15.11. Where to
place the update statements.
You should be
extremly carefull by placing any WRITE/DELETE in the NORMAL calculations as
this block of statements is carried out BEFORE selections for all records and
also during the SORT phase of a report run.
Normally you
should use AFTER calculations when using update on a selected report.
By sorting of a
report or by use of calculated totals you will have to use the WHEN command,
normally to control the update.
In case of
calculated totals on a report you may build a new file containing totals from
this report run.
20.23. LTOT freeze
lowest total level.
When running
reports with updating of files you will not always want the complete report
printed but just the updating to be done.
If you starts
the report with LOWEST TOTAL LEVEL as 9 the printer will be deactivated it is
no output at all.
If you want to
have a confirmation page for the run you may set LOWEST TOTAL LEVEL to 1
causing only one line with the grande total to be printed. In this way also
eventually error messages will occur on the list.
By placing the line:
LTOT (1)
in the
calculations the lowest total level for the report will be locked to 1 no
mather what is given by start of the report. The question of lowest total level
will still occur but you can just press cr.
20.25.
15.13. Updating the
main file main index.
By use of the write function you may change any index in
a file.
If you change
the index in the main file on which the report is running it may occur that
this record will show on the list again later placed correctly according to the
new key.
E.g. if you
changes the phonenumbers:
01248340 to
31248340 and
01240415 to
33240415
the report will contain 4 printlines:
01240415
01248340
31248340
31240415
if the phonenumber is the main index for the report.
The already
changed records is found later on in the read sequence and will be handled
twice.
20.27. Security
against updating application files.
When installing
DMS.RAPGEN the programmer will usually just place READ access for all files, it
is a textfile DMREAD.XX containing read statements is generated for each file.
DMS.RAPGEN can
not in any way write to such files as the definition of the write is mission.
DATAMASTER
furthermore makes a textfile DMREAD.XXW containing read, write and index update
definitions.
DMS.RAPGEN can
be used for updating any file where such a write‑definition is present
but only such files. It is usually you can just write to your own defined
DATAMASTER files.
The programmer
may of course create such a textfile DMREAD.XXW for any file and may in this
way install writing for the normal application files. But a programmer which is
able to do this will also be able to delete the complete file so no security
risk is introduced by this.
We do support
any tools to generate writestatements for any other files than the DATAMASTER
files. READ statements can be generated automatically but WRITE‑statements
must be handwritten and as such confirmed by a programmer.
Only fields
placed in the write statements can be modifyed from the report generator.
Critical fields as balance can be blocked against update in this way.
If index‑definition
is placed (300/8200) in the file DMREAD.XXW also index update and insert/delete
is activated for the file which is not possible without these. If index
definitions are not present also write of any fields, which is part of the
index should be avoided to keep the file consistent.
20.29. Blocking for
all updating.
If DMS.RAPGEN is
installed without the module DMS.RAPGEN.S7W on the disc all commands for
updating will become inactive and will result in basic error if a report
containing such is started.
However if the
report program is generated already this will be able to run even if
DMS.RAPGEN.S7W is missing. A programmer may in this way use S7W as a key to
activate/deactivate creation of such reports.
20.31.
OPEN(XX,"3/XXFILE") special file open.
This subfunction
is more intended for the programmers use than the normal user.
The file
3/XXFILE will be opened instead of the file XX on the report. The file is
opened for READ‑ONLY, protected against writing.
DMS.RAPGEN
assumes the file definition for this file is according to the definition of XX.
This function
may be used for copy of files or reconstruction/extension of index in the
following way:
1) The report is defined on the file XX.
2) The calculations are defined as:
OPEN
("XX","3/OLD‑XX")
LET (xx#1‑99=#1‑99)
INSERT (xx)
By this the main
file is switched to 3/OLD‑XX, the fields from this is moved to the real
xx file activated as a second file on the report (lower case letters) and a new
record is inserted in this file.
The new file may
have more fields than the old as different calculations may be done during the
copy.
The function may
also be used to merge different files into one file.
20.33. Creating new
files with RAPGEN.
This function
enables the user to define new files from a report and insert data as well. For
this purpose the LET command is used WITOUT any fields given on the left side
of the equal sign:
LET
(AA=#1,7,10-20)
which creates a new file with the short-name AA. The file
will contain 13 field, e.g. 1,17,10-20.
The names and
types of the fields will be as the fields of the mainfile for the report. If
using workfields it is then possible to enter the names and formats of the
fields yourself. The first field on the right side of the equal sign becomes
the file index unless else defined.
The
filedefinition is generated at once RAPGEN detect the LET command in function 4
(calculations), which you will see by activating the HLP function right after
the LET command is entered. The new file AA will appear on the list of files
available for RAPGEN.
When the report
is startes the file will be builded on the disk with space for 100 records if
nothing else defined. The write-commands (WRITE/REWRITE/INSERT/DELETE) can then
be used to add data to the new file.
By defining
other reports with AA as mainfile you are able to manipulate the data in any
way thus such created files are updateable.
If you have the
product DATAMASTER the files created by this function can be used by the
DATAMASTER. In this product you can change/add the file definition.
The file will
also be accessable in the product IQ where inquery and search programs can be defined.
The files from
RAPGEN is builded as normal indexed files and can therefore be used by other
special applications. With RAPGENs special file-definition module a complete
documentation of the files structure can be printed.
There is full
secturity on writing in files not builded by this function or DATAMASTER.
Furthermore the physical filename will be named with -DMS- as suffix to prevent
conflict with other files.
It is of course
possible to control the physical disk location for the file, how many indexes
and records to use. This is described in the next section.
A maximum of 99
files with up to 99 fields can be created in a RAPGEN system.
Figure 36 Calculations for creating a new file.
UPDATE (1) /*
Aktivate update
NOPAS () /* Deaktivate password
LET (AA=#1,7,10-20)
INSERT (AA)
The figure
illustrates calculations used to define the new AA file with 13 fields. The
first field, field 1, becomes the file index. The file is build with space for
100 records when the report is started and the data from the main file is
inserted in the new file.
20.34.1. Number of
records, disk and company id.
LET
(AA=#1,7,10-20),2000 builds the file
with space for 2000 records the first time the report is started.
LET
(AA=#1,7,10-20),-2000 builds the file
EVERY time the report is started, truncating the file each time.
LET
(07/AA=#1,7,10-20) builds the file on
LU. no. 07.
LET
(07/AAabc=#1,7,10-20) inserts the
company id from the TAMOS selector in the file name.
20.34.3. Mix of files.
READ (LE)
READ (GR)
LET
(AA=LE#1-10,17,GR#3,1,#15)
will build the file AA with the fields 1-10,17 from file
LE, field 3 and 1 from file GR and field 17 from the main file of the report.
LE#1 will become the file index.
20.34.5. Index keys.
LET
(AA=#1K,7D,10-20) defines field 1 as
unique key, and field 7 as duplicate key.
LET
(AA=#1-2K,7,10-20) defines a unique key
of field 1 and 2.
LET
(AA=#1,7,10-20;2) defines that field 2
from AA is to be index (equals field 7 from the original file).
Note that the
indexdefinition is seperated from the fields by a semicolon. By entering the
index field as a workfield you can control the keyvalue in the calculations.
20.34.7. Multiple
fields in the key.
LET
(AA=#1,7,10-20;1,2) defines that the key is field 1 and 2 merged together. The
maximum of characters in a key is 30.
20.34.9. Multiple keys.
LET
(AA=#1,7,10-20;1,2;2,1) defines two indexes. The first is field 1 trailed by
field 2. The second is field 2 trailed by field 1. You can defined a maximum of
15 keys per file. RAPGEN will always update all keys correct.
20.34.11. Special keys.
LET
(AA=#1,7,10-20;1,2,P) will pack field 1
and 2 in the key (saves space).
LET
(AA=#1,7,10-20;1,2P) only packs the
second field in the key.
LET
(AA=#1,7,10-20;1;2,NP) allows multiple keyvalues in the second index because
the recordnumber is added in the second
keyvalue.
LET
(AA=#1,7,10-20;7D) turns the date in
field 7 from DDMMÅÅ to ÅÅMMDD to produce correct sorting.
It is not
possible to define an index with a part of a field. For this purpose you have
to use a workfield.
20.34.13. Deleting
files.
LET (AA=)
without any fields given deletes the file and its definition again.
20.34.15. Redefinition
of files.
The second time
RAPGEN detects LET (AA=#1,7,10-20) in function 4 a question is asked, whether
the file is to be redefined (Y/N). If you answer Y the file is deleted and a
new is build. Just by changing the fields in the second LET command you can
hereby create a completely new file.
Using another
report you can copy the file AA into a new file BB and then delete AA. The
redefiniton module in DATAMASTER can also be used.
20.34.17. Filenames and
other tecnical information.
With LET
(AA=#1-10) a file is build with the name 3/DM-DMS-AA, where 3/DM is prefix for
3/DMFILES filedefinition. -DMS- is always inserted to avoid conflict with other
files.
LET(07/AAabc=#1-10) the file 07/DM-DMS-AA001 is build, where 001 is the
company id from the TAMOS selector.
The field
definitions are stored in the file DMDATAFIL8 (subsystem 8). This file is
automatically build once with space for 20 records.
The maximum
number of files possible can if required be expanded using the call:
#COPY
(80:3000)DMDATAFIL8=OLD.DMDATAFIL8
21. The edit
functions 11-14.
As these has been introduced more and more
functions in DMS.RAPGEN enabling the user to make nearly any sort of report
program with many files involved, the need for user documentation and letter
overview by amending the definitions, has increased.
This is achieved
by introduction of a new dialog with the user in the new functions 11‑14.
These function
may be used together with or instead of the other functions which is kept
unchanged.
Figure 37 The new functions in the menu.
REPORT GENERATOR ENGLISH VERSION REPORT GENERATOR # 3 90.05.03/ 0:02
DMS.RAPGEN
1 ... DEFINE NEW
REPORT
2 ... DEFINE
SELECTIONS
3 ... DEFINE SORTING
AND TOTALLING
4 ... DEFINE
CALCULATIONS
5 ... DELETE
REPORT
6 ... DEFINE NEW
LETTER
7 ... AMENDMENTS TO
A REPORT/LETTER
8 ... PRINT OF
DEFINITIONS
9 ... START AND
GENERATE REPORT
10 ... COPY
REPORT
11 ...
DOCUMENTATION
12 ... EDIT
SELECTIONS
13 ... EDIT SORTING
AND TOTALLING
14 ... EDIT
CALCULATIONS
ENTER
CODE:........
MESSAGE : *
DEMO COPY ‑ NOT PAID FOR * 471199
22.1. The
structure of the new functions.
These functions
are based on a textmaintenance system enabling the user to move around in the
text in a very easy way and amend in any place.
You get a better
overview of eg. larger calculation routines when 21 lines are showed in full‑screen
mode. Opposite you do not get as much help from the report generator
translating the calculation lines into plain text as this would reduce the
overview and slow down the text‑editor.
When one of the
new functions is ended DMS.RAPGEN will call up the appropriate good old
function to complete the definition. After you have amended any calculation
with function 14 you will see function 4 is called and the lines rolls fast
through this.
This is
nessesary to get the calculations translated into a BASIC program. Also the use
of new free fields must be handled, this will cause DMS.RAPGEN to stop and ask
you to define the field with name and field format.
22.3. The text‑editor.
This module is a
simple form of textmaintenance where you easely can move around in the text and
insert/delete characters or lines.
Figure 38 Editing of documentation with function 11.
DMS.RAPGEN 3 ARTICLE LIST 11....DOCUMENTATION
XXXXXXXXXXXXXXXXXXXXXXXXX
1 FROM INVOICE DATE (DDMMYY, EG.
311289)
2 TO INVOICE DATE (DDMMYY, EG.
150590)
3
4 JUST PRESS CR. AS START/STOP
KEYS
5
6 THE LIST WILL BE SORTED BY
INVOICE NO.
7
8
9
10 THIS REPORT IS CREATED AS A
DEMO‑EXAMPLE DURING ONE OF MR.ALLAN
11 STENDERS GOOD RAPGEN COURSES.
12
13
14
15
16
17
18
19
20
21
MESSAGE: LINE 1‑9 OF THE
DOCUMENTATION WILL BE DISPLAYED BY STARTING
On a line you may use the arrows to insert/delete
characters or to position on the line. If you just press cr. the line is kept
unchanged.
With ; you can
go one line up, @ will keep the line unchanged and go to next line just like the
normal cr. The @ key (function key no. 1) may be used to TABulate on a line in
steps of 20 characters.
By simple
entering a lineno., eg. 147, at the start of a line, eventually overwriting the
present text, you will position to line no. 147. That is if you really want the
figure 7 to be placed on a line you will have to type 7 followed by a space to
avoid to jump to line 7.
0 will position
to the last used line.
The DEL command
may be used to delete a number of lines from and including the current line
where the command was given. You will be questioned how many lines to delete
from this. If you just press cr. nothing is deleted.
The INS command
may be used in the same way to insert a number of lines.
The GET command
will copy a number of lines from another report. You must give the report
number and from/to line no. on this. If
from/to line is just given as cr. all lines will be copied. The copied lines
will overwrite any existing lines, use the INS command before the GET command
if you want to merge two definitions.
The PRT command
gives a printout of the definition text on $LPT.
END finishes the
texteditor and if the text has been changed it will now be written and eg. the
calculation module invoked. If the text is unchanged you will branch directly
to the report generator menu and the report is kept unchanged, it is the
program will not have to be generated again even if you have entered the
calculation function 14.
The functions 11‑14
may be used just as inquiery programs without any updating.
SPR will cancel
all amendments and keep the report unchanged.
The HLP command
may be used as anywhere else in DMS.RAPGEN to get a file overview or a field
overview from any file. When you return from the HLP by pressing cr. the last
used HLP screen will be kept on the upper part of the screen and you will now
use a 'mini‑editor' with just 4 lines at the lower part. Of course you
can use any functions from the full‑screen editor.
Figure 39 HLP by calculation editing in function 14.
DMS.RAPGEN 3 ARTICLE LIST 14....EDIT CALCULATIONS
1 ARTICLE NO 19 @FREE
2 DESCRIPTION 20 @FREE
3 SELLING PRICE 21 @FREE
4 COST PRICE 22 @FREE
5 DATE OF LAST PURCHASE 23
@FREE
6 SUPPLIER NO. 24 @FREE
7 ARTICLE GROUP NO. 25 @FREE
8 STOCK BALANCE 26 @FREE
9 ALTERNATIVE SUPPLIER 27 @FREE
10 FREE 28 @FREE
11 DB 29 @FREE
12 DG 30 @FREE
13 PRICE DKK
14 @FREE
15 @FREE
16 @FREE
17 @FREE
18 @FREE
1 #11=#3‑#4
2 #12=#11%#3 /*CALCULATE SOMETHING
3 READ (LE)
4 READ (KU)
MESSAGE: : ENTER 'MOD' TO RETURN
TO FULL SCREEN MODE.
By use of the HLP command you may have any field overview
on the screen during the editing.
The MOD command may be used to shift back to the full‑screen
editor.
MOD may also be
used when you are in the full‑screen mode. The upper part of the screen
will remain and you will switch to the mini‑editor it is you are able to
have the old text on screen while amending on the lower part.
22.5. Function 11
‑ Documentation.
By use of function 11 you are able to enter documentation
for a report.
This
documentation is printed when you print the report definition with function 8.
The first 9
lines of the documentation will be displayed on the screen by start of the
report.
Here you may
write instructions for the operator how to start the report or how to handle
the output.
Figure 40 Start of report with documentation and data input
fields.
DMS.RAPGEN 3 ARTICLE LIST 9....START AND GENERATE REPORT
TODAYS DATE ? 130590
AS OF DATE ?
130590
INDEX:
START FROM ? 1:ARTICLE NO.
2:SUPPLIER NO.
STOP AT ?
FROM INVOICE DATE 310389 (DDMMYY, EG. 311289)
TO INVOICE DATE
010690 (DDMMYY, EG.
150190)
JUST PRESS CR. AS START/STOP
KEYS.
THE LIST WILL BE SORTED BY INVOICE
NO.
MINIMUM TOTAL LEVEL TO BE PRINTED
(0‑ 1 , 0=WHOLE LIST) ? 0
START:( Y=PHANTOM , S=SCREEN ,
P=PRINTER , N=NO ) ? Y
TESTPRINT / PRINTER SELECTION
(Y/N/P/$XXXX) ? N
MESSAGE:
If you use the start‑data fields (#D1‑#D7) in
a report you will notice the 9 documentation lines are overwriting the text for
these on the screen by starting the report. This can be used to name the fields
or give extended input instructions instead of the former used naming of a free
field as eg. #D1INPUTFIELD.
When editing the
documentation on the middle of the first screen line, a row of x's is shown.
These given you the input position of the start‑data fields #D1‑#D7,
enabling you to write the text according to these positions.
The
documentation is stored as plain text in a separate textfile named eg. 0/DMT1047.DOC. Of course the documentation is
copied when you copy a report and deleted when you delete a report.
Sometimes you
may wish to design your own screenimage complete for the report start. If the
first line of the documentation text contains the command:ALL the first 20 lines of the documentation will
be displayed by start. Possible you should try it a couble of times to get your
screen positions perfect.
If you in the
documentation place the lines:
INP
310393
4711?
INP
this will define standard start values it is:
- INP activates
the standard input values
- Todays date
will be fixed to 310393
- As of date is
entered automatically just as if cr. was pressed
- As START FROM
default 4711 is used, user may change this
- INP
deactivates standard, STOP AT and total level etc. is manual input
The first occurence of INP must be present in line 1-9 to
activate this function.
22.7. Function 12
‑ editing of selections.
When this
function is selected the report selections is transferred to the editor and you
can amend these:
Figure 41 Editing of selections by use of function 12.
DMS.RAPGEN 3 ARTICLE LIST 12....EDIT SELECTIONS
FIELDNO. MINIMUM MAXIMUM !
1 #7 !1 !5 !
2 QUICK ! ! !
3 FND(#5) !FND(#D1) !FND(#D2) !
4 ! ! !
5 ! ! !
6 ! ! !
7 ! ! !
8 ! ! !
9 ! ! !
10 ! ! !
11 ! ! !
12 ! ! !
13 ! ! !
14 ! ! !
15 ! ! !
16 ! ! !
17 ! ! !
18 ! ! !
19 ! ! !
20 ! ! !
21 ! ! !
MESSAGE: :
ENTER 'HLP' FOR FIELD OVERVIEW.
.
Each line is devided into 3 parts: fieldno., min., max.
When you type cr. you move to the next field on the line.
Apart from these
coloums the editor is used as anywhere else. The commands INS/DEL/HLP/MOD may
be used. The GET command is not implemented as reentering selections normally
is quite as fast as copy from another report due to the few lines.
When you END the
editing the selections are defined on the report. If a username is connected to
the report you must enter it at this line.
22.8.1. Selections on
alpha‑textfields.
When you define
selections on alphanumeric fields in previous releases of DMS.RAPGEN you had to
quote any textconstant eg. "A" or a basic error would occur by
starting the report.
DMS.RAPGEN now
inserts these quotes. You may select entering "A" or just A. Also
<>"A" or <>A will work.
If you select on
an alphanumeric field with a numeric value, eg. minimum 10, DMS.RAPGEN will now
take numeric value of the textfield and compare with the value 10. If you state
"10" the first two characters of the field must be minimum
"10".
Selecting on a
value 47.11 may now also be written with comma 47,11 in order to eliminate
another typical error situation.
22.9. Function 13
‑ editing of sorting and totalling.
In this function
you get a complete schema containing the sort/total definition and you can move
around in this:
Figure 42 Editing of sorting and totalling.
DMS.RAPGEN 9 ARTICLE LIST 13....EDIT SORTING AND TOTALLING
1 SORTING (Y/N):Y
2 WEIGHTED TOTALS (Y/N):N
3 SUBTOTAL LEVELS (AND SORT
KEY)
4 FIELDNO. NAME TOTAL NAME FORMFEED
5 #7 ARTICLE GROUP !Y !GROUPTOTAL !N
!
6 #2 DESCRIPTION !N
! ! !
7 ! ! ! !
8 ! ! !
!
9 ! ! ! !
10 ! ! ! !
11 CALCULATE TOTALS BEFORE PRINT
(Y/N):N
12 FIELDS TO BE TOTALLED
13 3,4
14
15
16 GROUP TOTALS BEFORE PRINT
(Y/N):N
17 FIELDNO. NAME NO.OF VALUES GROUPNAME
18 U6 SUPPLIER NO. !100 !TOTAL SUPPLIER !
19 ! ! !
20 ! ! !
21 ! ! !
MESSAGE: :
ENTER 'HLP' FOR FIELD OVERVIEW.
Some lines contains leading textes as SORTING (Y/N): you
are positioned just after the : and can enter your choice.
Some lines are just headings and are skipped.
Some lines is divided into coloums just as when you edit
the selections.
The commands INS/DEL
and GET cannot be used in this function. If you have too few lines for a
definition just END it and you will get extra lines next time you select
function 13.
A line is
deleted simply by spacing all fields out.
22.11. Function 14
‑ editing of calculations.
This is possible
the most user‑asked function:
Figure 43 Editing of calculations with function 14.
DMS.RAPGEN 24 ARTICLE LIST 14....EDIT OF CALCULATIONS
....,....!....,....!....,....!....,....!....,....!....,....!....,...
1 WHEN 20 SECOND PASS ONLY ALWAYS
2 READ (OH)
3
4 LET (#23‑25=0)
5 START (OL)
6 NEXT (OL)
7 #23=#23+1
8 IF #23>10 GOTO A
9 REPEAT (OL)
10
11 A:#21=OH#5
12 READ (DK) #21,P
13 FIRST
14 IF #D2=0 LET #D2=311289 /* CR. AS END DATE ==> ALL
15
16
17
18
19
20
21
You can move around in the calculations completely as you
want and use all the editor functions INS/DEL/GET/HLP/MOD. When the editing is
terminated with END the definition is completed by automatic invoking function
4.
The calculations
is entered just as usually apart from the WHEN command. In function 4 you will
get 3 questions when using WHEN, in function 14 you must state two digits just
after the WHEN, eg. WHEN 12 answers the first question with 1, the second with
2.
If you use new
freefields in the calculation, DMS.RAPGEN will ask you to give field name and format when the line is
passed in function 4 after the editing.
When editing calculations
you have got a maximum of 99 lines. If DMS.RAPGEN is installed with 32 KB
partition, even 199 lines.
22.12.1. Remarks in
the calculations.
You have always
had the possibility to place REM comments in the calculations and with the new
edit function you get even more overview by doing this.
Now you are also
able to make comments to the right of a calculation line by writing eg. #13=#15
/* remark.
This function
has until now been reserved for internal use in DMS.RAPGEN but can now also be
used by the definition.
However /*
remarks is NOT allowed on READ (XX) lines (yet).
22.12.3. GOTO/GOSUB
and RETURN in the calculations.
It has always
been possible to use these BASIC functions in DMS.RAPGEN, but the value has
been limited as you do not know which linenumbers are generated.
The only function which could be used in practice has
been: IF #15<>0 RETURN
by which you can skip all the rest of the calculations if
a certain condition is not fullfilled.
Sometimes there
is the need to jump in the calculations, eg. end a START/NEXT/REPEAT reading of
a file after the first 10 records has been
read. This can now be done by eg.:
#47=0
START (XX)
NEXT (XX)
#47=#47+1
IF
#47>10 GOTO A /* OUT AFTER 10 TIMES
REPEAT (XX)
A:
#48=....etc.
It is LABELS is
introduced in the calculations.
A label is a
single letter A‑Z and is defined by writing the letter followed by a : as
the first two characters on a line. You can jump to such a label with the GOTO
A statement, especially with IF.... GOTO A.
Also you may now
write subroutines in the calculations which may reduce the number of
calculation lines if the same routine should be used more times, eg. both in
the FIRST and the NORMAL calculations:
IF
#15=1 GOSUB N
IF
#16=2 GOSUB N
RETURN /* END THE NORMAL CALL
N:#47=FNR(#47*100/#45)
FIRST
GOSUB
N /* FIRST USES SAME ROUTINE
22.13. Technic by
editing.
When you use eg.
function 14 to edit the calculations, DMS.RAPGEN will read the report
definitions and create a plain textfile with the extracted calculation lines
named DMWORK.XX, where XX being the screen number.
This textfile
contains the source calculation lines only not any generated code. The textfile
is handed over to editor which could be any texteditor as PAID or other.
When the editing
is ENDed the editor checks if any changes in the text has been done. In this
case DMS.RAPGEN is invoked with a function no. 10 + the selected function, it
is in case of calculations 24.
The hidden
functions 22, 23 and 24 are definition of selections, sorting and calculations
from the textfile DMWORK.XX without intervenience from the user. These
functions are not intended to be called up from the menu but is not blocked for
this.
You may use
these functions to cheat the report generator. If you select eg. function 13 on
report 5 and then press END, your textfile DMWORK.XX will now contain the
definition of sorting/totalling for report number 5.
If you now
invoke function 23 on report no. 7, this will be defined with sorting from the
textfile DMWORK.XX and you have got a copy of the definitions from report 5.
Another use can
be to transmit complex calculations written by a programmer by modem to a
customer system. The small textfile DMWORK.XX can be transmitted and placed in
any report by use of function 24.
If you select
function 23 when DMWORK.XX contains calculation definitions you will probably
get a funny result. You should not do this.
23. Other
systems, individual adjustments and optimization.
This chapter
describes other systems and how to implement RAPGEN.
At this moment
RAPGEN can be used on the following systems:
8870 - all operating systems from NIROS 5.0
or later.
TARGON - all models of XBASIC. This RAPGEN
release supports the latest TOS.
UNIBASIC - RAPGEN can now use the new 5% variables.
XNET - This version runs in XNET basic on
PC platforms.
INFORMIX - RAPGEN is also written in C-language
with support of C-ISAM / INFORMIX and SQL.
24.1. REPS
Multiple report systems.
This command
allows the user to create new report systems. RAPGEN creates all files needed
to support 66 reports in each system.
In RAPGENs main
menu the command REPS can be entered. When entered this screen will appear:
Figure 44 The REPS command.
3/XXREPORTS ENGLISH
VERSION DMS.RAPGEN # 0 92.09.27/13:12
....,....!....,....!....,....!....,....!....,....!....,....!....,....!....,..
1 DMS RAPGEN
2
3 1.... DMS.RAPGEN,RAP=3/XX
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 ENTER CODE:
20
This function
uses the same editor as function 14. This allows the user to jump to any line
just by entering the linenumber, insert and delete lines with the INS/DEL
commands.
By entering the
text 2..SECOND RAPGEN,RAP=2/NN in line 4 you will create a new report system
with the prefix NN on disk 2. You may create a total of 60 different systems.
Remember to
insert lines to move the text ENTER CODE: as you enter new systems above line
18. The text DMS RAPGEN and ENTER CODE: may be changed.
When RAPGEN is
selected a front menu will appear where you can select the desired report
system. The same menu appears if inserted in TAMOS selector and FINANS reports.
24.2.1. S Start
RAPGEN again.
If S is entered
in RAPGEN main menu without returning to TAMOS selector first.
24.3. TAM Insert
in TAMOS selector.
Using this
function in RAPGENs main menu you can insert a report in the TAMOS selector.
The function can only be used in connection with normal TAMOS selectors, not
with TARGONs T-menu system.
24.5. HEAD
Individual standard headers.
With this
command you can adjust the standard headers RAPGEN generates when a new report
is defined with function 1.
In RAPGENs main
menu you have to enter the command HEAD giving you the following screen:
Figure 45 HEAD Individual standardheadings.
03/DMS-RAP-HEAD ENGLISH
VERSION DMS.RAPGEN # 0 92.09.27/13:50
....,....!....,....!....,....!....,....!....,....!....,....!....,....!....,..
1 REM
-------------------------------------------------------------------------
2 Date #DD #> - #HD - #> Pr.#PD Page #PP
3 #>>-
4 #
5 #>>=
6 REM
-------------------------------------------------------------------------
7 REM
8 REM REM A line starting with REM is a
commentline
9 REM #>>-X- -X- is repeated until max column
10 REM #>PAGE #PP Right justify
text
11 REM #> XXX #> #> is
replaced by the as many blanks as possible
12 REM # Inserts field
headers at the current position
13 REM XXXX>> >>
Last on line ==> continue definition on next line
14 REM
15 REM The following fields can be used: (no other fields)
16 REM 1. #DD = Todays date
17 REM 2. #PD = Pr.date
18 REM 3. #PP = Pageno
19 REM 4. #KA = File short id
20 REM 5. #SN = Systemname from RAP.SYS, if blank ==> TAMOS company
21 REM 6. #SY = Systemno from
RAP.SYS
22 REM 7. #TI = Time
23 REM 8. #NO = Reportno (+1000)
24 REM 9. #SC = Screenno
25 REM #HD = Header
In this example
line 2-6 contains the header definition. In these lines you can add fields
enter constant text.
If you later on
want to remove this definition you have to delete all lines with the DEL
command.
24.7. DRN file
definitions.
This command
allows you to maintain the file definitions in the report system instead of
returning to TAMOS selector.
24.9. Function 9
- Starting multiple report in one step.
It is possible
to enter a sequence of reports to be started as in function 8. For example you
can enter:
1-10,17,25,5 Starting these
report numbers.
-1-10 Only generates the reports if not
generated before.
-1-99! Generates and optimizes the reports
of not optimized before.
24.11. SPEED aggressive optimization.
This function
will optimize all report to execute 10-75% faster. Typically the rate will be
50 %.
SPEED is an
extra step when generating a report. It will analyse the generated program and
optimize it to fast and use as little memory as possible. SPEED is therefore
not used when the report is defined and coded but to increase the final
program.
The SPEED
command is activated by inserting the calculation line SPEED(). in function 4
or 14. Next time the report is started is will be optimized. The report will
execute as before, only faster.
You can optimize
all report in the system over night due to the facility in function 9 (Refer to
Function 9 - Starting multiple reports in one step). When you have to enter the
report number in function 9 it is possible to simulate a kind of
job-queue. For example you can enter the report numbers
1-4,17,17,15. These reports will now be started with the same start-parameters.
If you enter the sequence -1-99! all reports will be generated and optimized
(!=Optimize reports, -=Generate but do not start).
When SPEED is
activated the screen will appear as illustrated when generating:
Figure 46 Optimizing during generation.
- Generating
program - W A I T...
- Optimizing
program - W A I T...Line Byte
Buffer No.
- Analyzing
program..... 778 22627
5447
- Sortering
linenumbers. 778
5461
- Removing
comments..... 627 4410
154
- Analyzing
variables... 22629 128
- READ
optimize......... 628 4397 14
- DIM optimize......... 626 4383
18
- Renumbering
lines..... 493 7485
- Loading program
- W A I T...
SPEED will also
accept some parameters to determine how to optimize the report.
SPEED(NOPRT,-XREAD) will turn all print off (NOPRT), but no optimization of the
read-function on file 2-9.
All functions in
the optimization can be controlled as a parameter. This is only useful if you
need to determine how much a simple function can be optimized. The following
list gives you the possible parameters for SPEED, the default state and the
description of the optimization step.
Function UNCOMMENT READ XREAD VARUSE MIN DIM GLOBAL SAVED GOSUB PROGUSE NOHARD RELATIVE FN PRT TOTAL CONTROL SIZE NOTEXT NOPRT NOIX ALL |
Active ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON OFF OFF OFF OFF ON |
Description All comments will be removed from the program to reduce
space and time. Only fields used by report will be read from the files.
If the report updates files the WRITE
funcion will be restructured as well. If INSERT is used READ and WRITE
will not be restructured, because INSERT requires all fields. Read of an external file with READ(XX) only reads the
record if the keyvalue changes. If the file is updated, locking will be
deactivated for this function. All variables not used by the program will be removed. All field tables will be minimized as much as possible. All DIM statements will be grouped in the beginning of
the program. The DIM area will then be initialized using CLEAR instead of
DEALLO-DIM. All varibles is set to global if possible. Variables
that is DEALLOced or DIMensioned several times will not become global. The program is saved optimized with ,D, even if not
defined in DMS.RAP.SYS at installation time. Empty gosub functions are removed. GOTO refering to
another goto-statement is directly changed. All functions or statements not used are removed. The PRT function is removed from all prints. The main file has to be indexed. If indexed the
none-indexed function is removed. Use SPEED(-RELATIVE) if main file not indexed. Function definitions are removed if not used. Text fields are assumed to have the right length at
print time. RAPGEN deactivates the insertion of spaces after text-fields. Use
SPEED(-PRT) if one or more print lines are incorrect. All total functions are removed if no totals on report. Advanced printer control function is removed if no
@-control sequences are found. Only on 8870. The program is normally saved without
size. Use for example SPEED(16) to save with size 16 kb. The report layout can contain text such as headers or
letter text. If SPEED(NOTEXT) is used only field can be printed. If SPEED(NOPRT) the print function s totally removed
from the program. This is normally used when reports doesn't produce any
print at all. If SPEED(NOIX) is used on reports that updates files no
index will be updated. Only fields that doesn't refer to an index may be
updated. The above described stardard settings are used. If
SPEED(-ALL) is used only UNCOMMENT will be performed. |
24.13. RAPGEN mini
(runtime) version.
RAPGEN can be
installed in a mini runtime version where the user is allowed only to start
reports already generated. It means that definition, amendment and generating
reports aren't possible.
Only 8 programs
are needed to install such a mini version. The file definitions aren't needed
as well, unless functions like EXPORT are used. Only active functions will be
shown in the RAPGEN menu.
Figure 47 RAPGEN mini-version.
DMS.RAPGEN
5 ... DELETE
REPORT
9 ... START AND
GENERATE REPORT
10 ... COPY REPORT
ENTER
CODE:........
By adding a few
more modules print of documentation and display of the report definition
function 11-14 will be active.
Figure 48 Largest mini-version.
DMS.RAPGEN
5 ... DELETE
REPORT
8 ... PRINT OF
DEFINITIONS
9 ... START AND
GENERATE REPORT
10 ... COPY REPORT
11 ... EDIT
DOCUMENTATION
12 ... EDIT SELECTIONS
13 ... EDIT
SORTING AND TOTALLING
14 ... EDIT
CALCULATIONS
ENTER
CODE:........
The mini version
is activated when the file definitions (DMDATAFIL) or the generation module
(DMS.RAP.091) is missing. When using the mini-version the following functions
will work differently:
Function
5 - delete report - the generated
program will not be deleted unless Y is answered.
Function
10 - Copy report - Also copies the generated program.
Modul DMS.R DMSE DMS.RAP DMS.RAP.09 DMS.RAP.99 DMS.RAP.999 DMS.RAP.Tx DMS.RAP.TAQ DMS.RAP.05 DMS.RAP.K DMS.RAP.K1 DMS.RAP.KTx DMS.RAP.001 DMS.RAP.04 DMS.RAP.08 DMS.RAP.081 DMS.RAP.082 DMS.RAP.TAM DMS.RAP.TAMTx DMS.RAP.INS DMS.RAP.SYS DMS.RAP.FIL DMS.RAP.LU 0/CHSYSTEM x/XXFILES x/xxREPORT x/xx10nn x/xxT10nn x/xxSORTWORK x/xxDATAFIL ************* |
A 17 2 28 25 31 4 44 4 2 73 256 704 200 1390 |
B 17 2 28 25 31 4 44 4 22 3 16 10 7 2 73 256 704 176 200 1617 |
C 17 2 28 25 31 4 44 4 22 15 23 4 3 16 10 7 2 73 256 704 176 200 1666 |
D 17 2 28 25 31 4 44 4 22 15 23 4 8 18 3 16 10 7 2 73 256 704 176 200 1692 |
E 17 2 28 25 31 4 44 4 22 15 23 4 8 18 16 15 12 3 16 10 7 2 73 256 704 176 200 1735 |
F 17 2 28 25 31 4 44 4 22 15 23 4 8 18 16 15 12 23 8 3 16 10 7 2 73 256 704 176 200 1766 |
G 17 2 28 25 31 4 44 4 22 15 23 4 8 18 16 15 12 23 8 3 16 10 7 2 73 256 704 176 200 600 2369 |
|
Description Start program End program Main menu Start input parameters Start segment for a report End segment for
a report Textes Interface to Tamos jobqueue Delete / copy report Edit textfile Edit textfile Edit program textes Startmodul other funktions Startmodul calculations Documentation Documentation Documentation Insert in Tamos selektor Insert in Tamos - textes Installation - controlcodes Installation - systems Installation - systems Installation - set file lu 1 System 100 File &
index definitions 44 Repors 44
Reportprograms of 16 sectors 44
Rapportdefinitions of 4 sectors 1000 Sortrecords 50
Fielddefinitions Total |
A. Smallest
version of RAPGEN. Only function 9 active without installation module.
B. Copy of
reports (from other machines) and deletion of reports.
C. KEYS
function to define start/stop values can also be used.
D. Function
11-14 can be used to documentation and to view report definition and
calculations.
E. Documenation
of definition excluding field descriptions.
F. Insert in
TAMOS selector active.
G. Special
functions as EXPORT can be used in reports.
Due to file open
function DMFILES has to be in the system. All field definitions can be
excluded.
The total
installation of RAPGEN contains 200 programs (2500 blocks) including a lot of
small text files with READ-statements for each file installed. The total
version will appr. use 5000 blocks.
24.15. Function 10
- Copying between systems / machines.
To copy between
multiple systems created with REPS or machines it is now possible to enter a
system number instead of just a report number in function 10. It is also
possible to enter a file prefix for an external file.
From
reportno.: 7 Copies as normal from report 7
NN,7 Copies from the file
0/DMSREP.NN07
To reportno.:
9 Copies as normal to report 9
309 Copies to REPS system 3
report no. 9
NN,9 Copies to external file
0/DMSREP.NN09. This file can later on be transfered to another machine.
XX,9 Same as NN,9 but minimizes
the text file bu removing generated calculations/code.
Copy from
another machine can be done by copying the entire reportfile and the generated
programs, or just by:
1. Copying the
report with function 10. For example report 5 to XX,5
2. Transfering
the textfile 0/DMSREP.XX05 and the generated program DM1005
3. Copying the
report with function 10 from report XX,5 to report 5.
Now you can
start the report. Note that prefix XX is recommended to minimize the textfile
to be transferred. (When a report has been copied using XX,5 function 4 has to
be activated to generate calculations).
This version of
RAPGEN the file DMSREP.XX05 is generated as a textfile. In previous versions
this file was contigous. This makes it possible to transfer the file with all
kinds of modems and emulation software. Also the documentation is included in
this text file.
24.17. Automatic
READ of other files at definition of a report.
When defining a
report with function 1 and refering to fields from external files, RAPGEN
automatically generates the READ statements needed. When function 1 is ended
function 4 is called generating calculations at once.
If automatic
connections exists the report can be started at once. Otherwise you have to use
function 4/114 to enter the correct keysequence after the generated
READ-statements.
The files is of
cource read in the correct ordre according to the file definitions.
If the function
LINE is used in function 1 a READH(XX) is added for the first external file to
shift to another header each time the keyvalue changes.
24.19. Advancing
the date functions for year 2000.
RAPGENs date
functions has previously worked with 6 digit dates (DDMMYY).
The new
functions are able to turn the date correctly, regardless of the form
DDMMYY,YYMMDD or YYYYMMDD.
Some new
functions are included to turn the date correct disregrading the input form:
FND(date) = Turn date,
YYMMDD==>DDMMYY,DDMMYY==>YYMMDD,YYYYMMDD==>DDMMYY
FNY(date) = YYYYMMDD date is always returned in 8 digit format
FNO(date) = DDMMYY date is always returned in 6 digit format
FNA(date) = day number. Now it accepts DDMMYY,YYMMDD
and YYYYMMDD as parameter.
FNB(date) = DDMMYY as always
FNC(date) = YYYYMMDD as FNB but in 8 digit form
Figures
Figure 1 TAMOS printerassignment......................................................................................................................................................... 7
Figure 2 The PRINTER
command in function 7....................................................................................................................................... 8
Figure 3 Selection of
printer by start of report......................................................................................................................................... 8
Figure 4 Inserting
control codes by use of function 7............................................................................................................................ 9
Figure 5 Control code
defined in function 1........................................................................................................................................... 10
Figure 6 Calculation of
control codes...................................................................................................................................................... 10
Figure 7 Start of
DMS.RAPGEN.PRT...................................................................................................................................................... 11
Figure 8 First page of
the printer code table........................................................................................................................................... 11
Figure 9 2 page of the
printer table in octal notation............................................................................................................................ 12
Figure 10 Third page of
the code table in hexadecimal notation......................................................................................................... 13
Figure 11 Printout of
the printer definition table.................................................................................................................................... 14
Figure 12 The library
list DMS.P.LIB....................................................................................................................................................... 15
Figure 13 Start of the
BCU......................................................................................................................................................................... 17
Figure 14 Printout of a
PC report.............................................................................................................................................................. 17
Figure 15 Starting the
report..................................................................................................................................................................... 18
Figure 16 Selection of
the PC transmission function............................................................................................................................ 18
Figure 17 Start of the
PC transmission.................................................................................................................................................... 19
Figure 18 The control
file DMSPCX06.BAT........................................................................................................................................... 20
Figure 19 The PCC
cleaning program...................................................................................................................................................... 21
Figure 20 The libr.list
DMSPC.LIB........................................................................................................................................................... 22
Figure 21 DMSPC.SYS
installation.......................................................................................................................................................... 23
Figure 22 The file
DMSPC06.BAT........................................................................................................................................................... 23
Figure 23 DMS.RAPGEN.PRT
printer control........................................................................................................................................ 24
Figure 24 The LINE
command................................................................................................................................................................... 27
Figure 25 Opdeling af
liste på to printere................................................................................................................................................ 33
Figure 26 Letters with
journal................................................................................................................................................................... 34
Figure 27 Printing two
concurrent lists................................................................................................................................................... 34
Figure 28 PC output with
EXPORT.......................................................................................................................................................... 37
Figure 29 Export to
tape/floppydisc......................................................................................................................................................... 39
Figure 30 EXPOX with
index and fielddefinitions.................................................................................................................................. 40
Figure 31 The KEYS
command................................................................................................................................................................. 44
Figure 32 Entering the
start/stop values................................................................................................................................................. 44
Figure 33 Activating the
subfunction..................................................................................................................................................... 46
Figure 34 Start of a
KEYS report............................................................................................................................................................... 46
Figure 35 Output from
TEST("1‑10")....................................................................................................................................................... 57
Figure 36 Calculations
for creating a new file......................................................................................................................................... 66
Figure 37 The new
functions in the menu............................................................................................................................................... 68
Figure 38 Editing of
documentation with function 11........................................................................................................................... 69
Figure 39 HLP by
calculation editing in function 14............................................................................................................................. 70
Figure 40 Start of
report with documentation and data input fields................................................................................................... 71
Figure 41 Editing of
selections by use of function 12........................................................................................................................... 72
Figure 42 Editing of
sorting and totalling............................................................................................................................................... 73
Figure 43 Editing of
calculations with function 14................................................................................................................................ 74
Figure 44 The REPS
command.................................................................................................................................................................. 76
Figure 45 HEAD
Individual standardheadings...................................................................................................................................... 77
Figure 46 Optimizing
during generation.................................................................................................................................................. 78
Figure 47 RAPGEN
mini-version.............................................................................................................................................................. 80
Figure 48 Largest
mini-version................................................................................................................................................................. 80
Keyword index
$LPT............................................. 7,
8, 11, 18, 33, 38, 39, 57, 69
+xx...................................................................................... 10,
28
‑xx............................................................................................. 10
#DD.............................................................................. 35,
46, 77
#KA......................................................................................... 77
#NO.......................................................................................... 77
#PD.............................................................................. 32,
46, 77
#PP..................................................................................... 31,
77
#SC........................................................................................... 77
#SN.......................................................................................... 77
#SY........................................................................................... 77
#TI............................................................................................ 77
Account.................................................................................. 17
BASIC.............. 11, 15, 26, 35, 37, 48, 51, 53, 64, 68, 72, 75,
76
BUILD...................................... 16, 37, 41, 52, 56, 60,
63, 66, 67
BUILDXF................................................................................ 56
BYTE.................................................................................. 59,
78
CALL................................................... 35, 49,
55, 57, 67, 68, 75
CHAIN..................................................................................... 35
CHECK........................................................................ 15,
36, 40
Checks............................................................................... 62,
75
CHSYSTEM............................................................................ 81
CLEANUP............................................................................... 21
COMET............................................................................. 17,
55
COPY..................... 11, 15, 18, 32, 35, 36, 39, 65, 67‑69,
71, 72,
75, 80‑82
Core.......................................................................................... 59
Cost.................................................................. 17,
39, 46, 57, 70
DATAMASTER................................ 35, 41,
60, 62, 64, 66, 67
DEF.................................................................................... 44,
45
DIM.................................................................................... 78,
79
DL............................................................................................. 32
DMDATAFIL......................................................................... 80
DMFILES.......................................................................... 67,
81
DMREAD.......................................................................... 60,
64
DMS.RAPGEN.SYS................................................................. 7
DMSORTWORK................................................................... 56
DRN......................................................................................... 77
ESCape.................................................................................... 22
export...................... 16, 17, 19‑22, 25, 37‑43,
54, 55, 57, 80, 81
fil......................................................................................... 42,
81
FNA......................................................................................... 82
FNB.......................................................................................... 82
FND.................................................................................... 72,
82
FNR.................................................................................... 55,
75
FNV.......................................................................................... 59
Format.................... 16, 22, 25, 32, 37, 39, 43, 48, 54, 68,
74, 82
GOSUB.............................................................................. 75,
79
GOTO........................................................................... 74,
75, 79
HBA............................................................................. 15,
21, 22
HELP........................................................................................ 68
IBM.......................................................................................... 39
IL.............................................................................................. 32
INDEX...................... 8, 18, 40, 41, 44‑46, 53, 56, 60‑67,
71, 79,
81, 84
Interval.................................................................................... 47
IPL............................................................................................ 15
JOBQUEUE........................................................... 16,
18, 19, 81
KB................................................................................ 51,
74, 79
KEY 26, 29, 32, 35, 38, 39, 44, 46, 47, 54, 62‑64, 67,
69, 73
Labels................................................................................ 63,
75
LANGUAGE........................................................................... 76
Layout................................. 9, 26, 27, 34, 37, 39, 41,
43, 49, 79
LEN.......................................................................................... 39
LIBRARY................................................................................ 15
LINK........................................................................................ 17
LOAD..................................................................... 35‑37,
52, 59
LU....................................... 15, 19, 21‑23,
38, 42, 44, 47, 66, 81
MODE................................................................................ 68,
70
Modulus............................................................................ 35,
36
NIROS................................................ 6, 9, 12, 15,
17, 26, 59, 76
NOT........................ 6, 7, 9, 10, 12, 13, 15, 17, 20‑23,
25‑30, 35,
36, 40‑44, 46, 48, 49, 51, 53,
55‑64, 66‑69, 72, 74‑80
Ocr............................................................................................ 36
OPTIMIZE.................................................................. 28,
55, 78
over................................................................... 26,
28‑31, 75, 78
PACK................................................................................. 54,
67
Packing.................................................................................... 54
PAGELENGTH......................................................................... 6
PARTITION............................................................................ 74
Pass.......................................................................................... 74
Password......................................................... 35,
53, 60, 61, 66
PHANTOM....................................................... 8, 17,
18, 46, 71
PORT......................................................................... 7,
8, 19, 23
POS............................................................................ 8,
9, 18, 27
PREFIX.................................................................. 47,
67, 76, 82
PRINTER..................... 6‑9, 11‑16, 18‑20, 23‑26,
28, 32‑34, 36,
38, 39, 46, 54, 55, 57, 63, 71, 79
Protection................................................................................ 60
PRT ................................................................................. 24,
79
PUT ....................................................................................... 32
QUICK..................................................................................... 72
RAP.................................................................. 54,
76, 77, 79‑81
REM................................................................................... 74,
77
REPEAT................................................................ 30,
31, 74, 75
RETURN.............................................. 19, 32, 45, 55,
58, 70, 75
SAVE................................................................................. 33,
79
SCOPE............................................................................... 11,
23
SCREENS............................................................................ 6,
21
Search................................................................................ 41,
66
SELECTOR............ 11, 15, 17, 18, 21‑23,
61, 66, 67, 76, 77, 81
SIZE............................................................................. 55,
59, 79
SORT................................................... 35, 51,
56, 61, 63, 68, 73
SORTWORK.......................................................................... 56
STAR....................................................................................... 56
Status....................................................................................... 22
STOP............................... 8, 17‑19, 23, 35, 44‑47,
68, 69, 71, 81
SUBSYSTEM.......................................................................... 67
Subtotal................................................................................... 73
SUFFIX.............................................................................. 25,
66
SYSTEM..................... 6, 7, 9, 12, 17, 19, 21‑23, 33,
35, 36, 38,
54, 55, 63, 66, 68, 75‑78, 81, 82
T2$........................................................................................... 35
T3............................................................................................. 35
TAMOS.................... 6, 7, 11, 12, 15, 16, 36, 53, 61, 66, 67,
76,
77, 81
TEST............................................................................ 57,
60, 63
Testprint............................................................ 8,
12, 18, 57, 71
TF.PARAM............................................................................ 32
TOP 29, 55
UNPACK........................................................................... 54,
57
WRITE................... 35, 41, 45, 48, 53,
57, 60‑64, 66, 71, 75, 79
XXDATAFIL.......................................................................... 81
XXFILES................................................................................. 81
XXREPORT............................................................................ 81
ZERO.................................. 27,
28, 31, 37, 40, 48‑50, 59, 61, 62