RAPGEN

 

User Manual

 

 

Part 2.


 


                                                                            Table of contents

 

11.           DMS.RAPGEN printer control....................................................................................................................................................   6

11.1.        Preface............................................................................................................................................................................................   6

11.2.        Structure of the printer control...................................................................................................................................................   6

11.3.        TAMOS printer assignment........................................................................................................................................................   7

11.3.1.      Logical printername (e.g. $LPT).................................................................................................................................................   7

11.3.2.      Physical printername (e.g. $RPL2).............................................................................................................................................   7

11.3.3.      Other parameters (lines/chars)...................................................................................................................................................   7

11.4.        Connecting a report to a specific printer...................................................................................................................................   7

11.4.1.      Changing the printer for a report...............................................................................................................................................   8

11.5.        Selection of printer by start of the report..................................................................................................................................   8

11.6.        Use of control codes in the print image....................................................................................................................................   9

11.7.        Calculated control codes (@X,@Y,@Z)...................................................................................................................................   9

11.7.1.      Use of calculated control codes in the layout.........................................................................................................................   9

11.7.2.      The dummy control code @O..................................................................................................................................................   10

11.7.3.      Calculation of control codes....................................................................................................................................................   10

11.8.        Definition of printer code tables...............................................................................................................................................   11

11.8.1.      The first page of the printer code table..................................................................................................................................   11

11.8.2.      Spool parameters.......................................................................................................................................................................   12

11.8.2.1.    Logical printername..................................................................................................................................................................   12

11.8.2.2.    Start print at spool in (Y/N).....................................................................................................................................................   12

11.8.2.3.    Dialog before/after print..........................................................................................................................................................   12

11.8.2.4.    Number of copies......................................................................................................................................................................   12

11.8.2.5.    Paper code.................................................................................................................................................................................   12

11.8.2.6.    Report name (Y/N)....................................................................................................................................................................   12

11.8.3.      Printer control codes.................................................................................................................................................................   12

11.8.3.1.    @ RESET....................................................................................................................................................................................   13

11.8.3.2.    @A‑W Control codes..............................................................................................................................................................   13

11.8.3.3.    @X‑Z Calculated control codes.............................................................................................................................................   13

11.8.3.4.    @0 The dummy control code..................................................................................................................................................   13

11.8.3.5.    @1‑9 Control codes..................................................................................................................................................................   13

11.8.3.6.    Linefeed character....................................................................................................................................................................   13

11.8.3.7.    Formfeed control code.............................................................................................................................................................   13

11.8.4.      Printout of the code table.........................................................................................................................................................   14

11.9.        Fault on the printer.....................................................................................................................................................................   15

11.9.1.      Basic error 26 ‑ printer not ready.............................................................................................................................................   15

11.9.2.      Basic error 73 ‑ invalid open parameter..................................................................................................................................   15

11.10.       Installation of DMS.RAPGEN printer control.......................................................................................................................   15

 

12.          DMS.RAPGEN PC‑integration...................................................................................................................................................   16

12.1.        Introduction.................................................................................................................................................................................   16

12.1.1.      Structure......................................................................................................................................................................................   16

12.1.2.      LOTUS,CHART,MULTIPLAN and VISICALC.....................................................................................................................   16

12.1.3.      The physical PC‑transmission.................................................................................................................................................   16

12.1.4.      Prerequirements.........................................................................................................................................................................   17

12.2.        An example of a transmission...................................................................................................................................................   17

12.2.1.      Start/stop of the BCU queue....................................................................................................................................................   17

12.2.2.      Creating the PC report...............................................................................................................................................................   17

12.2.3.      Starting the PC report................................................................................................................................................................   18

12.2.3.1.    Several reports and jobqueue.................................................................................................................................................   18

12.2.4.      The physical transfer to the PC...............................................................................................................................................   18

12.2.4.1.    Reports created from screen...................................................................................................................................................   19

12.2.4.2.    Delete the Nixdorf 8870 textfiles (Y/N)...................................................................................................................................   19

12.2.4.3.    Start now or at time (HHMM).................................................................................................................................................   19

12.2.5.      Starting the transmission from the PC....................................................................................................................................   19

12.3.        The transmitted files...................................................................................................................................................................   19

12.3.1.      Overwiew of the transmitted files............................................................................................................................................   20

12.4.        Standard PC printers..................................................................................................................................................................   20

12.5.        Retransmission after fault..........................................................................................................................................................   20

12.5.1.      Deleting the textfiles only.........................................................................................................................................................   20

12.6.        Manual deletion of the 8870 textfiles.......................................................................................................................................   21

12.7.        A little more technical information...........................................................................................................................................   21

12.7.1.      The print textfile.........................................................................................................................................................................   21

12.7.2.      The temporary control file........................................................................................................................................................   21

12.7.3.      The format control file...............................................................................................................................................................   22

12.7.4.      The BCU job queue...................................................................................................................................................................   22

12.7.5.      Status during the transfer.........................................................................................................................................................   22

12.8.        Installation of DMS.RAPGEN PC integration........................................................................................................................   22

12.8.1.      The installation program DMSPC.SYS...................................................................................................................................   23

12.8.2.      Installation of one PC................................................................................................................................................................   23

12.9.        Resetting the PC log...................................................................................................................................................................   23

12.10.       DMS.RAPGEN PC printer control...........................................................................................................................................   24

12.10.1.     Print heading and totals...........................................................................................................................................................   24

12.10.2.     Lines on form.............................................................................................................................................................................   24

12.10.3.     Start pageno..............................................................................................................................................................................   24

12.10.4.     PC integration code..................................................................................................................................................................   25

12.10.5.     Textfile extend flag (B/!/+).......................................................................................................................................................   25

12.10.6.     PC textfile suffix.........................................................................................................................................................................   25

 

13.          Print image control.......................................................................................................................................................................   26

13.1.        Structure of the print generation..............................................................................................................................................   26

13.1.1.      Improved functions by this structure.....................................................................................................................................   26

13.2.        New print image control.............................................................................................................................................................   26

13.2.1.      New functions by this structure..............................................................................................................................................   26

13.3.        Print line control..........................................................................................................................................................................   27

13.3.1.      The LINE command...................................................................................................................................................................   27

13.3.1.1.    Print zero fields..........................................................................................................................................................................   27

13.3.1.2.    New page lines before end of page........................................................................................................................................   27

13.3.1.3.    Heading print lines...................................................................................................................................................................   27

13.3.1.4.    Normal print lines......................................................................................................................................................................   27

13.3.1.5.    Total print lines.........................................................................................................................................................................   27

13.3.1.6.    Detail (READH) print lines......................................................................................................................................................   28

13.3.2.      Letters..........................................................................................................................................................................................   28

13.3.3.      Inquiery programs.....................................................................................................................................................................   28

13.4.        Controlling the print by calculations.......................................................................................................................................   28

13.4.1.      Setting lines to be printed........................................................................................................................................................   28

13.4.1.1.    Line specifications....................................................................................................................................................................   28

13.4.1.1.1.  +xx skip a number of lines.......................................................................................................................................................   28

13.4.1.1.2.  :xx skip to line...........................................................................................................................................................................   29

