RAPGEN
Anvenderhandbuch
Teil 2.
Inhaltsverzeichnis
11. Druckersteuerung............................................................................................................................................................................ 6
11.1. Generell.............................................................................................................................................................................................. 6
11.2. Grundlegende Regeln für die
Druckersteuerung........................................................................................................................ 6
11.3. TAMOS Druckerzuteilung............................................................................................................................................................. 7
11.3.1. Name des logischen Druckers: z.B. $LPT.................................................................................................................................... 7
11.3.2. Name des physischen Druckers:z.B. $RPL2............................................................................................................................... 7
11.3.3. Parameter Start/Stop Pos. Zeilen und
Zeilen/Zeichen Dichte.................................................................................................. 7
11.4. Definition eines Druckers............................................................................................................................................................... 7
11.4.1. Ändern einer Druckerdefinition.................................................................................................................................................... 8
11.5. Wahl des Druckers bei einer Liste................................................................................................................................................ 8
11.6. Anwendung vor Steuerzeichen in einer Liste............................................................................................................................. 8
11.7. Berechnete Steuerzeichen (@X@Y@Z)...................................................................................................................................... 9
11.7.1. Einsetzen berechneter Steuerzeichen.......................................................................................................................................... 9
11.7.2. Steuerzeichen @0 (Dummy)........................................................................................................................................................ 10
11.7.3. Berechnung von Steuerzeichen.................................................................................................................................................. 10
11.8. Definition der Druckertabellen..................................................................................................................................................... 10
11.8.1. Erste seite der Druckertabelle..................................................................................................................................................... 11
11.8.2. Spool Parameter............................................................................................................................................................................ 11
11.8.2.1. Logischer Name
des Druckers................................................................................................................................................... 11
11.8.2.2. Start Druck
aus Spooldatei sofort (J/N)................................................................................................................................... 12
11.8.2.3. Dialog
von/nach Ausdruck........................................................................................................................................................ 12
11.8.2.4. Anzahl kopien.............................................................................................................................................................................. 12
11.8.2.5.
Paperidentifikation....................................................................................................................................................................... 12
11.8.2.6. Name der List
(J/N)...................................................................................................................................................................... 12
11.8.3. Steuerzeichen................................................................................................................................................................................ 12
11.8.3.1. @ RESET....................................................................................................................................................................................... 13
11.8.3.2. @A-@W
Steuerzeichen............................................................................................................................................................. 13
11.8.3.3. @X-@Z berechnete
Steuerzeichen........................................................................................................................................... 13
11.8.3.4. @0
Dummy-Steuerzeichen......................................................................................................................................................... 13
11.8.3.5. @1-@9
Steuerzeichen................................................................................................................................................................. 13
11.8.3.6. Zeichen für
Zeilenschaltung...................................................................................................................................................... 13
11.8.3.7. Steuerzeichen
für Seitenvorschub............................................................................................................................................ 13
11.8.4. Ausdruck der Druckertabelle...................................................................................................................................................... 14
11.9. Fehler beim Drucken...................................................................................................................................................................... 14
11.9.1. Basic Fehler 26 - Drucker nicht bereit........................................................................................................................................ 15
11.9.2. Basic Fehler 73 - Falsche OPEN Parameter............................................................................................................................... 15
11.10. Installation der Druckersteuerung............................................................................................................................................. 15
12. PC-Einbindung............................................................................................................................................................................... 16
12.1. Generell........................................................................................................................................................................................... 16
12.1.1. Struktur.......................................................................................................................................................................................... 16
12.1.2. LOTUS, CHART, MULTIPLAN und VISICALC.................................................................................................................... 16
12.1.3. Überführung auf den PC............................................................................................................................................................. 16
12.1.4. Voraussetzungen......................................................................................................................................................................... 16
12.2. Beispiel einer Dateiübertragung................................................................................................................................................. 17
12.2.1. Start/Stop der BCU...................................................................................................................................................................... 17
12.2.2. Aufbereitung einer PC-Liste...................................................................................................................................................... 17
12.2.3. Start des PC-Liste........................................................................................................................................................................ 18
12.2.3.1. Mehrere Listen (Dateien in einer
Warteschlange)................................................................................................................. 18
12.2.4. Überführung auf den PC............................................................................................................................................................. 18
12.2.4.1. Listen des aktuellen Bildschirms.............................................................................................................................................. 19
12.2.4.2. Löschen der Nixdorf 8870 Textdateien ? ................................................................................................................................ 19
12.2.4.3. Start sofort oder zu einem angegebenen
Zeitpunkt.............................................................................................................. 19
12.2.5. Start der Übertragung vom PC aus........................................................................................................................................... 19
12.3. Übertragene Listen (Dateien)...................................................................................................................................................... 19
12.3.1. Übersicht über die übertragenen Listen
(Dateien)................................................................................................................. 20
12.4. Standard PC-Drucker.................................................................................................................................................................... 20
12.5. Neuübertragung (Retransmission) nach
einem Fehler............................................................................................................ 20
12.5.1. Löschen der Textdatei ohne vorhergehende
Übertragung................................................................................................... 20
12.6. Manuelles Löschen der 8870 Textdateien................................................................................................................................. 21
12.7. Systemtechnische Informationen............................................................................................................................................... 21
12.7.1. Druckdatei (Text)......................................................................................................................................................................... 21
12.7.2. Übertragungs-Steuerdatei.......................................................................................................................................................... 21
12.7.3. Format-Kontroll-Datei................................................................................................................................................................. 22
12.7.4. BCU Auftragswarteschlange..................................................................................................................................................... 22
12.7.5. Status während der Übertragung.............................................................................................................................................. 22
12.8. Installation der PC-Einbindung.................................................................................................................................................. 22
12.8.1. Installationsprogramm DMSPC.SYS......................................................................................................................................... 23
12.8.2. Installation eines einzelen PCs.................................................................................................................................................. 23
12.9. Löschen der PC-Logdatei............................................................................................................................................................ 23
12.10. PC-Druckersteuerung.................................................................................................................................................................. 24
12.10.1. Überschrift und Summen........................................................................................................................................................... 24
12.10.2. Anzahl Zeilen.............................................................................................................................................................................. 24
12.10.3. Beginn die Seitennummer.......................................................................................................................................................... 24
12.10.4. PC Integrationscode................................................................................................................................................................... 25
12.10.5. Textdatei - extended flag (B/!/?)............................................................................................................................................... 25
12.10.6. PC Textdatei 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
Figuren......................................................................................................................................................................................................... 83
Stichwort...................................................................................................................................................................................................... 84
11.
Druckersteuerung.
12.1. Generell.
Aufgrund der
bisherigen relativ einfachen Nixdorf-Drucker konnte die notwendige
Druckersteuerung über die TAMOS-Druckerzuteilung und die Spoolerfunktionen
erfolgen. Nach Einführung u.a. der TD06 und TD07 Drucker, d.h. Schönschrift
(LQP), Einzelballeinzug u.ä., sind die Möglichkeiten der Druckersteuerung
wesentlich gestiegen. Hierdurch sind eine Reihe von Problemen aufgetreten, da
Programme, die für die alten Drucker geschrieben waren, die neuen Drucker nicht
benutzen können bzw. nicht mit anderen Druckern arbeiten können. Der Grund
hierfür liegt in den unterschiedlichen Steuerzeichen bei den verschiedenen
Druckern.
Um diese Problem
lösen zu können, hat DMS die Druckersteuerungen verschiedener
Textbearbeitungssysteme und PC`s untersucht. Als Ergebnis kann DMS jetzt eine
avancierte Druckersteuerung anbieten, die auf der Erfahrung unterschiedlichster
Systeme beruht, und gleichzeitig die Funktionen des Nixdorf-Spool-Systems voll
ausnützt.
Es wird darauf hingewisen, daß das
Betriebssystem NIROS 5.1 oder später installiert sein muß, um die verschiedenen
Drucker korrekt ansteuern zu können. Es können dann hierüber auch die 'alten'
Drucker (Tischmodelle) bedient werden.
Ausgehend von
dem Grundsatz, daß Anwender des Listgenerators nur dann für eine spezielle
Druckersteuerung bezahlen sollen, wenn diese auch wirklich gebraucht wird, wird
dieses Modul als selbstständige Einheit in Verbindung mit dem Listgenerator
angeboten.
Die DMS-Druckersteuerung
kann in Verbindung mit bereits bestehenden Listprogrammen mit Vorteil benutzt
werden.
12.3. Grundlegende
Regeln für die Druckersteuerung.
Bei der Definition einer Liste wird ein bestimmter
Drucker dieser Liste zugeordent. Dieser Drucker wird als logicher Drucker
bezeichnet.
Mit Hilfe der
TAMOS-Druckerzuteilung wird dieser logische Drucker einem physischen Drucker
zugeordnet. Wird das Listprogramm von einem beliebigen Bildschirmarbeitspalatz
gestarten, sorgt das Betriebssystem dafür, daß der logische Drucker mit dem
jeweils definierten physischen Drucker verknüpft wird. Die Wahl des Druckers
ist somit unabhängig vom jeweiligen Bildschirmarbeitsplatz.
Die
DMS-Druckersteuerung ist an den physischen Drucker geknüpft, da hier die
Aufbereitung unterschiedlicher Steuerzeichen vorgenommen werden muß.
Der
DMS-Listgenerator beinhaltet eine Tabelle für jeden Druckertyp. Diese Tabelle
enthält alle Steuerzeichen für z.B. Seitenwechsel, Zeilenwechsel, Schrifttyp
u.s.w. Kann ein bestimmtes Steuerzeichen für einen gegeben Drucker keine
Tabelle vorhanden, wird die Standardtabelle für Druckersteuerung verwendet.
Spezielle Druckerfunctionen können dann nicht benutzt werden.
Der Anwender
kann in seine Listen mit Hilfe des Zeichen @, gefolgt von einem Buchstaben oder
einer Zahl, die gewünschten Steuerzeichen für die Druckausgabe einsetzen.
Für jeden
gewünschten Druckereffekt muß ferner Anfang (ON) und Ende (OFF) angegeben
werden. ON wird durch einen Großbuchstaben markiert (@L), OFF durch einen
Kleinbuchstaben (@l), z.B. ÜBERSCHRIFT @l, in diesem Falle elongiertes
Schriftbild.
Weiterhin ist es
möglich, mit Hilfe von Berechnungen die Steuerzeichen @x, @y, und @z zu
verändern. Hierüber kann z.B. eine Liste aufgebaut werden, in der neu
hinzugekommene Kunden unterstrichen, und weggefallene Kunden durchgestrichen
werden.
Neben der
eigentlichen Druckersteuerung enthält der Listgenerator eine Reihe erweiterter
Funktionen betr. der Druckerwahl und der Druckerzuteilung.
Die Tabelle für
einen Drucker enthält der Listgenerator eine Reihe erweiterter Funktionen betr.
der Druckerwahl und der Druckerzuteilung.
Die Tabelle für
einen Drucker enthält neben den eigentlichen Steuerzeichen auch OPEN-Parameter
für den jeweiligen Drucker. Hierdurch können die TAMOS Parameter ersetzt
werden. Weiterhin werden alle Spool-Funktionen einschl. Testausdruck u.s.w.
unterstütz.
Die Anzahl
Zeilen pr. Seite ist jetzt nicht mehr länger fest definiert, sondern hängt von
dem jeweiligen Drucker ab. Eine List, die für eine Seitenlänge von 72 Zeilen
definiert wurde, kann also jetzt auch auf einem Drucker mit einer Seitenlänge
von z.B. 51 Zeilen korrekt ausgedruckt werden.
12.5. TAMOS
Druckerzuteilung.
Eine TAMOS
Druckerzuteilung kann wie folgt aussehen:
Figur 1 TAMOS Druckerzuteilung.
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:
Jedem logischen Drucker wird hier ein physischer Drucker
zugeteilt. Dabei ist folgenden zu bemerken:
12.6.1. Name des
logischen Druckers: z.B. $LPT.
Der name beginnt
mit $ und bezeichnet den Drucker, für den die Liste definiert wird. Dieser
Drucker braucht nicht zu existieren. Man kann hier z.B. Namen verwenden wie
$SCHMAL, $BREIT u.s.w.
12.6.3. Name des
physischen Druckers:z.B. $RPL2.
Hierüber wird
der Drucker gekennzeichnet, auf dem die Liste tatsachlich ausgedruckt werden
soll. Für diesen Drucker kann eine Steuerzeichentabelle im Listgenerator
aufgebaut werden. Man kann auch z.B. $RPL,1 oder $RPL,2 angeben, wobei in jedem
Falle der physische Drucker $RPL ist. Jedoch können hierdurch werschiedene
Tabellen angesteuert werden, z.B. für Blattzufuhr 1 und Blattzufuhr 2. Es kann
auch eine Textdatei als physischer Drucker benannt werden.
12.6.5. Parameter
Start/Stop Pos. Zeilen und Zeilen/Zeichen Dichte.
Diese Parameter
sollten hier nicht verwendet werden, sondern in den entsprechenden
Steuerzeichentabellen definiert werden.
Für weitere
Informationen verweisen wir auf des TAMOS-Handbuch.
12.7. Definition
eines Druckers.
Abhängig davon,
wie das System ursprünglich installiert wurde, wird man bei der Definition
einer neuen Liste um die Angabe eines Druckers (0-5) gebeten. In diesem Falle
wurde bei Installation eine Reihe von Druckern bereits definiert.
Als eine
erweiterte Funktion kann man jetzt auch anstelle der Nummer den Namen des jeweiligen Druckers angeben, z.B.
$RPL2.
Erfolgt hier
keine Angabe, wird der Standarddrucker $LPT verwendet.
12.8.1. Ändern einer
Druckerdefinition.
Mit Hilfe der
Funktion 7 -Ändern Liste/Brief- kann über das Kommando DRUCKER (in ZEILE/POS)
der Drucker für diese Liste geändert werden.
Figur 2 DRUCKER-Kommando in Funktion 7.
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70..
DATUM:##,##,## @L *
LIEFERANTEN-LISTE * @l PR.##,##,##
SEITE:#### 1
2
LIEFERANTNR @0NAME @0VALUTAKODE SALDO 3
4
xxx
@Xxxxxxxxxxxxxxxxxxxxxxxxx
@x ##
---,---,--#.## 5
6
ZEILE,POS:DRUCKER
DRUCKER NR. ? $RPL2
ANFANGSPOSITION (CR=001) ?
ENDEPOSITION (CR=177) ? 131
ANZAHL ZEILEN PRO.SEITE (CR=051) ?
072
Es kann jetzt die Nummer des neuen Druckers, bzw. dessen
Name, eingeben werden.
12.9. Wahl des
Druckers bei einer Liste.
Als neue Funktion kann jetzt bei Start einer
Liste der Drucker angegeben werden, auf dem die entsprechenden Liste
ausgedruckt werden soll. Dies geschieht bei der Frage TESTPRINT (J/N). Dabei
gibt es folgende Möglichkeiten:
Figur 3 Wahl eines Druckers.
DMS.RAPGEN 4
LIEFERANTEN-LISTE 9....AUSGABE
LISTE/BRIEF
TAGES DATUM ?
120590
PERIODE DATUM ?
120590
INDEX:
ANFANG VON ? 1:LIEFERANTENR
ENDE ZU ?
NR. LOGICAL PARAM PHYSICAL CHARS/INCH
LINES/INCH
0:$LPT 000131072 $RPL0 10 6
1:$A 000131072 A 6
2:$RPLO 000131072 $RPL0 10 6
3:$RPL4 000131072 $RPL0 10 6
4:$RPL2 000131072 $RPL2
5:$RPL11 000131072 $RPL11 10 6
6:$CH 000131072 $RPL0 10 6
7:$BAD 000131051 $LPT
8:$LABEL 000131009 $LPT
NIEDRIGST SUM - NIVEAU - ANGEBEN! (0-1, 0=GANZE LISTE) ? =
ANFANG:(J=HINTERGRUND, S=BILDSCHIRM, P=BILDSCHIRMDRUCKEN, N=ANNULIERUNG) ?
P
PROBEAUSDRUCK / DRUCKER (J/N/P/$XXXX) ? 3 $RPL4
NACHRICHT:
Die Frage TESTPRINT (J/N) wird solange wiederholt, bis
man mit Nein (N) antwortet. Anschlieend wird der eigentliche Ausdruck
gestartet.
12.11. Anwendung vor
Steuerzeichen in einer Liste.
Mit Hilfe der
Funktion 7 -Änderung Liste/Brief- können in den Textabschnitten Steuerzeichen
eingesetzt werden. Z.B. @L Überschrift @l (elongiertes Schriftbild)
Dieser
Steuerzeichen können auch bei der Definition eines Briefes mit Hilfe der
Funktion 6 eingegeben werden. Dies ist jedoch nicht möglich bei der
Neudefinition einer Liste (Funktion 1).
Figur 4 Eingabe der Steuerzeichen mit Funktion 7.
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70..
DATUM:##,##,## @L *
LIEFERANTEN-LISTE * @l PR.##,##,##
SEITE:#### 1
2
LIEFERANTNR @0NAME @0VALUTAKODE SALDO 3
4
xxx @Xxxxxxxxxxxxxxxxxxxxxxxxx @x
## ---,---,--#.## 5
6
7
8
9
10
11
12
13
14
ZEILE,POS:5 15
1...;....10...;....20...;....30...;....40...;....50...;....60...;....70..
#1 @x#2 @x #5
#6
Ein
Steuerzeichen belegt keinen Platz in einen Ausdruck. Wir weisen jedoch derauf
hin daß auf dem Bildschirm die nachfolgenden Zeichen um die entsprechende
Anzahl Postionen nach rechts verschoben sind. Bei verwendung von Steuerzeichen
ist es delhalb sehr sinnvoll, Zuerst
einen Testausdruck anzufertigen, um die richtige Platzierung der einzelnen Text
überprüfen zu können.
Einige der
Steuerzeichen, wie z.B. Anzahl Zeichen pr. Zoll, können sinnvollerweise nur für
eine gesamt Zeile verwendet werden. Im anderen Falle erfolgen wahrscheinlich
verkehrte Druckpositionerungen.
Die Angabe '
Anzahl Zeilen pr. Zoll' darf innerhalb
einer Liste nicht geändert werden.
Wir verweisen im
übrigen auf die Spezifikationen des jeweiligen Druckers, die normalerweise in
den NIROS-Handbüchern mitaufgenommen sind (speziell NIROS 5.1.4 Ergänzungen).
12.13. Berechnete
Steuerzeichen (@X@Y@Z).
Die
Steuerzeichen @X,@Y und @X, wie auch @x,@y und @z, haben normalerweise
keinerlei Bedeutung, können jedoch mit Hilfe von Berechnungen für jede einzelne
Zeile gesetzt werden. Hierdurch können einzelne Zeilen unterstrichen,
durchstrichen, kursiv o.ä. gedruckt werden.
12.14.1. Einsetzen
berechneter Steuerzeichen.
Berechnete
Steuerzeichen werden auf die gleiche Art und weise wie die anderen
Steuerzeichen eingesetzt d.h. mit Hilfe der Funktion 7 bzw. Neudefinition mit
Funktion 1.
Im letzteren
Falle gibt man anstelle der FELDNR nur
@X ein. Hierdurch wird das Seuerzeichen in der entsprechenden Position in einer
Zeile eingesetzt.
Figur 5 Eingabe von Steuerzeichen mit Funktion 1.
DMS.RAPGEN 5
LIEFERANTEN-LISTE 1....NEU LISTE
DEFINIEREN
1 LIEFERANTENR 19 @FREI
2 NAME 20 @FREI
3 STRASSE 21 @FREI
4 ORT 22 @FREI
5 VALUTAKODE 23 @FREI
6 SALDO 24 @FREI
7 @FREI 25 @FREI
8 @FREI 26 @FREI
9 @FREI
10 @FREI
11 @FREI
12 @FREI
13 @FREI
14 @FREI
15 @FREI
16 @FREI
17 @FREI
18 @FREI
1...,....10...,....20...,....30...,...40...,....50...,....60...,....70
+xx,-xx,Pxx=POSITION,Hxx=ÜBERSCHRIFT,NXX=KEIN ÜBER,D=LÖSCHEN,T=TEXT
LIEFERANTENNR. @0NAME
AAA
@XAAAAAAAAAAAAAAAAAAAAAAAA
ZEILE NR. 1 FELDNR. ? @x
NACHRICHT:
12.14.3. Steuerzeichen @0
(Dummy).
Da ein
Steuerzeichen wie z.B. @X keine Position innerhalb einer Zeile belegt, gibt man
das Dummy Steuerzeichen @0 in der Überschriftszeile an, wenn ein Steuerzeichen
mit Hilfe der Funktion 1 definiert wird. Dies hat zur Folge, daß die
Überschrift im Verhältnis zu den andern Zeilen verschoben wird.
12.14.5. Berechnung von
Steuerzeichen.
Mit Hilfe der
Funktion 4 können Steuerzeichen berechnet werden, da man ähnlich der Feldangabe
in einer normalen Berechnung Steuerzeichen, wie z.B. @X, berechnen kann.
Diese Berechnung
sollte normalerweise mit dem Nullstellen des Steuerzeichens beginnen, also
@X="" bzw. @x="". Anschließend kann das Steuerzeichen in Abhängigkeit
von Bedingungen werden. Z.B. IF ( Bedingung) LET @x=@l. Es wird hier also
abhängig von einer Bedingung das Steuerzeichen @l eingefügt.
Normalerweise
setzt man immer zwei Steuerzeichen, nämlich Anfang und Ende (@X und @x).
Es können auch
mehrere Steuerzeichen miteinander kombiniert werden, z.B. @X=@I,@U. Hierdurch
bewirkt man sowohl 'Unterstreichen' wie auch 'kursiv'.
Die Länge eines
berechneten Steuerzeichens darf 16 Zeichen nicht überschreiten.
Figur 6 Berechnen von Steuerzeichen.
DMS.RAPGEN 5
LIEFERANTEN-LISTE
4....KALKUKATIONEN DEFINIEREN
1 LIEFERANTENR 19 @FREI
2 NAME 20 @FREI
3 STRASSE 21 @FREI
4 ORT 22 @FREI
5 VALUTAKODE 23 @FREI
6 SALDO 24 @FREI
7 @FREI 25 @FREI
8 @FREI 26 @FREI
9 @FREI
10 @FREI
11 @FREI
12 @FREI
13 @FREI
14 @FREI
15 @FREI
16 @FREI
17 @FREI
18 @FREI
@X=""
@x=""
IF SALDO >1000 LET @X=@B
IF SALDO >1000 LET @x=@b
KALKULATION ? IF #6 >1000 LET @x=@b
NACHRICHT:
12.15. Definition der
Druckertabellen.
Die
Druckertabellen werden mit Hilfe des Programmes DMS.RAPGEN.PRT definiert.
Dieses Programm kann in die TAMOS-Programmwahl eingebettet oder direkt aus dem
'scope' aufgerufen werden.
Figur 7 Start des DMS.RAPGEN.PRT
DMS.RAPGEN.PRT PFLEGE DER
DRUCKERDEFINITIONEN
DRUCKERDEFINITION (PHYSISCHER NAME) :RPL2.KLEIN
KODETABELLE IN HEXA, DEZIMAL ODER OKTAL (H/D/O)
NACHRICHT:
Das Programm
beginnt mit der Frage: PHYSIKALISHER DRUCKER NAME
Man gibt hier
z.B. $RPL2 order $RPL2,7 an, abhängig dovon, mit welchem physikalischen Drucker
man arbeiten möchte. Die Druckertabelle muß im System vorhanden sein.
Anschließend
wied die Frage gestellt: EINGABE OKTAL, DEZIMAL oder HEXADEZIMAL (0/D/H)
Hierdurch kan
das geeignete Zahlsystem gewählt werden. Da Nixdorf in seinen Handbüchern Werte
als Oktalzahlen angibt, ist auch hier als 'default' die oktale Darstellung
gewählt (bei <CR>).
12.16.1. Erste seite der
Druckertabelle.
Die erste Seite
der Druckertabelle beinhaltet die OPEN-Parameter für den jeweiligen Drucker
(siehe auch Nixdorf BASIC Manual unter OPEN).
Figur 8 Erste Seite der Druckertabelle.
DMS.RAPGEN.PRT PFLEGE DER
DRUCKERDEFINITIONEN $RPL2.KLEIN OCTAL
DRUCKER ID:
$RPL2.KLEIN
LOGISCHER NAME DES DRUCKERS: $RPL2
ERSTE POSITION (000): 000
LETZTE POSITION (131): 131
ANZAHL ZEILEN PER SEITE (072): 051
ANZAHL ZEILEN PER ZOLL (6/8) :
ANZAHL ZEICHEN PER ZOLL (10/12/15/16.5):
PRIORITÄT (H/N/L/P): N
START UNMITTELBAR MIT DRUCKEN (J/N): N
SPEICHERN DER DATEN BIS DRUCKENDE (J/N) N
STOP NACH DRUCK DER ERSTEN SEITE (J/N): N
STOP VOR DRUCK DER ERSTEN SEITE (J/N): N
ANZAHL KOPIEN (00‑99): 00
PAPIERTYP (00‑63): 00
NAME DER LISTE (J/N): Y
NACHRICHT:
Das erste Feld, DRUCKER ID, beinhaltet den physikalische
Namen des Druckers, unter der die Tabelle gespeichert ist. Ändert man diesen
namen, erhält man eine Kopie der bestehenden Tabelle für einen anderen Drucker.
Es können die
normalen TAMOS Funktionstasten verwendet werden, d.h. Pfeil oben, @ END und
SPR. Darüberhinaus können natürlich auch die Cursor-Taten benutzt werden.
Eine
Druckertabelle besteht aus drei aufeinander folgenden Seiten. Drückt man END in
der dritten Seite (oder Pfeil oben auf der ersten Seite) wird die Tabelle
gespeichert. Anshließend kan die Tabelle ausgedruckt werden, indem man auf die
Frage AUSGABE AUF DRUCKER (J/N): MIT J
(ja) antwortet.
12.16.3. Spool Parameter.
Auf der ersten
Seite werden verschiedene Parameter für das NIROS-Spoolsystem angegeben. Wir
empfehlen, diese Parameter zu verwenden, und nicht die TAMOS Druckerzuteilung
zu benutzen, da hier nicht alle Parameter gesetzt werden können.
Die
Spool-Funktion unter NIROS muß natürlich aktiviert sein, damit die
verschiedenen Parameter wirksam werden können.
Eine generelle
Beschreibung der einzelnen Parameter sind dem TAMOS Manual unter SPOOL zu
entnehmen. Folgendes sollte man jedoch bemerken:
12.16.4.1. Logischer Name des Druckers.
Normalerweise
sollte der Name mit dem logischen Namen in TAMOS übereinstimmen, da dieses der
Drucker ist, der vom List-Programm eröffnet wird.
12.16.4.3. Start Druck aus Spooldatei sofort (J/N).
Bei Eingabe ein
N (Nein) beginnt der Druck erst, wenn die gesamte Datei in die Spooldatei
übertragen wurde. Dies kann sinnvoll sein, wenn sehr umfangsreiche und
sortierte Listen gedruckt werden sollen, da dann der Drucker für andere
Anwender während des Sortierens zur Verfügung steht.
12.16.4.5. Dialog von/nach Ausdruck.
Es besteht die
Möglichkeit, einen Testausdruck der ersten Seite vorzunehmen. Die Spooldatei
kann solange bewahrt werden, bis der gesamte Ausdruck akzeptiert wurde.
12.16.4.7. Anzahl kopien.
Es können bis zu
99 Kopien angegeben werden.
12.16.4.9. Paperidentifikation.
Das Spoolsystem
beginnt den Ausdruck erst, wenn vom Bediener angezeigt wurde, dass der Papier
mit der richtigen Identifikation im Drucker eingespannt ist.
12.16.4.11. Name der List (J/N).
Bei J (ja) wird
der Name der Liste bei Anfrage in der Spool-Warteschlange angezeigt.
12.16.5. Steuerzeichen.
Auf Seite 2 und
3 der Druckertabelle können die Steuerzeichen eingegeben werden (oktal, dezimal
oder hexadezimal).
Figur 9 Zweite Seite der Druckertabelle (oktal).
DMS.RAPGEN.PRT PFLEGE DER
DRUCKERDEFINITIONEN $RPL2. KLEIN OCTAL
@X FUNKTION EIN AUS
@ RESET: 376,230,200 376,230,200
A:
B BOLD: 376,236,261,201 376,236,261,200
C:
D DURCHSTRICHEN:
376,230,203,201
376,230,203,200
E 10 ZEICHEN/ZOLL: 376,236,222,200
F 12 ZEICHEN/ZOLL: 376,236,222,201
G 15 ZEICHEN/ZOLL: 376,236,222,202
H DOPPELTE HÖHE:
376,230,207,201
376,230,207,200
I:
J:
K:
L ERWEITERT:
376,236,224,201
376,236,224,200
M:
N NORM. ZCHNSATZ: 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
NACHRICHT:
Jedes Steuerzerzeichen hat einen ON-Wert (Anfang) und
einen OFF-Wert (Ende), z.B. @L und @l für elongierte Schrift Anfang/Ende.
Es ist nicht
immer notwendig, den OFF-Wert (Ende) einzusetzen. In solchen Fällen wird dieses
Steuerzeihen ausgelassen.
Figur 10 Dritte Seite der Druckertabelle (hexadez.).
DMS.RAPGEN.PRT PFLEGE DER
DRUCKERDEFINITIONEN $RPL2.KLEIN HEX
@X FUNKTION EIN AUS
T SUPERSCRIPT: FF,98,85,81 FF,98,85,80
U UNTERSTREICHEN: FF,98,82,81 FF,98,82,80
V UNIDIRECTIONAL: FF,9F,C2,81 FF,9F,C2,80
W DOPPELTE BREITE: FF,98,89,81 FF,98,89,80
X BERECHNET:
Y BERECHNET:
Z BERECHNET:
0 DUMMY:
1 EINZELBL.ZUF. 1: FF,9F,96,81
2 EINZELBL.ZUF. 2: FF,9F,96,82
3 ZUFÜHRUNG ÖFFNEN:8B
4 PAPIER EIN: 8C
5 PAPIER AUS: 8D
6:
7:
8:
9:
ZEILENSCHALTUNG: 8D
FORMULARVORSCH.: 8C
NACHRICHT:
Jedes Eingabefeld hat eine Länge von Position, d.h. man
kan in oktaler Schreibweise bis zu 7 Zeichen eingeben. Ist dies nicht
ausreichend, muß man die hexadezimale Notation verwenden, da man dann bis zu 10
Zeichen eingeben kann.
Der Text für den
einzelnen Kode ist nur informativ, da die Bedeutung alleine von dem definierten
Steuerzeichen abhängt. Einen Kode, der mit Leerstellen gekennzeichnet ist, kann
auch für andere Funktionen verwendet werden, z.B. @A.
12.16.6.1. @ RESET.
Unmittelbar nach
dem Eröffnen eines Druckers wird der ON-Wert ausgegeben. Der OFF-Wert wird
direkt vor dem Anschluß eingesetzt. Typisch können hier Steuerzeichen für die
Wahl der Paperzuführung angegeben werden.
12.16.6.3. @A-@W Steuerzeichen.
@A kennzeichnet
einen ON-Wert, @a einen OFF-Wert.
12.16.6.5. @X-@Z berechnete Steuerzeichen.
Sollten
undefiniert verbleiben, da die eigentliche Bedeutung über eine Berechnung
eingesetzt wird.
12.16.6.7. @0 Dummy-Steuerzeichen.
Sollte ebenfalls
immer undefiniert verbleiben. Wird bei Überschriften für die korrekte
Positionierungen von Tabulationen verwendet.
12.16.6.9. @1-@9 Steuerzeichen.
Werwendung wie
@A-@z. Es können jedoch keine OFF-Wert definiert werden.
12.16.6.11. Zeichen für Zeilenschaltung.
Es kann und muß
hier nur Zeichen angegeben werden, normalerweise 215 (oktal).
12.16.6.13. Steuerzeichen für Seitenvorschub.
Bei normalen
Druckers ist der Wert 214 (oktal).
Bei Druckern mit
Einzelblatt-Zuführung kann hier der Kode für Papierauswurf, Schacht,
Papiereinzug etc. angegeben werden.
12.16.7. Ausdruck der
Druckertabelle.
Figur 11 Ausdruck der Druckertabelle.
01:DRUCKER ID:
$RPL2.KLEIN
02:LOGISCHER NAME DES DRUCKERS: $RPL2
03:ERSTE POSITION (000): 000
04:LETZTE POSITION (131): 131
05:ANZAHL ZEILEN PER SEITE (072): 051
06:ANZAHL ZEILEN PER ZOLL (6/8) :
07:ANZAHL ZEICHEN PER ZOLL (6/8):
08:PRIORITÄT (H/N/L/P): N
09:START UNMITTELBAR MIT DRUCKEN (J/N): N
10:SPEICHERN DER DATEN BIS DRUCKENDE (J/N): N
11:STOP NACH DRUCK DER ERSTEN SEITE (J/N): N
12:STOP VOR DRUCK DER ERSTEN SEITE (J/N): N
13:ANZAHL KOPIEN (00‑99): 00
14:PAPIERTYP (00‑63): 00
15:NAME DER LISTE (J/N): Y
21:DRUCK KOPF- UND SUMMENZEILEN (J/N):
22:ANZAHL DRUCKZEILEN:
26:BEGINN MIT SEITE NR:
31:PC INTEGRATION CODE (Y/wks/mp/mc/dif):
32:TEXTDATEI ERWEITERN (B/!/+):
@X FUNKTION EIN AUS
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 DURCHSTRICHEN:
376,230,203,201
376,230,203,200
45:E 10 ZEICHEN/ZOLL: 376,236,222,200
46:F 12 ZEICHEN/ZOLL: 376,236,222,201
47:G 15 ZEICHEN/ZOLL: 376,236,222,202
48:H DOPPELTE HÖHE:
376,230,207,201
376,230,207,200
49:I:
50:J:
51:K:
52:L ERWEITERT:
376,236,224,201
376,236,224,200
53:M:
54:N NORM. ZCHNSATZ:
376,236,263
55:O:
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 UNTERSTREICHEN:
376,230,202,201
376,230,202,200
62:V UNIDIRECTIONAL:
376,236,262,201
376,236,262,200
63:W DOPPELTE BREITE: 376,230,211,201 376,230,211,200
64:X BERECHNET:
65:Y BERECHNET:
66:Z BERECHNET:
67:0 DUMMY:
68:1 EINZELBL.ZUF. 1: 376,236,226,201
69:2 EINZELBL.ZUF. 2: 376,236,226,202
70:3 ZUFÜHRUNG ÖFFNEN:212
71:4 PAPIER EIN: 213
72:5 PAPIER AUS: 214
73:6:
74:7:
75:8:
76:9:
77: ZEILENSCHALTUNG: 215
78: FORMULARVORSCH.: 214
12.17. Fehler beim
Drucken.
Man sollte sehr
gewissenhaft bei der Definition der einzelnen Steuerzeichen sein, da falsche
Steuerzeichen erheblichen Probleme beim Drucken mit sich führen können.
U.a. besteht die
Gefahr, daß bei Auftreren eines fehlerhaften Steuerzeichens der Drucker
ausgeschaltet werden muß. Ferner kann es vorkommen, dass der Drucker zwar
korrekt eröffnet wird, der nachfolgende Druck jedoch fehlerhaft ist.
Bei Auftreten
von Fehlern sollte man folgende Schritte vornehmen:
1.
Versuchen Sie mit dem F-Kommando. Dies sollte normalerweise möglich sein.
2.
Abschalten/Anschalten des Druckers und anschließend F-Kommando.
3.
Kontrollieren, ob Papier und Farbband korrekt montiert sind.
4.
Abschalten/Anschalten des Bildschirms, anschließend F-Kommando.
5.
Entfernen Sie alle Auftäge in der Spool-Warteschlange (falls diese aktiviert
ist). Prüfen Sie, ob das Spoll-System korrekt funktioniert.
6. Haben
die oben genannten Schritte keine Wirkung, muss das System angeschaltet und neu
gestartet werden (IPL).
12.18.1. Basic Fehler 26
- Drucker nicht bereit.
Bei Verwendung
eines falschen Steuerzeichens kann dieser Fehler beim nachfolgende Drucken
aufreten.
12.18.3. Basic Fehler 73
- Falsche OPEN Parameter.
Tritt auf, wenn
man verkehrte Parameter angegeben hat, z.B. 6/8 Zeilen pr. Zoll bei einem
Drucker, der dies Möglichkeit nicht bietet. Bei solchen Druckern muß das
entsprechende Feld leer sein.
Typisch ist
dieser Fehler bei Überschreiten der maximalen Zeilenlänge (normaleweise 131
Positionen).
12.19. Installation
der Druckersteuerung.
Voraussetzung
für die Installation der Drukersteuerung ist das Betriebssystem NIROS 5.1 oder
später, da die älteren Versionen keine Treibersoftware für die entsprechenden
Drucker beinhalten.
Es werden etwa
50 Sektoren auf dem Plattenspeicher benötigt.
Die eigentliche
Installation wird mit Hilfe von COPYALL entsprechend der DMS.P.LIB vorgenommen.
DMS.P.LIB beinhaltet DMS.RAPGEN PRT ( für die Definition der Druckertabellen)
sowie eine Reihe von bereits definierten Tabellen DMS.P.xxx, z.B. DMS.P.LPT.
Figur 12 Libr liste 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
Diese Tabellen können anschließend mit Hilfe von COPY in
die respektiven Namen der Druckertreiber zu kopieren, z.B. DMS.R.RPL2 (das
$-Zeichen im Treibernamen wird ausgelassen).
Die einzelnen
Tabellen können, falls notwendig, mit Hilfe von DMS.RAPGEN.PRT geändert werden.
Desweiteren wird
die Version 1/6-87 oder später des Listgenerators vorausgesetzt.
DMS.RAPGEN.PRT
kann unter die TAMOS Programmwahl mit Hilfe der Funktion DMS.R. (Funktion 97)
eingebettet werden.
13.
12.
PC-Einbindung.
14.1. Generell.
Entsprechend dem
Wunsch vieler Anwender können wir jetzt ein Modul für den Listgenerator
anbieten, welches das Überführen von Daten bzw. Dateien auf einen PC erheblich
vereinfacht und erleichtert.
Der Anwender
wählt einen 'speziellen' Drucker für Ausgabe der Liste(n), die auf einen PC
Überführt werden sollen. Dieser 'spezielle' Drucker kann entweder fest
definiert werden, oder beim Start der Liste angegeben werden. Eventuell kann
der Drucker auch einem bestimmten Hintergrundsport zugeteilt werden.
Es können mehrere Listen (Dateien)
gleichzeitig überführt werden. Benutzt man hier eine Job-Warteschlange
-entweder DMS.JOBQUEUE oder TAMOS-Spool-Queue, werden mehrere Listen in einem
Arbeitsgang auf einen PC übertragen.
Alle Funktionen
des Listgenerators können in diesem Zuasmmenhang verwendet werden, d.h. alle
Funktionen für die Definition von Selektionen, Berechnungen, Sortieren,
Summenbildung u.s.w. Bis zu 9 verschiedenen Dateien können für das Erstellen
einer PC-Liste herangezogen werden.
14.2.1. Struktur.
Bei der Wahl
eines 'PC-Druckers' wird die Druckausgabe als Textdatei auf der Platte
abgelagt. Diese Textdatei wird nummeriert sodaß bei jedem Erstellen einer neuen
Liste eine eigene Textdatei erstellet wird.
Gleichzeitig
wird für den Bildschirm, vom dem die Liste veranlaßt wurde, eine
Überführungs-Steuerdatei gebildet. Diese Datei ist eine PC-BAT datei, die für
die korrekte Überführung auf den PC sorgt.
Bei Überfürhrung
mehrerer Dateien gleichzeitig beinhaltet diese Steuerdatei ebenfalls mehrere
Übertragungs-Kommandos.
14.2.3. LOTUS, CHART,
MULTIPLAN und VISICALC.
Bei der Angabe
des 'PC-Druckers' gibt man mit an, ob die zu überführende Datei später von z.B.
LOTUS weiterverabeitet werden soll.
In einem solchen
Falle setzt DMS.RAPGEN ein Kommando in die Datei für die Übertragungssteuerung,
welch dafür sorgt, daß die Daten in ein LOTUS-gerechtes Format umgewandelt
werden.
Es ist natürlich
möglich, mehrere solcher 'PC-Drucker' zu definieren, nämlich wenn die Listen
(Dateien) von verschiedenen Programmen auf dem
PC weiterverarbitet werden sollen, wie z.B. MULTIPLAN oder CHART.
14.2.5. Überführung auf
den PC.
Wenn die
Datei(en) auf einen PC überführt werden sollen, ruft man auf dem jewiligen PC
den entsprechenden Job (DMSPC.BAT) auf. Dieses Programm wird im DMS.RAPGEN
mitgeliefert. Auschließend startet man auf dem 8870-System das
Übertragungsprogramm, welches die eigentliche Steuerung das Übertragung
übernimmt.
Als erstes wird
die Steuerdatie .BAT übertragen. Soblad dieser Vorgang abgeschlossen ist,
übernimmt die . BAT-Datei die Steuerung der Übertragung.
Auf der PC-Seite
werden dann die für die Übertragung notwendigen Kommandos (RDAC/RDMAIN)
aufgerufen und die evt. Umwandlung in fremde Formate veranlaßt werden sollen.
14.2.7. Voraussetzungen.
DMS.RAPGEN
PC-Einbindung setzt das Betriebssystem NIROS 5.1 oder später voraus.
Weiterhin wird
natürlich vorausgesetzt, daß das Nixdorf PC-Link Programm (Start/Stop der BCU
Übertragungs- Warteschlange) installiert ist. Im anderen Falle ist eine
Verbindung mit dem PC nicht möglich. Weiterhin muß die physikalische Verbindung
aufgebaut, und die notwendigen Emulationsprogramme installiert sein.
Der auf der
Platte benötigte Platz ist abhängig von der Größe der jeweilig zu übertragenden
Listen (Dateien), da diese als Textdateien abgelegt werden.
DMS.RAPGEN muß
in der Version 31/03-1988 (oder später) installiert sein. Ältere Versionen
können ohne weiteres durch die geforderte Version erstattet werden.
14.3. Beispiel
einer Dateiübertragung.
Im Folgenden
wird ein Beispiel einer Überführung von einer Liste (Datei) auf einen PC
durchgegangen und im einzelnen erläutert.
14.4.1. Start/Stop der
BCU.
Bevor man mit
der eigentlichen Überführung beginnen kann, muß die BCU
(Übertragungs-Warteschlange) gestartet werden. Dies kann z.B. im Zusammenhang
mit dem Täglichen Systemstart erfolgen.
Geben Sie das
Kennwort PCLINK (evt. PCL) und andchließend die Programmnummer 010101 an.
Beantworten Sie jetzt die zwei Fragen mit <2> resp. <Y>.
Figur 13 Start des BCU-Programmes.
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:
Das BCU-Programm wird durch Eingabe der Programmnummer
010104 (im gleichen Menü wie oben) gestoppt.
14.4.3. Aufbereitung
einer PC-Liste.
Man definiert
wie gewöhnlich seine Liste, z.B. eine Warenübersicht.
Figur 14 Ausdruck der liste Warenübersicht.
DATUM:12.05.90 * ARTIKELLISTE
* PR.12.05.90 SEITE:
1
NR BEZEICHNUNG VERKAUF EINKAUF
DATUM LIEF ALT GR BESTAND
0101 SCHOKOLADESTANGEN
2,00 1,50 1.01.87 271
270 0 100
0102 GROSSE FRASEMASCHINE
20000,00 10000,00 1.01.85 100
0 9 0
0110 AUTOBUSSE
100000,00 60000,00 15.12.86
123 100
2 1
1001 GELD.GROSSE ZETTEL
1000,00 500,00 31.12.86
205 102
0 100
1005 STANZMASCHINE 2000,00 1500,00
1.06.86 100 0 1
10
2001 KREDITKARTE
20,00 10,00 1.01.87 205
102 9 10
2002 ID‑KARTE
25,00 10,00 30.07.86 205 102
9 200
7 TOTAL 123047,00 72021,50 421
Eine bereits bestehende Liste kann natürlich ebenfalls
verwenden werden.
14.4.5. Start des
PC-Liste.
Die Liste wird
wie gewohnt gestartet.;
Figur 15 Start einer Liste.
DMS.RAPGEN 1 ARTIKEL-LISTE 9.....AUSGABE LISTE/BRIEF
TAGES DATUM ? 120590
PERIODE DATUM ? 120590
START VON ? INDEX:
1:ARTIKELNUMMER.
ENDE ZU
?
2:MATCHCODE/RECNO
NIEDRIGSTE SUM ‑ NIVEAU ANGEBEN ! (0‑ 1 , 0=GANZE LISTE) ? 0
ANFANG:( J=HINTERGRUND, S=BILDSCHIRM, P=BILDSCHIRMDRUCKEN, N=ANNULIERUNG) ?
P
PROBEAUSDRUCK / DRUCKER (J/N/P/$XXXX) ? N $LOTUS
NACHRICHT:
Beachten Sie bitte, daß hier jetzt ein PC-Drucker als
Ausgabeeinheit gewählt werden muß.
Die erfolgt,
indem man bei der Frage TESTPRINT (Y/N) mit der Eingabe $PC (oder evt. nur PC,
da das Zeichen $ oft nicht auf einem PC eingegeben werden kann) antwortet. Die
entsprechende Liste kann natürlich auch von vorneherein für einen PC-Drucker
definiert sein. Dies erfolgt mit Hilfe der Funktion 7 -Änderung Liste/Brief- in
ZEILE,POS. Hier gibt man das Kommando DRUCKER ein, und antwortet auf die Frage
DRUCKER NR: (0=$LPT,1=.......) mit $PC.
14.4.6.1. Mehrere Listen
(Dateien in einer Warteschlange).
Man kan jede
gewünschte Anzahl von Listen auf diese Art und weise starten. Man kann aber
auch durch Eingabe von <Q> auf die Frage START (Y/N/P/S/) diese Listen
(Dateien) in eine Warteschlange einreihen.
Die gewünschten
Listen (Dateien) müssen natürlich vor einer Übertragung auf den PC generiert
und auf der Platte abgelegt worden sein.
14.4.7. Überführung auf
den PC.
Im Hauptmenü des
Listegenerators gibt man <PC> ein:
Figur 16 Wahl der PC-Überführungsmoduls im Hauptmenü.
RAPPORT GENERATOR GERMAN VERSION
RAPPORT GENERATOR #3 90.05.03/20:14
DMS.RAPGEN
1 ... NEU LISTE DEFINIEREN
2 ... SELEKTIONEN DEFINIEREN
3 ... SORTIREUNG UND SUMMIERUNG
4 ... KALKULATIONEN DEFINIEREN
5 ... LÖSCHEN EINER LISTENR.
6 ... NEUEN BRIFE DEFINIEREN
7 ... ÄNDERN EINER LISTE/EINES BRIEF
8 ... AUSDRUCKEN DER LISTEDEFINITIONEN
9 ... AUSGABE LISTR/BRIEF
10... KOPIEREN
11... DOKUMENTATION
12... EDIT SELEKTIONEN
13... EDIT SORTIERUNG UND SUMMIERUNGEN
14... EDIT KALKULATIONEN
CODE EINGEBEN:
PC.........
NACHRICHT: * DEMO COPY - NOT RAID FOR * 471199
Anschließend erscheint folgendes Schirmbild:
Figur 17 Start der Übertragung auf den PC.
REPORT GENERATOR GERMAN VERSION REPORT GENERATOR #3 90.05.03/20:14
ÜBERTAGE AUF PC VON BILDSCHIRM 15
ALLE LISTEN DES BILDSCHIRMS 15
NR.PC‑NAME BLÖCKE LISTE TAGESDATUM, PER,
START/STOP
01:DMS0009.NIX 0003 11 LIEFERANTEN
LISTE 30.07.88, 30.07.88, , Å
,
02:DMS0010.LOT 0003 11 LIEFERANTEN
LISTE 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 ARTIKEL LIST 31.07.88, 31.07.88, , Å ,
06:DMS0014.LOT 0002 3 LIEFERANTEN 31.07.88, 31.07.88, , Å ,
LÖSCHEN DER NIXDORF 8870
TEXTDATEIEN (Y/N) ? Y
13:05 START JETZT ORDER ZU SPÄTEREN ZEITPUNKT (Y/N) ? Y
NACHRICHT:
14.4.8.1. Listen des
aktuellen Bildschirms.
Die ersten Zeile
zeigt an, daß der aktueller PC am Eingang (Port) 15 des Nixdrof 8870 Systems
angeschlossen ist. Quittiert man durch einfaches Drücken der Taste <CR>,
werden alle Listen dieses Bildschirms übertragen. Nur wenn die Listen auf einem
anderen Bildschirm gestartet wurden, muß die entsprechende Bildschirmnummer
hier eingegeben werden.
14.4.8.3. Löschen der
Nixdorf 8870 Textdateien ? .
Nach
fehlerfreier Übertragung werden die Textdateien auf der 8870-Platteneinheit
gelöscht, wenn hier mit Y (yes) geantwortet wird.
Wird N (no)
angegeben, werden die Dateien bewahrt und sollten zu einem späteren Zeitpunkt
gelöscht werden, um nicht unnötig Platz auf der Plätteneinheit zu verschwenden.
Anmerkung:
Bei Y wartet das System mit dem Löschen, bis die Übertragung beendet ist. Bei N
wird der Job nach Übertragung der Kontrolldatei beendet. Das 8870 System kann
während der Übertragung vom PC benutzt werden.
14.4.8.5. Start sofort oder
zu einem angegebenen Zeitpunkt.
Die Uhrzeit für
den Start der Übertragung kan hier angegeben werden, z.B. wenn die Übertragung
erst nach normaler Arbeitszeit gestartet werden soll.
14.4.9. Start der
Übertragung vom PC aus.
Hierzu kehrt man
auf den PC zurück und gibt folgendes Kommando ein:
DMSPC
Anschließend muß
auf die Beendigung der Übertragung gewartet werden.
14.5. Übertragene
Listen (Dateien).
Während der Übertragung
werden die Dateien angezeigt, die jeweils gerade Überführt werden. Als erste
wird die Steuerdatei lu/DMSPCxx.BAT übertragen, wobei xx die
8870-Bildschirmnummer des PC's angibt.
Anschließend
werden ein oder mehrere Dateien mit dem Namen DMSxxxx.NIX übertragen, wobie
xxxx die fortlaufende Nummer (1-9999) ist, die bei der Anlage der PC-Liste
(Datei) vergeben wird. Diese Dateien sind reine Textdateien (normalerweise ohne
Überschriften, Seitennummern oder Summen).
Hat man einen
'PC-Drucker' mit der Abgabe LOTUS o.ä gewählt, wird nach erfolgericher
Übertragung eine entsprechende Datei DMSxxxx.ttt gebildet. Dies erfolgt mit dem
Modul EXPORT. Dabei steht ttt für entweder LOT, MUL, CHA oder VIS (entsprechend
der Wahl des 'Druckers').
14.6.1. Übersicht über
die übertragenen Listen (Dateien).
DMSxxxx.BAT
beinhaltet neben allen notwendigen Übertragungskommandos auch Informationen
darüber, welche Dateien die Liste beinhaltet und mit welchen Parametern zu
welchem Zeitpunkt und auf welchem System die entsprechende Liste generiert
werden.
Figur 18 Inhalt der Übertragungsdatei DMSPCXxx.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
LIEFERANTEN LISTE 30.07.88, 30.07.88,
, Å ,
ECHO 02:DMS0010.LOT 0003 11
LIEFERANTEN LISTE 30.07.88, 30.07.88,
, Å ,
ECHO 03:DMS0011.LOT 0003 1 ARTIKEL LISTE 31.07.88, 31.07.88, , Å ,
ECHO 04:DMS0012.NIX 0002 1 ARTIKEL LISTE 31.07.88, 31.07.88, 1000,1999,
ECHO 05:DMS0013.MUL 0003 2 ARTIKEL LISTE 31.07.88, 31.07.88, , Å ,
ECHO 06:DMS0014.LOT 0002 3 LIEFERANTEN 31.07.88, 31.07.88, , Å ,
14.7. Standard
PC-Drucker.
Um die Anwendung
zu erleichtern, werden die folgenden Druckerdefinitionen Standardmäßig im
DMS.RAPGEN mitgeliefert.
$PC nur
Textübertragung, kein Export, Überschriften oder Summen
$PCN wie
$PC , keine überschriften oder Summen
$LOTUS wie
$PCN, LOTUS -Export Datei (.LOT) wird
gebildet
$MULTI wie
$PCN, MULTIPLAN-Export Datei (.MUL) wird gebildet
$CHART wie
$PCN, CHART -Export Datie (.CHA)wird
gebildet
$VISI wie
$PCN, VISICALC -Export-Datei (.VIS) wird gebildet
14.9.
Neuübertragung (Retransmission) nach einem Fehler.
Wurde die
Übertragung nicht fehlerfrei beendet, kann die Übertragung vom PC wiederholt
werden.
Wurde nach der
letzten Übertragung keine weitere Liste bearbeitet stellt das System folgende
Frage:
NOTHING
NEW TO TRANSMIT, RETRANSMIT PREVIOUS (Y/N) ?
Antwortet man
hier mit Y, wird die Übertragung der letzten Datei wiederholt.
14.10.1. Löschen der
Textdatei ohne vorhergehende Übertragung.
Antwortet man
mit N auf die obige Frage, wird unter allen Umständen gefragt, ob die Datei
gelöscht werden soll. Hiermit erhält man die Möglichkeit, die Datei ohne
vorhergehende Übertragung zu löschen.
14.11. Manuelles
Löschen der 8870 Textdateien.
Soll eine
Textdatei nicht unmittelbar nach einer Übertragung gelöscht werden, bietet der
Listgenerator Funktionen an, zu einem späteren Zeitpukt die Dateien gesondert
zu löschen.
Diese Funktion
wird über das Kommando
PCC
in der Programmwahl aufgerufen.
Figur 19 Löschfunktion (PCC).
REPORTGENERATOR GERMAN
VERSION REPORTGENERATOR #15 87.12.04/13:09
CLEANUP FÜR BILDSCHIRM (CR= 15,
99=ALLE BILDSCHIRME) ?
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) ?
NACHRICHT:
Die Löschfunktion kan für nur einen Bildschirm oder für
alle Textdateien des Systems aktiviert werden.
Man erhält eine
Übersicht über alle Textdateien auf dem Bildschirm. Ein Löschen erfolgt nur,
wenn auf die gestellte Frage mit Y (yes) geantwortet wird.
14.13.
Systemtechnische Informationen.
Bei Start einer
Liste auf einem PC-Drucker liest DMS.RAPGEN die Nummer der Druckdatei
(Textdatei) aus der Datei 00/DMS.PCQUEUE (4% im Satz 0, Byte 0).
14.14.1. Druckdatei
(Text).
Die Nummer dient
zur Identifikation der Druckdatei lu/DMSPCXssxxx, wobei
lu = Disknr. (von DMS,PCQUEUE, 4% in Satz 0,
Byte 0)
ss = Nummer des Bildschirmes, der die Liste
gestartet hat
xxxx=
Lfd. Nummer
Die PC-Textdateien sind damit von dem
Listgenerator-System unabhängug, d.h. u.a., daß von mehreren Systemen
gleichzeitig eine Übertragung von Textdateien vorgenommen werden kann.
Der Aufbau des
Dateinamens Bewirkt unter anderem, daß man mit Hilfe von:
LIBR @
lu/DMSPCX06 oder
LIBR @
lu/DMSPCX
eine Übersicht über alle PC-Dateien für einen bestimmten
Bildschirm bzw. für das gesamte System erhalten kann.
14.14.3.
Übertragungs-Steuerdatei.
Die Datei
lu/DMSPCXss.BAT wird bei Start einer Liste angelegt bzw. erweitert, falls diese
bereits vorhanden ist.
14.14.5.
Format-Kontroll-Datei.
Bei Start der
Übertragung durch Eingabe START Y innerhalbe der PC-Funktion wird die
zwischenzeitliche Kontrolldatei DMSPCXxx geändert in die endgültige Datei
lu/DMSPCXxx.BAT und anschließend gelöscht.
Alle RDAC
Kommandos stehen am Beginn, gefolgt vom RDMAIN S 1 Kommando. Anschließend
folgen alle EXPORT Kommandos Abgeschlossem wird mit dem Kommaodo ECHO.
Ist die
zwichenzeitliche Kommandodatei bei Start der Funktion nicht Vorhanden, wird
gefragt, ob die Übertragung durch eine .BAT Datei erfolgen soll.
14.14.7. BCU
Auftragswarteschlange.
Die Übertragung
wird gestartet, indem ein Sende/Empfang-Auftrag in dem BCU Warteschlange
abgelegt wird. Anschließend wird auf die Beendigung der Übertragung gewartet.
Der Bediener muß
jetzt das Komando DMSPC auführen (auf dem PC). Die Kontroll Datei DMSPCXxx.BAT
wird übertragen läuft auf dem PC ab, nachdem der BCU-Auftrag abgeschlossen ist.
DMS.RAPGEN
stellt jetzt einen zweiten Sende/Empfang-Auftrag für die BCU aus. Dies wird von
der .BAT-Datei benutzt, um die Textdateien für das Ausdrucken zu empfangen.
Wurde mit N auf
die Frage DELETE TEXTFILES geantwortet, kehrt man jetzt in die Programmwahl
zurück.
Sollen die
Dateien gelöscht werden, wartet das System mit dem Löschen, bis der Status '
Auftrag fehlerfrei beendet' an die BCU übergeben wurde.
14.14.9. Status während
der Übertragung.
Während der
Übertragung erfolgt keine Bildschirmaufgabe des Listgenerators (PC-Programm),
da dies die Übertragung unterbrechen würde.
Drückt man die
Tast <ESC> erhält man den Übertragungsstatus auf der Statuszeile
angezeigt.
14.15. Installation
der PC-Einbindung.
Die einzelnen
DMS-RAPGEN Mondul werden auf die gleiche Platteneinheit, auf der DMS-RAPGEN
installiert ist, entsprechend der folgenden Dateiliste (Libr.list) kopiert:
Figur 20 PC Libr list.
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.
Installationsprogramm DMSPC.SYS.
Das
Installationsprogramm kann entweder durch Aufruf über die Kommandozeile oder
durch Aufruf über die Programmwahl aktiviert werden. Anschließend erscheint
folgendes Schirmbild:
Figur 21 DMSPC.SYS Installation.
REPORTGENERATOR GERMAN VERSION REPORTGENERATOR #15 87.12.04/13:11
DISK (LU) FÜR PC.TEXTDATEIEN: 04
LFD.NR. FÜR PC‑TEXTDATEIEN: 0014
OK (Y/N) ? Y
NACHRICHT:
In diesem Programm kann die Platteneinheit (Disk nr.) für
die PC.Textdateien und die aktuelle Textdatei-Nr. angegeben werden. Die Angaben
können zu einem späteren Zeitpunkt geändert werden.
Das Programm
legt die Datei 00/DMS.PCQUEUE an, falls diese nicht bereits vorhanden ist.
Ebenfalls werden die notwendingen Code-Tabellen des PC Druckers, wie z.B.
DMS.P.LOTUS, sowie die Datei DMSPCXxx.BAT angelegt.
14.16.3. Installation
eines einzelen PCs.
Für den Start
einer Übertragung ist auf jedem PC eine .BAT-Datei notwendig. Diese Datei ist
für jeden PC unterschiedlich, da u.a. die Port-Nr. des 8870-Systems hierein
angegeben ist.
Das
Installationsprogramm DMSPC.SYS baut für jeden PC eine solche Datei auf:
lu/DMSPCxx.BAT wobei lu =
Platteneinheit (angegeben in DMSPC.SYS)
xx =
Nr.des Bildschirms
Man überträgt die entsprechende Datei auf den PC durch
angabe des folgenden Kommandos:
RDAC get
DMSPC.BAT 8870 lu/DMSPCxx.BAT %%
RDMAIN S
1
Anschließend muß das Sende/Empfang Kommando auf der 8870
ausgeführt werden. Dies kann durch Wahl der entsprechenden PC-Funktion in
DMS.RAPGEN mit der Antwort Y auf die Frage der Bildschirmnummer, oder über die
PCLINK Programmwahl erfolgen.
Figur 22 Datei DMSPC06.BAT
ECHO OFF
DCU
DEL DMSPCX06.BAT
RDAC get DMSPCX06.BAT 8870
04/DMSPCX06.BAT %%
RDMAIN S 1
DMSPCX06.BAT
14.17. Löschen der
PC-Logdatei.
Der PC führt ein
Logbuch über alle Übertragungen.
Nach etwa 80
Übertragungen sollte diese Datei gelöscht werden. Dies erfolgt mit Hilfe des
Kommandos
RDMAIN C
1
gefolgt bei einem Sende/Empfang Kommando der 8870.
Nachdem das
Programm eine gewisse Zeit gelaufen hat, kann dies über Control-Break
abgebrochen werden. Die Logdatei ist anschließend gelöscht.
14.19.
PC-Druckersteuerung.
Ein PC-Drucker
arbeitet wie jeder andere Drucker im Listgenerator. Dieser Drucker wird in der
vorliegenden Version des Listgenerators über die Druckersteuerungstabelle, die
mit Hilfe von DMS.RAPGEN.PRT mit angelegt wurde, gesteuert. Wir verweisen hier
auf das entsprechende Handbuch.
Wurde DMS.RAPGEN
mit PC-Einbindung installiert, erscheint unter DMS.RAPGEN.PRT eine gesonderte
zweite Seite auf dem Bildschirm.
Figur 23 DMS.RAPGEN.PRT Druckersteuerung.
DMS.RAPGEN.PRT PLEGE DER DRUCKERDFINITIONEN CHART
OCTAL
DRUCK KOPF- UND SUMMERZEILEN
(Y/N): N
ANZAHL DRUCKZEILEN: 7999
BEGINN MIT SEITE NR:
PC INTEGRATION CODE
(Y/wks/mp/mc/dif): mc ‑r
1 2
TEXTDATEI ERWEITERN (B/!/+): !
NACHRICHT:
Diese Siete enthält folgende Informationen:
14.20.1.
12.10.1. Überschrift und
Summen.
Bei normalen
Druckern (Standard) sollte dieses Feld frei gelassen werden. N bedeutet, daß
Überschriften und Summen ausgelassen werden (wird im Zusammenhang mit LOTUS
u.s.w. benutzt)
14.20.3.
12.10.2. Anzahl Zeilen.
Bie Angabe von
7999 erfolgt kein Seitenvorschub.
14.20.5.
page \* arabic2412.10.3. Beginn die
Seitennummer.
Angebe der
Seitennummer, mit der die Liste beginnen soll.
14.20.7.
12.10.4. PC
Integrationscode.
Dieses Feld
steuert das Kommando EXPORT.
Ist das Feld
leer bzw. gleich Y wird ein EXPORT nicht vorgenommen.
Beinhaltet das
Feld anderen als oben genannt, wird das EXPORT Kommando wie folgt ausgeführt:
EXPORT
input - 0 output - f xxxxxx - c columes
xxxxxx ist der
Text, der im Integrationscode angegeben ist, und beinhaltet die
Formatspezifikationen für das EXPORT Kommando ung mögliche zusätzliche
Kommandos.
Zur Zeit kann
das EXPORT Kommando folgende Systeme verarbeiten:
LOTUS
CHART
MULTIPLAN
VISICALC
Ist der Kommandosatz erweitert, muß ein neuer PC Drucker
mit dem neuen Kommando angelegt werden.
Der
Integrationscode steuert auch den Ausdruck der Textdateien. Ein Leerfeld
bewirkt die Verwendung eines Standard-Druckernamens oder Textdatei. Alles
andere aktiviert die Nummerierung der Textdateien entsprechend Angaben in
diesem Handbuch.
14.20.9.
date \@ "MMMM d, yyyy"januar 10, 200812.10.5. Textdatei -
extended flag (B/!/?).
Dieses Feld soll
für einen Standard-Drucker leer sein. Bei einem PC Drucker muß hier ein !
angegeben werden.
! bewirkt, daß eine neue Textdatei aufgebaut
wird. Die alte Datei wird überschrieben.
B baut eine neue Textdatei auf und löscht die
Liste, fallls bereits eine Textdatei mit dem gleichen Namen vorhanden ist.
+ baut eine neue Textdatei auf, falls diese
nicht vorhanden ist. Im anderen Falle wird die bereits bestehende Datei
erweitert.
14.20.11.
12.10.6. PC Textdatei
Suffix.
Die PC Datei
erhält den Namen DMSxxxx.ttt, wobei ttt übernommen wird vom Nomen des logischen
Druckers, der im zweiten Feld, Seite 1 in der Drucker-Kontrollcode-Tabelle
angegeben ist.
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:
Figur 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.
Figur 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:
Figur 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.
Figur 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:
Figur 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:
Figur 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:
Figur 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:
Figur 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:
Figur 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.
Figur 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.
Figur 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.
Figur 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.
Figur 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.
Figur 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.
Figur 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.
Figur 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.
Figur 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:
Figur 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:
Figur 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:
Figur 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:
Figur 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:
Figur 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:
Figur 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.
Figur 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.
Figur 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
Figuren
Figur 1 TAMOS Druckerzuteilung............................................................................................................................................................. 7
Figur 2 DRUCKER-Kommando
in Funktion 7.......................................................................................................................................... 8
Figur 3 Wahl eines
Druckers....................................................................................................................................................................... 8
Figur 4 Eingabe der Steuerzeichen
mit Funktion 7................................................................................................................................... 9
Figur 5 Eingabe von
Steuerzeichen mit Funktion 1................................................................................................................................. 9
Figur 6 Berechnen von
Steuerzeichen..................................................................................................................................................... 10
Figur 7 Start des
DMS.RAPGEN.PRT...................................................................................................................................................... 10
Figur 8 Erste Seite der
Druckertabelle...................................................................................................................................................... 11
Figur 9 Zweite Seite der
Druckertabelle (oktal)...................................................................................................................................... 12
Figur 10 Dritte Seite
der Druckertabelle (hexadez.)................................................................................................................................ 13
Figur 11 Ausdruck der
Druckertabelle..................................................................................................................................................... 14
Figur 12 Libr liste
DMS.P.LIB................................................................................................................................................................... 15
Figur 13 Start des
BCU-Programmes........................................................................................................................................................ 17
Figur 14 Ausdruck der
liste Warenübersicht......................................................................................................................................... 17
Figur 15 Start einer
Liste............................................................................................................................................................................ 18
Figur 16 Wahl der
PC-Überführungsmoduls im Hauptmenü............................................................................................................... 18
Figur 17 Start der
Übertragung auf den PC............................................................................................................................................. 19
Figur 18 Inhalt der
Übertragungsdatei DMSPCXxx.BAT..................................................................................................................... 20
Figur 19 Löschfunktion
(PCC).................................................................................................................................................................. 21
Figur 20 PC Libr list.................................................................................................................................................................................... 22
Figur 21 DMSPC.SYS
Installation............................................................................................................................................................ 23
Figur 22 Datei
DMSPC06.BAT................................................................................................................................................................. 23
Figur 23 DMS.RAPGEN.PRT
Druckersteuerung................................................................................................................................... 24
Figur 24 The LINE
command..................................................................................................................................................................... 27
Figur 25 Opdeling af
liste på to printere.................................................................................................................................................. 33
Figur 26 Letters with
journal..................................................................................................................................................................... 34
Figur 27 Printing two
concurrent lists..................................................................................................................................................... 34
Figur 28 PC output with
EXPORT............................................................................................................................................................ 37
Figur 29 Export to
tape/floppydisc........................................................................................................................................................... 39
Figur 30 EXPOX with
index and fielddefinitions.................................................................................................................................... 40
Figur 31 The KEYS
command................................................................................................................................................................... 44
Figur 32 Entering the
start/stop values................................................................................................................................................... 44
Figur 33 Activating the
subfunction....................................................................................................................................................... 46
Figur 34 Start of a KEYS
report................................................................................................................................................................. 46
Figur 35 Output from
TEST("1‑10")......................................................................................................................................................... 57
Figur 36 Calculations
for creating a new file........................................................................................................................................... 66
Figur 37 The new
functions in the menu................................................................................................................................................. 68
Figur 38 Editing of
documentation with function 11............................................................................................................................. 69
Figur 39 HLP by
calculation editing in function 14............................................................................................................................... 70
Figur 40 Start of report
with documentation and data input fields..................................................................................................... 71
Figur 41 Editing of
selections by use of function 12............................................................................................................................. 72
Figur 42 Editing of
sorting and totalling................................................................................................................................................. 73
Figur 43 Editing of
calculations with function 14.................................................................................................................................. 74
Figur 44 The REPS
command.................................................................................................................................................................... 76
Figur 45 HEAD Individual
standardheadings........................................................................................................................................ 77
Figur 46 Optimizing
during generation.................................................................................................................................................... 78
Figur 47 RAPGEN
mini-version................................................................................................................................................................ 80
Figur 48 Largest
mini-version................................................................................................................................................................... 80
Stichwort
$LPT................................................... 7,
8, 18, 33, 38, 39, 57, 69
+xx........................................................................................ 9,
28
‑xx............................................................................................... 9
#DD.............................................................................. 35,
46, 77
#KA......................................................................................... 77
#NO.......................................................................................... 77
#PD.............................................................................. 32,
46, 77
#PP..................................................................................... 31,
77
#SC........................................................................................... 77
#SN.......................................................................................... 77
#SY........................................................................................... 77
#TI............................................................................................ 77
Betriebssystem............................................................. 6,
15, 16
Breite.................................................................................. 13,
14
Brief...................................................................................... 8,
18
BUILDXF................................................................................ 56
Checks............................................................................... 62,
75
CHSYSTEM............................................................................ 81
CLEANUP............................................................................... 21
Core.......................................................................................... 59
Cost........................................................................ 39,
46, 57, 70
DATAMASTER................................ 35, 41,
60, 62, 64, 66, 67
DIM.................................................................................... 78,
79
DL............................................................................................. 32
DMDATAFIL......................................................................... 80
DMFILES.......................................................................... 67,
81
DMREAD.......................................................................... 60,
64
DMSORTWORK................................................................... 56
DRN......................................................................................... 77
Drucker.................................... 6‑8, 11, 12, 14‑16,
18‑21, 24, 25
export............................ 19, 20, 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, 32, 37, 39, 43, 48, 54, 68,
74, 82
GOSUB.............................................................................. 75,
79
HBA............................................................................. 15,
21, 22
IL.............................................................................................. 32
Interval.................................................................................... 47
IPL............................................................................................ 14
Kennwort................................................................................ 17
Labels................................................................................ 63,
75
Layout..................................... 26, 27, 34, 37, 39, 41,
43, 49, 79
LEN.......................................................................................... 39
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, 11, 15,
16, 26, 59, 76
NOT........................ 18, 26‑30, 35, 36, 40‑44,
46, 48, 49, 51, 53,
55‑64, 66, 67, 68, 69, 72, 74‑80
Ocr............................................................................................ 36
over................................................................... 26,
28‑31, 75, 78
Packing.................................................................................... 54
Partition................................................................................... 74
Pass.......................................................................................... 74
Password 35, 53, 60, 61, 66
POS............................................................................. 7‑9,
18, 27
Protection................................................................................ 60
QUICK..................................................................................... 72
REM................................................................................... 74,
77
REPEAT................................................................ 30,
31, 74, 75
SAVE................................................................................. 33,
79
SCOPE..................................................................................... 10
Search................................................................................ 41,
66
SORT................................................... 35,
51, 56, 61, 63, 68, 73
STAR....................................................................................... 56
Status....................................................................................... 22
STOP.................. 7, 11, 14, 16, 17, 19,
35, 44‑47, 68, 69, 71, 81
Subtotal................................................................................... 73
T2$........................................................................................... 35
T3............................................................................................. 35
TAMOS.................... 6, 7, 10, 11, 15,
16, 36, 53, 61, 66, 67, 76,
77, 81
Testprint.................................................................. 8,
18, 57, 71