13.4.1.2.    PRINT (L= line specification...................................................................................................................................................   29

13.4.1.2.1.  Conditional line printing.........................................................................................................................................................   29

13.4.1.3.    PRINT (T=total line specification...........................................................................................................................................   29

13.4.1.4.    PRINT (D=detail (READH) line specification.......................................................................................................................   29

13.4.1.5.    PRINT (H= heading line specifications.................................................................................................................................   29

13.4.1.6.    PRINT (N= newpage specification.........................................................................................................................................   30

13.4.2.      Footer lines.................................................................................................................................................................................   30

13.5.        PRINT gaining complete control..............................................................................................................................................   30

13.5.1.      PRINT (x‑y) print lines..............................................................................................................................................................   30

13.5.2.      Combinations of print options.................................................................................................................................................   31

13.5.3.      START/NEXT/REPEAT used for statements.......................................................................................................................   31

13.6.        PRINT in LAST calculations.....................................................................................................................................................   31

13.7.        Contracting print lines with ¬.................................................................................................................................................   32

13.7.1.      Contracting print lines with ¬¬ ...........................................................................................................................................   32

13.7.2.      ¬> function to end the ¬ function ......................................................................................................................................   32

13.8.        R3 ‑ print long screen lines........................................................................................................................................................   32

13.9.        PRT command on letters............................................................................................................................................................   32

13.10.       New commands in function 7 - amendment of letter or report............................................................................................   32

13.11.       PRINTER  Controlling up to 9 prints from one report..........................................................................................................   32

13.11.1.     Definition of (opening) extra printers....................................................................................................................................   33

13.11.2.     Divide print on two printers....................................................................................................................................................   33

13.11.3.     Letter with journal.....................................................................................................................................................................   34

13.11.4.     Print on two printers at the same time...................................................................................................................................   34

 

14.          Subfunctions................................................................................................................................................................................   35

14.1.        CCODE Getting DATAMASTER fieldcheck text..................................................................................................................   35

14.2.        CHAIN Start the next report......................................................................................................................................................   35

14.3.        CHECK calculation of OCR checkdigit....................................................................................................................................   36

14.4.        CHEX Calculation of checkdigit modulus 11..........................................................................................................................   36

14.5.        COPIES Number of print copies, print priority and paper code...........................................................................................   36

14.6.        EDIT editing of customer numbers or other numbers...........................................................................................................   37

14.7.        EXPORT writing to external files..............................................................................................................................................   37

14.7.1.      The parameters for EXPORT....................................................................................................................................................   38

14.7.1.1.    Fields..........................................................................................................................................................................................   38

14.7.1.2.    Filename.....................................................................................................................................................................................   38

14.7.1.3.    Record length and file type.....................................................................................................................................................   38

14.7.1.4.    Output specifications...............................................................................................................................................................   39

14.7.1.5.    Printer output............................................................................................................................................................................   39

14.7.1.6.    CSV parameters.........................................................................................................................................................................   40

14.7.2.      EXPORT in calculations...........................................................................................................................................................   40

14.8.        EXPOX Export with file definition included............................................................................................................................   40

14.9.        FILENAME Physical filename..................................................................................................................................................   41

14.10.       FIND search for text in fields...................................................................................................................................................   41

14.11.       IMPORT reading of external files............................................................................................................................................   41

14.11.1.     The parameters for IMPORT...................................................................................................................................................   42

14.11.1.1.   Fields.........................................................................................................................................................................................   42

14.11.1.2.   Filename....................................................................................................................................................................................   42

14.11.1.3.   Record length and file type....................................................................................................................................................   42

14.11.1.4.   Input specifications.................................................................................................................................................................   43

14.11.2.     Different entries of the IMPORT routine..............................................................................................................................   43

14.11.2.1.   IMPOCONT ("11‑20").............................................................................................................................................................   43

14.11.2.2.   IMPOTHIS ("1‑20").................................................................................................................................................................   43

14.11.2.3.   IMPONEXT ("11‑20").............................................................................................................................................................   43

14.12.       INDEX lock reports index/start/stop keys.............................................................................................................................   44

14.13.       KEYS start/stop specifications................................................................................................................................................   44

14.13.1.     The KEYS command in the main menu..................................................................................................................................   44

14.13.2.     Entering the start/stop values................................................................................................................................................   44

14.13.3.     Functions in the editor.............................................................................................................................................................   45

14.13.4.     Activating the KEYS function in a report.............................................................................................................................   46

14.13.5.     Start of a KEYS report..............................................................................................................................................................   46

14.13.6.     Functions and parameters.......................................................................................................................................................   47

14.13.6.1.   One or separated reports........................................................................................................................................................   47

14.13.6.2.   Fixed definition file..................................................................................................................................................................   47

14.13.6.3.   KEYS calculationcode 47/xxxx................................................................................................................................................   47

14.13.7.     Special definition files..............................................................................................................................................................   47

14.13.8.     Sorting start/stop values.........................................................................................................................................................   47

14.14.       The LET command.....................................................................................................................................................................   48

14.15.       The LET command with ON.....................................................................................................................................................   49

14.15.1.     Columns.....................................................................................................................................................................................   49

14.15.2.     Transactioncode-simulation...................................................................................................................................................   49

14.15.3.     Monthly balance.......................................................................................................................................................................   49

14.15.4.     Calculations in ON-part...........................................................................................................................................................   49

14.15.5.     Multiple fields...........................................................................................................................................................................   50

14.15.6.     Balance year to date.................................................................................................................................................................   50

14.15.7.     X and logical operators............................................................................................................................................................   50

14.15.8.     'Odd' values after ON...............................................................................................................................................................   50

14.15.9.     Textfields after ON....................................................................................................................................................................   50

14.16.       LOWER lower case letters........................................................................................................................................................   51

14.17.       LTOT fixing the lowest total level...........................................................................................................................................   51

14.18.       MERGE Mixing multiple files...................................................................................................................................................   51

14.19.       MESS Message and possible abort of run............................................................................................................................   52

14.20.       MTOT Highest total level to be printed.................................................................................................................................   52

14.21.       NAME isolating christian/last name.......................................................................................................................................   52

14.22.       NODATA deactivate all #Dx fields.........................................................................................................................................   52

14.23.       NOIX Supress index-update (saves space)...........................................................................................................................   53

14.24.       NOPAS Deactivating of password.........................................................................................................................................   53

14.25.       NOPRT Supress all print (saves space and paper)...............................................................................................................   53

14.26.       NUMBER conversion of 'dirty' numbers................................................................................................................................   53

14.27.       NUMS convert alphanumeric to numeric...............................................................................................................................   53

14.28.       OPEN opening of files for reading..........................................................................................................................................   54

14.29.       PACK packing of fields............................................................................................................................................................   54

14.30.       PCIN and PCOUT exporting directly to PC harddisc/­floppy..............................................................................................   54

14.31.       PHONE conversion to new danish phonenumbers..............................................................................................................   54

14.32.       PLCOUT exporting directly to a PLC line...............................................................................................................................   54

14.33.       POUT Output of text / control codes directly on printer.....................................................................................................   54

14.34.       PRIO set priority........................................................................................................................................................................   54

14.35.       PXOUT Export directly to PC-harddisk using ERNA...........................................................................................................   55

14.36.       PZOUT Print directly to PC-harddisk using ERNA..............................................................................................................   55

14.37.       RATE get COMET TOP currency rate...................................................................................................................................   55

14.38.       RUND definition of FNR round...............................................................................................................................................   55

14.39.       SIZE Optimize space requirement in large reports................................................................................................................   55

14.40.       SMAA Convert names from upper to upper/lower case letters.........................................................................................   55

14.41.       SOGE Generating searchkey from addressfield.....................................................................................................................   56

14.42.       SORTWORK multiple sort-files...............................................................................................................................................   56

14.43.       SPOFF removal of spaces in field............................................................................................................................................   56

14.44.       STAR functions for financial reports.....................................................................................................................................   56

14.44.1.     STARD Get bookkeeping and period dates.........................................................................................................................   56

14.44.2.     STARF Calculate perid/year to date realized and budget..................................................................................................   56

14.44.3.     STARN Index calculations......................................................................................................................................................   56

14.44.4.     STARP Define bookkeeping period.......................................................................................................................................   56

14.44.5.     STARS Regroup current period to period 1.........................................................................................................................   56

14.45.       TAPEOUT exporting directly to tape.....................................................................................................................................   57

14.46.       TEST testprint function............................................................................................................................................................   57

14.47.       UNPACK unpacking of packed fields....................................................................................................................................   57

14.48.       UPDATE activate file updating...............................................................................................................................................   57

14.49.       UPPER Upper case letters........................................................................................................................................................   57

14.50.       VALCH values of a textfield.....................................................................................................................................................   58

14.51.       VALID values of a nuemric field.............................................................................................................................................   58

14.52.       VALIX values of a numeric code............................................................................................................................................   59

14.53.       WEEK convert date/week or week/date.................................................................................................................................   59

14.54.       WORKD data difference in number of workdays.................................................................................................................   59

14.55.       ZERO zero all workfields...........................................................................................................................................................   59

 

15.          File update with DMS.RAPGEN................................................................................................................................................   60

15.1.        Defining an updating report......................................................................................................................................................   60

15.2.        UPDATE activate the updating................................................................................................................................................   61

15.3.        NOPAS deactivation of password...........................................................................................................................................   61

15.4.        REWRITE (XX) update of a record..........................................................................................................................................   61

15.5.        WRITE (XX) update/insert record...........................................................................................................................................   62

15.6.        INSERT (XX) creation of a new record...................................................................................................................................   62

15.7.        DELETE (XX) deletion of a record...........................................................................................................................................   62

15.8.        Updating of the file index..........................................................................................................................................................   62

15.9.        Changed structure in the main file handling...........................................................................................................................   63

15.10.       Error handling by updating......................................................................................................................................................   63

15.11.       Where to place the update statements...................................................................................................................................   63

15.12.       LTOT freeze lowest total level.................................................................................................................................................   63

15.13.       Updating the main file main index...........................................................................................................................................   64

15.14.       Security against updating application files...........................................................................................................................   64

15.15.       Blocking for all updating..........................................................................................................................................................   64

15.16.       OPEN(XX,"3/XXFILE") special file open..............................................................................................................................   65

15.17.       Creating new files with RAPGEN............................................................................................................................................   66

15.17.1.     Number of records, disk and company id.............................................................................................................................   66

15.17.2.     Mix of files.................................................................................................................................................................................   66

15.17.3.     Index keys..................................................................................................................................................................................   67

15.17.4.     Multiple fields in the key.........................................................................................................................................................   67

15.17.5.     Multiple keys.............................................................................................................................................................................   67

15.17.6.     Special keys...............................................................................................................................................................................   67

15.17.7.     Deleting files..............................................................................................................................................................................   67

15.17.8.     Redefinition of files..................................................................................................................................................................   67

15.17.9.     Filenames and other tecnical information.............................................................................................................................   67

 

16.          The edit functions 11-14.............................................................................................................................................................   68

16.1.        The structure of the new functions.........................................................................................................................................   68

16.2.        The text‑editor.............................................................................................................................................................................   69

16.3.        Function 11 ‑ Documentation...................................................................................................................................................   71

16.4.        Function 12 ‑ editing of selections...........................................................................................................................................   72

16.4.1.      Selections on alpha‑textfields..................................................................................................................................................   72

16.5.        Function 13 ‑ editing of sorting and totalling.........................................................................................................................   73

16.6.        Function 14 ‑ editing of calculations.......................................................................................................................................   74

16.6.1.      Remarks in the calculations......................................................................................................................................................   74

16.6.2.      GOTO/GOSUB and RETURN in the calculations.................................................................................................................   75

16.7.        Technic by editing......................................................................................................................................................................   75

 

17.          Other systems, individual adjustments and op­timization......................................................................................................   76

17.1.        REPS Multiple report systems..................................................................................................................................................   76

17.1.1.      S Start RAPGEN again..............................................................................................................................................................   76

17.2.        TAM Insert in TAMOS selector..............................................................................................................................................   76

17.3.        HEAD Individual standard headers.........................................................................................................................................   77

17.4.        DRN file definitions....................................................................................................................................................................   77

17.5.        Function 9 - Starting multiple report in one step...................................................................................................................   77

17.6.        SPEED aggressive optimization................................................................................................................................................   78

17.7.        RAPGEN mini (runtime) version...............................................................................................................................................   80

17.8.        Function 10 - Copying between systems / machines............................................................................................................   82

17.9.        Automatic READ of other files at definition of a report.......................................................................................................   82

17.10.       Advancing the date functions for year 2000.........................................................................................................................   82

 

Figures..........................................................................................................................................................................................................   83

 

Keyword index............................................................................................................................................................................................   84

 


11.           DMS.RAPGEN printer control.

 

12.1.        Preface.

 

   This advanced printer control module is developed to enable the users of DMS.RAPGEN to use all facilities of the present and coming printers on the    8870.

 

   Up to now the printers have been quite simple and the controlling of these just limited to line feeds and form feeds. By the introduction of the TD06/ TD09 and even laser printers with single sheet feeders the printfacilities  has been extended and hereby the need for advanced printer control has grown.

 

   These printers have caused some trouble, as programs written for the 'old'  printers are not able to print on some of the new printers, as well as a program written for one of the new printers may not run on any other printer at all due to special control codes for each of the printers, which possible causes fault on the other printers.

 

   To solve these problems we have studied the printer control on different text systems and PC computers. Based on the experience from these the    advanced printer control has been developed to make use of all facilities in the Nixdorf spool system.

 

   Please note that operating system NIROS 5.1 revision 5 or newer is needed if you should be able to control the new printers correctly. With this  operating system some of the 'old' printers also will get a set of new control facilities.

 

   Allready defined reports can be used with this new printer control.

 

12.3.        Structure of the printer control.

 

   A report is defined with a certain printer, this printer is named the LOGICAL PRINTER.

 

   By the TAMOS printer assignment this logical printer is connected to a  PHYSICAL PRINTER. When the report is started from a certain screen the  operating system will look up the logical printer in the screens printer table and use the physical printer instead. In this way the printer    selection has been screen dependent.

 

   It is the PHYSICAL printer which is of interest in the DMS.RAPGEN printer control module. This will be of a certain type and will require a certain set of control codes.

 

   The reportgenerator has a code tabel for each of these physical printers. This table contains all control codes for linefeed, formfeed, elongated or fast print etc. If a function is not valid on a printer the appropriate entry in the table will be blank causing any use of this to be ignored. If a code table is missing for the selected printer, the standard control codes used up to now will be used, without any possibilities of special printer control.

 

   The user is able to place printer control characters on his report by entering the character @ followed by a letter or a digit, e.g. @L in a  report line will cause the print to be elongated.

 

   Each control code has an ON and an OFF function. You get the ON function by the use of a capital letter, the OFF function by use of a lowercase    letter. E.g. the heading of a report may be partly elongated by placing @l HEADINGTEXT @L on the line.

 

   By the reportgenerator calculation module it is possible to change the 3 control codes @X, @Y and @Z. By this you may define a report with underlining of specific customers or printing deleted customers with special fonts.

 

   In addition to the printer control itself, the reportgenerator contains some new facilities for selection of printers and overwiew of the printer  assignments.

 

   The control code table for a printer also contains specification of OPEN parameters for the printer. These may be used to overwrite the TAMOS printerassignment parameters and you will get the possibilities to specify all parameters in use by the spool system, not only a subset of these.

 

   The pagelength of a report is not longer field defined in the report defined with 72 lines on form may now be printed on 66 lines paper with correct formfeed without changing the report if a printer control table is defined for the selected printer.


12.5.        TAMOS printer assignment.

 

   The TAMOS printer assignment may be defined as:

 

Figure 1 TAMOS printerassignment.

 

 

 

 DEVICE ASSIGNMENT    UTILITIES            SUPERVISOR       #15 87.12.04/11:34   

                                                                                 

           DEVICE NAME                   LINES   PRINT POSITION  LINE   CHAR.    

 NO LOGICAL         REAL                PER PAGE   FROM    TO    DENS.  DENS.    

 ‑‑ ‑‑‑‑‑‑‑         ‑‑‑‑                ‑‑‑‑‑‑‑‑   ‑‑‑‑    ‑‑    ‑‑‑‑‑  ‑‑‑‑‑    

  0 $LPT           $RPL11         =SPOOL    51        0   131                    

  1 $RPL11         $RPL11         =SPOOL    72        0   131       6     10,0   

  2 $RPL4          $RPL11         =SPOOL    72        0   131       6     10,0   

  3 $RPL0          $RPL11         =SPOOL    72        0   131       6     10,0   

  4 $A             A                                                             

  5 $RPL2          $RPL11         =SPOOL    72        0   131       6     10,0   

  6 $CH            $RPL0          =SPOOL    72        0   131       6     10,0   

  7 $BAD           $LPT           =SPOOL    51        0   131                    

  8 $LABEL         $LPT           =SPOOL     9        0   131                    

  9                                                                              

 10                                                                               

 11                                                                              

 12                                                                              

                                                                                  

                                                                                 

 PORT NO.        :  15                FUNCTION  :  CHA                           

                                                                                  

 LINES PER PAGE  :                    ENTRY NO. :                                

                                                                                 

 MESSAGE:                                                                         

 

 

 

 

In this way you connect a specific physical printer to a logical printer for each screen.

 

   Please note the following details:

 

12.6.1.      Logical printername (e.g. $LPT).

 

   This name have to begin with the character $ and refers to the printer defined for the report.

   This printer driver does not have to be present in the operating system, e.g. $XYZ will be allowed.

   You may select names as $NARROW or $MIKE.

 

12.6.3.      Physical printername (e.g. $RPL2).

 

   This is the actual name of the printer to be used.

 

   For this printer you may create a control code table in the reportgenerator. You may enter $RPL2,1 or $RPL2,2 eventually $RPL2,NARROW.

 

   These physical printers will all be treated as $RPL2 by the operating system, but you may create different code tables in the reportgenerator for these. $RPL2,1 could be assigned to single sheet feeder 1 on the printer, $RPL2,2 to the second feeder.

   You may specify a disc textfile as a physical printer.

 

12.6.5.      Other parameters (lines/chars).

 

   These parameters may be specifyed here or entered in the reportgenerator code table for the printer.

 

   For further information please refer to the TAMOS manual.

 

12.7.        Connecting a report to a specific printer.

 

   If the programmer by installation of DMS.RAPGEN has specifyed more printers (in DMS.RAPGEN.SYS) you will be able to enter a printer number when defining a new report (0‑5). These printers are predefined by installation.

 

   As a new facility you may select any printer by entering the name on this instead of a number, e.g. $RPL2.

 

   Default will always be $LPT.

 

12.8.1.      Changing the printer for a report.

 

   By use of function 7, amendment of report or letter, you are able to swith the report to another printer. This is done by the PRINTER command in LINE,POS.

 

Figure 2 The PRINTER command in function 7.

 

 

 1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8

 DATE:##,##,## * @L SUPPLIER LIST @L *    AS OF ##,##,##    PAGE:####           1

                                                                                2

 SUPPLIER NO.  @0NAME                     @0CURRENCY CODE         BALANCE       3

                                                                                4

 xxx           @Xxxxxxxxxxxxxxxxxxxxxxxxx @x            ## ‑‑‑,‑‑‑,‑‑#.##       5

                                                                                6

                                                                                7

                                                                                8

                                                                                9

                                                                               10

                                                                               11

                                                                               12

                                                                               13

                                                                               14

                                                                               15

                                                                               16

                                                                               17

                                                                               18

 LINIE,POS: PRINTER                                                              

 PRINTER NR.? $RPL2            (CR=$LPT,1=$RPL4)                                 

 STARTPOSITION (CR=001) ?      END POSITION (CR=177) ?                           

 LINES ON FORM (CR=051) ?                                                        

                                                                                 

                                                                                  

 

As when defining a new report you may now enter either a printer number or a printer name in this place.

 

12.9.        Selection of printer by start of the report.

 

   As a new function you may select a specific printer when starting the  report printout in function 9.

 

   This is done in the very last question asked: TESTPRINT (Y/N) and may be done in several different ways:

 

           1. $RPL2      You may enter a printername.

           2. P          The printerassignment for the port, on which the report is started, will be displayed.

                         This might be the phantom port.

           3. 0‑9        Selection of a specific line from the printer assignment.

           4. P0‑9       As above.

           5. P$RPL2     As function 1.

           6. Pxxxxx     You may select a textfile xxxxx.

                         This textfile must be present on the disc.

 

 

Figure 3 Selection of printer by start of report.

 

 

 DMS.RAPGEN   11 SUPPLIERS LIST              9.....START AND GENERATE REPORT     

                                                                                 

                                                                                 

     TODAYS  DATE (DDMMYY) ?   300788                                            

                                                                                 

     AS OF DATE   (DDMMYY) ?   300788                                            

                                                   INDEX:                        

     START FROM ?                                  1:SUPPLIER NO.                

                                                                                  

     STOP  AT ?                                                                  

 NR. LOGICAL          PARAM     PHYSICAL      CHARS/INCH   LINES/INCH            

  0: $LPT4            000131051 $RPL11                                           

  1: $RPL11           000131072 $RPL11             10           6                

  2: $RPL4            000131072 $RPL11             10           6                

  3: $RPLO            000131072 $RPL11             10           6                

  4: $A               0     0   A                                                

  5: $RPL2            000131072 $RPL11             10           6                

  6: $CH              000131072 $RPL0              10           6                

  7: $BAD             000131051 $LPT                                             

  8: $LABEL           000131009 $LPT                                             

 MINIMUM TOTAL LEVEL TO BE PRINTED (0‑ 1, 0=WHOLE LIST) ? 0                      

 START:( Y=PHANTOM , S=SCREEN , P=PRINTER , N=NO ) ? P                           

 TESTPRINT / PRINTER SELECTION (Y/N/P/$XXXX) ? 2     $RPL4                       

                                                                                  

 MESSAGE :                                                                       

 

 

 

The TESTPRINT (Y/N) question will be repeated until you answer N which causes the report to start.


12.11.        Use of control codes in the print image.

 

   By use of function 7, amendment of a report or letter, you may place control codes in between the normal text as @L HEADING @L to get a heading elongated, fat, underlined or like.

 

   These control codes may also be given when defining a new letter by use of function 6. They may also be entered when you define a new report in  function 1, here you will have to enter e.g. @L instead of a fieldnumber.

 

Figure 4 Inserting control codes by use of function 7.

 

 

 1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8

 DATE:##,##,## * @L SUPPLIER LIST @L *     AS OF ##,##,##   PAGE:####           1

                                                                                2

 SUPPLIER NO.  @0NAME                     @0CURRENCY CODE        BALANCE        3

                                                                                4

 xxx           @Xxxxxxxxxxxxxxxxxxxxxxxx  @x           ## ‑‑‑,‑‑‑,‑‑#.##        5

                                                                                6

                                                                                7

                                                                                8

                                                                                9

                                                                               10

                                                                               11

                                                                               12

                                                                               13

                                                                               14

                                                                               15

                                                                               16

                                                                               17

                                                                               18

 LINE,POS:5                                                                       

 1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8

                                                                                 

 #1      @X#2                       @x        #5 #6                              

                                                                                 

 

 

 

 

A printer control code does not take space up on the printed report line. You should note the display of a line with control codes as e.g. @U will be displaced 2 characters to the right.

 

   Also you should note that the use of some control codes, as @L for  elongated print, may change the print positions for this line completely in respect to the other lines. If you use such control codes you have to run the report to see the result.

 

   Some control codes as pitch/inch is only of sense if used for a complete line else the printer will not be tabulating to the correct positions. It is possible to change pitch in the middle of a line but possible you will          have to make extra spacing on the line and try to run the report a couble of times before this works out OK. The number of lines/inch cannot be changed in the middle of a printout, this is fixed for the complete report due to a restriction in the operating system.

 

   You may refer to the specifications of your printer in the NIXDORF manuals. These are normally stated in the NIROS manuals, especially NIROS 5.1.4 upgrade manual may be usefull.

 

12.13.        Calculated control codes (@X,@Y,@Z).

 

   The control codes @X,@Y,@Z and their associated @x,@y,@z has no function          defined in the printer code table and will not be printed unless you define these by calculations. You may make conditional calculations of there codes so specific lines becomes underlined or bold or printed in italies, cursiv etc.

 

12.14.1.      Use of calculated control codes in the layout.

 

   You place calculated control codes in the report as descriped above, just like normal control codes.    


 

Figure 5 Control code defined in function 1.

 

 

 DMS.RAPGEN   11 SUPPLIERS LIST              1.....DEFINE NEW REPORT              

   1 SUPPLIER NO.          19 @FREE                                              

   2 NAME                  20 @FREE                                              

   3 ADRESS                21 @FREE                                              

   4 TOWN                  22 @FREE                                              

   5 CURRENCY CODE         23 @FREE                                              

   6 BALANCE               24 @FREE                                              

   7 @FREE                 25 @FREE                                              

   8 @FREE                 26 @FREE                                              

   9 @FREE                                                                        

  10 @FREE                                                                       

  11 @FREE                                                                       

  12 @FREE                                                                        

  13 @FREE                                                                       

  14 @FREE                                                                       

  15 @FREE                                                                        

  16 @FREE                                                                       

  17 @FREE                                                                       

  18 @FREE                                                                        

1...,....10...,....20...,....30...,....40...,....50...,....60...,....70...,....8

+xx , ‑xx , Pxx =POSITION , Hxx =HEADING , Nxx =NO HEADING , D =DELETE , T=TEXT

SUPPLIER NO. @0NAME                                                             

AAA     @XAAAAAAAAAAAAAAAAAAAAAAAA                                             

LINE NO. 1 FIELDNO.? @x                                                        

MESSAGE :                                                                       

 

 

12.14.3.      The dummy control code @O.

 

   As a control code as @X will not take space up on the line when printing the report, the dummy control code @O will be inserted in the heading when  you define a control code by use of function 1.

   In this way the screen display of the heading will be correct in respect to the lines and not displaced.

 

12.14.5.      Calculation of control codes.

 

   In function 4 calculations you are able to calculate on the control codes just like fields. Fields are stated in calculation lines as e.g. #15,     control codes as e.g. @X.

 

   Such a calculation usually always starts with zeroing the involved control codes, e.g. @X="" and @x="" and is followed by a conditional setting of the codes, e.g. If something LET @X=@L. You dont state the actual value of  the code but instead you sets the value equal to one of the defined codes. Usually always 2 codes is involved as @X and @x to make the ON and OFF  function on the line. Otherwise the rest of the report print could become underlined or like.

 

   You may make combinations of more control codes by calculating e.g.  @X=@L,@U, so the result will be both italies and underlining of this.

   However, the length of a control code cannot exeed 16 characters in total (you may then use 2 codes).

 

Figure 6 Calculation of control codes.

 

 DMS.RAPGEN   11 SUPPLIERS LIST              4.....DEFINE CALCULATIONS           

   1 SUPPLIER NO.          19 @FREE                                              

   2 NAME                  20 @FREE                                              

   3 ADRESS                21 @FREE                                              

   4 TOWN                  22 @FREE                                              

   5 CURRENCY CODE         23 @FREE                                              

   6 BALANCE               24 @FREE                                              

   7 @FREE                 25 @FREE                                              

   8 @FREE                 26 @FREE                                              

   9 @FREE                                                                       

  10 @FREE                                                                       

  11 @FREE                                                                       

  12 @FREE                                                                       

  13 @FREE                                                                       

  14 @FREE                                                                       

  15 @FREE                                                                       

  16 @FREE                                                                        

  17 @FREE                                                                       

  18 @FREE                                                                       

 @X=""                                                                            

 @x=""                                                                           

 IF BALANCE>1000 LET @X=@B                                                       

 IF BALANCE>1000 LET @x=@b                                                        

 CALCULATION:IF #6>1000 LET @x=@b                                 OK (Y/N) ?  Y  

 MESSAGE :                                                                       

 

 


12.15.        Definition of printer code tables.

 

   The printer control code tables are defined with the program DMS.RAPGEN.PRT which may be placed in the TAMOS selector or called from scope:

 

Figure 7 Start of DMS.RAPGEN.PRT

 

 

 DMS.RAPGEN.PRT   MAINTENANCE OF PRINTER TABLES                                 

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                 

                                                                                

 PRINTER DEFINITION NAME (PHYSICAL NAME):$RPL2.NARROW                           

 CODE TABLE IN HEXADECIMAL, DECIMAL OR OCTAL (H/D/O)                            

 MESSAGE :                                                                      

 

 

 

 

First of all you have to enter:    PHYSICAL PRINTER NAME:

 

 You may enter $LPT or $RPL2,2 depending on which printer code table you  wants to amend. This code table must be present on the disc.

 

   Now you must decide:            CODE TABLE IN HEXADECIMAL, DECIMAL OR OCTAL (H/D/O) ?

 

 You can select the most suitable notation for the code table. As the  Nixdorf printer manuals usually is in octal this will be the most common used.

 

12.16.1.      The first page of the printer code table.

 

Now the first page of the printer code table is displayed.

 

   This contains the printer OPEN parameters which in details are descriped in the Nixdorf BASIC manual.

 

Figure 8 First page of the printer code table.

 

 

 DMS.RAPGEN.PRT   MAINTENANCE OF PRINTER TABLEDS  $RPL2.NARROW    OCTAL         

                                                                                

                                                                                

 PRINTER ID.:                                      $RPL2.NARROW                 

 LOGICAL PRINTERNAME:                              $RPL2                        

 START POSITION (000):                             000                          

 END POSITION (131):                               079                          

 LINES OM FORM (072):                              072                          

 LINES/INCH (6/8):                                                              

 CHARS/INCH (10/12/15/16.5):                                                     

 PRIORITY (H/N/L/P):                               N                            

 START PRINT AT SPOOL IN (Y/N):                    N                            

 STORE DATA UNTIL SPOOL OUT (Y/N):                 N                            

 DIALOG AFTER PRINT OF FIRST PAGE (Y/N):           N                            

 DIALOG BEFORE PRINT OF FIRST PAGE (Y/N):          N                            

 NUMBER OF COPIES (00‑99):                         00                           

 PAPER CODE (00‑63):                               00                           

 REPORT NAME (Y/N):                                Y                            

                                                                                 

                                                                                

                                                                                

                                                                                 

 MESSAGE :                                                                      

 

 

 

 

   The first field PRINTER.ID is the physical printer name and the name of this table itself. If you change this name you will get a copy of the original table stored with the new name, it is connected to a different physical printer.

 

   You may use the normal TAMOS functions:      ­,@,END and SPR

also the edit‑arrows may be used.

 

   A printer code table consist of 3 pages, if you exit from the last field on  a page (or presses END) the next page is displayed. If you use ; in the  first field on a page the previous page is displayed.

 

   When you END the last page the printer code table will be stored on disc. After this you can get the table printed by entering Y upon the question:                  OUTPUT TO PRINTER (Y/N) ?

12.16.3.      Spool parameters.

 

   On the first page in the printer code table you can specify all the  parameters to the NIROS spool system. It is recommended to specify the parameters here instead of in the TAMOS printer assignment as you are not able to give all parameters in TAMOS anyway.

 

   Of cause the NIROS spool system have to be switched on in the operating  system if all of these parameters should be in effect.

   You find the complete description in the TAMOS manual of the spool function but please note the following:

 

12.16.4.1.    Logical printername.

 

   Should normally be the same as the stated physical printer name. The report program will open this printer.

 

12.16.4.3.    Start print at spool in (Y/N)

 

   If you enter N here, the print will be held until the report is completed. This may especially be usefull if you are running large sorted reports, as the printer will be free for use by other users during the sorting.

 

12.16.4.5.    Dialog before/after print.

 

   You can get a testprint before the printout starts and keep the spoolfile until you confirm the last page.

 

12.16.4.7.    Number of copies.

 

   You can get up to 99 copies of the report printout.

 

12.16.4.9.    Paper code.

 

   The spool system will hold the print until the operator tells that this specific paper number is mounted.

 

12.16.4.11.    Report name (Y/N).

 

   If you place Y here the report name will be displayed in the TAMOS spoolfile inquiery program.

 

12.16.5.      Printer control codes.

 

   On the second and third page of the code table you can enter the control codes in hexadecimal, decimal or octal as your initaly choosed.

 

Figure 9 2 page of the printer table in octal notation.

 

 DMS.RAPGEN.PRT   MAINTENANCE OF PRINTER TABLES  $RPL2.NARROW     OCTAL         

 @X OPTION          ON                             OFF                          

 @ RESET:           376,230,200                    376,230,200                  

 A:                                                                              

 B BOLD:            376,236,261,201                376,236,261,200              

 C:                                                                             

 D MIDDLE‑STRIKED:  376,230,203,201                376,230,203,200              

 E 10 CHARS/INCH:   376,236,222,200                                             

 F 12 CHARS/INCH:   376,236,222,201                                             

 G 15 CHARS/INCH:   376,236,222,202                                             

 H DOUBLE HEIGHT:   376,230,207,201                376,230,207,200              

 I:                                                                             

 J:                                                                              

 K:                                                                             

 L ELONGATED:       376,236,224,201                376,236,224,200              

 M:                                                                              

 N NORMAL CHARS:    376,236,263                                                 

 O:                                                                             

 P DRAFT PRINT:     376,236,265                                                 

 Q NLQ:             376,236,264                                                 

 R:                                                                             

 S SUBSCRIPT:       376,230,204,201                376,230,204,200              

                                                                                

                                                                                

 MESSAGE :                                                                       

 

 

 

 

Each control code has an ON and OFF value which is referred in the  reportgenerator by capital or lowercase letters, e.g. @L and @l for  elongated ON and OFF.

 

   Not all codes requires an off value, in this case you just omit it. The @0 to @9 codes do only have an ON value due to the lack of lower case   digits.

 

Figure 10 Third page of the code table in hexadecimal notation.

 

 DMS.RAPGEN.PRT   MAINTENANCE OF PRINTER TABLES  $RPL2.NARROW     HEX           

 @X OPTION          ON                             OFF                          

 T SUPERSCRIPT:     FE,98,85,81                    FE,98,85,80                  

 U UNDERLINE:       FE,98,82,81                    FE,98,82,80                  

 V UNIDIRECTIONAL:  FE,9E,B2,81                    FE,9E,B2,80                  

 W DOUBLE WIDTH:    FE,98,89,81                    FE,98,89,80                  

 X CALCULATED:                                                                   

 Y CALCULATED:                                                                  

 Z CALCULATED:                                                                  

 0 DUMMY:                                                                       

 1 FEEDER 1:        FE,9E,96,81                                                 

 2 FEEDER 2:        FE,9E,96,82                                                 

 3 FEEDER OPEN:     8A                                                          

 4 PAPER IN:        8B                                                          

 5 PAPER OUT:       8C                                                          

 6:                                                                              

 7:                                                                             

 8:                                                                             

 9:                                                                              

   LINE FEED:       8D                                                          

   FORM FEED:       8C                                                          

                                                                                 

 MESSAGE :                                                                      

 

 

 

Each input field is 30 characters long it is you can enter up to 7 control code values in octal notation. Is this not sufficient you must use hexadecimal notation where up to 10 control code values can be given.

 

   The text for the specific codes is just descriping the normal use of the code. The code function is determined solely by the control codes stated.

 

   You may also use the blank codes as @A for other functions as you which.

12.16.6.1.    @ RESET.

 

   Just after the reportgenerator has opened the printer the ON value of this  code will be printed. The OFF value is printed just before the printer is closed.

 

   A typical use is selection of single sheet feeder number.

 

12.16.6.3.    @A‑W Control codes.

 

   @A refers the ON value, @A refers the OFF value.

 

12.16.6.5.    @X‑Z Calculated control codes.

 

   You should not define these in the printer table itself but leave them blank for the reportgenerator calculations.

 

12.16.6.7.    @0 The dummy control code.

 

   Also this code should be left blank. It is used for screen display ajustment of the heading when you define control codes in function 1 ‑ define new report.

 

12.16.6.9.    @1‑9 Control codes.

 

   These may be used just like @A‑Z but just with an ON value.

 

12.16.6.11.    Linefeed character.

 

   Only one character, octal 215, should be stated here.

 

12.16.6.13.    Formfeed control code.

 

For a normal printer this code is 214 octal.

 

   For single sheet feeder printers you can enter codes for paper out, open feeder, select feeder, paper in etc.

 

12.16.7.      Printout of the code table.

 

 

 

Figure 11 Printout of the printer definition table.

 

 DMS.RAPGEN.PRT   MAINTENANCE OF PRINTER TABLES $RPL2.NARROW   OCTAL            

                                                                                

 01:PRINTER ID:                                    $RPL2.NARROW                 

                                                                                

 02:LOGICAL PRINTERNAME:                           $RPL2                        

 03:START POSITION (000):                          000                           

 04:END POSITION (131):                            079                          

 05:LINES ON FORM (072):                           072                          

 06:LINES/INCH (6/8):                                                            

 07:CHARS/INCH (10/12/15/16.5):                                                 

 08:PRIORITY (H/N/L/P):                            N                            

 09:START PRINT AT SPOOL IN (Y/N):                 N                            

 10:STORE DATA UNTIL SPOOL OUT (Y/N):              N                            

 11:DIALOG AFTER PRINT OF FIRST PAGE (Y/N):        N                            

 12:DIALOG BEFORE PRINT OF FIRST PAGE (Y/N):       N                            

 13:NUMBER OF COPIES (00‑99):                      00                           

 14:PAPER CODE (00‑63):                            00                           

 15:REPORT NAME (Y/N):                             Y                            

                                                                                

    @X OPTION          ON                          OFF                          

 40:RESET:             376,230,200                 376,230,200                  

 41:A:                                                                          

 42:B BOLD:            376,236,261,201             376,236,261,200              

 43:C:                                                                           

 44:D MIDDLE‑STRIKED:  376,230,203,201             376,230,203,200              

 45:E 10 CHARS/INCH:   376,236,222,200                                          

 46:F CHARS/INCH:      376,236,222,201                                           

 47:G CHARS/INCH:      376,236,222,202                                          

 48:H DOUBLE HEIGHT:   376,230,207,201             376,230,207,200              

 49:I:                                                                           

 50:J:                                                                          

 51:K:                                                                          

 52:L ELONGATED:       376,236,224,201             376,236,224,200               

 53:M:                                                                          

 54:N NORMAL CHARS:    376,236,263                                              

 55:0:                                                                           

 56:P DRAFT PRINT:     376,236,265                                              

 57:Q NLQ:             376,236,264                                              

 58:R:                                                                          

 59:S SUBSCRIPT:       376,230,204,201             376,230,204,200              

 60:T SUPERSCRIPT:     376,230,205,201             376,230,205,200              

 61:U UNDERLINE:       376,230,202,201             376,230,202,200              

 62:V UNIDIRECTIONAL:  376,236,262,201             376,236,262,200              

 63:W DOUBLE WIDTH:    376,230,211,201             376,230,211,200              

 64:X CALCULATED:                                                               

 65:Y CALCULATED:                                                                

 66:Z CALCULATED:                                                               

 67:0 DUMMY:                                                                    

 68:1 FEEDER 1:        376,236,226,201                                          

 69:2 FEEDER 2:        376,236,226,202                                          

 70:3 FEEDER OPEN:     212                                                      

 71:4 PAPER IN:        213                                                       

 72:5 PAPER OUT:       214                                                      

 73:6:                                                                          

 74:7:                                                                           

 75:8:                                                                          

 76:9:                                                                          

 77: LINE FEED:        215                                                       

 78: FORM FEED:        215                                                      

 

 

 

 


12.17.        Fault on the printer.

 

   You should be carefull when defining the control codes as the use of wrong control codes for a printer may cause problems.

 

   Possible you will have to switch the printer completely off and on again for each invalid code it receives and then give it an $PT (or F) command for formfeed. And if your report are printing funny codes for each line and  you have the spooler switched on you have now quite a job to do.

 

   A special symptom of a control code error is that the printer may be opened quite OK by the report program but any printout will cause error.

 

   If you cannot make the printer work you could try the following steps:

 

    1. Try the LPT (or F) command, this should work.

    2. If not switch the printer off and on and try 1 again.

    3. Is paper/ribbon OK.

       Try to remove it and reinsert again.

    4. Switch the screen off and on, and try LPT (or F).

    5. Remove all jobs in the spoolqueue if this is active.

       Check if the spooler is running by pressing the 'S' button.

    6. Worst case: Switch off the entire machine and restart it again (IPL).

 

12.18.1.      Basic error 26 ‑ printer not ready.

 

   This error may occur from any printout following after an invalid control  code.

 

12.18.3.      Basic error 73 ‑ invalid open parameter.

 

   This error may occur if you have given spool parameters as 6/8 lines/inch for a printer without this facility. The fields should be left blank for such printers.

 

   Especially is the END position for may printers restricted to 131 and error 73 may occur if this is exeeded.

 

12.19.       Installation of DMS.RAPGEN printer control.

 

   Niros 5.1 revision 5 or newer is required as older drivers is not able to support the control codes correctly.

Only about 50 sectors disc space is required.

 

   The installation is done by COPYALL with the libr.list DMS.P.LIB.

 

Figure 12 The library list DMS.P.LIB.

 

 LOGICAL UNIT :9         27.01.80  12:37:30                                      

                                                                                 

    FILE NAME    USER  BLOCKS  PART./  APPL. VERS  SPC   DATE        HBA         

 *                             #REC.   AREA FMVVTM INF                           

 T  DMS.P.LIB       1       2       1    0   0 0 0   0  27.01.80    2267         

 C  DMS.P.LPT       1       3       1    0   0 0 0   0  27.01.80    2404         

 C  DMS.P.RPL2      1       3       1    0   0 0 0   0  23.01.80    2713         

 B  DMS.RAPGEN.PRT  1      20       0    0   0 0 0   0  27.01.80   24770         

 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑         

 TOTAL :                   28                                                    

                                                                                 

 1136 FREE BLOCKS ON LU NO.      9                                               

 

 

 

The predefined code tables can now be copied with COPY to the required physical driver names, e.g. 

 

     COPY DMS.P.RPL3=DMS.P.RPL2

 

You should omit the $ sign from the printername.

If nessesary the tables may be amended with DMS.RAPGEN.PRT for the specific printer types.

 

   DMS.RAPGEN.PRT may be inserted in the TAMOS selector by use of the interface program DMS.R function 97:

00/DMS.R,970000


13.

12.          DMS.RAPGEN PC‑integration.

 

14.1.        Introduction.

 

   On request from several of our DMS.RAPGEN users we have now developed a modul for the reportgenerator which simplifyes the transfer of data for a  PC so this becomes an extremly simple procedure.

 

   The user just selects a special printer for the PC report. This may be fixed for the report, selected when starting the report or set by TAMOS printerassignment.

 

   Several reports may be transferred in one go. If a jobqueue like TAMOS spoolqueue is used a textfile will be builded for each report containing the data to transfer.

 

   The transfer is started simply by typing PC in DMS.RAPGEN and DMSPC on the PC. These commands will do all control nessesary for the BCU etc.

 

   Dependent on the selected printer the output on the PC will be placed as plain text or LOTUS/CHART/VISICALC/MULTIPLAN format.

 

   The reportgenereator will split the coloums on the report and transform the text to the described format without futher.

 

   The user is able to use all the functions in the reportgenerator for selection/calculation/sorting/totalling and integration of up to 9 files in a PC‑report.   

 

14.2.1.      Structure.

 

   When you select a 'PC‑printer' the print of the report will be output to a textfile on the disc instead of the printer.

 

   These textfiles will be numbered from 1 to 9999 so each run of a report will produce a new textfile.

 

   For each screen which starts PC‑reports the reportgenerator will build a control textfile. This textfile is a .BAT file for the PC and each report started from this screen will be inserted in here with all transmission commands.

 

   When the textfile is started from the PC the transmission of all reports will take place.

 

14.2.3.      LOTUS,CHART,MULTIPLAN and VISICALC.

 

   The 'PC‑printer' selected when you start a report may contain information that this report should be used by e.g. LOTUS.

 

   If so DMS.RAPGEN will create a command in the PC control text file in order to transform the textfile output from the report to the format required for LOTUS. Each field printed on the report will result as a coloumn om the spreadsheat.

 

   The reportgenerator is supported with different PC‑printers for LOTUS,MULTIPLAN (see later). You may even create your own PC‑printers for other PC programs implemented in the PC EXPORT function. 

 

14.2.5.      The physical PC‑transmission.

 

   When one or several reports which has been run should be transmitted in the PC you just select the PC command in the reportgenerator menu and then shift to the PC and select the DMSPC.BAT file.

 

   By this the control file builded for the reports started from this screen will be transmitted. As soon as this .BAT file is on the PC it will be started.

 

   This causes all nessesary commands for the transmission (RDAC/RDMAIN) to be executed and after this eventually creation of LOTUS format files by use of the EXPORT command.

 

   When the transmission is finished you will get an overwiew of the received reports on the PC with one line for each report telling report number, name and start parameters.

 

   On the Nixdorf 8870 the reportgenerator will give the nessesary commands for the BCU transfer queue. You may also specify that the print textfile on the 8870 should be deleted after the transmission is completed and OK or you may select to do this by yourself.

14.2.7.      Prerequirements.

 

DMS.RAPGEN PC integration requires operating system NIROS 5.1 or newer.

 

   Of cause you must have the NIXDORF PCLINK installed to be able to make the start and stop of the BCU transmission queue as this program makes the 'talking' with the PC.

 

   And the PC should be connected to the 8870 and have the emulation programs for this.

 

   Some disc space on the 8870 may be required depending of how big and how many files you want to transmit as the transmissions is done by making textfiles with the data. The DMS.RAPGEN PC programs itself takes up 200 sectors on the disc only.

 

14.3.        An example of a transmission.

 

   In the following we will make a full example of transmission to a PC.:

 

14.4.1.      Start/stop of the BCU queue.

 

   Before you can start any transmission you have to have to start the BCU queue. This could for instance be done when you power up the 8870 machine once a day.

 

   Log on on account id PCL (or PCLINK) and select program number 010101. Answer the 2 questions here with 2 and Y.

 

Figure 13 Start of the BCU.

 

 

 

  400/START BCU     BCU‑AKTIVITETER      COMET PC‑LINK                  87.12.04 

                                                                                 

                                                                                 

                                                                                 

                                                                                 

                                                                                  

        NORMAL=1/PHANTOM=2/STD.RECV=3                         2                  

                                                                                 

        SHOULD BCU STAY ACTIVE AFTER END OF JOB LIST ? Y/N .  Y                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

  MESSAGE:                                                                       

                                                                                  

 

 

 

When the 8870 sometime should be closed down for end of run backup you have to stop the BCU again. This is done by selecting 010104 in the same selector.

 

   If the BCU is not started when you select the PC command in the reportgenerator you will get a message of this. You may then just start the BCU at this moment.

 

14.4.3.      Creating the PC report.

 

   You define a quite normal report in DMS.RAPGEN and this may of cause be printed:

 

Figure 14 Printout of a PC report.

 

DATE:14,01,87             * ARTICLE LIST *       AS OF 14,01,87   PAGE:   1  

                                                                             

NO   DESCRIPTION           SALE PRICE   COST PRICE     DATE SUP ALT GR   STOCK

0101 BOLT                        2.00         1.50  1,01,87 271 270  0     100

0102 TRUCK‑HOPPER            20000.00     10000.00  1,01,85 100   0  9       0

0110 TRUCK‑WORK             100000.00     60000.00 15,12,86 123 100  2       1

1001 TRUCK‑WHEEL              1000.00       500.00 31,12,86 205 102  0     100

1005 TRUCK‑GEARBOX            2000.00      1500.00  1,06,86 100   0  1      10

2001 BOLT‑SPEC./AL              20.00        10.00  1,01,87 205 102  9      10

2002 BOLT‑SPEC./BR              25.00        10.00 30,07,86 205 102  9     200

 

 

 

   You may use any previously defined reports.

   NOTE: If you want to use LOTUS or other PC‑printers with automatic EXPORT command the report must be defined with function 1 ‑ define new report and contain one print time only.


14.4.5.      Starting the PC report.

 

   The report is started quite normal from the PC on 8870.

 

Figure 15 Starting the report.

 

 DMS.RAPGEN     1 ARTICEL LIST                 9.....START AND GENERATE REPORT   

                                                                                 

                                                                                 

     TODAYS DATE (DDMMYY) ?    310788                                            

                                                                                 

     AS OF  DATE (DDMMYY) ?    310788                                            

                                                                                 

     START FROM ?                                    INDEX:                      

                                                     1:ARTICLE NUMBER            

     STOP  AT  ?                                     2:MATCHCODE+RECNO           

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

 MINIMUM TOTAL LEVEL TO BE PRINTED (0‑ 1 , 0=WHOLE LIST) ? 0                     

 START:( Y=PHANTOM , S=SCREEN , P=PRINTER , N=NO) ? P                            

 TESTPRINT / PRINTER SELECTION (Y/N/P/$XXXX) ? N        $LOTUS                   

                                                                                 

 MESSAGE:                                                                         

 

 

 

 

You just have to select a PC printer for the report.

 

   This is done in the very last prompt TESTPRINT/PRINTER by entering e.g. $PC or just PC as the $ sign may be omitted (it is a little difficult to find on the PC).

 

   You may also have fixed the report on a PC printer by use of function 7 amendment of report/letter ‑ with the command PRINTER at the prompt LINE,POS. You should enter $PC as responce to the question PRINTER NO. (0=$LPT) here.

 

14.4.6.1.    Several reports and jobqueue.

 

   You may start as many reports as you need in this way. Also you may place these in the jobqueue (by entering Q at the prompt START (Y/N/P/S).

 

   Of cause all the report programs must have fineshed before you can continue with the physical transmission to the PC.

 

14.4.7.      The physical transfer to the PC.

 

   In the reportgenerator selector you enter PC:

 

Figure 16 Selection of the PC transmission function.

 

                      DMS.RAPGEN                                                 

                                                                                 

                      1 ... DEFINE NEW REPORT                                    

                      2 ... DEFINE SELECTIONS                                    

                      3 ... DEFINE SORTING AND TOTALLING                         

                      4 ... DEFINE CALCULATIONS                                  

                      5 ... DELETE REPORT                                        

                      6 ... DEFINE NEW LETTER                                    

                      7 ... AMENDMENTS TO A REPORT/LETTER                        

                      8 ... PRINT OF DEFINITIONS                                 

                      9 ... START AND GENERATE REPORT                            

                     10 ... COPY REPORT                                          

                                                                                 

                     ENTER CODE:PC......                                         

 

 

 

 

and you will now get the following screen:


 

 

Figure 17 Start of the PC transmission.

 

  REPORT GENERATOR    ENGLISH VERSION   REPORT GENERATOR  #15 87.12.04/13:05     

                                                                                 

  TRANSMIT TO PC ON SCREEN 15 OF REPORTS MADE BY SCREEN 15                       

                                                                                 

  NO.PC‑NAME  SECTORS REPORT             TODAYS DATE,  AS OF,   START/STOP       

  01:DMS0009.NIX 0003 11 SUPPLIERS LIST     30.07.88, 30.07.88, , Å ,            

  02:DMS0010.LOT 0003 11 SUPPLIERS LIST     30.07.88, 30.07.88, , Å ,            

  03:DMS0011.LOT 0003  1 ARTIKEL LIST       31.07.88, 31.07.88, , Å ,            

  04:DMS0012.NIX 0002  1 ARTIKEL LIST       31.07.88, 31.07.88, 1000, 1999,      

  05:DMS0013.MUL 0003  2 STOCK LIST         31.07.88, 31.07.88, , Å ,            

  06:DMS0014.LOT 0002  3 SUPPLIERS          31.07.88, 31.07.88, , Å ,            

                                                                                 

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                 

  DELETE THE NIXDORF 8870 TEXTFILES (Y/N) ? Y                                    

  13:05   START NOW OR AT TIME (Y/N/HHMM) ? Y                                    

  MESSAGE:                                                                       

 

 

 

Normally you should just press cr. 3 times to start the transmission.

 

14.4.8.1.    Reports created from screen.

 

   The first line indicates that your PC is on Nixdorf 8870 port number 15 and if you just press cr. upon the prompt all reports started from this screen will be transmitted. Only if you started the reports from another screen you should enter this screen number here.

 

14.4.8.3.    Delete the Nixdorf 8870 textfiles (Y/N).

 

   When the transmission is completed without errors the textfiles will be deleted from the 8870 disc if you answer Y here as they are no longer needed.

 

   If you enter N the files will be kept and you should select a program later on to delete these in order to free the disc space used. Refer to the next sections for this.

 

   NOTE: If you answer Y the reportgenerator will wait until the transmission is completed and then delete the 8870 files.

 

   If you answer N the reportgenerator will finish its job after the control file is transmitted and you may even use the 8870 system from the pc during the transmission.

 

14.4.8.5.    Start now or at time (HHMM).

 

   You may enter a time for the transmission start. This may be used if the reports is placed in a jobqueue and this finish after you have left.

 

14.4.9.      Starting the transmission from the PC.

 

   Now you should return to the PC and type:  DMSPC

 

 and you just have to wait until the transmission is completed.

 

14.5.        The transmitted files.

 

   First of all the reportgenerator will transmit the file lu/DMSPCXxx.BAT where xx is the 8870 screen number.

 

   Then this file is executed on the PC which causes one or more files with the name DMSxxxx.NIX to be transmitted. xxxx is a number from 1 to 9999 given by the report generator when a PC report is started. These files are plain text files usually without report headings, formfeeds and totals.

 

   If you have selected a PC‑printer connected to a PC‑program like LOTUS for any of the reports an EXPORT command will be issued for each of these after all textfiles has been received.

 

   This will create the associated files DMSxxxx.LU on the PC. LU is either LOT,MUL,CHA or VIS depending on the PC‑printer selected for the report (the 3 first characters in the printer name).


14.6.1.      Overwiew of the transmitted files.

 

   On the 8870 you will get an overwiew of the files before the transmission starts.

 

   When the transmission is completed you will get this overwiew on the PC also.

 

   You may get an hardcopy of this from the 8870 with the PRT spooler command.

 

   If you on the PC with the printer on by typing control P before starting the transmission you can follow the single steps on the PC‑printer.

 

   The transmitted control file DMSPCXxx.BAT contains all transmission commands. You may TYPE this on the PC:

 

Figure 18 The control file DMSPCX06.BAT

 

   DEL DMS0009.NIX                                                               

   RDAC get DMS0009.NIX 8870 04/DMSPCX150009 %%                                  

   DEL DMS0010.NIX                                                               

   RDAC get DMS0010.NIX 8870 04/DMSPCX150010 %%                                  

   DEL DMS0011.NIX                                                               

   RDAC get DMS0011.NIX 8870 04/DMSPCX150011 %%                                  

   DEL DMS0012.NIX                                                               

   RDAC get DMS0012.NIX 8870 04/DMSPCX150012 %%                                  

   DEL DMS0013.NIX                                                               

   RDAC get DMS0013.NIX 8870 04/DMSPCX150013 %%                                  

   DEL DMS0014.NIX                                                                

   RDAC get DMS0014.NIX 8870 04/DMSPCX150014 %%                                  

   RDMAIN S 1                                                                    

   EXPORT DMS0010.NIX ‑o DMS0010.LOT ‑f wks ‑c 1:3,16:39,54:55,57:70             

   EXPORT DMS0011.NIX ‑o DMS0011.LOT ‑f wks ‑c 1:6,18:50,52:67,62:63,66:76       

   EXPORT DMS0013.NIX ‑o DMS0013.MUL ‑f mp  ‑c 1:6,16:48,50:65,67:77             

   EXPORT DMS0014.NIX ‑o DMS0014.LOT ‑f wks ‑c 1:3,14:37,39:48                   

   ECHO 01:DMS0009.NIX 0003 11 SUPPLIERS LIST     30.07.88, 30.07.88, , Å ,      

   ECHO 02:DMS0010.LOT 0003 11 SUPPLIERS LIST     30.07.88, 30.07.88, , Å ,      

   ECHO 03:DMS0011.LOT 0003  1 ARTIKEL LIST       31.07.88, 31.07.88, , Å ,      

   ECHO 04:DMS0012.NIX 0002  1 ARTIKEL LIST       31.07.88, 31.07.88, 1000,1999, 

   ECHO 05:DMS0013.MUL 0003  2 STOCK LIST         31.07.88, 31.07.88, , Å ,      

   ECHO 06:DMS0014.LOT 0002  3 SUPPLIERS          31.07.88, 31.07.88, , Å ,      

 

 

 

14.7.        Standard PC printers.

 

   The following 'PC printers' is distribuated with DMS.RAPGEN:

 

             $PC    plain text transmission, no export is done, heading and totals are included

             $PCN   as $PC, no headings or totals

             $LOTUS as $PCN, a .LOT LOTUS file is created

             $MULTI as $PCN, a .MUL MULTIPLAN file is created

             $CHART as $PCN, a .CHA CHART file is created

             $VISI  as $PCN, a .VIS VISICALC file is created

14.9.        Retransmission after fault.

 

   If the transmission of any reason is not completed you may always select the PC function again.

 

   If you have not run any report since last transmission you will be prompted:

 

   NOTHING NEW TO TRANSMIT, RETRANSMIT PREVIOUS (Y/N)?

 

 Just answer Y to retransmit once more. 

 

14.10.1.      Deleting the textfiles only.

 

   If you answer N for retransmission you will anyway be prompted if the Nixdorf 8870 textfiles should be deleted. You have the possibility just to delete the textfiles without retransmission.


14.11.        Manual deletion of the 8870 textfiles.

 

   If you have desided not to delete the textfiles just after transmission to the PC or you possible do not want to transmit some files anyway, the reportgenerator contains a cleaning program so you can get ritt of these files and free the disc space.

 

   This cleaning program is selected by entering:  PCC

in the reportgenerator selector.

 

Figure 19 The PCC cleaning program.

 

   REPORTGENERATOR   ENGLISH VERSION   REPORTGENERATOR    #15 87.12.04/13:09     

                                                                                 

   CLEANUP FOR SCREEN (CR= 15, 99=ALL SCREENS) ? 15                              

                                                                                 

      FILE NAME    USER  BLOCKS  PART./  APPL. VERS  SPC   DATE        HBA       

   *                             #REC.   AREA FMVVTM INF                         

   T  DMSPCX15.BAT   48       4       3    0   0 0 0   0  31.07.88   63666       

   T  DMSPCX150009   48       3       2    0   0 0 0   0  30.07.88   20210       

   T  DMSPCX150010   48       3       2    0   0 0 0   0  30.07.88   20215       

   T  DMSPCX150011   48       3       2    0   0 0 0   0  31.07.88   20220       

   T  DMSPCX150012   48       2       1    0   0 0 0   0  31.07.88   63655       

   T  DMSPCX150013   48       3       2    0   0 0 0   0  31.07.88   63657       

   T  DMSPCX150014   48       2       1    0   0 0 0   0  31.07.88   63664       

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                  

   START CLEANUP (Y/N) ?                                                         

                                                                                 

   MESSAGE:                                                                      

 

 

 

 

You can select cleaning for one screen only or for all textfiles on the system.

 

   You will get an overwiew of all textfiles on the screen, cleaning will take place only if you answer Y on the prompt CLEANUP Y/N.

 

14.13.        A little more technical information.

 

   When a report is started, DMS.RAPGEN will take the next textfile number from the file 00/DMS.PCQUEUE (4% in record 0, byteno. 0).

 

14.14.1.      The print textfile.

 

   This number will be used to form the name of the print output textfile on the disc:

 

    lu/DMSPCXssxxxx

    lu              is discno. from DMS.PCQUEUE (recordno. 0, byteno. 8, 4%).

    ss              is the starting screen number.

    xxxx            is the textfile number.

 

 The naming of the PC textfiles is in this way independent of the different reportgenerator systems (companies). You may start the PC transmission with reports from several different companies.

 

   The structure of the filenames makes it possible with the commands: 

 

             LIBR @; lu/DMSPCX06   or

             LIBR @; lu/DMSPCX

 

to get a list of files for one screen or for all screens on the system.

This is in fact used in the PCC cleaning program.

 

14.14.3.      The temporary control file.

 

   When a report is started the file lu/DMSPCXxx will be builded. If this is allready present it will be extended.

 

   The reportgenerator will place RDAC, EXPORT and ECHO commands in this file for transmission.


14.14.5.      The format control file.

 

   When you starts the transmission by entering START Y in the PC function, the temporary control file DMSPCXxx will be sorted to the final control file lu/DMSPCXxx.BAT and then deleted.

 

   All RDAC commands will be placed first followed by an RDMAIN S 1 command, then all EXPORT commands and finally ECHO of all report informations.

 

   If the temporary control file is not present when the PC function is selected you will be asked if retransmission should take place controlled by the .BAT file.

 

14.14.7.      The BCU job queue.

 

   The transfer is started by placing a transmit/receive job for the screen in the BCU job queue and then waiting until this job gets status completed.

 

   The user is now supposed to execute the DMSPC command on the PC it is the control file DMSPCXxx.BAT will have been transmitted and now running on the PC when the BCU job is completed.

 

   DMS.RAPGEN will now issue a second transmit/receive job for the BCU. This is used by the .BAT file to receive the print textfiles.

 

   If you have entered N as responce to DELETE TEXTFILES the reportgenerator now finishes on the 8870 and returns to the selector.

 

   If the files are to be deleted the reportgenerator waits for the BCU job to get the status completed with no errors and the textfiles will be deleted.

 

14.14.9.      Status during the transfer.

 

   During the transfer no output will be done from the reportgenerator PC program to the screen as this would cause the transfer to hold until the user withes the PC to the 8870 system.

 

   If you press escape you will get a status on the message line of the transmission process.

 

14.15.        Installation of DMS.RAPGEN PC integration.

 

   The PC programs for DMS.RAPGEN should be copied to the same disc as DMS.RAPGEN is located on according to the libr. list DMSPC.LIB:

 

 

Figure 20 The libr.list DMSPC.LIB.

 

LOGICAL UNIT :0        31.07.88  12:54:55                                          

                                                                                  

   FILE NAME    USER  BLOCKS  PART./  APPL. VERS   SPC    DATE        HBA  HASH   

*                             #REC.   AREA FMVVTM  INF                     TOTAL  

D  DMSPC          48      24       0    0   0 0 0    1   29.07.88  162576   9640  

D  DMSPC.CLEAN    48      16       0    0   0 0 0    1   29.07.88  162675  15619  

D  DMSPC.CLEAN1   48      17       0    0   0 0 0    1   29.07.88  163050  27783  

D  DMSPC.LIB      48       4       3    0   0 0 0    0   29.07.88  101524         

D  DMSPC.MESS     10      22      21    0   0 0 0    0   28.07.88  162627   5821* 

D  DMSPC.MESSE     6      18      17    0   0 0 0    0   29.07.88  163126  34526* 

D  DMSPC.MESSY     6      18      17    0   0 0 0    0   29.07.88  162744  34526* 

D  DMSPC.SYS      48      19       0    0   0 0 0    1   29.07.88  163150   3034  

D  DMSPC.TEXT      6       4       1    0   0 0 0    0   29.07.88  105567  25077* 

D  DMSPC.TEXTE    48       4       1    0   0 0 0    0   29.07.88   37624  11288* 

D  DMSPC.TEXTY    63       4       1    0   0 0 0    0   31.07.88  154117  11288* 

                                                                                   

‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 

TOTAL :                  150                                               47532  

                                                                                      

3573 FREE BLOCKS ON LU NO.     0                                                  

                                                                                     

 

 

 

 

 

 


14.16.1.      The installation program DMSPC.SYS.

 

   After this you should select the installation program DMSPC.SYS either from scope or by entering the command PCSYS in the reportgenerator selector. You will get the following screen:

 

Figure 21 DMSPC.SYS installation.

 

  REPORTGENERATOR   ENGLISH VERSION  REPORTGENERATOR       #15 87.12.04/13:11    

                                                                                 

  DISK (LU) FOR PC.TEXT‑FILES:                04                                 

                                                                                 

  SEQUENCE NO. FOR PC‑TEXTFILES:              0014                               

                                                                                 

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

  OK (Y/N) ?                                  Y                                  

                                                                                  

  MESSAGE:                                                                       

 

 

 

 

In this program you can state the disc number for the PC printer text files and the current textfile number. You may select this program again later to alter these informations.

 

   The program will create the file 00/DMS.PCQUEUE if this is not present and all the PC‑printer code tabels DMS.P.LOTUS etc. Also a file for each screen DMSPCxx.BAT will be created.

 

14.16.3.      Installation of one PC.

 

On each PC a small .BAT file is required to start the transmission.

 

   This file is different for each PC as the 8870 port number for the PC must be stated in here.

 

   The installation program DMSPC.SYS will create one file for each screen on the system named:

 

    lu/DMSPCxx.BAT  where

    lu              is the disc given in DMSPC.SYS

    xx              is the screen number

 

 You should transmit the apropriate file to the PC by issuing the command on the PC:

 

   RDAC get DMSPC.BAT 8870 lu/DMSPCxx.BAT %%

   RDMAIN S 1

 

 and then issue a transmit/receive command on the 8870.

 

   This may be done by selecting the PC function in DMS.RAPGEN and just answer Y as screen number or from the PCLINK selector.

 

Figure 22 The file DMSPC06.BAT.

 

   ECHO OFF                                                                       

   DCU                                                                           

   DEL DMSPCX06.BAT                                                              

   RDAC get DMSPCX06.BAT 8870 04/DMSPCX06.BAT %%                                 

   RDMAIN S 1                                                                    

   DMSPCX06.BAT                                                                  

 

 

 

14.17.        Resetting the PC log.

 

The PC will keep a logbook of all transmissions.

 

   You should reset this after approximately 80 transfers to the PC with the command:

 

    RDMAIN C 1

 

followed by a transmit/receive command on the 8870.

After the program has been running for a little while you can stop it with control‑break and the logbook is reset.


14.19.       DMS.RAPGEN PC printer control.

 

   A PC printer works in the reportgenerator just like any other printer. It will be controlled by a code table created by the program DMS.RAPGEN.PRT. You may refer to this manual for detailed informations.

 

   When PC integration is activated (it is 00/DMS.PCQUEUE is present on the disc) you will get an additional page 2 in this program:

 

Figure 23 DMS.RAPGEN.PRT printer control.

 

 

   DMS.RAPGEN.PRT    MAINTENANCE OF PRINTER TABLES   CHART   OCTAL               

                                                                                 

   PRINT HEADING & TOTALS (Y/N):                     N                           

   LINES ON FORM:                                    7999                        

                                                                                 

                                                                                 

   START PAGENO.:                                                                

                                                                                 

                                                                                  

   PC INTEGRATION CODE (Y/wks/mp/mc/dif):             mc ‑r 1 2                  

   TEXTFIL EXTEND FLAG (B/!/+):                       !                          

                                                                                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

                                                                                 

                                                                                  

                                                                                 

                                                                                 

   MESSAGE:                                                                       

 

 

 

 

where you can give the following informations: 

 

14.20.1.

12.10.1.     Print heading and totals.

 

   This field should be left blank for a normal printer. N causes a headings and totals to be omitted from the printout and is used for LOTUS etc. transfers. 

 

14.20.3.

12.10.2.     Lines on form.

 

   If you state 7999 here no form feeds will ever be issued.

 

14.20.5.

page \* arabic2412.10.3.     Start pageno.

 

   A start pageno. for the report may be stated here.


14.20.7.

12.10.4.     PC integration code.

 

This field controls the EXPORT command.

 

If the field is blank or Y no export is issued.

 

   If the field contains anything else an EXPORT command will be issued as:

    EXPORT input ‑ 0 output ‑ f xxxxxx ‑ c coloums

 

 xxxxxx will be the text stated in the PC integration code and contains the format specification for the export command and possible additional commands.

 

   At the time being the EXPORT function manages:

 

     LOTUS

     CHART

     MULTIPLAN

     VISICALC

 

 If this command set is extended you may just create a new PC printer with the new command.

 

   The PC integration code also controls the output meaning of the textfile. Blank causes a normal printer name or textfile to be used, anything else will activate numbering of textfiles as descriped in this manual.

 

14.20.9.

date \@ "MMMM d, yyyy"januar 10, 200812.10.5.     Textfile extend flag (B/!/+)

 

This field should be blank for a normal printer and ! for a PC printer.

 

   ! causes a new textfile to be builded and any existing file will be overwritten.

 

   B builds a new textfile and aborts the report if a textfile with this name is already present.

 

   + builds a new textfile if this is not present. If the file exists the print will be added at the end of this file.

 

14.20.11.

12.10.6.     PC textfile suffix.

 

   The PC file will be named DMSxxxx.ttt, ttt is taken from the LOGICAL printer name stated in the second field of page 1 in the printer control code table. 


15.

13.          Print image control.

 

   In this release (9.24) the generation of the print statements and the report print routines has been completely changed to allow new facilities to be implemented.

 

   This technical change will not influent on any existing reports, these are fully compatible.

 

The user will notice that the print on screen has changed:

 

   Reports with lines longer then 80 characters will no longer scroll the screen, 79 characters of each line only are displayed. This can be controlled by the lamp key 3, if you light R3 the complete line is displayed as in previous releases.

 

   Letters which are run on screen as inquiery programs will no longer display the leading text in background by start and the fields only in foreground for each record. Both leading text and fields will be displayed in foreground for each record as the user is able to control the layout during the run. 

 

16.1.        Structure of the print generation.

 

   The print statements generated by previous releases have contained direct printing of the fields and heading textes to the printer generated as basic PRINT USING statements.

 

   TAB positions were used whenever this could reduce the length of generated code which increased speed on former operating systems.

 

   From this release the print is builded as a text line. This line will then be printed with a simple print statements. All tabulation positions has been removed to increase speed on the present operating systems and to enable manipulation with the print string before print.

 

16.2.1.      Improved functions by this structure.

 

   A number of facilities has been improved by the change of print generation:

 

   ‑ Print speed increased due to remove of TABs.

   ‑ Shift of fonts was not controlled correctly by NIROS when the TAB positions were used.

   ‑ New ¬ functions to remove spaces on print lines.

   ‑ Quotes are allowed as heading textes.

   ‑ Letters may now contain more than 99 fields.

   ‑ Screen display of long lines may be reduced to 8 characters avoiding scroll.

   ‑ A longer TOTAL text do not move the rest of the line to the right.

   ‑ Delimiter characters in string fields can not any longer disturb the print layout.

 

 16.3.        New print image control.

 

   The print generation of heading, lines and totals were fixed in former releases it is the heading would always be the same lines for a report as a heading print subroutine were generated.

 

   In this release a subroutine is generated for each special print line seperately. A print routine printing a subset of these controls e.g. the heading consists of line 1‑4.    

 

16.4.1.      New functions by this structure.

 

     ‑ The user is by the LINE command in function 7 able to change which lines are to be printed.

     ‑ By the calculation statements PRINT (1‑4) the user is able to print any line at any point.

     ‑ By PRINT (L=7) the user is able to have different line layouts on a report.

     ‑ The user is able to take over the complete control of the printing by the calculation section PRINT

       (as FIRST/NORMAL/AFTER).

     ‑ This enables printing of statements, invoices etc. without use of READH.


16.5.        Print line control.

 

   When a new report is defined DMS.RAPGEN determines which lines should  be used for heading, normal print lines and totals.

 

   On a standard report defined with one field line the heading is fixed to line 1‑4 and the print line (and total line) will be line 5.

 

   In previous releases of DMS.RAPGEN you have not been able to amend this line setting in other way than defining a new report.

 

16.6.1.      The LINE command.

 

   In function 7 (amendment of a letter or report) it is now possible to use the new LINE command to change these informations.

 

   When you in LINE,POS issues the LINE command, the screen will scroll up one line and you get a menu on the lower part of the screen:

 

Figure 24 The LINE command.

 

 

 PRINT ZERO FIELDS (Y/N) ?             Y                                       

 NEW PAGE LINES BEFORE END OF PAGE:    3                                       

 HEADING       PRINT LINES:            1‑5                                     

 NORMAL        PRINT LINES:            7‑7                                     

 TOTAL         PRINT LINES:            7‑7                                     

 DETAIL(READH) PRINT LINES:            6‑6                                     

                                                                               

 

 

 

 

16.6.2.1.    Print zero fields.

 

   You are able to change the zero supress option which you defined when creating the report.

 

   Note that it is now also possible to define zero supression on letters even if this question is not asked when defining a new report.

 

16.6.2.3.    New page lines before end of page.

 

DMS.RAPGEN will normally leave 3 lines free as footer on any page.

 

   When you define the number of printlines (eg.66) by creating the report, you may enter 66,5 to set the number of footer lines to 5.

   You may change this setting here.

 

16.6.2.5.    Heading print lines.

 

   This is the range of lines printed whenever the report shifts to a new page.

 

   On this and the following promts you may enter a new range by typing    xx‑yy. It is only possible to enter one range of lines at each promt.

 

16.6.2.7.    Normal print lines.

 

   You are now able to extend a report defined as printing only one line to print several lines for each record.

 

16.6.2.9.    Total print lines.

 

   The report generator will normally use the same lines for total printing as for printing normal records on the list.

 

   The left part of the first total line will be replaced by the total text. Any field in this positions will be overwritten.

 

   You may now specify a total line print different from the normal lines, it is the total lines may have a different layout.

 

   Note that zero supression never will be used when printing totals.


16.6.2.11.    Detail (READH) print lines.

 

   This option appears only if you have used the LINE command when defining the report with function 1.

 

   The range of lines given here will be printed whenever the READH (xx) statement in the calculations signals a change of record, thus acting as   a heading for the normal print lines.

 

16.6.3.      Letters.

 

   If the report is defined as a letter, only the options print zero fields and normal print lines will appear.

 

   It is a new facility to be able to supress zeroes on the letter‑type reports. 

 

16.6.5.      Inquiery programs.

 

   If you intend to use the letter as an inquiery program only with no special printer control you may specify: PRINT ZERO FIELDS (Y/N): YS The S option as second character will make the report generator optimize the screen print rather than the printer output (in fact the old optimization for letters on screen will be used).

 

   You will still be able to run such a letter as a print program but none of the new print image control functions can be used for the report. 

 

16.7.        Controlling the print by calculations.

 

   You have the possibility to control the printing from the calculation module (function 4) by the nowly introduced PRINT command.

 

   The PRINT command can have 3 different functions:

 

    1. You may set up which lines should be used when the report prints anything.

    2. You can gain complete control of the printing by a seperate routine.

    3. You may directly print lines.

 

It is possible to make a combination of function 1 and 3.

 

   The print commands given in the calculations will always have priority  over the report print lines (given in function 7 with the LINE command) and overwrite these.

 

16.8.1.      Setting lines to be printed.

 

   If you as a calculation enters: PRINT (L=7‑8) the report lines 7 and 8 will be printed for this record.

 

   The print is not executed directly but after the calculations, selections etc. The statement will only set up which lines should be printed at a later point.

 

   The L= indicates the following lines should be used when the next report Line should be printed.

 

   You may use H=, N=, T= and D= for Heading, Newpage, Totals and Detail (READH) lines.

 

16.8.2.1.    Line specifications.

 

    You may give a simple line as in        PRINT (L=7)

    or a range of lines as                  PRINT (L=7‑9)

    or any combination hereof:              PRINT (L=7,15‑20,9,11‑12)

 

16.8.2.2.1.  +xx skip a number of lines.

 

   You can skip a number of lines by a +xx  PRINT (L=7,+2,8)

 

will print line 7, skip 2 lines and then print line 8.


16.8.2.2.3.  :xx skip to line.

 

   You may also skip to a specific line by    PRINT (H=:10,1‑3)

 

 where :10 makes the report generator skip to line 10 on the paper.

 

   Note: If you define a :xx line and xx is lower than the current line on the paper, a new page will be issued.

 

   The newpage will normally always contain a :1 in order to skip to line 1 on the next page.

 

16.8.2.3.    PRINT (L= line specification.

 

   The L= will change the print lines for the next printing of a record.

 

16.8.2.4.1.  Conditional line printing.

 

   You may use the IF command together with the PRINT commands to determine which lines should be printed dependent on a record type:

 

        IF #15=1  PRINT (L=7)

        IF #15<>1 PRINT (L=8‑9)

 

16.8.2.5.    PRINT (T=total line specification.

 

        PRINT (T=17)

 

 will set the next total printout to use line number 17.

 

   This function will normally be usefull only together with calculated totals on a report.

 

   Note that the total text (GRANDE TOTAL or like) will be printed only on the first total line specifyed in function 7 with the LINE command. If you change the total line printing the control of such a text must be done by yourself.

 

16.8.2.7.    PRINT (D=detail (READH) line specification.

 

   This option is only usefull if you have a READH statement in the       calculations of your report.

 

   The READHeading works like the normal read, but whenever the key is changing a heading is printed.

 

            PRINT (D=+2,7) will set the lines for such a heading.

 

   When defining a new report with function 1 you will normally use the LINE command here to tell the reportgenerator which lines should be printed when you issue the READH command.

 

   If you take over the control by the calculations PRINT (D= and PRINT (L= you do not have to define the report with the LINE command to use READH.

 

16.8.2.9.    PRINT (H= heading line specifications.

 

   PRINT (H=1,3) will define the heading of the report to consist of line 1 and line 3.

 

   The PRINT (H= acts different from the other print options, as it is only meningfull to issue this once.

 

   The heading will be fixed at the very start of the report, just as it  has been a FIRST calculation. If you issues several PRINT (H= on a report, even conditional by IF, the last one encountered will be used for the complete report.

 

   You may use the PRINT (H= to leave extra blank lines at the very top of the page, eg.

 

        PRINT (H=+3,1‑4)

 

    You may switch off all headings completely by:   PRINT (H=)


16.8.2.11.    PRINT (N= newpage specification.

 

   With this option you specify the action the reportgenerator should take upon the end of page condition.

 

   The line specification with this option must follow a special syntax:

 

    PRINT (N=3,:1,1‑4)

 

 The number immidiatly following N= is the number of lines before end of page. If the form height is 66 the PRINT (N=3 will give a new page at any attempt to print over line 63.

 

   The PRINT (N= must contain a :1 or :xx specification to actually skip to the next page.

 

   If you do not follow this syntax unpredictable results such as no page  control at all or repediatly page shifts may occur.

 

16.8.3.      Footer lines.

 

   You may specify any number of footer lines in connection with the PRINT (N= , eg:

 

    PRINT (N=6,:62,10‑11,:1,1‑4)

 

 6 lines before end of page (line 60) wou will skip to line 62 and print the lines defined as 10 and 11, after this the heading lines 1‑4 are printed on      the next page.

 

   Note that no page control is in effect when the reportgenerator executes the newpage condition, you may print to the next page causing a double form feed to be issued. 

 

16.9.        PRINT gaining complete control.

 

   If you in a calculation statement issue the PRINT command alone, the calculations you enter hereafter will replace the normal print routine of the report.

 

   If you do not issue any other print statements hereafter, nothing exept the very first header will be printed on the report.

 

   The PRINT command works just like the FIRST, NORMAL, AFTER and LAST command, it is the calculations are performed in a special point of the report.

 

   You may in the following control printout of statements or like report by START/NEXT/REPEAT loops, see below.

 

   If you have issued the PRINT command any PRINT (L= commands will be of no effect as you in this routine takes over the complete control of the printing.

 

   The print routine is of cause located in the report after any other defined calculations and selections and will not be invoked during the  sorting phase of a report.

 

16.10.1.      PRINT (x‑y) print lines.

 

   The calculation statement:               PRINT (7)

 

 will print the line 7 on the paper at the point when it is issued opposite the former PRINT (H= etc. which just specifyes which lines should be printed at a later point.

 

   The calculation statement                PRINT (L=7‑8)

 

 will have exactly the same function as     PRINT

                                            PRINT (7‑8)

 

 as the first will tell the print routine to print line 7 and 8, the second will take the complete control and print the same lines.


16.10.3.      Combinations of print options.

 

   You may specify several print options in one print command, eg:

 

    PRINT (7‑9,N=3,:1‑3)

 

 which prints line 7 to 8 and if a new page condition occurs 3 lines from end of page line 1‑3 is printed as heading on the next page.

 

   A combination as:     PRINT (L=7‑8,N=3,:1,1‑3)

 

 is also allowed as a shorter form of writing the two statements

 

    PRINT (L=7‑8)

    PRINT (N=3,:1,1‑3)

 

16.10.5.      START/NEXT/REPEAT used for statements.

 

   If you define a report (or a letter) on the debtor main file DK you can list the transactions from DB in the print section of the report.

 

All normal calculations, selections and sorting are done on the main file.

 

   The calculations could be:

 

    PRINT                          take over print control

    PRINT (:1,1‑20)                print letterhead

    START (DB)                     initialize transaction read

    NEXT (DB)                      read next transaction

    PRINT (21)                     print transaction line

    REPEAT (DB)                    loop over trancactions

    PRINT (:50,30‑40)              print footer

 

 The calculations could be extend to a little more complex version: 

 

    PRINT

    #PP=0                          Start pageno.1 new statement

    PRINT (:1,1‑20)

    #53=0                          Zero total free field

    START (DB)

    NEXT  (DB)

    #51=0                          Zero debit/credit couloms

    #52=0

    IF DB#8<0 LET #51=DB#8         Debit/credit

    #53=#53+DB#8                   Totalize

    PRINT (21,N=20,:60,61‑62,:1,1‑20,22) set continue heading

    REPEAT (DB)

    PRINT (:50,30‑40)

 

16.11.        PRINT in LAST calculations.

 

   You may issue PRINT commands in the LAST section of a report to print a traiting page for the report.

 

   This may contain totals collected by calculations for a letter or may simply be a blank page to make is easyer to seperate the output.   


16.13.        Contracting print lines with ¬.

 

   If you in a letter text prints a field containing a name this will be of fixed length, eg. 32 characters.

 

   If the name is OLE 29 characters will be blank before the next text starts.

 

   Placing a ¬ after the field in the report definition causes the rest of the line to be moved to the left close to the printed field.    

 

     #3                HAS PAID               prints as

     OLE               HAS PAID

 

     #3              ¬ HAS PAID               prints as

     OLE HAS PAID.

 

16.14.1.      Contracting print lines with ¬¬ .

 

   You may also wish to move numeric fields close to a text, even if the numeric field has a large format (eg. 9,2).

 

     HAS PAID #24               KR.         prints as

     HAS PAID            100.00 KR.

 

     HAS PAID ¬¬#24             KR.         prints as

     HAS PAID 100.00 KR.

 

16.14.3.      ¬> function to end the ¬ function .

 

   In function 7 fields are contracted using the function ¬ (See Chapter 13.7). This function can be ended using the ¬> function. An example could be the line

 

     #3       ¬HAS PAID              ¬>DATE: #PD       prints as

     OLE HAS PAID                      DATE: 31.03.92

 

16.15.        R3 ‑ print long screen lines.

 

   If you run a report on screen, 79 characters only will be displayed of each line.

 

   If you light lamp key R3 the complete lines will be displayed.

 

16.17.        PRT command on letters.

 

   When you are running a letter‑type of report on screen it is possible to get a print of the complete letter by entering the keyword PRINT.

 

   In this release also the standard command PRT is accepted, as well as pressing the PRT key (as defined in TF.PARAM).

 

16.19.       New commands in function 7 - amendment of letter or report.

 

   When you are positioned the LINE,POSITION field in function 7 the following commands are available:

 

     NAME    Amendment of report name (Copy of report is no longer nessasarry).

     USER    Amendment of the username attached to the current report.

     INS/DEL Can be used as the functions (IL/DL) to insert/delete lines. Input concerning number of lines will take place.

     FORMAT  Can also be used to change the names and formats of free fields.

     PUT     Saves the report definition in a text file. With

     GET     a text file can be loaded (partial) into another report.

     R1      If lamp 1 is turned on text can continually be entered. Return to the LINE,POSITION field has to done by                  entering END.

 

16.21.

13.11.       PRINTER  Controlling up to 9 prints from one report.

 

   With this function you can print several layouts at the same time on different printers from one report.

 

   This can be used if large sets of data has to be accessed to produce multiple prints, where all prints are based on the same data set. This saves a good amount of time accessing the data.

 

   A typical example is reminder letters where a log containing the written remainder letters are requested. Of course this could be resolved by building a seperate remainder-file and print from this.

 

   Another example is a simple form of sorting where letters are required divided in smaller portions, each one giving a print.

 

   RAPGEN can use up to 9 printers at the same time, meaning that it can produce 9 different prints in the same report. It is only possible to use the special printer control codes with the @-control character.

 

16.22.1.     Definition of (opening) extra printers.

 

   An extra printer has to be defined (opened) one time with is done by inserting a FIRST command:

 

     FIRST

     PRINTER (2,"$LPT")

 

   The printers are numbered as 1 for the main printer and up to no. 9. The same printer $LPT can be opened several times if the spool system is used because then the extra prints just waits in line. With:

 

     PRINTER (2,"A")

 

the print is directed to a text file. RAPGEN will insert DMS- in front of the name given to avoid any conflict with files named A. This means that the text file will be named DMS-A. The text file is default placed on the same disk as RAPGEN is installed. But if 7/A is given as text file will be saved on disk 7 - 07/DMS-A.

 

   If for example printer 2 is used but failed to be opened, RAPGEN will simply save the output in the file DMS-2.

 

   In connection with opening an extra printer it is possible to assign parametersto it:

 

     PRINTER (2,"$RPL0","000131072")

 

   giving start position 0, last print position 131 and 72 lines per page.

 

   If the report is printed on screen the only result will be the one on printer 1. The other prints will still be outputted to the attached printer.

 

16.22.3.     Divide print on two printers.

 

   With PRINTER(2) you can redirect all print to printer number 2. With the follwing calculation lines the print is devided in two.

 

 

Figure 25 Opdeling af liste på to printere.

 

        FIRST

        PRINTER (2,"A")             /* OPEN PRINTER 2

        NORMAL

        PRINTER (1)                 /* NORMAL PRINT ON PRINTER 1

        IF #7>=2 PRINTER (2)        /* PRINTER 2 IF ARTICLE GROUP >=2

 

 

   Using PRINTER(2,"1-4","5","5") the print is redirected to printer 2, setting the header-lines (H=1-4), the print-lines (L=5) and finally the total-lines (T=5).


16.22.5.     Letter with journal.

 

   To get automatic totals on the journal you have to define a journal with a letter. First you define an ordinary report with function 1 giving the journal. Then the letter is inserted using function 7. For example using line 10 and forward on the layout. Finally the report needs a few calculations to control the print:

 

Figure 26 Letters with journal.

 

1...;....10...;....20...;....30...;....40...;....50...;....60...;....70...;....8

DATE ##,##,## -JOURNAL WITH LETTER-  PR.##,##,## PAGE ####                     1

----------------------------------------------------------                     2

CREDITOR NAME                      CURRENCY         AMOUNT                     3

==========================================================                     4

xxx      xxxxxxxxxxxxxxxxxxxxxxxx        ## ---,---,--#.##                     5

                                                                               6

                                                                               7

                                                                               8

                                                                               9

                                       Copenhagen ##,##,##                    10

   Dear Sir.xxxxxxxxxxxxxxxxxxxxxxxx                                          11

                                                                              12

   You need to pay kr. ---,---,--#.##.                                        13

                                      From.                                   14

                                  Chris Hanson.                               15

   ....,....!....,....!....,....!....,....!....,....!....,....!....,....!....,..

 1 PRINT

 2 PRINTER (2)

 3 PRINT (:1,10-20)

 4 PRINTER (1)

 5 PRINT (5)

 

 

16.22.7.     Print on two printers at the same time.

 

     PRINT (L=>1,5,>2,15)

 

sets the normal printline (L=) to line 5 on printer 1 and line 15 on printer 2. This results in print on one line on both printers at the same time.

 

   >printernumber.1-9 can be used with any print command syntax, PRINT(H=, L= N=, T= and direct print. It makes it possible to set different headers and totals for two printers.

 

   In the example below a report is defined with two different header and print lines. The calculations then sets the

header and print lines for both printers.

 

 

Figure 27 Printing two concurrent lists.

 

DATE ##,##,## -MULTIPLE PRINTERS-  PR.##,##,## SIDE ####

------------------------------------------------

NO   NAME                SALE PRISE PUR. PRICE

NO   NAME                PUR. PRICE     DATE CREDITOR

================================================

xxxx xxxxxxxxxxxxxxxxxxxx ######.## ######.##

xxxx xxxxxxxxxxxxxxxxxxxx ######.## ##,##,## xxx

 

FIRST

PRINTER (2,"A")                /* OPEN SECOND PRINTER

PRINT (H=>1,1-3,5,>2,1-2,4-5)  /* DIFFERENT HEADERS ON PRINTERS

PRINT (T=>1,6,>2,7)            /* DIFFERENT TOTALS ON PRINTERS

NORMAL

PRINT (L=>1,6)                 /* ALWAYS PRINT ON PRINTER 1

IF #3>100 PRINT (L=>1,6,>2,7)  /* IF PRISE >100 ALSO ON PRINTER 2

 

DATE 27.09.92 ‑  1    PR.27.09.92 PAGE   1  DATE 27.09.92 ‑   2     PR.27.09.92 PAGE 1

‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑  ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑

NO   NAME           SALE PRICE PUR. PRICE NO   NAME           PUR. PRICE   DATE CREDITOR

===========================================  ===========================================

0101 CHOCOLATES           2,00      1,50  0102 LARGE MACHINE  10000,00  1.01.85 100

0102 LARGE MACHINE    20000,00  10000,00  0110 AUTOBUS        60000,00 15.12.86 123

0110 AUTOBUS         100000,00  60000,00  1001 MONEY            500,00 31.12.86 205

1001 MONEY             1000,00    500,00  1005 SMALL MASHINE   1500,00  1.06.86 100

1005 SMALL MACHINE     2000,00   1500,00                       

2001 CREDITCARD          20,00     10,00                      72021,50

2002 ID‑CARD             25,00     10,00

     7 TOTAL         123047,00  72021,50

 

 

 

Note that the total on the second print contains ALL articles, but actually printed on one of the two printers. If you require seperate totals use calculations and print free fields instead.


17.          Subfunctions.

 

   Subfunctions in DMS.RAPGEN replaces the former used LOAD functions in the calculations which could be rather complex to use. However the LOAD function may still be used in the reports.

 

   A subfunction is used in the calculations as a function with a number of parameters:

 

        #47 = CHEX (#48,#49)

 

   (CHEX is calculation of checkdigit modulus 11) instead of the former T3=...,T2$...,LOAD CHEX, #47=T2$.

 

   DMS.RAPGEN will translate the single line with the subfunction call to the more complex form in several lines and threat the function as a BASIC subroutine. The name subfunction comes from subroutine internal but function from the user point of view.

 

   By this it is possible to extend the functions available in DMS.RAPGEN nearly unlimited and with very complex functions which in earlyer releases would require many lines to invoke. Also you may write your own subfunctions specialized for your system without doing changes in DMS.RAPGEN itself.

 

   Subfunction may also be used in the selections of a report and more subfunctions may be used in the same calculation statement as:

 

        IF WORKD(#DD,#15>120 LET #63=NUMBER(#17)

 

   A subfunction can control nearly everything in a report eg. start/stop key values, writing on floppyfiles, password protect the report or do complex calculations specific for this installation.

 

   To avoid conflict with present as well as coming BASIC function a subfunction name is at least 4 characters and letters only, not digits.

 

   The installation manual descripes in detail how a subfunction is written. DMS.RAPGEN will of course be extended with new subfunctions as different requirements/idears comes from the users. Installation of new subfunctions is just a copy of the small subfunction textfiles to the system.

 

18.1.        CCODE Getting DATAMASTER fieldcheck text.

 

     #50 = CCODE (#71,"LE07")

 

   The function updated the textfields #50 with DATAMASTER's checkcode text defined for file LE field 7. The value in #71 is used to get the correct value from the DATAMASTER.

 

18.3.        CHAIN Start the next report.

 

     With the CHAIN subfunction you may create a chain of reports. The calculations:

 

            LAST

            CHAIN (13)

 

 will cause report number 13 to be started after this report has been finished.

 

   The start parameters of the next report(s) will be the same as for the first report (dates, start/stop key etc.) unless you specify the values in the CHAIN.

 

        CHAIN (13,010190,310390) starts the report with the given todays and as of date.

 

        CHAIN (13,,,4711,4712,3) chains with the same dates but with start/stop key 4711/4712 and first data field 3.

 

You may also use

 

        CHAIN (13,,,SORT)        to use the same sort sequence on the next report as created in this report (see sorting).


18.5.        CHECK calculation of OCR checkdigit.

 

   This routine calculates a checkdigit modulus 10 wheighted 212121.. and replaces the former used LOAD CHECK routine.

 

   If you have got a textfield #47 16 characters long and you have placed the customer number and/or invoice number in the first 15 characters, the 16'th. digit can be calculated as:

 

           #47=CHECK(#47)   

 

18.7.        CHEX Calculation of checkdigit modulus 11.

 

   This subfunction corresponds to the CHECK function, but the checkdigit is calculated modulus 11 and you may specify the weights for each digit.

 

The calculation

 

        #47=CHEX(#47,"01020304")

 

will as CHECK add the checkdigit as the last character in field 47.

 

   The 2.parameter "01020304" gives the weightes for each digit. 2 digits in the parameter corresponds to one digit in the field.

 

   See also the description of the LOAD CHEX routine.

 

18.9.        COPIES Number of print copies, print priority and paper code.

 

   With COPIES (1) you will get an extra copy of the print. The maximal number is 99.

 

   When RAPGEN detects COPIES the printer will be closed and then reopened due to the fact the spool system controls the number of copies. This doesn't effect the performance of the print. In order not to open and close the printer more than once, giving several jobs in the spool queue it is adviced to insert the command with the FIRST command:

 

     FIRST

     COPIES (3)

 

giving the total of 4 sets of the print.

 

   It is however possible to let a field control the number of copies:

 

     AFTER

     COPIES (#17)

 

giving the number of copies equal to the value in #17. Be aware that the operating system can be limited on the number of print-jobs waiting in the spool queue, before forcing print-out.

 

   In connection with COPIES you can also specify print-priority for the print.

 

     COPIES (0,"S")    suspends the print until started in TAMOS-spool queue.

     COPIES (0,"H")    gives high priority, is printed before the others.

     COPIES (0,"N")    is normal priority.

     COPIES (0,"L")    low priority, printed after the others.

     COPIES (0,"P")    direct print, is not controlled by the spool system.

 

   A paper code can also be parsed to the TAMOS-spool system. For example COPIES (1,,7) notifies TAMOS-spool system that paper no.7 is to be used (Refer to TAMOS manual).


18.11.        EDIT editing of customer numbers or other numbers.

 

   This subfunction can be used to edit long numbers without using complex calculation lines.

 

   The EDIT function may be compared with the BASIC PRINT USING function but with some special facilities.

 

The simple form of EDIT is:

 

        #47=EDIT(#48)

 

   by which the numeric field 48 is transferred to a textfield field 47. If field 48 contains the value 15 field 48 becomes "15".

 

   As 2.parameter for EDIT you may specify a mask as for PRINT USING which is illustrated by some examples:

 

        #47=EDIT(#48,"         ")

 

   if field 48=         #47 will be:

 

            EDIT (12345,"&&&‑&&&")    012‑345

            EDIT (123,"###‑&&&")        0‑123

            EDIT (12300,"###‑###")     12‑3

            EDIT (123,"EG:#AND##")    EG:1 AND 23

            EDIT (123,"&&&/&&")       001/23

 

By & you gets a digit or 0 in this position.

 

By # you gets a digit or blank if zero.

 

Any sign and decimals in the field will be ignored.

 

The digits are placed from right to left in the mask when a # or & is sconned. All other characters is kept unchanged.

 

18.13.        EXPORT writing to external files.

 

   With this subfunction you can build an external file from a report and use this for transmission to other systems.

 

   The files can be created as either textfiles, formatted files or contigous files for transmission to PC or output to tapes/floppydisc.

 

The files are created in external readable form.  

 

   The EXPORT subfunction is an example of an extremly powerfull routine and you will notice it takes a little while to load the function when you referr it first time in the calculations as more than 150 statements are loaded.

 

The simple form of EXPORT is:   EXPORT ("1‑10")

 

   which will create a textfile named 0/DMS‑OUT‑ containing the fields 1‑10 in a good PC format, it is the field is seperated by comma and alphanumeric fields are quoted.

 

   If the article file from the manual is exported in this form you will get a file as:

 

Figure 28 PC output with EXPORT.

 

 

   "0101","BOLT",1,1.5,10187,"271",,100,270                             

   "0102","TRUCK‑HOPPER",20000,10000,10185,"100",9                      

   "0110","TRUCK‑WORK",10000,60000,151286,"123",2,1,100                 

   "1001","TRUCK‑WHEEL",1000,500,311286,"205",,100,102                  

   "1005","TRUCK‑GEARBOX",2000,1500,10686,"100",1,10,,                  

   "2001","BOLT‑SPEC./AL",20,10,10187,"205",9,10,102                    

   "2002","BOLT‑SPEC./BR",25,10,300786,"205",9,200,102                  

                                                                        

 

 

This layout is readable from most PC textedit and spreadsheet programs and has the advantage that the file is as small as possible giving a minimum of transmission line. The article file from the manual is 42 sectors and the above shown textfile is just 1 sector it is less than 512 characters.

 

18.14.1.      The parameters for EXPORT.

 

   The EXPORT subfunction has up to 5 parameters which you may state if you want special function or omit if nessesary, eg:

        EXPORT ("1‑10","FILE",80,11111,1)     where the parameters are the following:

 

18.14.2.1.    Fields.

 

   Fields eg. "1‑10".

 

   Here you state the fields you want to transmit in the order you want these eg. "1‑2,9‑10,8,3‑7".

   All the fields from the main file and the free fields can be used. With fieldno. 0 you get the main filekey.

   Fields from secondary files must be moved to the free fields before these can be exported.

   Fieldno. 0 can be used for the KEY field.

 

18.14.2.3.    Filename.

 

   Filename eg. "FILE".

   This is the name of the output file.

   If the parameter is omitted the filename will be 0/DMS‑OUT‑ the disc lu being the same lu as DMS.RAPGEN itself.

 

            "FILE"   creates 0/DMS‑OUT‑FILE

            "7/FILE" creates 7/DMS‑OUT‑FILE

            "$LPT"   may be used for direct printer output

            "‑"      directs the output to the screen

   If the file is present the old file will be deleted.

 

   Due to security reasons only files prefixed DMS‑OUT‑ can be created by EXPORT.

 

18.14.2.5.    Record length and file type.

 

   If you omit this parameter or state it as 0 you will get a textfile with variable record length for use for transmission to PC or like.

 

   80 will create a socalled formatted file with fixed record length of 80 characters but with a variable number of records. This filetype can be output to tape/floppydisc on most systems.

 

   ‑80 creates a contigous file with fixed record length of 80 characters and fixed number of records matching the number of records output from the report.

 

   1 or ‑1 will create a formatted/contigous file with a record length equal to the total field length.

 

   This last function is a little more time consuming as DMS.RAPGEN first has to create a textfile (0/DMS‑OUTxx where xx is the screen number) and when the number of output records is known this file is copied to the contigous output file. Dependent on the operating system it may be nessesary to use this filetype for output to tape/floppydisc.


18.14.2.7.    Output specifications.

 

   Here you may state 5 digits controlling how the fields should be produced in the output:

 

   0 gives the above shown layout with the fields separated by comma and textfields quoted.

 

   The single digits controls, numbered 12345:

 

    1. 1 defines fixed field length.

       The fields are output with their defined length without comma separation or quotes.

 

    2. 1 gives leading zeroes on numeric fields.

       0 means leading blanks.

 

    3. 1 causes decimal point and eventually comma edit characters to be supressed from the output.

 

    4. 0 gives normal Nixdorf sign it is just in front of the first digit.

       1 is leading sign in fixed position.

       2 is traiting sign in fixed position.

 

    5. Signtype:

       0 negative: ‑ positive: space

       1 negative: ‑ positive: +

       2 negative: 1 positive: 0

       3 IBM overpunched minus in last digit

       4 negative: 1 positive: 3

 

 Of course you may also create alphanumeric fields in the calculations containing the numeric values if you need special representation.

 

18.14.2.9.    Printer output.

 

   It is possible to get an additional output on the printer as an exact copy of the export output file (on $LPT always).

 

1 as 5.parameter for EXPORT activates this:

 

2 as 5.parameter prints the record layout also.

 

   You will get the print even if the report is run on screen with screen output. You can always start a report using EXPORT with lamp key 1 lightened and you will get a print of the record layout and data just as you had used parameter 2. If you use $LPT for the normal report print this printer must be SPOOLED if you also wants the export print.

 

   The print of the article file may look like:

 

Figure 29 Export to tape/floppydisc.

 
 

 

   A RECLEN  80 OPTIONS 11111                                             

   FIELD FROM  TO  LEN NAME                   1.RECORD    FORMAT          

   A   1    1   4    4 ARTICLE NO             (0101)                      

   B   2    5  24   20 DESCRIPTION            (BOLT            )          

   C   3   25  32    9 SELLING PRICE          (00000200)  ######.##       

   D   4   33  40    9 COST PRICE             (00000150)  ######.##       

   E   5   41  46    8 DATE OF LAST PURCHASE  (010187)    ##,##,##        

   F   6   47  49    3 SUPPLIER NO.           (271)                       

   G   7   50  51    2 ARTICLE GROUP NO       (00)        ##              

   H   8   52  58    7 STOCK BALANCE          (+000100)   ‑‑‑‑‑‑#         

   I   9   59  61    3 ALTERNATIVE SUPPLIER NO(270)       ###             

   J  10   62  70   10 FREE                   (+00000000) ‑‑‑‑‑‑#.##      

                                                                          

   ...B,....!.....,....!..C..,....D.....,.E..!..F..G.H..!...I.,J...!.....,

   0101BOLT                  00000002000000015001018727100+000100270+0000 

   0102TRUCK‑HOPPER          00020000000100000001018510009+000000000+0000 

   0110TRUCK‑WORK            00100000000600000015128612302+000001100+0000 

   1001TRUCK‑WHEEL           00001000000005000031128620500+000100102+0000 

   1005TRUCK‑GEARBOX         00002000000015000001068610001+000010000+0000 

   2001BOLT‑SPEC./AL         00000020000000100001018720509+000010102+0000 

   2002BOLT‑SPEC./BR         00000025000000100030078620509+000200102+0000 

                                                                          

 


18.14.2.11.    CSV parameters.

 

   As parameter 6 a number of characters can be given. These are used when generating comma seperated files (CSV files). The characters has the following meaning.

 

     "--,.'''" Default if nothing else given

      -        Trailing empty fields are removed

       -       Zero fields are generated as ,,

        ,      Fields are seperated by ,

         .     As decimal comma . is used

          ''   Text fields is sorounded by (")

            '  Invalid " in text is replaced with (')

 

     "++;, ,"  Example of special parameters

      +        All fields are transfered

       +       Zero fields are generated as ,0,

        ;      Fields are seperated by ;

         ,     As decimal comma , is used

               Blank ==> Text fields is not sorounded by (")

           ,   Invalid ; in text is replaced with (,)

 

   Note that " has to entered as two single pings ('') in the character sequence.

 

18.14.3.      EXPORT in calculations.

 

   If you just place EXPORT in the calculations you should notice that this statement is carryed out always before selections and during sorting.

 

   By use of the AFTER command you can move the EXPORT down after the selections have been fullfilled. By use of WHEN command you can avoid creating lines during sorting.

 

   Startlines can be output by use of the FIRST command, endlines by placing EXPORT in the LAST calculations.

   You may create more output lines by repeated use of EXPORT:

 

    EXPORT ("1‑10","FILE",80)

    EXPORT ("11‑20")

 

 which gives 2 output lines for each main file record.

 

   Note when you use several EXPORT lines in one report you only have to state all parameters on the first line. These will be used for all EXPORTs in the program.

   EXPORT may of course be used in combination with the KEYS subfunction to select which records should be exported, referr to this section for details. CHECK and CHEX may be used to create checkdigits.

 

18.15.        EXPOX Export with file definition included.

 

   EXPOX is identical to the EXPORT function. The difference is that this function inserts a header in the export file containing indexes and the selected fields for the file. The result could look like this:

 

Figure 30 EXPOX with index and fielddefinitions.

 

"VA","DEMO‑ARTICLE FILE","03/DA.VAKA",7,62,4,8

"VA0100","ARTICLE NUMBER,"1,S"

"VA0200","CREDITOR,"6,1,S"

"VAGR00","==>ARTICLE GROUP,"7"

"VALE00","==>CREDITOR,"6,S"

1,2,3,4,5,6,7,8

"ARTICLE NO","NAME","S.PRICE","P.PRICE","DATE LAST P.","CREDITOR","GROUPNO","BALANCE"

"4B4","20","6,2","6,2",",6,","3","2,","‑6,"

"‑‑‑‑‑‑‑‑‑‑‑‑"

"0101","CHOCOLATES",2,1.5,10187,"271",,100

"0102","LARGE MACHINE",20000,10000,10185,"100",9

"0110","AUTOBUS",100000,60000,151286,"123",2,1

"1001","MONEY",1000,500,311286,"205",,100

"1005","SMALL MACHINE",2000,1500,10686,"100",1,10

"2001","CREDITCARD",20,10,10187,"205",9,10

"2002","ID‑CARD",25,10,300786,"205",9,200

 


The first line contains fileshort name, text, filename, number of records and length of each index.

Then follows one line per index with the index definitions.

The three text lines contains fieldnumbers, then fieldnames and last field formats.

The header is ended with a row of -. Trailing the header is the file contents.

 

18.17.        FILENAME Physical filename.

 

     #50=FILENAME (LE) sets #50 to the physical filename of file LE.

 

The result could be 00/LEKA001. The file has to be used in the report.

 

18.19.       FIND search for text in fields.

 

   With this subfunction you can search for the occurence of a given text in a number of textfields which can be very usefull as selections on a report.

   If you create a report on the customer file you may place a calculation like:

 

        #47=FIND("STEEL",#3,#4,#5,#6)

 

and a selection that field 47 should be minimum 1.

   This causes all customers where the name or adress contains the text STEEL in any position to be printed.

 

   By use of the START‑DATA facility you can easely extend this report to input the search criteria by start:

 

        #47=FIND(#DA1,#3,#4,#5,#6)

 

The FIND command can have as many fields as parameters as nessesary.

 

   FIND will search for the text in all these fields and returns:

      0 if text not found

    >=1 the text was found in this position

 

18.21.

14.11.       IMPORT reading of external files.

 

   By use of the IMPORT subfunction you can read external files and update/create files from these data (only files for which you have WRITE access, eg. DATAMASTER files).

 

   The external files may be textfiles, formatted files or contigous files originating from a PC, tape or floppydisc.

See also the EXPORT command.

 

   The IMPORT subfunction is very like the EXPORT and accepts the same file types. The fields may be separated by comma or have a fixed length.

 

   With IMPORT you may read files produced by EXPORT. This may be used for copying data between completely separated systems.

 

   When you place the calculation line:   IMPORT ("1‑10")

the main file of the report will be replaced by the external file 0/DMSIN‑.

 

   If the report is started records will be read from this file and not from the main file. The file is assumed to be in PC layout with the fields separated by comma.

 

   You may define selections, calculations and even sorting on such a report just as usual.

 

   But of course it becomes really usefull if you have write access for one or more files in the report:

 

            IMPORT ("1‑10")

            INSERT (VA)

 

 will build a new file from an external file.


18.22.1.     The parameters for IMPORT.

 

   The IMPORT subfunction takes 4 parameters which you may specify or omit if not nessesary:

 

        IMPORT ("1‑10","0/FIL",80,111)

 

   where the parameters are the following:

 

18.22.2.1.   Fields.

 

   You state the fields in the order they occur in the input file, eg.      "1‑2,9‑10,8,3‑7".

   All the fields from the main file and the 20 free fields can be used here.

   Of course these fields may be moved to fields in other files if nessesary.

 

   Sometimes you need to add the imported values to fields in the file. This may of course be done as calculation lines but can also be specifyed directly in the IMPORT statement:

 

        IMPORT ("1‑2,+3‑4,5‑6,&7,=8,9")

 

   will read the fields 1‑9 in the following way:

 

        The fields 1 and 2 is just read.

    +   The imported values are added to field 3,4 and 5.

       The value is subtracted from field 6.

    &   A dummy value is read, field 7 is unchanged.

    =   The fields 8 and 9 is just read normal.

 

 By use of the symbols +, ‑, & and = you may change the input method many times. The seledted method is valid until next specification.

 

   When reading a file with fixed record length you may skip to a certain position in the input record:

        IMPORT ("1‑2,:40,3")

   will read field 3 from position 40.

 

18.22.2.3.   Filename.

 

As the second parameter you may state a completely filename:

 

        IMPORT ("1‑10","0/FILE")

 

   If the filename is omitted the file 00/DMS‑IN‑ will be used. This file is placed on the same disc lu as DMS.RAPGEN itself.

 

   If you state a lu as "0/FILE" this file is opened. Opposite EXPORT this is allowed as IMPORT is just reading from the file.

 

   If you omit the lu as "FILE" the file is prefixed with 0/DMS‑IN‑ it is 0/DMS‑IN‑FILE is used.

 

18.22.2.5.   Record length and file type.

 

   If you omit this parameter or state 0 the file will be read as a textfile with a variable record length of maximum 512 characters.

 

   80 will read a contigous or formatted file with a fixed record length of 80 characters.

IMPORT can process any recordlength.

 

   ‑1024 reads a textfile with variable record length of a maximum of 1024 characters. It is only nessesary to state the record length of a textfile if this exeeds 512 characters.


18.22.2.7.   Input specifications.

 

   Here you may state 2 digits which determines how the input fields are read.

 

   The same positions as for EXPORT are used, so 5 digits must be given but just the two of these are used:

 

    0   will read a file with commaseparated fields.

 

    The digits controls, numbered as 12345:

 

    1.  1 reads the fields with fixed field length, it is according to the defined field format and not separated by comma.

    2.  Not used.

    3.  1 reads numeric fields without decimal point in the input record it is the value is divided by 10;

        (decimalplaces) after reading.

    4.  Not used.

    5.  Not used.

 

   IMPORT takes decimalcomma (,) or decimalpoint (.), it is it does not mather which is stated in the input file. However in commaseparated files it must be decimalpoint in the fields.

 

   Sign must be stated as ‑ and may be either leading or traling. + or space is accepted for positive values.

   Fields may be given with leading blanks or zeroes.

 

   If you should import more special field layouts this may of course be done by importing to free textfields and then pick the values from these by the calculations.

 

18.22.3.     Different entries of the IMPORT routine.

 

In order to activate the IMPORT subfunction it must be called as eg:

 

        IMPORT ("1‑10","0/FILE",80,11111)

 

in the calculations before the other entrypoints are used.

 

   This will select which file should be read and which fields and as such replace the normal read of the main file in the report.

 

   After this you can use the following functions:

 

18.22.4.1.   IMPOCONT ("11‑20").

 

   The reading continues in the position of the current record which was next to be used in the former IMPORT statement.

 

18.22.4.3.   IMPOTHIS ("1‑20").

 

   Reads the current record once more from position 1.

 

18.22.4.5.   IMPONEXT ("11‑20").

 

   The next record from the input file is read and moved to field 11‑20. By this input files with multiple lines/record or variable record layout may be handled.

 

   Also you may control different number of lines for each record in the calculations.


18.23.       INDEX lock reports index/start/stop keys.

 

   Some reports should always use a certain index of the main file. By use of this subfunction you will not have to state 2: whenever the report is started. If you place the calculation line:

 

        INDEX (2)      the report will be fixed to index 2.

 

   Also you may fix the range for the start/stop keys:

 

        INDEX (2,"1234","5678) works as

        START FROM:2:1234

        STOP AT   :  5678

 

 nomather what is entered when the report is started. 

 

18.25.

14.13.       KEYS start/stop specifications.

 

   With the subfunction you can define several ranges or single key values for report run instead of having to start the report multiple times.

 

18.26.1.     The KEYS command in the main menu.

 

   In the DMS.RAPGEN main menu you may now enter the command KEYS (or just K) and you will get the following screen:

 

Figure 31 The KEYS command.

 

 DMS.RAPGEN                                16....START/STOP KEYS          

  START/STOP IS ACTIVATED BY KEYS(0) AS CALCULATION, (NAME) IN START FROM 

  START/STOP VALUES ARE ENTERED AS EG:110101‑110299,170101,471100‑471199  

                                                                          

                                                                           

                                                                          

                                                                         

                                                                           

 START/STOP NAME:                                                         

 MESSAGE:                                                                 

                                                                          

 

As name of the definition you can state 1‑6 characters. In this module a textfile named:

        0/DMS‑KEY‑xxxxxx    will be builded.

 

If the file is already present it will be read.

 

These files are always created on the same disc lu as DMS.RAPGEN itself.

 

18.26.3.     Entering the start/stop values.

 

   After this you will go to a simple texteditor where you can enter up to 99 lines of 76 characters each:

 

Figure 32 Entering the start/stop values.

 

  DMS.RAPGEN                                16....START/STOP KEYS         

   ....,....!....,....!....,....!....,....!....,....!....,....!....,....! 

   START/STOP VALUES ARE ENTERED AS EG:110101‑110299,170101,471100‑471199 

   START/STOP VALUES:                                       0/DMS‑KEY‑A   

   1 110101                                                               

   2 110101‑110199                                                         

   3 110101,110199                                                        

   4 110101‑110199,174711                                                 

   5 110101,2:ABC‑DEF                                                     

   6 47/110101                                                            

   7 110101‑110199                                                        

   8 120101‑120199                                                        

   9 110101‑110199,120101‑120199                                          

  10                                                                      

  11                                                                      

  12                                                                       

  13                                                                      

  14                                                                      

  15                                                                      

  16                                                                       

  17                                                                      

  18                                                                      

  19                                                                       

  MESSAGE:DEL/INS CAN BE USED TO DELETE/INSERT LINES.                     

 


Here you can enter the start/stop ranges for one or more reports (see below).

 

    1.  110101                this record (start=stop=110101)

    2.  110101‑110199         a range from ‑ to

    3.  110101,110199         two single numbers

    4.  110101‑110199,174711  any combination of this

    5.  110101,2:ABC‑DEF      shift to index 2 with 2:

    6.  47/110101             47 may be used in calculation

The definition is ended by END and you may continue with the next definition. If you press END once more you return to the main menu.

 

18.26.5.     Functions in the editor.

 

   You can use the arrows on the keyboard to go forward/backwards on a line and to insert/delete characters.

   With cr. you go to the next line.

 

    @    in first position will also go to next line

    ­    goes one line up

    12   if you just enter one or two digits you will jump to this line

    INS  insert a number of lines

    DEL  delete a number of lines

    END  end and write the definition

    SPR  abort without writing the changes

 If you want two different ranges printed on a report this may be done either by giving two lines:

 

                    110101‑110199

                    120101‑120199

or by just one line:

                    110101‑110199,120101‑120199

 

Below you will notice that dependent of how you activate the KEYS subfunction in the report these definitions will either;

 

    a.  be handled completely equal or

    b.  act as two separate starts of the report with separate totals, pagenumbers etc.


18.26.7.     Activating the KEYS function in a report.

 

   To activate this function you must state a calculation line as: KEYS (0)

 

   It does not mather is this is done first/last or in between the other calculation lines.

 

Figure 33 Activating the subfunction.

 

 

  DMS.RAPGEN        3 ARTICLE LIST           4....DEFINE CALCULATIONS   

    1 ARTICLE NO                19 @FREE                                

    2 DESCRIPTION               20 @FREE                                

    3 SELLING PRICE             21 @FREE                                

    4 COST PRICE                22 @FREE                                

    5 DATE OF LAST PURCHASE     23 @FREE                                

    6 SUPPLIER NO.              24 @FREE                                

    7 ARTICLE GROUP NO          25 @FREE                                 

    8 STOCK BALANCE             26 @FREE                                

    9 ALTERNATIVE SUPPLIER      27 @FREE                                

   10 FREE                      28 @FREE                                

   11 @FREE                     29 @FREE                                

   12 @FREE                     30 @FREE                                

   13 @FREE                                                             

   14 @FREE                                                              

   15 @FREE                                                             

   16 @FREE                                                             

   17 @FREE                                                             

   18 @FREE                                                             

                                                                        

  CALCULATIONS ARE TYPED AS EF: #60=#21+#22 , PERCEMT AS EG. #61=#62%#63

  #DD=DATE,#PD=AS OF DATE,#D1=DATA,#DA1=ALPHA.DATA,WHEN=WHEN TO CALCULAT

  CALCULATION:KEY(0)                                                    

  MESSAGE:  KEYS                                                        

 

 

 

 

 

18.26.9.     Start of a KEYS report.

 

   You may start such a report just as any other report but a new facility has been introduced using the KEYS subfunction. In

START FROM

you may now enter eg. (A) if you have made a definition named A. All ranges/single values in this will now be printed on the report.

 

Figure 34 Start of a KEYS report.

 

   DMS.RAPGEN    3 ARTICLE LIST       9....START AND GENERATE REPORT     

                                                                         

       TODAYS DATE ?  120590                                             

                                                                         

       AS OF DATE  ?  120590                                             

                                            INDEX:                       

       START FROM  ?  (A)                   1:ARTICLE NO.                

                                            2:SUPPLIER NO.               

       STOP AT     ?                                                     

                                                                         

                                                                          

                                                                         

                                                                         

                                                                         

                                                                          

                                                                         

   MINIMUM TOTAL LEVEL TO BE PRINTED (0‑ 1 , 0=WHOLE LIST) ? 0           

   START:( Y=PHANTOM , S=SCREEN , P=PRINTER , N=NO ) ? Y                 

                                                                         

   MESSAGE:                                                              

 

 

 

 

By giving the definition name in brackets we are able to connect the start/stop from this to the report.

 

   If you just have got a few values you do not even have to create a definition for this. You can state it directly in START FROM as:

        (111101‑111199, 120101, 147100

 

   and the values will now be taken from this input as if you had created a definition. The ranges may be continued on the next line STOP AT if you exeed the 30 characters limit of the field.

 

   Note this function is activated by just giving a start‑bracket without any end‑bracket. However if you enter the endbracket also this function is activated anyway if the range specification is more than 8 characters it is not a definition name.


18.26.11.     Functions and parameters.

 

   The KEYS subfunction has two parameters:

 

18.26.12.1.   One or separated reports. 

 

 

        KEYS(0)      defines print of just one report for all the given ranges with a total at the very end.

 

        KEYS(1)      handles each line in the definition as a separate report it is totals are printed before next definition line

                         is used and this will start on a new page with page number one.

 

For sorted reports and for letters only KEYS(0) is relevant.

 

18.26.12.3.   Fixed definition file.

 

        KEYS(0,"A")  The second parameter may be used to state the name of the definition file.

                           If you then just press cr. in START/STOP this definition will be used.

                           However you may still enter (B) or a normal range in START/STOP.

 

18.26.12.5.   KEYS calculationcode 47/xxxx.

 

   For example you can enter 47/111101-111199,150101 in a KEYS definition file.

 

   47/ doesn't refer to a START/STOP interval but is the value returned when calling the KEYS command. You can hereby code the following:

 

     #20=KEYS()

 

receiving the value 47 in #20.

 

   By using the KEYS definition special reports can be produced, where the report is sorted by #20 or in other ways calculated on the value of the field. The value can shift many times during the KEYS definition file.

 

18.26.13.     Special definition files.

 

   With the KEYS function in DMS.RAPGEN you are able to edit definition files of a maximum of 99 lines of each 76 characters.

 

   If you need more or longer lines you may create the definition file by any texteditor as eg. PAID as it is just plain textfiles.

 

   You can avoid the prefix 0/DMS‑KEY‑ if you state the lu when using the definition. (A) or KEYS(0,"A") uses 0/DMS‑KEY‑A but (0/A) or KEYS(0,"0/A") uses the textfile 0/A.

 

   Due to security reasons the texteditor in DMS.RAPGEN can only handle files prefixed o/DMS‑KEY‑.

 

18.26.15.     Sorting start/stop values.

 

   If you enter a number instead of a name when making the KEYS definition, for example 4711 instead of CH15, the numbers in the definition file will be sorted when the KEYS definition is ended. The report will then be printed in client-order without sorting the report.


18.27.       The LET command.

 

   With the BASIC LET statement you are able to set one field equal to another, eg. #17=XX#7.

 

   When working with file updating you may wish to move a large block of fields from one file to another. If you have got 87 fields in the file you would have to write 87 calculation lines.

 

   As a programmer is born lazy the report generator now has got the LET command:

 

        LET (#1‑10=XX#1‑10)   is a short form of writing 10 lines:

 

        LET #1=XX#1

        LET #2=XX#2

            .

            .

            .

        LET #10=XX#10

 

 DMS.RAPGEN recognizes the LET command from the nomal BASIC LET statement as in the command LET is followed by a bracket ( which is never allowed in BASIC.

 

   If you mix fieldtypes, eg. by setting alphanumeric fields equal to numeric fields, the field format of the numeric field will be used to form the textstring. LET (#5=XX#5) would then act as fx. the BASIC statement  LET #5= XX#5 USING "####".

 

   A receiving textfield will always be padded with blanks so you do not have to concern about this.

 

The LET command may be used in different ways which is shown by the following examples:

 

    1)  LET (#20‑30=0)

        The fields 20 through 30 is set to zero.

        If any of the fields are alphanumeric these will be filled with spaces.

 

    2)  LET (#20‑30=1)

        The fields 20‑30 is set to one (or any other figure).

        Note that alphanumeric fields will become the value "‑ / ‑ " and will NOT be padded with spaces in this case.

 

    3)  LET (#1‑10=XX#2‑11)

        The fields 2‑11 from the file XX is moved to the fields 1‑10.

 

    4)  LET (XX#1‑10=#2‑11)

        The fields 2‑11 is moved to file XX field 1‑10.

 

    5)  LET (XX#1‑10=#2,5,7)

        The fields 2,5 and 7 are moved to file XX field 1, 2 and 3. The fields XX#4‑10 will be zeroed.

 

    6)  LET (XX#1‑3,5,YY#10=ZZ#6‑9,NN#10)

        You may mix different files on both sides.

 

    7)  LET (#1‑10+=1)

        By use of += you can add one to all the given fields.

        ‑,*,/,­ may be used instead of +.

 

    8)  LET (#20‑30+=XX#40‑50)

        You may also add a number of fields to other fields.

 

    9)  LET (#10‑19=#20‑21,+#22‑23,‑#24‑25,26)

        Here the fields 20‑21 are moved to field 10‑11, field 22‑23 are added to field 12‑13,

        field 24, 25 and 26 subtracted from field 14, 15 and 16, and the fields 17, 18 and 19 are zeroed.

 

   10)  LET (#10‑11,+12,13‑14‑16=#20‑26)

        The operators may be written on the lefthand side of the expression.


18.29.       The LET command with ON.

 

   LET (#1-10=0) reduces the normal 10 lines of code to zero field 1 to 10 to one single line.

 

   By using LET (...) ON ... it is also possible to reduce conditional statements.

 

18.30.1.     Columns.

 

   In reports where the layout is divided in columns the calculations normally contain several conditional statements if the fields 41-50 are printed as a column.

 

     LET (#41-50=0)

     IF #5=1 LET #41=#20

     IF #5=2 LET #42=#20

                   :

                   :

     IF #5=10 LET #50=#20

   These lines can be reduced to the following using the ON command:

 

     LET (#41-50=0)

     LET (#41-50=#20) ON #5

 

   By adding ON #5 RAPGEN will generate the required IF statements.

 

18.30.3.     Transactioncode-simulation.

 

   LET (#41-50+=#20) ON #5 generated the following lines:

 

     IF #5=1 LET #41=#41+#20

     IF #5=2 LET #42=#42+#20

                   :

                   :

 

   This can typically be used in START/NEXT/OM loops on a transaction file to sum the balances depending on a transactioncode. If the number of transactions are to be summed instead:

 

     LET (#41-50+=1) ON #5 which generated the lines:

 

     IF #5=1 LET #41=#41+1

     IF #5=2 LET #42=#42+1

                   :

                   :

 

18.30.5.     Monthly balance.

 

   LET (#40=#21-30) ON #5 generates the lines:

     IF #5=1 LET #40=#21

     IF #5=2 LET #40=#22

                   :

                   :

   This example could be related to get balance from the general ledger file based on the month.

 

18.30.7.     Calculations in ON-part.

 

   Instead of just using #5 in the ON part any calculation can take place. The calculation may not contain call of subfunctions.

 

     LET (#41-50=#20) ON #5-1 generates the lines:

     IF #5=0 LET #41=#20

     IF #5=1 LET #42=#20

                   :


18.30.9.     Multiple fields.

 

   In the previous example multiple fields has only figured on one side of the equalsign.

 

     LET (#41-50=0) ON #5   or

     LET (#40=#31-30) ON #5

 

   If multiple fields are given on both sides:

 

     LET (#40,45=#21-30) ON #5 the IF value changes for each fieldgroup

 

     IF #5=1 LET #40=#21

     IF #5=1 LET #45=#22

     IF #5=2 LET #40=#23

     IF #5=2 LET #45=#24

                   :

   As when using the normal LET command without ON it is possible to refer to different files.

 

18.30.11.     Balance year to date.

 

   Suppose you want to sum a row of fields up to a certain month:

 

     #40=0     /* remember to zero the field

     LET (#40+=#21-30) ON #5<=X generated the lines:

 

     IF #5<=1 LET #40=#40+#21

     IF #5<=2 LET #40=#40+#22

     IF #5<=3 LET #40=#40+#23

                   :

 

18.30.13.     X and logical operators.

 

   As the previous example illustrates X can be used after the ON command. X is replaced with (1-...) which the current line is set to. This makes it possible to enter a number of LET statements with < <= > >= = <>.

 

18.30.15.     'Odd' values after ON.

 

   When using ON the values won't always fit the sequence 1,2,3.... In this case the following syntax can be used:

 

     LET (#41-50=#20) ON #5=7,17,5 generating the lines:

 

     IF #5=7  LET #41=#20

     IF #5=17 LET #42=#20

     IF #5=5  LET #43=#20

     IF #5=7  LET #44=#20

                   :

 

   When all values given after the ON command are used the sequence is reset. This equals entering the total sequence as 7,17,5,7,17,5,7,17,5,7.

 

18.30.17.     Textfields after ON.

 

     LET (#41-50=#20) ON #5   generates the lines

     IF #5="1" LET #41=#20

     IF #5="2" LET #42=#20

 

   if #5 is a textfield.

   It is also possible to enter 'odd' values when using textfields, giving:

     LET (#41-#43=#20) ON #5=CM,OS,CH     generates the lines

     IF #5="CM" LET #41=#20

     IF #5="OS" LET #42=#20

     IF #5="CH" LET #43=#20


18.31.       LOWER lower case letters.

 

     #50=LOWER(#2) converts textfield 2 to lower case.

 

18.33.       LTOT fixing the lowest total level.

 

   On some reports you will never want the complete report printed but just the totals.

If you place the calculation line:   LTOT(1)

 

the lowest total level for the report will be fixed to 1 no mather what is entered by start of the report. The question is not removed from the start screen.

 

   Especially will LTOT(9)  supress all printout from the report and may be used with updating reports.

 

   You may also use the LTOT subfunction to determine what was entered as lowest total level by start as to control special calculations depending on this:        #47=LTOT(‑1)    

 

18.35.       MERGE Mixing multiple files.

 

   With this function up to 9 files can be mixed. An example can be a client file from two different companies that when mixed gives a total client list.

 

   Reports using this function always has to be sorted (according to client number) because MERGE controls files using the sort mecanism. If a report is defined with the first client file KA the following calculation lines will mix it with the second client file KB:

 

     FIRST

     MERGE (KB)

 

   In this example the files KA and KB has to have identical definitions (READ-statements).

  

   Another parameter can be parsed to MERGE giving the physical filename. For example it can be used to compare with another company's client file.

 

     FIRST

     MERGE (ka,"03/CLIENT.007")

 

   With the BASIC variable K0 you can determine from which file the current record has been read. If K0 equals 1 the current record has been read from a main file, if 2 from the first merged file, if 3 the second merged file etc.

 

   If the files merged has different definitions the fields are to be regrouped on the basis of the value in K0:

 

     FIRST

     MERGE (KB)

     NORMAL

     IF K0=2 LET (#1-10,17=KB#1-10,43)


18.37.       MESS Message and possible abort of run.

 

   With the MESS subfunction you can send a message to the screen which started the report:

 

            MESS ("some message")

 

will send some message to the user who started the report.

 

   MESS is usually just placed as FIRST or LAST calculation or as IF...MESS as you will get a message for each record else.

 

   You can also abort the report run by stating a second parameter:

 

            #47=#47+1

            IF #47>100 MESS("FINISHED.",1)

 

will abort the run after the first 100 records.

 

   The message will always be recorded in the systems logbook.

 

18.39.       MTOT Highest total level to be printed.

 

   MTOT (1) sets the highest total level to be printed to 1.

 

   MTOT can be used to supress meaningless totals.

 

18.41.       NAME isolating christian/last name.

 

   By use of the NAME subfunction you are able to pick out the christian and/or the last name from a name field for especially sorting of the report.

 

   This subfunction corresponds to the LOAD NAME function, referr to this section also.

 

#47=NAME(#3) will is possible build the string lastname, christianname in field 47 from the name in field 3.

 

You may get further informations by stating more parameters:

 

                    #47=NAME(#3,#48,#49,#50)

   returns also:    #48  christianname lastname

                    #49  christianname

                    #50  lastname

 

18.43.       NODATA deactivate all #Dx fields.

 

   If you in a report have used any of the #D1‑#D7 start data input fields in the calculations there has been no way to get rid of this input even if the calculation lines were removed.

 

   If you place the line:

 

         NODATA()   

 

all such fields will be deactivated.


18.45.       NOIX Supress index-update (saves space).

 

   This function is suitable for large reports performing updating files where the fields used doesn't relate to any index in the file. NOIX can not be used on reports that doesn't update.

 

   NOIX() as a calculation supresses RAPGENs entire index-update function saving a lot of space.

 

   NOIX can be entered in connection with the SPEED function.

 

18.47.       NOPAS Deactivating of password.

 

   If you define a report with file update this report will become password protected (see the chapter file update with DMS.RAPGEN).

 

   If you place the line:   NOPAS()   this password will be removed. 

 

18.49.       NOPRT Supress all print (saves space and paper).

 

   This function suitable for all updating reports where print isn't needed. The result of the execution will be listed in the TAMOS logbook.

 

   NOPRT() as a calculation supresses the print function from the report.

 

   NOPRT can be entered in connection with the SPEED function.

 

18.51.       NUMBER conversion of 'dirty' numbers.

 

   It may occur that numbers are entered in textfields with separator characters which make it difficult to use as figurs. It may be a date as 15/11‑89 or a phonenumber 01)248340.

 

NUMBER is used to convert such an alphanumeric field to a numeric:

 

        #47=NUMBER(#8)

 

converts field 8 to a numeric field 47 as all separators will be removed.

 

   01248340, 01)248340, 01‑248340 and 01 24 83 40 all becomes 1238340 as the date 15/11‑89 becomes 151189.

 

   The EDIT subfunction may be used to create a new edit standard for the field eg:

 

        #8=EDIT(#47,"&&)&&&&&&")

 

   may be used to create a new phonenumber standard as 01)248340. 

 

18.53.       NUMS convert alphanumeric to numeric.

 

   If numeric figures are stored in textfields in a file you have to move these to numeric fields before you are able to calculate with these.

   If you should add the values of the textfields 15 and 16 you would have to write this in 3 lines: 

 

            #47=#15

            #48=#16

            #49=#47+#48

 

 as the direct #49=#15+#16 would cause basic error.

 

   With the NUMS subfunction you can convert textfields on the line:

 

                                      #49=NUMS(#15)+NUMS(#16)

 

will not require lines/freefields to add the two textfields.


18.55.       OPEN opening of files for reading.

 

   This subfunction is descriped in chapter 15 ‑ file update with DMS.RAPGEN.

 

   OPEN("XX","3/FILE") opens the file 3/FILE instead of the report file xx.

 

18.57.       PACK packing of fields.

 

   This function is used only in special cases were keys/fields must be packed manually.

 

   PACK will make this packing easyer:

 

    R$=PACK(R$)                         packs the key R$

    R$=PACK("&&&&",#47)                 converts the numeric field to text according to the format specification and

                                        packes this.

    R$=PACK(#3),#4,PACK(#5),PACK("01)   pack may be used multiple times on one line.

 

Refer also to UNPACK.

 

18.59.       PCIN and PCOUT exporting directly to PC harddisc/floppy.

 

   To use these EXPORT/IMPORT subfunctions you must have the ERNA PC‑card which enables you to adress the PC directly without use of the BCU.

 

   Futher informations of this are avaiable on request.

 

18.61.       PHONE conversion to new danish phonenumbers.

 

As of 1/1‑1990 all danish area codes was changed.

 

   #50=PHONE(#1) converts the old number to a new number according to an external table. See the danish manual for details.

 

18.63.       PLCOUT exporting directly to a PLC line.

 

   This is a variant of EXPORT and enables you to transmit directly to a PLC communication line from a report. The subfunction must be modifyed for each installation by a programmer for host computer name etc.

 

18.65.       POUT Output of text / control codes directly on printer.

 

   POUT("text") is used to print text directly on printer without entering the text in function 7. This functionality is very usefull to ouput control codes:

 

     POUT("@Q;")  sets NLQ on. The ; indicated that no line-feed is to be send.

 

   The function works even if the printer has to control-codes defined, because POUT then uses the standard control codes from DMS.RAP.LPT.

 

18.67.       PRIO set priority.

 

Purpose: System tuning.

 

   Some heavy sorted reports you may wish to run with low priority in order to now slow down other users. If yoy place a FIRST calculation:

 

    FIRST

    PRIO(1)

    NORMAL

 

 the priority during the run will be the lowest (1). The priority is reset when the report is ended.

 

   DMS.RAPGEN may be installed without this subfunction if you are afraid of unauthorized use.


18.69.       PXOUT Export directly to PC-harddisk using ERNA.

 

   With ERNA-8870 emulation and the function call PXOUT("1-10","C:/DIR/NAME") you can export directly to a CSV file on the PC-harddisk. The function is identical to the EXPORT function but the filename refers to a DOS-file.

 

   PXOUT performs the same task as PCOUT thus using the new transfer method which TEXTTRAN uses.

The NIXDORF system doesn't need special configuration to use this function.

 

18.71.       PZOUT Print directly to PC-harddisk using ERNA.

 

   With ERNA-8870 emulation and the function PZOUT("C:/DIR/NAME") you can redirect the entire print to the PC-harddisk without having to transfer anything else.

 

   The report is the be executed from a PC with ERNA installed. The printer to be selected is P (screen printer) because the transfer is controlled from the PC-screen as TEXTTRAN. Transfer from two windows at the same time is not possible.

 

18.73.       RATE get COMET TOP currency rate.

 

   #20=RATE(#3)

 

   will on a COMET TOP system pick the rate for currency no. #3 from the ccy file GF‑04000xxx. The first call for this subfunction will bild an internal table of the rates so the file will not have to be accessed everytime a rate is needed.

 

   #20=RATE (#3,#21,#22,#23) will deliver in field 21,22,23 the ccy NAME, no.of decimals and the unit also.

 

18.75.       RUND definition of FNR round.

 

   When calculating decimal numbers you normally use the function FNR. The FNR function rounds by default the result to two decimals. With RUND you are able to change the round factor:

    

     RUND (5)

     #50=FNR(12.65*25/100)   /* 3.1625 ==> normally 3.16 but in this case 3.20

 

where the result in #50 will be rounded to the nearest x.x5. If RUND(25) was entered the result would have been 3.25, if RUND(100) then 3.00.

 

   All FNR calls uses the the last round factor given. This allows you to change the round factor during execution:

 

     IF #7=1 RUND (5)

                   :

                   :

 

   If the value parsed to RUND is negative, RUND(-5) the value is rounded to the nearest lower value.

 

18.77.       SIZE Optimize space requirement in large reports.

 

   With the SIZE() function RAPGEN adds another step to the generation. The step performes the task identical to the operative systems UNCOMMENT. Almost all comments are removed from the program source. The task slows the generation time with approx. 1/2 minut. In return you are able to define very large reports.

 

18.79.       SMAA Convert names from upper to upper/lower case letters.

 

   #50=SMAA (#2)  converting textfield 2 to upper/lower case letters.

 

   If field 2 contains the name CHRIS HANSON the field 50 will result in the text Chris Hanson.


18.81.       SOGE Generating searchkey from addressfield.

 

   This function is used to generate a searchkey using a field containing an address. The searchkey field can as an example be used to sort the report later on.

 

     #50=SOGE (#3,15)  will generate such a searchkey. #3 is the addressfield and 15 is the position in the field where the housenumber is positioned.

 

   If field 3 contains the text Grenå Gade 2, 1.tv the field 50 will result in the text GRENÅGADE_____0002. The address 17 Rue de Jambon will result in RUEDEJAMBON___0017.

 

18.83.       SORTWORK multiple sort-files.

 

   RAPGEN normally works with only one sort-file unless several RAPGEN systems has been installed with seperate sort-files attached.

 

   At installation you have to plan how many sort-files you may need. When planning you have to consider the fact that each sort-file demands a large amount of diskspace.

 

   RAPGEN version 01/10-92 or later will try to open the sort-file DMSORTWORK. If the sort-file is occupied RAPGEN will automatically try to open a new sort-file DMSORTWORK01. If this sort-file is occupied it will try with DMSORTWORK02 etc. until no more sort-files exists.

 

   If you want to sort multiple reports at the same time and the diskspace required is available it is possible to lock a report to a certain sort-file using the command:

 

     SORTWORK (47)

 

   The report will then use the sort-file DMSORTWORK47. The sort-file has to be created before it can be used by the report. It can be done by calling the program BUILDXF, name: DMSORTWORK47, number of records: ?????, recordlength: 15, keylength: 15.

 

   Using the syntax:

 

     SORTWORK (-47)

 

RAPGEN will build the sort-file automatically. The number of records is determined by the number of records used by the mainfile of the report.

 

18.85.       SPOFF removal of spaces in field.

 

   SPOFF will remove all leading blanks from a textfield.  

A field may contain "  A  " for one record and "A    " for another. With the selection:

 

        FIELDNO:SPOFF(#15)   MINIMUM:"A"     MAXIMUM:"A"

 

   you can ignore all leading blanks.

 

18.87.       STAR functions for financial reports.

 

   These subfunctions are specially developed to simplify the definition of financial reports on STAR systems.

 

   The functions automatically gets bookkeeping dates etc. from VIKA and budgets from BUKA. Summation within the current period is also performed by the functions. This makes the definition of such reports a lot easier. The functions are described in the installation manual for subfunctions and therefore not described further here except for the list below.

 

18.88.1.     STARD Get bookkeeping and period dates.

18.88.3.     STARF Calculate perid/year to date realized and budget.

18.88.5.     STARN Index calculations.

18.88.7.     STARP Define bookkeeping period.

18.88.9.     STARS Regroup current period to period 1.


18.89.       TAPEOUT exporting directly to tape.

 

   The TAPEOUT subfunction has exactly the same parameters as the EXPORT  subfunction, just will the output be written directly to a tape (call 70) and not to a discfile. The tape will be unlabelled and the parameter

 

   FILENAME will have no function in this call.

 

18.91.       TEST testprint function.

 

   If you place TEST("1‑10") in the calculations you will get a print on the screen of field 1‑10, nomatter how the report is defined.

 

   This may be used to find out which data actually passes in the calculations.

 

   You may use TEST("1‑10","$LPT") to get the output to a printer, as you may place the staement before/after the calculations.

 

   The TEST subfunction is a variant of the EXPORT subfunction.

 

Figure 35 Output from TEST("1‑10").

 

  ARTI  DESCRIPTION      SELLING P  COST PRIC  DATE OF   SUP  ART        

  0101  BOLT                  2.00       1.50   1.01.87  271   0         

  0102  TRUCK‑HOPPER      20000.00   10000.00   1.01.85  100   9         

  0110  TRUCK‑WORK       100000.00   60000.00  15.12.86  123   2         

  1001  TRUCK‑WHEEL        1000.00     500.00  31.12.86  205   0         

  1005  TRUCK‑GEARBOX      2000.00    1500.00   1.06.86  100   1         

  2001  BOLT‑SPEC./AL        20.00      10.00   1.01.87  205   9         

  2002  BOLT‑SPEC./BR        25.00      10.00  30.07.86  205   9         

                                                                          

 

 

 

 

18.93.       UNPACK unpacking of packed fields.

 

   Usually all unpacking of the fields are done as defined by installation in the readstatements for the files.

 

   In special cases it may be nessesary to unpack fields in the calculations:

 

        #47=UNPACK(#15)

 

unpacks the alphanumeric field 15 into the numeric field 47.

 

   As the NUMS subfunction UNPACK may be used directly in a calculation:

 

        #47=UNPACK(#15)+UNPACK(#16)

 

or on part of a keyfield:   #47=UNPACK(R$(7,10))

 

18.95.       UPDATE activate file updating.

 

   Refer to chapter 15 ‑ file update with DMS.RAPGEN for details.

 

   When you use the commands REWRITE, WRITE, INSERT or DELETE a calculation statement

 

        UPDATE (1)

 

   must be placed first in the calculation block to activate the file update.

 

18.97.       UPPER Upper case letters.

 

     #50=UPPER (#2)  converts textfield 2 to upper case letters.


18.99.       VALCH values of a textfield.

 

   The VALCH subfunction makes it easy to select that on alphanumeric field should have one of a set of values:

 

        #47=VALCH(#7,"AA,BB,CC")

 

will return 0 if field 7 contains either AA,BB or CC and 1 if not.

 

   You should separate the different values by comma and you may state as many as needed.

 

   Is a selection is placed that field 47 should be equal to 0 only records with field 7 containing one of the given values are printed.

 

        #47=VALCH(#7,"‑AA,BB,CC")

 

   returns the inverse it is 0 if field 7 is not one of the given values else 1.

 

You can use a selection like:

 

        VALCH(#7,#DA1)    MINIMUM:0      MAXIMUM:0

 

and you can enter the allowed values by start of the report.

 

   Leading and traiting blanks in the field will be ignored in the subfunction VALCH.

 

18.101.       VALID values of a nuemric field.

 

   With the VALID subfunction is it easy to select that a numeric field should be one of several different values:

 

        #47=VALID(#15,"1,3,5,10‑15")

 

   returns 0 if the numeric field 15 is one of the values 1,3,5,10,11,12,13,14,15 else 1.

 

If you place a selection like:

 

        VALID(#15,#DA1)    MINIMUM:0     MAXIMUM:0

 

you can enter which codes should be printed by start of the report.

 

        VALID(#15,"‑1,3,5,10‑15")

 

   returns the inverse value it is 0 if field 15 is not one of the given values.

 

VALID may also be used with long numeric constants as datafields:

 

        VALID(#15,"890331,890415‑890420")

 

   See also the VALIX subfunction.


18.103.       VALIX values of a numeric code.

 

   The VALIX subfunction is a restricted but quicker form of the VALID function.

 

   First time you use VALIX an internal table of the different code values is builded. This makes VALIX faster than the VALID routine but gives the following restrictions:

 

    ‑ The code must range from 0‑maximum

    ‑ One byte of core is used for each value

    ‑ The allowed values cannot be changed during the run

 

    VALIX(#15,"1,3,5,10‑15") works just like

    VALID(#15,"1,3,5,10‑15") just faster.

 

   If one of the values exeeds 99 you have to specify the table size for VALIX as a third parameter:

 

        VALIX(#15,"10‑15,471‑480,903",1000)

 

allocates a table of 1000 elements (maximum value).

 

   This means that selection on large numbers as datafields is not possible with the VALIX function due to limited core.

 

18.105.       WEEK convert date/week or week/date.

 

   With the WEEK subfunction you can convert a date into a weeknumber and opposite a weeknumber into a date.

 

   Opposite the FNV function which always takes the first day of the year as week 1, the WEEK subfunction ajusts the first/last week correctly.

 

            #47=WEEK(010189)      gives 8852 in field 47

            #47=WEEK(890101)      nomather how date is given

            #47=WEEK(8852)         gives start date of week 8852.

 

Conversion of week to date requires NIROS 7.0.2 or better.

 

18.107.       WORKD data difference in number of workdays.

 

This subfunction corresponds to the former LOAD ARB, refer to this.

 

            #47=WORKD(310389,050589)

  

calculates the number of working days between the two dates.

 

   This subfunction contains a buildin calendar which may be modifyed for specific countries/companies.

 

Consult your programmer for ajustment of this.

 

   1/2 working days are supported in this function.

 

18.109.       ZERO zero all workfields.

 

   This subfunction allows you to zero one or several workfields by one single statement:

 

     ZERO("51-60")      Zero the fields from 51 to 60.

     ZERO("51,55")      Zero the field 51 and 55.

 

   The function can only be used on workfields.

 

   See also the LET (#51-60=0) command in chapter 15.


19.          File update with DMS.RAPGEN.

 

   File update with DMS.RAPGEN has always been restricted to DATAMASTER files only or files where a programmer has issued a special write permission by installation with and this is still the case. It may be dangerous to update files as you may destroy data by misplaced write statements.

 

   Apart from this updating with the report generator has been restricted to simple rewrite of the fields of the main file only. The main file could be read, and calculations on the fields in this file executed whereafter the record was rewritten with the new values.

 

   With this release the possibilities of file update is extremely extended:

 

        ‑ Update of until 9 files in one report

        ‑ Update of until 15 index of each file

        ‑ Insert/delete of records

 

 This means you will be able to build new files from existing data using the report generator.

 

   These functions are achieved by adding 4 simple but powerfull commands in the report generators calculation module:

 

        REWRITE (XX)      for update of one record

        WRITE   (XX)      for update or insert of a new record

        DELETE  (XX)      for deletion of an existing record

 

 together with two subfunctions to control this:

 

        UPDATE  (1)       to activate/deactivate all update

        NOPAS   ()        to control the standard password protection

 

 and last but not least for your convenience:

 

        LET(#1‑10=XX#1‑10) assignment of a block of fields

 

20.1.        Defining an updating report.

 

   In previous releases an update report had to be defines on a special main file eg. XX,W. You had to decide from the very start that this report should update the main file. For compability this method can still be used.

 

   The new update functions are activated by use of one of the commands REWRITE, WRITE, INSERT or DELETE in a calculation statement. By this the writestatements for the file(s) (DMREAD.XXW) will be loaded into the report program.

 

   If no write statements for the file is present the command will be rejected it is the file is protected.

 

   Anyway the report will still be 'innocent' as none of the update functions actually will be executed. The report can be started and you can test the functions just as normal without updating.

 

You have to place the statement:    UPDATE (1)

 

   as the first statement is the calculations of the report. By doing this the report will now execute the update commands and write to the specifyed files.


20.3.        UPDATE activate the updating.

 

   All update from a report will be deactivated until the subfunction UPDATE is called in the calculations with a value unequal to zero.

 

Typically you would place a first calculation line as

 

        UPDATE (1)

 

after you have tested the report and it is ready for production run.

 

        UPDATE may be called with 4 different parameters:

          0    Update not active

          1    Update active

          2    Update active as 1, in case of errors the run will be aborted 

          3    Update active as 1,  any errors will be ignored completely

 

 As UPDATE is a subfunction you may give an calculation expression as parameter instead of just 0, 1, 2 or 3. This may be used by placing:

 

        UPDATE (#D1)

 

which will activate one of the start‑data fields of the report.

 

   When the report now is started you may enter 0 or 1 as you wish this run of the report to update the files or not.

 

   The UPDATE statement should be placed as the first statement in the calculations as updating is not activated until this statement is executed. Anyhow it is possible to change the update modem during the run, eg. you may use UPDATE (2) during critical sequences or UPDATE (0) during the sort phase.

 

20.5.        NOPAS deactivation of password.

 

   An updating report will imidiatly be password protected when you issue one of the commands REWRITE/WRITE/INSERT or DELETE.

 

   As you have other possibilities to protect the report using eg. username or insert the program in TAMOS selector you is able to deactivate this standard password.

 

By placing the calculation statement:

 

        NOPAS ()

 

the standard password is removed and you may protect the report in other way or just start without any password.

 

   You may place the NOPAS statement anywhere in the calculations, first or last as you want.

 

20.7.        REWRITE (XX) update of a record.

 

        REWRITE (XX) will rewrite the new contents of a record to the file.

 

   To execute this function a record should be read from the file beforehand.

 

   In case XX is the main file of the report a record will always be read and present and REWRITE (XX) will work just as you had defined the report on the main file XX,W as in previous releases. But if the index fields of the file are changed the index keys will be updated!

 

   If XX is not the main file you must have issued a READ (XX) in the calculations before you are able to use REWRITE (XX).

 

   If you are missing this READ or if the read has not actually found any record the REWRITE (XX) statement will just be ignored by the report generator.


20.9.        WRITE (XX) update/insert record.

 

       WRITE (XX) works just as REWRITE (XX) if you have read a record from the file XX it is if XX is the main file or a previous READ (XX) statement has been executed succesfully.

 

   If this is not the case, eg. the READ (XX) did not find any record with the given key value, the WRITE (XX) will work as INSERT (XX) and create a new record in the file.

 

   Of course you have to place all relevant new values in the fields to be writen and especially the index key fields should be set.

 

   You should note that the READ (XX) will zero all fields in the XX record if no record with the given key value are found and XX is not the main file of the report.

 

20.11.        INSERT (XX) creation of a new record.

 

        INSERT (XX) will create a new record in the file XX and write this.

 

   You should take care that all index key fields has been set up probably before the INSERT is executed.

 

20.13.        DELETE (XX) deletion of a record.

 

        DELETE (XX) will remove a record from the file XX and of course you should be carefull using this function.

 

   ESPECIALLY you should note that if XX is the main file of the report and you just place a DELETE (XX) in the calculations ALL records in the given from/to range for the report will be deleted!

 

   The NORMAL calculations is executed BEFORE any selections is done. If you just want selected records to be deleted you should place the DELETE in the

 

        AFTER

 

calculations or make the delete conditional by:   IF........DELETE (XX)

 

20.15.        Updating of the file index.

 

   A file may have up to 15 index and these will be updated by the report generator if defined.

 

DATAMASTER will always define index for the files so these are updated.

 

   By writing a record the report generator checks if the fields which are components of an index has been modifyed. In this case the index key will be modifyed.

 

   Now it may occur that an index cannot be updated normally due to duplicate key. If this happens for the 7'th index after updating index 1‑6, all update will be rolled back and the file left unchanged whereafter an error message is given.

 

   It is possible for a programmer to define file update for not only DATAMASTER files with or without index updating. Eventuelly only write on 'non‑critical' fields may be defined.

 

   By use of the WRITE and REWRITE commands you will be warned if index update is not defined. In the case WRITE and REWRITE will act as the same command, only the fields in the record are updated.

 

   If you try to use the INSERT or DELETE commands on such a file you will get an error message. Is you furthermore try to start such a report the run will be abandoned immediatly with the same error message.


20.17.        Changed structure in the main file handling.

 

   By definition of a report on the file XX you could in previous releases use the fields XX#1, xx#1, Xx#1, xX#1 and #1. It is 5 different records from the same file could be used eg. for 5 labels on a row.

 

   This function is kept unchanged but the READ (XX) is changed from handling a separate record to be working on the main record itself.

 

   This is nessesary to implement writing of the main file by use of the WRITE (XX) command.

 

   Reports using READ (XX) of the main file will still be working but by the first amendment of the calculations on such a report with this new version you will have to change all XX fields to eg. xx.

 

20.19.       Error handling by updating.

 

   You should of course always test your updating report without activating the writing by the UPDATE command.

 

   Errors during file updates may be serious and will always be written to the system logbook.

 

   Also the error message will be printed on the printer on the line above the report in error. By this the reader of the report print will be notifyed of the error. Naturally such error messages may disturb a nice list but this is better than not noticing the error.

 

   In case of attempt to use the INSERT/DELETE commands on a file where index is not defined the report will be aborted after this error message.

 

   By 'normal' error messages such as record key already present in the index an error message is given with filename, index, error number and if possible the index key value in error. By use of the UPDATE (1) you have specifyed that the run should continue or by UPDATE (2) that the run should be abandoned after the message.

 

20.21.

15.11.       Where to place the update statements.

 

   You should be extremly carefull by placing any WRITE/DELETE in the NORMAL calculations as this block of statements is carried out BEFORE selections for all records and also during the SORT phase of a report run.

 

   Normally you should use AFTER calculations when using update on a selected report.

 

   By sorting of a report or by use of calculated totals you will have to use the WHEN command, normally to control the update.

 

   In case of calculated totals on a report you may build a new file containing totals from this report run.

 

20.23.       LTOT freeze lowest total level.

 

   When running reports with updating of files you will not always want the complete report printed but just the updating to be done.

 

   If you starts the report with LOWEST TOTAL LEVEL as 9 the printer will be deactivated it is no output at all.

 

   If you want to have a confirmation page for the run you may set LOWEST TOTAL LEVEL to 1 causing only one line with the grande total to be printed. In this way also eventually error messages will occur on the list.

 

By placing the line:    LTOT (1)

 

   in the calculations the lowest total level for the report will be locked to 1 no mather what is given by start of the report. The question of lowest total level will still occur but you can just press cr.


20.25.

15.13.       Updating the main file main index.

 

By use of the write function you may change any index in a file.

 

   If you change the index in the main file on which the report is running it may occur that this record will show on the list again later placed correctly according to the new key.

 

   E.g. if you changes the phonenumbers:

 

    01248340 to 31248340 and

    01240415 to 33240415

 

the report will contain 4 printlines:

 

    01240415

    01248340

    31248340

    31240415

 

if the phonenumber is the main index for the report.

 

   The already changed records is found later on in the read sequence and will be handled twice.

 

20.27.       Security against updating application files.

 

   When installing DMS.RAPGEN the programmer will usually just place READ access for all files, it is a textfile DMREAD.XX containing read statements is generated for each file.

 

   DMS.RAPGEN can not in any way write to such files as the definition of the write is mission.

 

   DATAMASTER furthermore makes a textfile DMREAD.XXW containing read, write and index update definitions.

 

   DMS.RAPGEN can be used for updating any file where such a write‑definition is present but only such files. It is usually you can just write to your own defined DATAMASTER files.

 

   The programmer may of course create such a textfile DMREAD.XXW for any file and may in this way install writing for the normal application files. But a programmer which is able to do this will also be able to delete the complete file so no security risk is introduced by this.

 

   We do support any tools to generate writestatements for any other files than the DATAMASTER files. READ statements can be generated automatically but WRITE‑statements must be handwritten and as such confirmed by a programmer.

 

   Only fields placed in the write statements can be modifyed from the report generator. Critical fields as balance can be blocked against update in this way.

 

   If index‑definition is placed (300/8200) in the file DMREAD.XXW also index update and insert/delete is activated for the file which is not possible without these. If index definitions are not present also write of any fields, which is part of the index should be avoided to keep the file consistent.

 

20.29.       Blocking for all updating.

 

   If DMS.RAPGEN is installed without the module DMS.RAPGEN.S7W on the disc all commands for updating will become inactive and will result in basic error if a report containing such is started.

 

   However if the report program is generated already this will be able to run even if DMS.RAPGEN.S7W is missing. A programmer may in this way use S7W as a key to activate/deactivate creation of such reports.


20.31.       OPEN(XX,"3/XXFILE") special file open.

 

   This subfunction is more intended for the programmers use than the normal user.

 

   The file 3/XXFILE will be opened instead of the file XX on the report. The file is opened for READ‑ONLY, protected against writing.

 

   DMS.RAPGEN assumes the file definition for this file is according to the definition of XX.

 

   This function may be used for copy of files or reconstruction/extension of index in the following way:

 

    1)  The report is defined on the file XX.

    2)  The calculations are defined as:

 

        OPEN ("XX","3/OLD‑XX")

        LET (xx#1‑99=#1‑99)

        INSERT (xx)

 

 By this the main file is switched to 3/OLD‑XX, the fields from this is moved to the real xx file activated as a second file on the report (lower case letters) and a new record is inserted in this file.

 

   The new file may have more fields than the old as different calculations may be done during the copy.

 

   The function may also be used to merge different files into one file.


20.33.       Creating new files with RAPGEN.

 

   This function enables the user to define new files from a report and insert data as well. For this purpose the LET command is used WITOUT any fields given on the left side of the equal sign:

 

     LET (AA=#1,7,10-20)

 

which creates a new file with the short-name AA. The file will contain 13 field, e.g. 1,17,10-20.

 

   The names and types of the fields will be as the fields of the mainfile for the report. If using workfields it is then possible to enter the names and formats of the fields yourself. The first field on the right side of the equal sign becomes the file index unless else defined.

 

   The filedefinition is generated at once RAPGEN detect the LET command in function 4 (calculations), which you will see by activating the HLP function right after the LET command is entered. The new file AA will appear on the list of files available for RAPGEN.

 

   When the report is startes the file will be builded on the disk with space for 100 records if nothing else defined. The write-commands (WRITE/REWRITE/INSERT/DELETE) can then be used to add data to the new file.

 

   By defining other reports with AA as mainfile you are able to manipulate the data in any way thus such created files are updateable.

 

   If you have the product DATAMASTER the files created by this function can be used by the DATAMASTER. In this product you can change/add the file definition.

 

   The file will also be accessable in the product IQ where inquery and search programs can be defined.

 

   The files from RAPGEN is builded as normal indexed files and can therefore be used by other special applications. With RAPGENs special file-definition module a complete documentation of the files structure can be printed.

 

   There is full secturity on writing in files not builded by this function or DATAMASTER. Furthermore the physical filename will be named with -DMS- as suffix to prevent conflict with other files.

 

   It is of course possible to control the physical disk location for the file, how many indexes and records to use. This is described in the next section.

 

   A maximum of 99 files with up to 99 fields can be created in a RAPGEN system.

 

Figure 36 Calculations for creating a new file.

 

UPDATE (1)                       /* Aktivate update

NOPAS  ()                        /* Deaktivate password

LET    (AA=#1,7,10-20)

INSERT (AA)

 

 

 

   The figure illustrates calculations used to define the new AA file with 13 fields. The first field, field 1, becomes the file index. The file is build with space for 100 records when the report is started and the data from the main file is inserted in the new file.

 

20.34.1.     Number of records, disk and company id.

 

     LET (AA=#1,7,10-20),2000   builds the file with space for 2000 records the first time the report is started.

     LET (AA=#1,7,10-20),-2000  builds the file EVERY time the report is started, truncating the file each time.

     LET (07/AA=#1,7,10-20)     builds the file on LU. no. 07.

     LET (07/AAabc=#1,7,10-20)  inserts the company id from the TAMOS selector in the file name.

 

20.34.3.     Mix of files.

 

     READ (LE)

     READ (GR)

     LET (AA=LE#1-10,17,GR#3,1,#15)

 

will build the file AA with the fields 1-10,17 from file LE, field 3 and 1 from file GR and field 17 from the main file of the report. LE#1 will become the file index.

 

20.34.5.     Index keys.

 

     LET (AA=#1K,7D,10-20)   defines field 1 as unique key, and field 7 as duplicate key.

     LET (AA=#1-2K,7,10-20)  defines a unique key of field 1 and 2.

     LET (AA=#1,7,10-20;2)   defines that field 2 from AA is to be index (equals field 7 from the original file).

 

   Note that the indexdefinition is seperated from the fields by a semicolon. By entering the index field as a workfield you can control the keyvalue in the calculations.

 

20.34.7.     Multiple fields in the key.

 

     LET (AA=#1,7,10-20;1,2) defines that the key is field 1 and 2 merged together. The maximum of characters in a key is 30.

 

20.34.9.     Multiple keys.

 

     LET (AA=#1,7,10-20;1,2;2,1) defines two indexes. The first is field 1 trailed by field 2. The second is field 2 trailed by field 1. You can defined a maximum of 15 keys per file. RAPGEN will always update all keys correct.

 

20.34.11.     Special keys.

 

     LET (AA=#1,7,10-20;1,2,P)  will pack field 1 and 2 in the key (saves space).

     LET (AA=#1,7,10-20;1,2P)   only packs the second field in the key.

     LET (AA=#1,7,10-20;1;2,NP) allows multiple keyvalues in the second index because the recordnumber is added in the                                  second keyvalue.

     LET (AA=#1,7,10-20;7D)     turns the date in field 7 from DDMMÅÅ to ÅÅMMDD to produce correct sorting.

 

   It is not possible to define an index with a part of a field. For this purpose you have to use a workfield.

 

20.34.13.     Deleting files.

 

     LET (AA=) without any fields given deletes the file and its definition again.

 

20.34.15.     Redefinition of files.

 

   The second time RAPGEN detects LET (AA=#1,7,10-20) in function 4 a question is asked, whether the file is to be redefined (Y/N). If you answer Y the file is deleted and a new is build. Just by changing the fields in the second LET command you can hereby create a completely new file.

 

   Using another report you can copy the file AA into a new file BB and then delete AA. The redefiniton module in DATAMASTER can also be used.

 

20.34.17.     Filenames and other tecnical information.

 

   With LET (AA=#1-10) a file is build with the name 3/DM-DMS-AA, where 3/DM is prefix for 3/DMFILES filedefinition. -DMS- is always inserted to avoid conflict with other files.

 

   LET(07/AAabc=#1-10) the file 07/DM-DMS-AA001 is build, where 001 is the company id from the TAMOS selector.

 

   The field definitions are stored in the file DMDATAFIL8 (subsystem 8). This file is automatically build once with space for 20 records.

 

   The maximum number of files possible can if required be expanded using the call:

 

     #COPY (80:3000)DMDATAFIL8=OLD.DMDATAFIL8


21.          The edit functions 11-14.

 

   As these has been introduced more and more functions in DMS.RAPGEN enabling the user to make nearly any sort of report program with many files involved, the need for user documentation and letter overview by amending the definitions, has increased.

 

   This is achieved by introduction of a new dialog with the user in the new functions 11‑14.

 

   These function may be used together with or instead of the other functions which is kept unchanged.

 

Figure 37 The new functions in the menu.

 

 

  REPORT GENERATOR  ENGLISH VERSION  REPORT GENERATOR # 3 90.05.03/ 0:02 

                                                                         

                 DMS.RAPGEN                                               

                                                                         

                 1 ... DEFINE NEW REPORT                                 

                 2 ... DEFINE SELECTIONS                                 

                 3 ... DEFINE SORTING AND TOTALLING                      

                 4 ... DEFINE CALCULATIONS                               

                 5 ... DELETE REPORT                                     

                 6 ... DEFINE NEW LETTER                                 

                 7 ... AMENDMENTS TO A REPORT/LETTER                     

                 8 ... PRINT OF DEFINITIONS                              

                 9 ... START AND GENERATE REPORT                         

                10 ... COPY REPORT                                       

                11 ... DOCUMENTATION                                     

                12 ... EDIT SELECTIONS                                    

                13 ... EDIT SORTING AND TOTALLING                        

                14 ... EDIT CALCULATIONS                                 

                                                                         

                ENTER CODE:........                                      

                                                                         

   MESSAGE  :  * DEMO COPY ‑ NOT PAID FOR *                  471199      

 

 

 

 

 

 

 

22.1.        The structure of the new functions.

 

   These functions are based on a textmaintenance system enabling the user to move around in the text in a very easy way and amend in any place.

 

   You get a better overview of eg. larger calculation routines when 21 lines are showed in full‑screen mode. Opposite you do not get as much help from the report generator translating the calculation lines into plain text as this would reduce the overview and slow down the text‑editor.

 

   When one of the new functions is ended DMS.RAPGEN will call up the appropriate good old function to complete the definition. After you have amended any calculation with function 14 you will see function 4 is called and the lines rolls fast through this.

 

   This is nessesary to get the calculations translated into a BASIC program. Also the use of new free fields must be handled, this will cause DMS.RAPGEN to stop and ask you to define the field with name and field format.

 


22.3.        The text‑editor.

 

   This module is a simple form of textmaintenance where you easely can move around in the text and insert/delete characters or lines.

 

Figure 38 Editing of documentation with function 11.

 

 

   DMS.RAPGEN   3 ARTICLE LIST            11....DOCUMENTATION            

                       XXXXXXXXXXXXXXXXXXXXXXXXX                         

    1 FROM INVOICE DATE                         (DDMMYY, EG. 311289)     

    2 TO   INVOICE DATE                         (DDMMYY, EG. 150590)     

    3                                                                    

    4 JUST PRESS CR. AS START/STOP KEYS                                   

    5                                                                    

    6 THE LIST WILL BE SORTED BY INVOICE NO.                             

    7                                                                    

    8                                                                    

    9                                                                    

   10 THIS REPORT IS CREATED AS A DEMO‑EXAMPLE DURING ONE OF MR.ALLAN    

   11 STENDERS GOOD RAPGEN COURSES.                                      

   12                                                                    

   13                                                                    

   14                                                                     

   15                                                                    

   16                                                                    

   17                                                                    

   18                                                                    

   19                                                                    

   20                                                                    

   21                                                                     

                                                                         

   MESSAGE: LINE 1‑9 OF THE DOCUMENTATION WILL BE DISPLAYED BY STARTING  

                                                                          

 

 

 

 

 

On a line you may use the arrows to insert/delete characters or to position on the line. If you just press cr. the line is kept unchanged.

 

   With ; you can go one line up, @ will keep the line unchanged and go to next line just like the normal cr. The @ key (function key no. 1) may be used to TABulate on a line in steps of 20 characters.

 

   By simple entering a lineno., eg. 147, at the start of a line, eventually overwriting the present text, you will position to line no. 147. That is if you really want the figure 7 to be placed on a line you will have to type 7 followed by a space to avoid to jump to line 7.

 

   0 will position to the last used line.

 

   The DEL command may be used to delete a number of lines from and including the current line where the command was given. You will be questioned how many lines to delete from this. If you just press cr. nothing is deleted.

 

   The INS command may be used in the same way to insert a number of lines.

 

   The GET command will copy a number of lines from another report. You must give the report number and from/to line  no. on this. If from/to line is just given as cr. all lines will be copied. The copied lines will overwrite any existing lines, use the INS command before the GET command if you want to merge two definitions.

 

   The PRT command gives a printout of the definition text on $LPT.

 

   END finishes the texteditor and if the text has been changed it will now be written and eg. the calculation module invoked. If the text is unchanged you will branch directly to the report generator menu and the report is kept unchanged, it is the program will not have to be generated again even if you have entered the calculation function 14.

 

   The functions 11‑14 may be used just as inquiery programs without any updating.

 

   SPR will cancel all amendments and keep the report unchanged.


   The HLP command may be used as anywhere else in DMS.RAPGEN to get a file overview or a field overview from any file. When you return from the HLP by pressing cr. the last used HLP screen will be kept on the upper part of the screen and you will now use a 'mini‑editor' with just 4 lines at the lower part. Of course you can use any functions from the full‑screen editor.

 

 

 

Figure 39 HLP by calculation editing in function 14.

 

 

   DMS.RAPGEN      3 ARTICLE LIST             14....EDIT CALCULATIONS    

     1 ARTICLE NO                  19 @FREE                              

     2 DESCRIPTION                 20 @FREE                              

     3 SELLING PRICE               21 @FREE                              

     4 COST PRICE                  22 @FREE                              

     5 DATE OF LAST PURCHASE       23 @FREE                              

     6 SUPPLIER NO.                24 @FREE                              

     7 ARTICLE GROUP NO.           25 @FREE                              

     8 STOCK BALANCE               26 @FREE                               

     9 ALTERNATIVE SUPPLIER        27 @FREE                              

    10 FREE                        28 @FREE                              

    11 DB                          29 @FREE                              

    12 DG                          30 @FREE                              

    13 PRICE DKK                                                         

    14 @FREE                                                             

    15 @FREE                                                             

    16 @FREE                                                             

    17 @FREE                                                             

    18 @FREE                                                              

    1 #11=#3‑#4                                                          

    2 #12=#11%#3  /*CALCULATE SOMETHING                                  

    3 READ (LE)                                                           

    4 READ (KU)                                                          

                                                                         

   MESSAGE: : ENTER 'MOD' TO RETURN TO FULL SCREEN MODE.                 

                                                                          

 

 

 

By use of the HLP command you may have any field overview on the screen during the editing.

 

The MOD command may be used to shift back to the full‑screen editor.

 

   MOD may also be used when you are in the full‑screen mode. The upper part of the screen will remain and you will switch to the mini‑editor it is you are able to have the old text on screen while amending on the lower part.

 


22.5.        Function 11 ‑ Documentation.

 

By use of function 11 you are able to enter documentation for a report.

 

   This documentation is printed when you print the report definition with function 8.

 

   The first 9 lines of the documentation will be displayed on the screen by start of the report.

 

   Here you may write instructions for the operator how to start the report or how to handle the output.

 

Figure 40 Start of report with documentation and data input fields.

 

 

   DMS.RAPGEN      3 ARTICLE LIST       9....START AND GENERATE REPORT   

                                                                         

       TODAYS DATE ?     130590                                          

                                                                         

       AS OF DATE  ?     130590                                          

                                              INDEX:                     

       START FROM  ?                          1:ARTICLE NO.              

                                              2:SUPPLIER NO.             

       STOP AT     ?                                                      

                                                                         

   FROM INVOICE DATE  310389                (DDMMYY, EG. 311289)         

   TO   INVOICE DATE  010690                (DDMMYY, EG. 150190)         

                                                                          

   JUST PRESS CR. AS START/STOP KEYS.                                    

                                                                         

   THE LIST WILL BE SORTED BY INVOICE NO.                                 

                                                                         

   MINIMUM TOTAL LEVEL TO BE PRINTED (0‑ 1 , 0=WHOLE LIST) ? 0           

   START:( Y=PHANTOM , S=SCREEN , P=PRINTER , N=NO ) ? Y                 

   TESTPRINT / PRINTER SELECTION (Y/N/P/$XXXX) ? N                       

                                                                         

   MESSAGE:                                                              

                                                                          

 

 

 

 

 

If you use the start‑data fields (#D1‑#D7) in a report you will notice the 9 documentation lines are overwriting the text for these on the screen by starting the report. This can be used to name the fields or give extended input instructions instead of the former used naming of a free field as eg. #D1INPUTFIELD.

 

   When editing the documentation on the middle of the first screen line, a row of x's is shown. These given you the input position of the start‑data fields #D1‑#D7, enabling you to write the text according to these positions.

 

   The documentation is stored as plain text in a separate textfile named eg.  0/DMT1047.DOC. Of course the documentation is copied when you copy a report and deleted when you delete a report.

 

   Sometimes you may wish to design your own screenimage complete for the report start. If the first line of the documentation text contains the command:ALL  the first 20 lines of the documentation will be displayed by start. Possible you should try it a couble of times to get your screen positions perfect.

 

   If you in the documentation place the lines:

 

                   INP

                   310393

 

                   4711?

                   INP

 

this will define standard start values it is:

 

   - INP activates the standard input values

   - Todays date will be fixed to 310393

   - As of date is entered automatically just as if cr. was pressed

   - As START FROM default 4711 is used, user may change this

   - INP deactivates standard, STOP AT and total level etc. is manual input

 

The first occurence of INP must be present in line 1-9 to activate this function.


22.7.        Function 12 ‑ editing of selections.

 

   When this function is selected the report selections is transferred to the editor and you can amend these:

 

Figure 41 Editing of selections by use of function 12.

 

 

   DMS.RAPGEN       3 ARTICLE LIST         12....EDIT SELECTIONS         

      FIELDNO.                  MINIMUM              MAXIMUM          !  

    1 #7                        !1                   !5               !  

    2 QUICK                     !                    !                !  

    3 FND(#5)                   !FND(#D1)            !FND(#D2)        !  

    4                           !                    !                !  

    5                           !                    !                !  

    6                           !                    !                !  

    7                           !                    !                !  

    8                           !                    !                !  

    9                           !                    !                !  

   10                           !                    !                !  

   11                           !                    !                !  

   12                           !                    !                !  

   13                           !                    !                !  

   14                           !                    !                !  

   15                           !                    !                !  

   16                           !                    !                !  

   17                           !                    !                !  

   18                           !                    !                !  

   19                           !                    !                !  

   20                           !                    !                !  

   21                           !                    !                !  

                                                                         

   MESSAGE:   :   ENTER 'HLP' FOR FIELD OVERVIEW.                        

                                                                         .                                                                             

                                                                         

 

 

 

 

 

Each line is devided into 3 parts: fieldno., min., max. When you type cr. you move to the next field on the line.

 

   Apart from these coloums the editor is used as anywhere else. The commands INS/DEL/HLP/MOD may be used. The GET command is not implemented as reentering selections normally is quite as fast as copy from another report due to the few lines.

 

   When you END the editing the selections are defined on the report. If a username is connected to the report you must enter it at this line.

 

22.8.1.      Selections on alpha‑textfields.

 

   When you define selections on alphanumeric fields in previous releases of DMS.RAPGEN you had to quote any textconstant eg. "A" or a basic error would occur by starting the report.

 

   DMS.RAPGEN now inserts these quotes. You may select entering "A" or just A. Also <>"A" or <>A will work.

 

   If you select on an alphanumeric field with a numeric value, eg. minimum 10, DMS.RAPGEN will now take numeric value of the textfield and compare with the value 10. If you state "10" the first two characters of the field must be minimum "10".

 

   Selecting on a value 47.11 may now also be written with comma 47,11 in order to eliminate another typical error situation.

 


22.9.        Function 13 ‑ editing of sorting and totalling.

 

   In this function you get a complete schema containing the sort/total definition and you can move around in this:

 

Figure 42 Editing of sorting and totalling.

 

                                                                           

   DMS.RAPGEN         9 ARTICLE LIST    13....EDIT SORTING AND TOTALLING  

                                                                          

    1 SORTING (Y/N):Y                                                     

    2 WEIGHTED TOTALS (Y/N):N                                             

    3 SUBTOTAL LEVELS (AND SORT KEY)                                      

    4 FIELDNO.       NAME           TOTAL   NAME               FORMFEED   

    5 #7             ARTICLE GROUP !Y      !GROUPTOTAL        !N       !  

    6 #2             DESCRIPTION   !N      !                  !        !  

    7                              !       !                  !        !  

    8                              !       !                  !        !  

    9                              !       !                  !        !  

   10                              !       !                  !        !  

   11 CALCULATE TOTALS BEFORE PRINT (Y/N):N                               

   12 FIELDS TO BE TOTALLED                                               

   13 3,4                                                                 

   14                                                                     

   15                                                                      

   16 GROUP TOTALS BEFORE PRINT (Y/N):N                                   

   17 FIELDNO.       NAME           NO.OF VALUES     GROUPNAME            

   18 U6             SUPPLIER NO.  !100             !TOTAL SUPPLIER    !  

   19                              !                !                  !  

   20                              !                !                  !  

   21                              !                !                  !  

                                                                           

   MESSAGE:  :  ENTER 'HLP' FOR FIELD OVERVIEW.                           

 

 

 

 

 

Some lines contains leading textes as SORTING (Y/N): you are positioned just after the : and can enter your choice.

 

Some lines are just headings and are skipped.

 

Some lines is divided into coloums just as when you edit the selections.

 

   The commands INS/DEL and GET cannot be used in this function. If you have too few lines for a definition just END it and you will get extra lines next time you select function 13.

 

   A line is deleted simply by spacing all fields out.

 


22.11.        Function 14 ‑ editing of calculations.

 

   This is possible the most user‑asked function:

 

Figure 43 Editing of calculations with function 14.

 

 

  DMS.RAPGEN      24 ARTICLE LIST          14....EDIT OF CALCULATIONS     

     ....,....!....,....!....,....!....,....!....,....!....,....!....,... 

   1 WHEN 20    SECOND PASS ONLY      ALWAYS                               

   2 READ (OH)                                                            

   3                                                                      

   4 LET (#23‑25=0)                                                       

   5 START (OL)                                                           

   6 NEXT (OL)                                                            

   7 #23=#23+1                                                            

   8 IF #23>10 GOTO A                                                      

   9 REPEAT (OL)                                                          

  10                                                                      

  11 A:#21=OH#5                                                            

  12 READ (DK) #21,P                                                      

  13 FIRST                                                                

  14 IF #D2=0 LET #D2=311289      /* CR. AS END DATE ==> ALL              

  15                                                                       

  16                                                                      

  17                                                                      

  18                                                                       

  19                                                                      

  20                                                                      

  21                                                                       

                                                                          

 

 

 

 

 

You can move around in the calculations completely as you want and use all the editor functions INS/DEL/GET/HLP/MOD. When the editing is terminated with END the definition is completed by automatic invoking function 4.

 

   The calculations is entered just as usually apart from the WHEN command. In function 4 you will get 3 questions when using WHEN, in function 14 you must state two digits just after the WHEN, eg. WHEN 12 answers the first question with 1, the second with 2.

 

   If you use new freefields in the calculation, DMS.RAPGEN will ask you to  give field name and format when the line is passed in function 4 after the editing.

 

   When editing calculations you have got a maximum of 99 lines. If DMS.RAPGEN is installed with 32 KB partition, even 199 lines.

 

22.12.1.      Remarks in the calculations.

 

   You have always had the possibility to place REM comments in the calculations and with the new edit function you get even more overview by doing this.

 

   Now you are also able to make comments to the right of a calculation line by writing eg. #13=#15 /* remark.

 

   This function has until now been reserved for internal use in DMS.RAPGEN but can now also be used by the definition.

 

   However /* remarks is NOT allowed on READ (XX) lines (yet).


22.12.3.      GOTO/GOSUB and RETURN in the calculations.

 

   It has always been possible to use these BASIC functions in DMS.RAPGEN, but the value has been limited as you do not know which linenumbers are generated.

 

The only function which could be used in practice has been:     IF #15<>0 RETURN

by which you can skip all the rest of the calculations if a certain condition is not fullfilled.

 

   Sometimes there is the need to jump in the calculations, eg. end a START/NEXT/REPEAT reading of a file after the first 10 records has been  read. This can now be done by eg.:

 

        #47=0

        START (XX)

        NEXT (XX)

        #47=#47+1

        IF #47>10 GOTO A /* OUT AFTER 10 TIMES

        REPEAT (XX)

        A: #48=....etc.

 

 It is LABELS is introduced in the calculations.

 

   A label is a single letter A‑Z and is defined by writing the letter followed by a : as the first two characters on a line. You can jump to such a label with the GOTO A statement, especially with IF.... GOTO A.

 

   Also you may now write subroutines in the calculations which may reduce the number of calculation lines if the same routine should be used more times, eg. both in the FIRST and the NORMAL calculations:

 

        IF #15=1   GOSUB  N

        IF #16=2   GOSUB  N

        RETURN                     /*  END THE NORMAL CALL

        N:#47=FNR(#47*100/#45)

        FIRST

        GOSUB N                    /*  FIRST USES SAME ROUTINE

 

22.13.        Technic by editing.

 

   When you use eg. function 14 to edit the calculations, DMS.RAPGEN will read the report definitions and create a plain textfile with the extracted calculation lines named DMWORK.XX, where XX being the screen number.

 

   This textfile contains the source calculation lines only not any generated code. The textfile is handed over to editor which could be any texteditor as PAID or other.

 

   When the editing is ENDed the editor checks if any changes in the text has been done. In this case DMS.RAPGEN is invoked with a function no. 10 + the selected function, it is in case of calculations 24.

 

   The hidden functions 22, 23 and 24 are definition of selections, sorting and calculations from the textfile DMWORK.XX without intervenience from the user. These functions are not intended to be called up from the menu but is not blocked for this.

 

   You may use these functions to cheat the report generator. If you select eg. function 13 on report 5 and then press END, your textfile DMWORK.XX will now contain the definition of sorting/totalling for report number 5.

 

   If you now invoke function 23 on report no. 7, this will be defined with sorting from the textfile DMWORK.XX and you have got a copy of the definitions from report 5.

 

   Another use can be to transmit complex calculations written by a programmer by modem to a customer system. The small textfile DMWORK.XX can be transmitted and placed in any report by use of function 24.

 

   If you select function 23 when DMWORK.XX contains calculation definitions you will probably get a funny result. You should not do this.


23.          Other systems, individual adjustments and optimization.

 

   This chapter describes other systems and how to implement RAPGEN.

 

   At this moment RAPGEN can be used on the following systems:

 

     8870         - all operating systems from NIROS 5.0 or later.

     TARGON       - all models of XBASIC. This RAPGEN release supports the latest TOS.

     UNIBASIC     - RAPGEN can now use the new 5% variables.

     XNET         - This version runs in XNET basic on PC platforms.

     INFORMIX     - RAPGEN is also written in C-language with support of C-ISAM / INFORMIX and SQL.

 

24.1.        REPS Multiple report systems.

 

   This command allows the user to create new report systems. RAPGEN creates all files needed to support 66 reports in each system.

 

   In RAPGENs main menu the command REPS can be entered. When entered this screen will appear:

 

 

Figure 44 The REPS command.

 

3/XXREPORTS          ENGLISH VERSION      DMS.RAPGEN          # 0 92.09.27/13:12

   ....,....!....,....!....,....!....,....!....,....!....,....!....,....!....,..

 1                        DMS RAPGEN

 2

 3 1.... DMS.RAPGEN,RAP=3/XX

 4

 5

 6

 7

 8

 9

10

11

12

13

14

15

16

17

18

19                        ENTER CODE:

20

 

 

 

 

   This function uses the same editor as function 14. This allows the user to jump to any line just by entering the linenumber, insert and delete lines with the INS/DEL commands.

 

   By entering the text 2..SECOND RAPGEN,RAP=2/NN in line 4 you will create a new report system with the prefix NN on disk 2. You may create a total of 60 different systems.

   Remember to insert lines to move the text ENTER CODE: as you enter new systems above line 18. The text DMS RAPGEN and ENTER CODE: may be changed.

 

   When RAPGEN is selected a front menu will appear where you can select the desired report system. The same menu appears if inserted in TAMOS selector and FINANS reports.

 

24.2.1.      S Start RAPGEN again.

 

   If S is entered in RAPGEN main menu without returning to TAMOS selector first.

 

24.3.        TAM Insert in TAMOS selector.

 

   Using this function in RAPGENs main menu you can insert a report in the TAMOS selector. The function can only be used in connection with normal TAMOS selectors, not with TARGONs T-menu system.


24.5.        HEAD Individual standard headers.

 

   With this command you can adjust the standard headers RAPGEN generates when a new report is defined with function 1.

  

   In RAPGENs main menu you have to enter the command HEAD giving you the following screen:

 

 

Figure 45 HEAD Individual standardheadings.

 

03/DMS-RAP-HEAD      ENGLISH VERSION      DMS.RAPGEN          # 0 92.09.27/13:50

   ....,....!....,....!....,....!....,....!....,....!....,....!....,....!....,..

 1 REM -------------------------------------------------------------------------

 2 Date #DD     #> - #HD - #> Pr.#PD      Page #PP

 3 #>>-

 4 #

 5 #>>=

 6 REM -------------------------------------------------------------------------

 7 REM

 8 REM REM           A line starting with REM is a commentline

 9 REM #>>-X-        -X- is repeated until max column

10 REM #>PAGE #PP    Right justify text

11 REM #> XXX #>     #> is replaced by the as many blanks as possible

12 REM #             Inserts field headers at the current position

13 REM XXXX>>        >> Last on line ==> continue definition on next line

14 REM

15 REM The following fields can be used:       (no other fields)

16 REM 1. #DD = Todays date

17 REM 2. #PD = Pr.date

18 REM 3. #PP = Pageno

19 REM 4. #KA = File short id

20 REM 5. #SN = Systemname from RAP.SYS, if blank ==> TAMOS company

21 REM 6. #SY = Systemno   from RAP.SYS

22 REM 7. #TI = Time

23 REM 8. #NO = Reportno (+1000)

24 REM 9. #SC = Screenno

25 REM    #HD = Header

 

 

 

  

   In this example line 2-6 contains the header definition. In these lines you can add fields enter constant text.

 

   If you later on want to remove this definition you have to delete all lines with the DEL command.

 

24.7.        DRN file definitions.

 

   This command allows you to maintain the file definitions in the report system instead of returning to TAMOS selector.

 

24.9.        Function 9 - Starting multiple report in one step.

 

   It is possible to enter a sequence of reports to be started as in function 8. For example you can enter:

 

     1-10,17,25,5     Starting these report numbers.

     -1-10            Only generates the reports if not generated before.

     -1-99!           Generates and optimizes the reports of not optimized before.


24.11.        SPEED aggressive optimization.

 

   This function will optimize all report to execute 10-75% faster. Typically the rate will be 50 %.

 

   SPEED is an extra step when generating a report. It will analyse the generated program and optimize it to fast and use as little memory as possible. SPEED is therefore not used when the report is defined and coded but to increase the final

program.

 

   The SPEED command is activated by inserting the calculation line SPEED(). in function 4 or 14. Next time the report is started is will be optimized. The report will execute as before, only faster.

 

   You can optimize all report in the system over night due to the facility in function 9 (Refer to Function 9 - Starting multiple reports in one step). When you have to enter the report number in function 9 it is possible to simulate a kind of

job-queue. For example you can enter the report numbers 1-4,17,17,15. These reports will now be started with the same start-parameters. If you enter the sequence -1-99! all reports will be generated and optimized (!=Optimize reports, -=Generate but do not start).

 

   When SPEED is activated the screen will appear as illustrated when generating:

 

Figure 46 Optimizing during generation.

 

 

                    - Generating program - W A I T...

                    - Optimizing program - W A I T...Line   Byte Buffer   No.

                      - Analyzing program.....        778  22627   5447

                      - Sortering linenumbers.        778          5461

                      - Removing comments.....        627          4410   154

                      - Analyzing variables...             22629          128

                      - READ optimize.........        628          4397    14

                      - DIM  optimize.........        626          4383    18

                      - Renumbering lines.....        493                7485

                    - Loading program - W A I T...

 

 

 

 

   SPEED will also accept some parameters to determine how to optimize the report. SPEED(NOPRT,-XREAD) will turn all print off (NOPRT), but no optimization of the read-function on file 2-9.

 

   All functions in the optimization can be controlled as a parameter. This is only useful if you need to determine how much a simple function can be optimized. The following list gives you the possible parameters for SPEED, the default state and the description of the optimization step.


 

Function

 

UNCOMMENT

 

READ

 

 

 

 

XREAD

 

 

VARUSE

 

MIN

 

 

DIM

 

 

GLOBAL

 

 

SAVED

 

 

GOSUB

 

PROGUSE

 

NOHARD

 

RELATIVE

 

 

FN

 

PRT

 

 

 

TOTAL

 

CONTROL

 

SIZE

 

 

NOTEXT

 

 

NOPRT

 

 

NOIX

 

 

ALL

Active

 

ON  

 

ON

 

 

 

 

ON

 

 

ON

 

ON

 

 

ON

 

 

ON

 

 

ON

 

 

ON

 

ON

 

ON

 

ON

 

 

ON

 

ON

 

 

 

ON

 

ON

 

OFF

 

 

OFF

 

 

OFF

 

 

OFF

 

 

ON

Description

 

All comments will be removed from the program to reduce space and time.

  

Only fields used by report will be read from the files. If the report updates files the WRITE        funcion will be restructured as well. If INSERT is used READ and WRITE will not be restructured, because INSERT requires all fields.

 

 

Read of an external file with READ(XX) only reads the record if the keyvalue changes. If the file is updated, locking will be deactivated for this function.

 

All variables not used by the program will be removed.

 

All field tables will be minimized as much as possible.

 

 

All DIM statements will be grouped in the beginning of the program. The DIM area will then be initialized using CLEAR instead of DEALLO-DIM.

 

All varibles is set to global if possible. Variables that is DEALLOced or DIMensioned several times will not become global.

 

The program is saved optimized with ,D, even if not defined in DMS.RAP.SYS at installation time.

 

 

Empty gosub functions are removed. GOTO refering to another goto-statement is directly changed.

 

All functions or statements not used are removed.

 

The PRT function is removed from all prints.

 

The main file has to be indexed. If indexed the none-indexed function is removed. Use SPEED(-RELATIVE) if main file not indexed.

 

Function definitions are removed if not used.

 

Text fields are assumed to have the right length at print time. RAPGEN deactivates the insertion of spaces after text-fields. Use SPEED(-PRT) if one or more print lines are incorrect.

 

 

All total functions are removed if no totals on report.

 

Advanced printer control function is removed if no @-control sequences are found.

 

Only on 8870. The program is normally saved without size. Use for example SPEED(16) to save with size 16 kb.

 

The report layout can contain text such as headers or letter text. If SPEED(NOTEXT) is used only field can be printed.

 

If SPEED(NOPRT) the print function s totally removed from the program. This is normally used when reports doesn't produce any print at all.

 

If SPEED(NOIX) is used on reports that updates files no index will be updated. Only fields that doesn't refer to an index may be updated.

 

The above described stardard settings are used. If SPEED(-ALL) is used only UNCOMMENT will be performed.

 


24.13.        RAPGEN mini (runtime) version.

 

   RAPGEN can be installed in a mini runtime version where the user is allowed only to start reports already generated. It means that definition, amendment and generating reports aren't possible.

 

   Only 8 programs are needed to install such a mini version. The file definitions aren't needed as well, unless functions like EXPORT are used. Only active functions will be shown in the RAPGEN menu.

 

Figure 47 RAPGEN mini-version.

 

 

                    DMS.RAPGEN

 

 

 

 

                    5 ... DELETE REPORT

 

 

                                                 

                    9 ... START AND GENERATE REPORT

                   10 ... COPY REPORT

                                       

                                                 

                                                       

                 

 

 

                   ENTER CODE:........

 

 

    

   By adding a few more modules print of documentation and display of the report definition function 11-14 will be active.

 

 

Figure 48 Largest mini-version.

 

 

                    DMS.RAPGEN

 

 

 

 

                    5 ... DELETE REPORT

 

 

                    8 ... PRINT OF DEFINITIONS

                    9 ... START AND GENERATE REPORT

                   10 ... COPY REPORT

                   11 ... EDIT DOCUMENTATION

                   12 ... EDIT SELECTIONS

                   13 ... EDIT SORTING AND TOTALLING

                   14 ... EDIT CALCULATIONS

 

 

                   ENTER CODE:........

 

 

 

   The mini version is activated when the file definitions (DMDATAFIL) or the generation module (DMS.RAP.091) is missing. When using the mini-version the following functions will work differently:

 

     Function 5   - delete report - the generated program will not be deleted unless Y is answered.

 

     Function 10  - Copy report   - Also copies the generated program.


 

Modul

DMS.R

DMSE

DMS.RAP

DMS.RAP.09

DMS.RAP.99

DMS.RAP.999

DMS.RAP.Tx

DMS.RAP.TAQ

DMS.RAP.05

DMS.RAP.K

DMS.RAP.K1

DMS.RAP.KTx

DMS.RAP.001

DMS.RAP.04

DMS.RAP.08

DMS.RAP.081

DMS.RAP.082

DMS.RAP.TAM

DMS.RAP.TAMTx

DMS.RAP.INS

DMS.RAP.SYS

DMS.RAP.FIL

DMS.RAP.LU

0/CHSYSTEM

x/XXFILES

x/xxREPORT

x/xx10nn

x/xxT10nn

x/xxSORTWORK

x/xxDATAFIL

 

*************

  A

 17

  2

 28

 25

 31

  4

 44

  4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  2

 73

256

704

 

200

 

 

1390

  B

 17

  2

 28

 25

 31

  4

 44

  4

 22

 

 

 

 

 

 

 

 

 

 

  3

 16

 10

  7

  2

 73

256

704

176

200

 

 

1617

  C

 17

  2

 28

 25

 31

  4

 44

  4

 22

 15

 23

  4

 

 

 

 

 

 

 

  3

 16

 10

  7

  2

 73

256

704

176

200

 

 

1666

  D

 17

  2

 28

 25

 31

  4

 44

  4

 22

 15

 23

  4

  8

 18

 

 

 

 

 

  3

 16

 10

  7

  2

 73

256

704

176

200

 

 

1692

  E

 17

  2

 28

 25

 31

  4

 44

  4

 22

 15

 23

  4

  8

 18

 16

 15

 12

 

 

  3

 16

 10

  7

  2

 73

256

704

176

200

 

 

1735

  F

 17

  2

 28

 25

 31

  4

 44

  4

 22

 15

 23

  4

  8

 18

 16

 15

 12

 23

  8

  3

 16

 10

  7

  2

 73

256

704

176

200

 

 

1766

  G

 17

  2

 28

 25

 31

  4

 44

  4

 22

 15

 23

  4

  8

 18

 16

 15

 12

 23

  8

  3

 16

 10

  7

  2

 73

256

704

176

200

600

 

2369

 

Description

Start program

End   program

Main menu 

Start input parameters

Start segment for a report

End   segment for a report

Textes

Interface to Tamos jobqueue

Delete / copy report

Edit textfile

Edit textfile

Edit program textes

Startmodul other funktions

Startmodul calculations

Documentation

Documentation

Documentation

Insert in Tamos selektor

Insert in Tamos - textes

Installation - controlcodes

Installation - systems

Installation - systems

Installation - set file lu

   1 System

 100 File & index definitions

  44 Repors

  44 Reportprograms     of 16 sectors

  44 Rapportdefinitions of  4 sectors

1000 Sortrecords

  50 Fielddefinitions

 

Total

 

 

     A. Smallest version of RAPGEN. Only function 9 active without installation module.

     B. Copy of reports (from other machines) and deletion of reports.

     C. KEYS function to define start/stop values can also be used.

     D. Function 11-14 can be used to documentation and to view report definition and calculations.

     E. Documenation of definition excluding field descriptions.

     F. Insert in TAMOS selector active.

     G. Special functions as EXPORT can be used in reports.

 

   Due to file open function DMFILES has to be in the system. All field definitions can be excluded.

 

   The total installation of RAPGEN contains 200 programs (2500 blocks) including a lot of small text files with READ-statements for each file installed. The total version will appr. use 5000 blocks.


24.15.        Function 10 - Copying between systems / machines.

 

   To copy between multiple systems created with REPS or machines it is now possible to enter a system number instead of just a report number in function 10. It is also possible to enter a file prefix for an external file.

 

   From reportno.:  7     Copies as normal from report 7

                    NN,7  Copies from the file 0/DMSREP.NN07

 

   To   reportno.:  9     Copies as normal to report 9

                    309   Copies to REPS system 3 report no. 9

                    NN,9  Copies to external file 0/DMSREP.NN09. This file can later on be transfered to another machine.

                    XX,9  Same as NN,9 but minimizes the text file bu removing generated calculations/code.

 

   Copy from another machine can be done by copying the entire reportfile and the generated programs, or just by:

 

     1. Copying the report with function 10. For example report 5 to XX,5

     2. Transfering the textfile 0/DMSREP.XX05 and the generated program DM1005

     3. Copying the report with function 10 from report XX,5 to report 5.

 

   Now you can start the report. Note that prefix XX is recommended to minimize the textfile to be transferred. (When a report has been copied using XX,5 function 4 has to be activated to generate calculations).

 

   This version of RAPGEN the file DMSREP.XX05 is generated as a textfile. In previous versions this file was contigous. This makes it possible to transfer the file with all kinds of modems and emulation software. Also the documentation is included in this text file.

 

 

24.17.        Automatic READ of other files at definition of a report.

 

   When defining a report with function 1 and refering to fields from external files, RAPGEN automatically generates the READ statements needed. When function 1 is ended function 4 is called generating calculations at once.

 

   If automatic connections exists the report can be started at once. Otherwise you have to use function 4/114 to enter the correct keysequence after the generated READ-statements.

 

   The files is of cource read in the correct ordre according to the file definitions.

 

   If the function LINE is used in function 1 a READH(XX) is added for the first external file to shift to another header each time the keyvalue changes.

 

24.19.       Advancing the date functions for year 2000.

 

   RAPGENs date functions has previously worked with 6 digit dates (DDMMYY).

 

   The new functions are able to turn the date correctly, regardless of the form DDMMYY,YYMMDD or YYYYMMDD.

 

   Some new functions are included to turn the date correct disregrading the input form:

 

     FND(date)    = Turn date,  YYMMDD==>DDMMYY,DDMMYY==>YYMMDD,YYYYMMDD==>DDMMYY

 

     FNY(date)    = YYYYMMDD    date is always returned in 8 digit format

 

     FNO(date)    = DDMMYY      date is always returned in 6 digit format

 

     FNA(date)    = day number. Now it accepts DDMMYY,YYMMDD and YYYYMMDD as parameter.

 

     FNB(date)    = DDMMYY      as always

 

     FNC(date)    = YYYYMMDD    as FNB but in 8 digit form


                                                                            Figures

 

Figure 1 TAMOS printerassignment.........................................................................................................................................................   7

Figure 2 The PRINTER command in function 7.......................................................................................................................................   8

Figure 3 Selection of printer by start of report.........................................................................................................................................   8

Figure 4 Inserting control codes by use of function 7............................................................................................................................   9

Figure 5 Control code defined in function 1...........................................................................................................................................   10

Figure 6 Calculation of control codes......................................................................................................................................................   10

Figure 7 Start of DMS.RAPGEN.PRT......................................................................................................................................................   11

Figure 8 First page of the printer code table...........................................................................................................................................   11

Figure 9 2 page of the printer table in octal notation............................................................................................................................   12

Figure 10 Third page of the code table in hexadecimal notation.........................................................................................................   13

Figure 11 Printout of the printer definition table....................................................................................................................................   14

Figure 12 The library list DMS.P.LIB.......................................................................................................................................................   15

Figure 13 Start of the BCU.........................................................................................................................................................................   17

Figure 14 Printout of a PC report..............................................................................................................................................................   17

Figure 15 Starting the report.....................................................................................................................................................................   18

Figure 16 Selection of the PC transmission function............................................................................................................................   18

Figure 17 Start of the PC transmission....................................................................................................................................................   19

Figure 18 The control file DMSPCX06.BAT...........................................................................................................................................   20

Figure 19 The PCC cleaning program......................................................................................................................................................   21

Figure 20 The libr.list DMSPC.LIB...........................................................................................................................................................   22

Figure 21 DMSPC.SYS installation..........................................................................................................................................................   23

Figure 22 The file DMSPC06.BAT...........................................................................................................................................................   23

Figure 23 DMS.RAPGEN.PRT printer control........................................................................................................................................   24

Figure 24 The LINE command...................................................................................................................................................................   27

Figure 25 Opdeling af liste på to printere................................................................................................................................................   33

Figure 26 Letters with journal...................................................................................................................................................................   34

Figure 27 Printing two concurrent lists...................................................................................................................................................   34

Figure 28 PC output with EXPORT..........................................................................................................................................................   37

Figure 29 Export to tape/floppydisc.........................................................................................................................................................   39

Figure 30 EXPOX with index and fielddefinitions..................................................................................................................................   40

Figure 31 The KEYS command.................................................................................................................................................................   44

Figure 32 Entering the start/stop values.................................................................................................................................................   44

Figure 33 Activating the subfunction.....................................................................................................................................................   46

Figure 34 Start of a KEYS report...............................................................................................................................................................   46

Figure 35 Output from TEST("1‑10").......................................................................................................................................................   57

Figure 36 Calculations for creating a new file.........................................................................................................................................   66

Figure 37 The new functions in the menu...............................................................................................................................................   68

Figure 38 Editing of documentation with function 11...........................................................................................................................   69

Figure 39 HLP by calculation editing in function 14.............................................................................................................................   70

Figure 40 Start of report with documentation and data input fields...................................................................................................   71

Figure 41 Editing of selections by use of function 12...........................................................................................................................   72

Figure 42 Editing of sorting and totalling...............................................................................................................................................   73

Figure 43 Editing of calculations with function 14................................................................................................................................   74

Figure 44 The REPS command..................................................................................................................................................................   76

Figure 45 HEAD Individual standardheadings......................................................................................................................................   77

Figure 46 Optimizing during generation..................................................................................................................................................   78

Figure 47 RAPGEN mini-version..............................................................................................................................................................   80

Figure 48 Largest mini-version.................................................................................................................................................................   80

 


                                                                            Keyword index

 


$LPT............................................. 7, 8, 11, 18, 33, 38, 39, 57, 69

+xx...................................................................................... 10, 28

‑xx............................................................................................. 10

#DD.............................................................................. 35, 46, 77

#KA......................................................................................... 77

#NO.......................................................................................... 77

#PD.............................................................................. 32, 46, 77

#PP..................................................................................... 31, 77

#SC........................................................................................... 77

#SN.......................................................................................... 77

#SY........................................................................................... 77

#TI............................................................................................ 77

Account.................................................................................. 17

BASIC.............. 11, 15, 26, 35, 37, 48, 51, 53, 64, 68, 72, 75, 76

BUILD...................................... 16, 37, 41, 52, 56, 60, 63, 66, 67

BUILDXF................................................................................ 56

BYTE.................................................................................. 59, 78

CALL................................................... 35, 49, 55, 57, 67, 68, 75

CHAIN..................................................................................... 35

CHECK........................................................................ 15, 36, 40

Checks............................................................................... 62, 75

CHSYSTEM............................................................................ 81

CLEANUP............................................................................... 21

COMET............................................................................. 17, 55

COPY..................... 11, 15, 18, 32, 35, 36, 39, 65, 67‑69, 71, 72,

                                                                                        75, 80‑82

Core.......................................................................................... 59

Cost.................................................................. 17, 39, 46, 57, 70

DATAMASTER................................ 35, 41, 60, 62, 64, 66, 67

DEF.................................................................................... 44, 45

DIM.................................................................................... 78, 79

DL............................................................................................. 32

DMDATAFIL......................................................................... 80

DMFILES.......................................................................... 67, 81

DMREAD.......................................................................... 60, 64

DMS.RAPGEN.SYS................................................................. 7

DMSORTWORK................................................................... 56

DRN......................................................................................... 77

ESCape.................................................................................... 22

export...................... 16, 17, 19‑22, 25, 37‑43, 54, 55, 57, 80, 81

fil......................................................................................... 42, 81

FNA......................................................................................... 82

FNB.......................................................................................... 82

FND.................................................................................... 72, 82

FNR.................................................................................... 55, 75

FNV.......................................................................................... 59

Format.................... 16, 22, 25, 32, 37, 39, 43, 48, 54, 68, 74, 82

GOSUB.............................................................................. 75, 79

GOTO........................................................................... 74, 75, 79

HBA............................................................................. 15, 21, 22

HELP........................................................................................ 68

IBM.......................................................................................... 39

IL.............................................................................................. 32

INDEX...................... 8, 18, 40, 41, 44‑46, 53, 56, 60‑67, 71, 79,

                                                                                             81, 84

Interval.................................................................................... 47

IPL............................................................................................ 15

JOBQUEUE........................................................... 16, 18, 19, 81

KB................................................................................ 51, 74, 79

KEY        26, 29, 32, 35, 38, 39, 44, 46, 47, 54, 62‑64, 67,

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

                                                                                                      

               

                                                                                             69, 73

Labels................................................................................ 63, 75

LANGUAGE........................................................................... 76

Layout................................. 9, 26, 27, 34, 37, 39, 41, 43, 49, 79

LEN.......................................................................................... 39

LIBRARY................................................................................ 15

LINK........................................................................................ 17

LOAD..................................................................... 35‑37, 52, 59

LU....................................... 15, 19, 21‑23, 38, 42, 44, 47, 66, 81

MODE................................................................................ 68, 70

Modulus............................................................................ 35, 36

NIROS................................................ 6, 9, 12, 15, 17, 26, 59, 76

NOT........................ 6, 7, 9, 10, 12, 13, 15, 17, 20‑23, 25‑30, 35,

                                                         36, 40‑44, 46, 48, 49, 51, 53,

                                                                 55‑64, 66‑69, 72, 74‑80

Ocr............................................................................................ 36

OPTIMIZE.................................................................. 28, 55, 78

over................................................................... 26, 28‑31, 75, 78

PACK................................................................................. 54, 67

Packing.................................................................................... 54

PAGELENGTH......................................................................... 6

PARTITION............................................................................ 74

Pass.......................................................................................... 74

Password......................................................... 35, 53, 60, 61, 66

PHANTOM....................................................... 8, 17, 18, 46, 71

PORT......................................................................... 7, 8, 19, 23

POS............................................................................ 8, 9, 18, 27

PREFIX.................................................................. 47, 67, 76, 82

PRINTER..................... 6‑9, 11‑16, 18‑20, 23‑26, 28, 32‑34, 36,

                                                   38, 39, 46, 54, 55, 57, 63, 71, 79

Protection................................................................................ 60

PRT   ................................................................................. 24, 79

PUT   ....................................................................................... 32

QUICK..................................................................................... 72

RAP.................................................................. 54, 76, 77, 79‑81

REM................................................................................... 74, 77

REPEAT................................................................ 30, 31, 74, 75

RETURN.............................................. 19, 32, 45, 55, 58, 70, 75

SAVE................................................................................. 33, 79

SCOPE............................................................................... 11, 23

SCREENS............................................................................ 6, 21

Search................................................................................ 41, 66

SELECTOR............ 11, 15, 17, 18, 21‑23, 61, 66, 67, 76, 77, 81

SIZE............................................................................. 55, 59, 79

SORT................................................... 35, 51, 56, 61, 63, 68, 73

SORTWORK.......................................................................... 56

STAR....................................................................................... 56

Status....................................................................................... 22

STOP............................... 8, 17‑19, 23, 35, 44‑47, 68, 69, 71, 81

SUBSYSTEM.......................................................................... 67

Subtotal................................................................................... 73

SUFFIX.............................................................................. 25, 66

SYSTEM..................... 6, 7, 9, 12, 17, 19, 21‑23, 33, 35, 36, 38,

                                                    54, 55, 63, 66, 68, 75‑78, 81, 82

T2$........................................................................................... 35

T3............................................................................................. 35

TAMOS.................... 6, 7, 11, 12, 15, 16, 36, 53, 61, 66, 67, 76,

                                                                                             77, 81

TEST............................................................................ 57, 60, 63

Testprint............................................................ 8, 12, 18, 57, 71

TF.PARAM............................................................................ 32

TOP        29, 55

UNPACK........................................................................... 54, 57

WRITE................... 35, 41, 45, 48, 53, 57, 60‑64, 66, 71, 75, 79

XXDATAFIL.......................................................................... 81

XXFILES................................................................................. 81

XXREPORT............................................................................ 81

ZERO.................................. 27, 28, 31, 37, 40, 48‑50, 59, 61, 62