



.















            @@@@@  @   @  @@@@@         @@@@   @@@@
              @    @@  @  @             @   @  @   @
              @    @@  @  @             @   @  @   @
              @    @ @ @  @  @@         @   @  @@@@
              @    @  @@  @   @         @   @  @   @
              @    @  @@  @   @         @   @  @   @
            @@@@@  @   @   @@@@  @@@@@  @@@@   @@@@


                      V E R S I O N   6 . 3


                            8.3 1990





                       KONVERTIERUNGSPAKET

                             REDABAS
                             -------
                             ING_DB


                         Joerg Wenzlaff

























     ING_DB 6.3/4                 3.10.89          EINLEITUNG(REDABAS)



     Uebersicht
          Das ING_DB 6.3 Konvertierungspaket  zu  REDABAS  (down-load-
          component)  besteht  aus  der formalen Datenbankverbindungs-
          sprache (CL = Connection Language) und den  Programmen  CDB,
          DB, RDB und WDB.
          Bei allen  Programmen  wird  vorausgesetzt,  dass  sich  die
          REDABAS  Datenbank  in  dem MUTOS Filesystem befindet.  Fuer
          den physischen (off-line) Transport werden die Programme DCP
          und SCP bereitgestellt, die DCP- und. SCP-Datentraeger lesen
          bzw. schreiben koennen.  Bei dem  Transport  ist  darauf  zu
          achten,  dass  die  REDABAS  Datenbanken  binaer uebertragen
          werden.  Mit  dem  Konvertierungspaket  koennen  REDABAS  2,
          REDABAS 3 und REDABAS 4 Datenbanken bearbeitet werden.

          Die folgenden Anstriche geben eine  alphabetische  Zusammen-
          fassung ueber die einzelenen Teile dieser Dokumentation.

     BEISPIEL
          In diesem Dokumentationsteil wird ein Beispiel  vorgestellt,
          dass in der gesamten Dokumentation verwendet wird.

     CDB
          cdb ist ein Programm zur Erstellung der  ING_DB  6.3  Daten-
          bankstruktur auf der Basis eines gegebenen DBI-files.

     CL
          Die CL ist eine zeilenorientierte Sprache, die die  komplexe
          Zuordnung  von  REDABAS  Datenbankdefinitionen zu ING_DB 6.3
          Relationenschemas vornimmt.

     DB
          db2, db3 erstellt zu einer existierenden  REDABAS  Datenbank
          das  Textfile  DBI  (Data  Bases  Interface) in CL mit einer
          vollstaendigen Zuordnung der REDABAS Datenbank zu ING_DB 6.3
          Relationen.  Das Programm kann zusaetzlich zum Auslisten der
          REDABAS Datenbank verwendet werden.  Es koennen

          -       die REDABAS Datenbankbeschreibung
          -       die REDABAS Felddefinitionen
          -       die REDABAS Datensaetze

          ausgegeben werden.
          db2 verarbeitet REDABAS 2 Datenbanken,  db3  REDABAS  3  und
          REDABAS 4 Datenbanken.

     DCP
          dcp liest/schreibt Dateien (files) von/auf DCP-Datentraeger.






                                   - 1 -








     ING_DB 6.3/4                 3.10.89          EINLEITUNG(REDABAS)


     RDB
          rdb2, rdb3 liest auf der  Basis  eines  gegebenen  DBI-files
          eine  REDABAS  Datenbank,  konvertiert  die  Datensaetze und
          speichert sie in 1 bis 5 ING_DB 6.3 Relationen ab.

                                            +--------+
               REDABAS                      | record |
                                            +--------+
                 |                           // || \\
                 |                         //   ||   \\
               split                     //     ||     \\
                 |                     //       ||       \\
                 v                   //         ||         \\
                             +--------+     +--------+     +--------+
               ING_DB 6.3     | tuple1 | ... | tuple3 | ... | tuple5 |
                             +--------+     +--------+     +--------+


          Das Splitten von REDABAS Datensaetzen kann aus drei Gruenden
          angebracht sein:

          -       ING_DB 6.3  unterstuetzt  in  den  16-bit  Versionen
                  geringere Satzlaengen als REDABAS 3/4

          -       ING_DB 6.3  unterstuetzt  in  den  16-bit  Versionen
                  weniger Felder als REDABAS 3/4

          -       Aufgrund der geringen  Geschwindigkeit  von  REDABAS
                  bei  der  Arbeit  mit  mehreren Datenbanken, sind es
                  REDABAS Programmierer  gewohnt,  mehrere  inhaltlich
                  getrennte Datenbanken in eine zu packen.

          rdb2 verarbeitet REDABAS 2 Datenbanken, rdb3 REDABAS  3  und
          REDABAS 4 Datenbanken.

     WDB
          wdb2, wdb3 liest auf der Basis eines gegebenen DBI-files aus
          1  bis  5 ING_DB 6.3 Relationen, konvertiert die Datensaetze
          und speichert sie in eine REDABAS Datenbank.

                             +--------+     +--------+     +--------+
               ING_DB 6.3     | tuple1 | ... | tuple3 | ... | tuple5 |
                             +--------+     +--------+     +--------+
                 |                   \\         ||         //
                 |                     \\       ||       //
               join                      \\     ||     //
                 |                         \\   ||   //
                 v                           \\ || //
                                            +--------+
               REDABAS                      | record |
                                            +--------+



                                   - 2 -








     ING_DB 6.3/4                 3.10.89          EINLEITUNG(REDABAS)



          wdb2 verarbeitet REDABAS 2 Datenbanken, wdb3 REDABAS  3  und
          REDABAS 4 Datenbanken.

     SCP
          scp liest/schreibt Dateien (files) von/auf SCP-Datentraeger.
















































                                   - 3 -








     ING_DB 6.3/4                 3.10.89            BEISPIEL(REDABAS)


          Alle Erlaeuterungen beziehen sich auf die Relation  personal
          der ING_DB 6.3 Datenbank redabas mit folgender Struktur:

                 Relation:               personal
                 ---------
                 Besitzer:               ing_db
                 Domaenanzahl:           4
                 Tupellaenge:            27
                 Tupelanzahl:            7

                  Nummer Domaenname        Typ   Laenge  Schluessel
                 ---------------------------------------------------
                     1   rec_no              i       4
                     2   rec_mark            c       1
                     3   num                 i       2
                     4   name                c      20
                 ---------------------------------------------------

          und folgenden Daten:

                 Relation: personal

                 |rec_no     |rec_mark   |num   |name                |
                 |---------------------------------------------------|
                 |          1|           |    35|Loda, Dieter        |
                 |          2|           |    55|Malter, Juergen     |
                 |          3|           |    98|Weise, Juergen      |
                 |          4|           |    32|Heine, Rolf         |
                 |          5|           |    33|Ernst, Eva          |
                 |          6|           |    37|Neumann, Inge       |
                 |          7|           |    10|Rose, Peter         |
                 |---------------------------------------------------|

          Die Domaene rec_no ist  vergleichbar  der  in  REDABAS  ver-
          fuegbaren  Satznummer.   Die  Domaene  rec_mark  stellt  die
          REDABAS Loeschmarkierung dar.  Die Domaene num ist die Ange-
          stelltennummer  und  die  Domaene name der Angestelltenname.
          Die Relation personal ist bewusst einfach gehalten, um  alle
          Beispiele uebersichtlich und praegnant zu halten.















                                   - 1 -








     ING_DB 6.3/4                 3.10.89            BEISPIEL(REDABAS)


          Zu der Beispielrelation personal der  ING_DB  6.3  Datenbank
          redabas  wurde  das  folgende  DBI-file  dbi mit einem MUTOS
          Texteditor in CL erstellt, die Zeilennummerierung ist  nicht
          Bestandteil des DBI-Textfiles:

             1   : command  part before conversion
             2
             3   : REDABAS 2 part
             4
             5   2        pers.dbd
             6
             7   F          0     #               I4
             8   F          1     *               C1
             9   F          2     NUM             N5
            10   F          3     NAME            C20
            11
            12   : ing_db 16.3/4 part
            13
            14   I        redabas
            15
            16   : relation personal part
            17   T        personal
            18
            19   D          1     rec_no          i4
            20   D          2     rec_mark        c1
            21   D          3     num             i2
            22   D          4     name            c20
            23
            24   @          0       1
            25   @          1       2
            26   @          2       3
            27   @          3       4
            28
            29   : command  part after  conversion

          Mit diesem DBI-file wurde die REDABAS 2  Datenbank  pers.dbd
          erstellt.

















                                   - 2 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)



     UEBERSICHT
          Die Abbildung von  REDABAS  Datenbanken  auf  Relationen  in
          ING_DB  6.3 Datenbanken und umgekehrt wird formal  durch die
          Datenbankverbindungssprache   CL    (Connection    Language)
          definiert.   Die  CL  Syntax  ist  einfach  und  schnell  zu
          erlernen.  Die Datenbankverbindungssprache CL ist eine  zei-
          lenorientierte  Sprache,  die  formal  (Syntax) und informal
          (Semantik) eingefuehrt wird.
          CL Programme werden in DBI (Data Bases Interface)  Textfiles
          abgelegt, die interpretierend von CDB(REDABAS), RDB(REDABAS)
          und WDB(REDABAS) abgearbeitet werden.
          DBI-Textfiles koennen mit einem  MUTOS  Texteditor  erstellt
          bzw.  geaendert werden.  Bei der Erstellung kann DB(REDABAS)
          eine zeitersparende Hilfe sein.

     SYNTAX
          Die formale Beschreibung erfolgt in  Form  von  Regeln  (R).
          Die  rechte  Seite  der  Regel gibt den Regelname an und die
          linke Seite die Regelaufloesung.  Beide Seiten werden  durch
          das  Zeichen  : getrennt.  Regelnamen werden immer mit klei-
          nen, nicht weiter aufgeloeste Konstanten immer  mit  grossen
          Buchstaben geschrieben.  Alle Regeln (und Alternativen) wer-
          den durchnummeriert, um einfache Bezuege herstellen zu koen-
          nen.

          (R 1)   CL           : {line}

          R1 besagt, dass die CL aus einer nicht leeren Menge ({}) von
          Zeilen  (line) besteht.  Die geschweiften Klammern sind syn-
          taktische Metasymbole, die eine 1 bis n-malige  Wiederholung
          angeben.  Der Name line ist ein Regelname, also durch weite-
          re Regeln noch aufzuloesen.

          (R 2)   line         : NL
          (R 3)                | dbi_line

          Eine Zeile kann leer sein (R2: nur aus dem Zeichen NL beste-
          hend;  NL  ist  eine  Konstante,  die  das Zeilenendezeichen
          (newline) repraesentiert)  oder  eine  Schnittstellendefini-
          tionszeile  (R3: dbi_line) sein.  Die Alternative wird durch
          das syntaktische Metazeichen | am Anfang von R3 dargestellt.
          Leerzeilen  koennen  ueberall  stehen und sollen daher nicht
          weiter  betrachtet  werden.   Schnittstellendefinitioszeilen
          werden  der  Einfachheit halber im folgendem Zeilen genannt.
          Alle Zeilen haben einen  allgemeinen  Aufbau.   Sie  duerfen
          maximal 255 Zeichen lang sein und beginnen mit einem Zeilen-
          kennzeichen gefolgt von einer Menge von Feldern,  die  durch
          einen Seperator (sep) voneinander getrennt sind.





                                   - 1 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)


          (R 4)   sep          : {space}
          (R 5)   space        : TAB | BLANK

          Ein Seperator kann aus vielen (R4) Tabulatoren oder Leerzei-
          chen (R5) in beliebiger Reihenfolge gebildet werden.

          Es werden 8 verschiedene Zeilentypen unterschieden:

          (R 6)   dbi_line     : comment_line
          (R 7)                | dbd_line
          (R 8)                | field_line
          (R 9)                | db_line
          (R10)                | tab_line
          (R11)                | dom_line
          (R12)                | ref_line
          (R13)                | cmd_line

          (R14)   comment_line : ':' sep COMMENT NL

          Die Konstante ':' stellt das Zeichen : dar, sie ist das Zei-
          lenkennzeichen  der Kommentarzeile (R14: comment_line).  Die
          Konstante COMMENT  ist  ein  beliebiger  Kommentartext,  der
          durch den Seperator sep vom Zeilenkennzeichen zu trennen ist
          und durch das Zeilenendezeichen NL beendet wird.  Kommentar-
          zeilen koennen ueberall stehen und sollen daher nicht weiter
          betrachtet werden.

          (R15)   dbd_line     : '2' | '3' sep DBD_NAME NL

          Eine REDABAS Datenbankzeile (R15: dbd_line) wird  durch  die
          REDABAS Versionsnummer (2 fuer REDABAS 2 bzw. 3 fuer REDABAS
          3/4) als Zeilenkennzeichen eingeleitet, sie hat ein Feld.
          Das Feld DBD_NAME ist der MUTOS Filename der REDABAS  Daten-
          bank.

          Die  angegebene  Datenbank  muss  zur  Abarbeitungszeit  von
          DB(REDABAS) und RDB(REDABAS) im MUTOS Filesystem existieren.

          (R16)   field_line   : 'F' sep F_NO sep F_NAME sep F_TYP
                                    [sep F_DEC] NL

          Eine (REDABAS) Feldzeile (R16: field_line)  wird  durch  das
          Zeilenkennzeichen F eingeleitet, sie hat 3 oder 4 Felder.
          Das Feld F_NO ist die Nummer des REDABAS  Feldes,  sie  darf
          zwischen 0 .. Feldanzahl-1 der Datenbank liegen.
          Das Feld F_NAME ist der Name des REDABAS Feldes, er darf aus
          dem  Zeichensatz  [A-Z:0-9]  gebildet  werden und maximal 10
          Zeichen lang sein.
          Das  Feld  F_TYP  ist  die  Typ-/Laengenangabe  des  REDABAS
          Feldes.
          Das Feld F_DEC ist die Anzahl der Dezimalstellen des REDABAS
          Feldes.   Ist F_DEC==0, kann die Angabe des Feldes entfallen


                                   - 2 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)


          (die Metazeichen [] geben die wahlweise Verwendung der  syn-
          taktischen Konstruktion an).

          Folgende Werte fuer F_TYP und F_DEC sind zulaessig:

                  F_TYP   F_DEC
                  -------------------------------------------
                  Cl      0       0 < l < 255
                  D8      0
                  I4      0       nur fuer REDABAS Satznummer
                  L1      0
                  M10     0       nur REDABAS 3/4
                  Nl      d       0 <= d < l < 21

          Das Feld F_NO==0 ist die REDABAS Satznummer,  ein  Feld  das
          weder  im  REDABAS Datensatz noch in den REDABAS Felddefini-
          tionen erscheint.  Dieses Feld muss den Namen F_NAME==#  und
          den internen Datentyp F_TYP==I4 (32-bit Integer) erhalten.
          Das Feld F_NO==1 ist die REDABAS Loeschmarkierung, ein  Feld
          das  im REDABAS Datensatz, nicht aber in den REDABAS Feldde-
          finitionen erscheint.  Dieses Feld muss den Namen  F_NAME==*
          und den Datentyp F_TYP==C1 erhalten.
          Beide Felder sind imaginaere  Felder,  die  aber  in  beiden
          Richtungen  uebernommen  werden  koennen.   Die eigentlichen
          REDABAS Felder beginnen also mit der Nummer F_NO==2.

          Das  angegebene   Feld   muss   zur   Abarbeitungszeit   von
          DB(REDABAS)  und  RDB(REDABAS)  in der REDABAS Datenbank mit
          den gleichen Werten fuer F_NO, F_TYP und F_DEC existieren.

          (R17)   db_line      : 'I' sep DB_NAME NL

          Eine ING_DB 6.3 Datenbankzeile (R17: db_line) wird durch das
          Zeilenkennzeichen I eingeleitet, sie hat ein Feld.
          Das Feld DB_NAME ist der Name der ING_DB 6.3  Datenbank,  er
          darf  aus  dem  Zeichensatz  [a-z_0-9]  gebildet  werden und
          maximal 12 Zeichen lang sein.

          Die  angegebene  Datenbank  muss  zur  Abarbeitungszeit  von
          CDB(REDABAS),  RDB(REDABAS)  und  WDB(REDABAS) im ING_DB 6.3
          System existieren.

          (R18)   tab_line     : 'T' sep TAB_NAME NL

          Eine (ING_DB 6.3) Tabellenzeile (R18: tab_line)  wird  durch
          das Zeilenkennzeichen T eingeleitet, sie hat ein Feld.
          Das Feld TAB_NAME ist der Name der ING_DB 6.3 Tabelle (Rela-
          tion), er darf aus dem Zeichensatz [a-z_0-9] gebildet werden
          und maximal 12 Zeichen lang sein.





                                   - 3 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)


          Die  angegebene  Relation  muss  zur  Abarbeitungszeit   von
          RDB(REDABAS)  und  WDB(REDABAS)  in der ING_DB 6.3 Datenbank
          existieren.

          (R19)   dom_line     : 'D' sep D_NO sep D_NAME sep D_TYP NL

          Eine (ING_DB 6.3) Domaenzeile (R19: dom_line) wird durch das
          Zeilenkennzeichen D eingeleitet, sie hat 3 Felder.
          Das Feld D_NO ist die Nummer der  ING_DB  6.3  Domaene,  sie
          darf zwischen 1 .. Domaenanzahl der Relation liegen.
          Das Feld D_NAME ist der Name der ING_DB 6.3 Domaene, er darf
          aus dem Zeichensatz [a-z_0-9] gebildet werden und maximal 12
          Zeichen lang sein.
          Das Feld D_TYP ist die  Typ-/Laengenangabe  der  ING_DB  6.3
          Domaene.

          Folgende Werte fuer D_TYP sind zulaessig:

                  D_TYP
                  -------------------------------------------
                  cn      0 < n < 256
                  fn      n==4 || n==8
                  in      n==1 || n==2 || n==4

          Die  angegebene  Domaene  muss  zur   Abarbeitungszeit   von
          RDB(REDABAS) und WDB(REDABAS) in der ING_DB 6.3 Relation mit
          den gleichen Werten fuer D_NO und D_TYP existieren.

          (R20)   ref_line     : '@' sep F_NO sep D_NO NL

          Eine Zuordnungszeile (R20: ref_line) wird durch das  Zeilen-
          kennzeichen @ eingeleitet, sie hat 2 Felder.
          Das Feld F_NO ist die Nummer des REDABAS  Feldes,  sie  darf
          zwischen 0 .. Feldanzahl-1 der Datenbank liegen.
          Das Feld D_NO ist die Nummer der  ING_DB  6.3  Domaene,  sie
          darf zwischen 1 .. Domaenanzahl der Relation liegen.
          Die  Zuordnungszeile  definiert,  welches  REDABAS  Feld  in
          welche ING_DB 6.3 Domaene geladen werden soll und umgekehrt.
          Hinter den REDABAS Feldern und ING_DB 6.3 Domaenen verbergen
          sich  Werte,  die umgeladen werden sollen.  Diese Werte sind
          allgemein  als  Typen  (F_TYP/F_DEC  und  D_TYP)  definiert,
          Folgende Typzuordnungen werden unterstuetzt:

                  REDABAS                   ING_DB 6.3
                  ----------------------------------------------------
                  Cl   (0 < l < 255)        cn (0 < n < 256)
                  D                         c8
                  L                         c1
                  Nl.d (0 <= d < l < 21)    i1 || i2 || i4 || f4 || f8
                  M    (nur REDABAS 3/4)    keine Zuordnung moeglich
                  I4 (Satznummer)           i4
                  C1 (Loeschmarkierung)     c1


                                   - 4 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)



          Bei der Zuordnung von REDABAS Feldern zu ING_DB 6.3 Domaenen
          gilt,  dass  jeweils  nur  ein Feld einer Domaene zugewiesen
          werden kann.

          (R21)   cmd_line     : 'R' sep COMMAND NL
          (R22)                | 'W' sep COMMAND NL

          Eine Kommandozeile (R21|R22: cmd_line) wird  entweder  durch
          das Zeilenkennzeichen R oder W eingeleitet, sie hat 1 Feld.
          Das Feld COMMAND ist der Kommandotext,  des  auszufuehrenden
          Kommandos.
          Die R-Kommandozeilen (R21) werden durch RDB(REDABAS) und die
          W-Kommandozeilen (R22) durch WDB(REDABAS) ausgefuehrt.

     SEMANTIK
          Die bisherige Syntax muss um die Regeln der Reihenfolge  der
          verschiedenen Zeilen erweitert werden.
          Die informale Beschreibung erfolgt in Form von Regeln (S).
          Wie schon bekannt, koennen Leer- und Kommentarzeilen an  al-
          len  Stellen  des DBI-Textfiles eingefuegt werden, wo Zeilen
          stehen duerfen.  Sie sollen bei der Darstellung  der  seman-
          tischen Regeln nicht mehr erwaehnt werden.

          (S 1)   DBI          : [before] redabas ing_db [after]

          Ein DBI-Text gliedert sich in 4 Abschnitte:
                  before  Kommandoteil vor der Konvertierung (S2)
                  redabas REDABAS Datenbankteil (S3)
                  ing_db  ING_DB 6.3 Datenbankteil (S5)
                  after   Kommandoteil nach der Konvertierung (S9)
          Die Kommandoteile vor bzw. nach der Konvertierung sind wahl-
          weise, d.h. sie koennen entfallen.

          (S 2)   before       : {cmd_line}

          Der Kommandoteil vor der Konvertierung besteht aus einer be-
          liebigen  Menge von R-Kommandozeilen (R21) bzw.  W-Kommando-
          zeilen (R22).
          Die R-Kommandozeilen (R21) werden durch RDB(REDABAS) und die
          W-Kommandozeilen  (R22) durch WDB(REDABAS) ausgefuehrt.  Ein
          Kommando kann ein Programm mit Argumenten oder  eine  shell-
          Prozedur mit Argumenten sein.
          In DB(REDABAS) sind Beispiele zur Verwendung  des  Kommando-
          teils angegeben.

          (S 3)   redabas      : dbd_line fields

          Der  REDABAS  Datenbankteil  beschreibt   vollstaendig   die
          REDABAS  Datenbank.   Sie wird durch eine REDABAS Datenbank-
          zeile  (R15:  dbd_line)  und  den  Feldteil   (S4:   fields)
          definiert.


                                   - 5 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)


          (S 4)   fields     : {field_line}

          Die REDABAS Felder werden durch eine  Menge  von  Feldzeilen
          (R16: field_line) definiert.

          (S 5)   ing_db         : db_line {relation}

          Der ING_DB 6.3  Datenbankteil  beschreibt  vollstaendig  die
          ING_DB 6.3 Datenbank.  Sie wird durch eine ING_DB 6.3 Daten-
          bankzeile (R17: db_line) und eine Menge von (ING_DB 6.3) Ta-
          bellenteilen  (S6:  relation) definiert.  Jeder Tabellenteil
          beschreibt genau eine ING_DB 6.3 Relation.  Es sind  maximal
          5 Tabellenteile zulaessig.

          (S 6)   relation     : tab_line doms refs

          Der (ING_DB 6.3) Tabellenteil beschreibt  vollstaendig  eine
          ING_DB  6.3  Relation.   Sie  wird  durch eine Tabellenzeile
          (R18:  tab_line),   den   Domaenteil(S7:   doms)   und   den
          Zuordnungsteil (S8: refs) definiert.

          (S 7)   doms         : {dom_line}

          Die  ING_DB  6.3  Domaenen  werden  durch  eine  Menge   von
          Domaenzeilen (R19: dom_line) definiert.

          (S 8)   refs         : {ref_line}

          Die Zuordnungen werden durch eine Menge von Zuordnungszeilen
          (R20: ref_line) definiert.

          (S 9)   after        : {cmd_line}

          Der Kommandoteil nach der Konvertierung  besteht  aus  einer
          beliebigen  Menge von R-Kommandozeilen (R21) bzw.  W-Komman-
          dozeilen (R22).
          Die R-Kommandozeilen (R21) werden durch RDB(REDABAS) und die
          W-Kommandozeilen  (R22) durch WDB(REDABAS) ausgefuehrt.  Ein
          Kommando kann ein Programm mit Argumenten oder  eine  shell-
          Prozedur mit Argumenten sein.
          In DB(REDABAS) sind Beispiele zur Verwendung  des  Kommando-
          teils angegeben.












                                   - 6 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)



     BEISPIEL
          Folgender DBI-Text soll die syntaktischen  und  semantischen
          Regeln erlaeutern.

           1   R echo START REDABAS 2 ==> ING_DB 6.3
           2   W echo START ING_DB 6.3 ==> REDABAS 2
           3   2   pers.dbd
           4   F       0       #       I4
           5   F       1       *       C1
           6   F       2       NUM     N5
           7   F       3       NAME    C20
           8   I   redabas
           9   T     personal
          10   D       1       num     i2
          11   D       2       name    c20
          12   @       2       1
          13   @       3       2
          14   R echo ENDE REDABAS 2 ==> ING_DB 6.3
          15   W echo ENDE ING_DB 6.3 ==> REDABAS 2

          Folgend   sollen   alle   Zeilen   den   syntaktischen   und
          semantischen Regeln zugeordnet werden:

          Zeile  1-15 (S1) DBI-text

          Zeile  1- 2 (S2) Kommandoteil vor der Konvertierung

          Zeile     1 (R21) Kommando fuer RDB(REDABAS),
                      gibt den Text "START REDABAS 2 ==>  ING_DB  6.3"
                      nach dem Start der Konvertierung aus.
          Zeile     2 (R22) Kommando fuer WDB(REDABAS),
                      gibt den Text "START ING_DB 6.3 ==>  REDABAS  2"
                      nach dem Start der Konvertierung aus.

          Zeile  3- 7 (S3) REDABAS Datenbankteil

          Zeile     3 (R15) REDABAS Datenbankzeile, fuer  die  REDABAS
                      Datenbank,  die  sich in dem MUTOS file pers.dbd
                      befindet.

          Zeile  4- 7 (S4) Feldteil

          Zeile     4 (R16) Feldzeile, fuer das Feld 0/# mit  dem  Typ
                      I4 (REDABAS Satznummer).
          Zeile     5 (R16) Feldzeile, fuer das Feld 1/* mit  dem  Typ
                      C1 (REDABAS L*oschmarkierung).
          Zeile     6 (R16) Feldzeile, fuer das Feld 2/NUM mit dem Typ
                      N5 (Angestelltennummer).
          Zeile     7 (R16) Feldzeile, fuer das Feld  3/NAME  mit  dem
                      Typ C20 (Angestelltenname).



                                   - 7 -








     ING_DB 6.3/4                 3.10.89                  CL(REDABAS)


          Zeile  8-13 (S5) ING_DB 6.3 Datenbankteil

          Zeile     8 (R17) ING_DB 6.3 Datenbankzeile, waehlt die  Da-
                      tenbank redabas aus.

          Zeile  9-13 (S6) Tabellenteil

          Zeile     9 (R18) Tabellenzeile fuer die  Relation  personal
                      der Datenbank redabas.

          Zeile 10-11 (S7) Domaenteil

          Zeile    10 (R19) Domaenzeile, fuer die  Domaene  1/num  mit
                      dem Typ i2 (Angestelltennummer).
          Zeile    11 (R19) Domaenzeile, fuer die Domaene  2/name  mit
                      dem Typ c20 (Angestelltenname).

          Zeile 12-13 (S8) Zuordnungsteil

          Zeile    12 (R20) Zuordnungszeile,  korreliert  das  Feld  2
                      (NUM/N5) mit der ING_DB 6.3 Domaene 1 (num/i2).
          Zeile    13 (R20) Zuordnungszeile,  korreliert  das  Feld  3
                      (NAME/C20)   mit   der   ING_DB  6.3  Domaene  2
                      (name/c20).

          Zeile 14-15 (S9) Kommandoteil nach der Konvertierung

          Zeile    14 (R21) Kommando fuer RDB(REDABAS),
                      gibt den Text "ENDE REDABAS 2  ==>  ING_DB  6.3"
                      nach dem Ende der Konvertierung aus.
          Zeile    15 (R22) Kommando fuer WDB(REDABAS),
                      gibt den Text "ENDE ING_DB 6.3  ==>  REDABAS  2"
                      nach dem Ende der Konvertierung aus.





















                                   - 8 -








     ING_DB 6.3/4                 3.10.89                 CDB(REDABAS)



     AUFRUF
          cdb d_b d_b_i

     ARGUMENTE
          d_b     Name der ING_DB 6.3 Datenbank
          d_b_i   MUTOS-file-name des DBI-files

     FUNKTION
          cdb ist ein Programm zur Erstellung der  ING_DB  6.3  Daten-
          bankstruktur auf der Basis eines gegebenen DBI-files.
          Durch cdb wird fuer jede in d_b_i  enthaltene  Relation  rel
          die Kommandofolge:

          -       destroyr d_b rel

          -       creater d_b rel  . . .

          ausgefuehrt.  Bei der Konvertierung REDABAS  zu  ING_DB  6.3
          sind zwei verschieden Wege zu unterstuetzen:

          1)      Neuerstellung  der  ING_DB  6.3  Relation  aus   der
                  REDABAS Datenbank

          2)      Erweiterung existierender ING_DB 6.3  Relationen  um
                  die Daten der REDABAS Datenbank

          Aus diesem Grund werden die ING_DB 6.3 Relationen nicht  bei
          der Konvertierung automatisch angelegt, sondern sind im Vor-
          feld mit cdb zu erzeugen.  Die Erzeugung kann  in  die  Aus-
          fuehrungszeit  der  Konvertierung  verlagert und damit auto-
          matisiert werden (siehe dazu CL(REDABAS)).
          Ob die Anzahl der Domaenen und die Tupellaenge im Sinne  von
          ING_DB  6.3  korrekt  sind, wird nur bei der Ausfuehrung von
          cdb ueberprueft.

     FEHLER
          DBI-file-name fehlt
                  das zweite Argument d_b_i wurde nicht mit angegeben

          Datenbankfehler
                  siehe CREATER(MUTOS), DESTROYR(MUTOS)












                                   - 1 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)



     AUFRUF
          db2 [flags] d_b_i d_b_d d_b {r_e_l}
          db3 [flags] d_b_i d_b_d d_b {r_e_l}

     FLAGS
     -f   Ausgabe der  REDABAS Felddefinitionen (fields)

          Die Ausfuehrung des Kommandos
          %       db2 -f dbi pers.dbd redabas personal
          wuerde folgende Ausgabe erzeugen:

          --- no --- off --- field --- type --- length --- dec ---
          |    0       0     #            I          4
          |    1       0     *            C          1
          |    2       1     NUM          N          5
          |    3       6     NAME         C         20
          --------------------------------------------------------

          Es bedeuten:
          no                  Feldnummer
          off                 Offset des Feldes im REDABAS Datensatz
          field               Feldname
          type                Feldtyp
          length              Feldlaenge
          dec                 Anzahl der Dezimalstellen (nur bei Feld-
                              typ N)

          Das Feld # mit der Nummer 0 ist die REDABAS Satznummer,  ein
          Feld  das  weder  im  REDABAS  Datensatz noch in den REDABAS
          Feldbeschreibungen erscheint.  Fuer dieses Feld wird der in-
          terne  Datentyp  I4 (32-bit Integer) vorgegeben.  Das Feld *
          mit der Nummer 1 ist die REDABAS Loeschmarkierung, ein  Feld
          das  im REDABAS Datensatz, nicht aber in den REDABAS Feldbe-
          schreibungen erscheint.  Fuer dieses Feld wird der  Datentyp
          C1  vorgegeben.   Beide  Felder  sind imaginaere Felder, die
          aber in beiden Richtungen uebernommen werden koennen.

     -h   Ausgabe der REDABAS Datenbankdefinitionen (header)

          Die Ausfuehrung des Kommandos
          %       db2 -h dbi pers.dbd redabas personal
          wuerde folgende Ausgabe erzeugen:

          ---- REDABAS -- 2 ----
          | database from file |pers.dbd
          | length of header   |521
          | number of records  |7
          | length of record   |26
          | last modification  |3.10.1989
          | number of fields   |4
          ----------------------


                                   - 1 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)



          Es bedeuten:
          database from file  MUTOS Filename der REDABAS Datenbank
          length of header    REDABAS Kopflaenge,  der  Kopf  enthaelt
                              die Datenbank- und die Felddefinitionen.
                              Nach dem Kopf folgen die Datensaetze.
          number of records   Anzahl der  REDABAS  Datensaetze,  dabei
                              sind  auch  die  zum Loeschen markierten
                              Datensaetze eingeschlossen.
          length of record    Laenge eines REDABAS Datensatzes (in By-
                              tes),  in  der  Laenge  ist das Feld zur
                              Markierung geloeschter  Daensaetze  ent-
                              halten.
          last modification   Datum  der  letzten  Aenderung  in   der
                              REDABAS Datenbank
          number of fields    Anzahl der REDABAS  Felder,  die  Anzahl
                              ist  gegenueber REDABAS um 2 erhoeht, da
                              die beiden in REDABAS direkt nicht  vor-
                              kommenden  Felder Satznummer und Loesch-
                              markierung   automatisch   zur   Feldbe-
                              schreibung hinzugefuegt werden.

     -i   Uebernahme der REDABAS Datenbank im ING_DB 6.3 Format, das
          heisst, die imaginaeren Felder Satznummer und  Loeschmarkie-
          rung werden nicht uebernommen.

     -l   das DBI-file soll nicht erzeugt werden, d.h. die REDABAS
          Datenbank soll nur gelistet werden (list only)

     -r   Ausgabe aller REDABAS Datensaetze (records)

          Die Ausfuehrung des Kommandos
          %       db2 -r dbi pers.dbd redabas personal
          wuerde folgende Ausgabe erzeugen:

          ----no-*------------------------------------------------
          |    1| |   35|Loda, Dieter
          |    2| |   55|Malter, Juergen
          |    3| |   98|Weise, Juergen
          |    4| |   32|Heine, Rolf
          |    5| |   33|Ernst, Eva
          |    6| |   37|Neumann, Inge
          |    7| |   10|Rose, Peter
          --------------------------------------------------------

          Es bedeuten:
          no                  REDABAS Satznummer
          *                   REDABAS Loeschmarkierung,  ein  Leerzei-
                              chen kennzeichnet einen gueltigen Daten-
                              satz, ein * einen geloeschten Datensatz.
          -----               REDABAS  Datensatz,  die  Felder  werden
                              durch das Zeichen | separiert.  Eine bi-


                                   - 2 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


                              naere Null wird als * dargestellt.

     -rd  Ausgabe nur der geloeschten REDABAS Datensaetze
          (deleted records)

     -rv  Ausgabe nur der gueltigen REDABAS Datensaetze
          (valid records)

     ARGUMENTE
          d_b_i   MUTOS-file-name des DBI-files
          d_b_d   MUTOS-file-name der REDABAS Datenbank
          d_b     Name der ING_DB 6.3 Datenbank
          {r_e_l} Namen von ING_DB 6.3 Relationen  aus  der  Datenbank
                  d_b (max. 5, durch Leerzeichen getrennt)

     FUNKTION
          db2, db3 erstellt zu  der  existierenden  REDABAS  Datenbank
          d_b_d  das  DBI- (Data Bases Interface) Textfile d_b_i in CL
          mit einer vollstaendigen Zuordnung der REDABAS Datenbank  zu
          den  Relationen  {r_e_l}  der ING_DB 6.3 Datenbank d_b.  Das
          Programm kann zusaetzlich zum Auslisten der  REDABAS  Daten-
          bank verwendet werden.
          Das Textfile d_b_i kann anschliessend mit einem MUTOS  Text-
          editor  geaendert werden.  Bei der Angabe mehrere Relationen
          werden alle REDABAS Felder jeder ING_DB 6.3  Relation  zuge-
          ordnet,  so  dass  eine Bearbeitung des Textfile d_b_i uner-
          laesslich ist.  Die Programme db2, db3 stellen also nur  ein
          Geruest  fuer  die  Konvertierung REDABAS/ING_DB 6.3 bereit,
          grundsaetzlich kann das DBI-Textfile auch  vollstaendig  mit
          der  Hand  erstellt  werden.   Das kann notwendig sein, wenn
          keine  REDABAS  Datenbank  vorhanden  ist,  weil  sie   erst
          generiert werden soll.

          Was kann in d_b_i alles geaendert  werden  (vergleiche  dazu
          das DBI-Textfile aus BEISPIEL(REDABAS)) ?

          Nach der Kommentarzeile
          :       command  part before conversion
          koennen MUTOS Kommandos  eingetragen  werden,  die  vor  dem
          Auslesen  (Read)  bzw.  Schreiben (Write) von REDABAS Daten-
          banken ausgefuehrt werden sollen.  Alle Zeilen der Form
          R       mutos command
          werden von rdb2, rdb3 (Read redabas Data Base) und alle Zei-
          len der Form
          W       mutos command
          werden von wdb2, wdb3 (Write redabas Data Base) ausgefuehrt.
          Es ist zulaessig, mehrere Kommandos anzugeben.







                                   - 3 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


          Im folgenden werden einige sinnvolle Kommandos diskutiert.

          R       dcp xb d_b_d
          R       scp xb d_b_d
          Mit den Programmen dcp  (DCP(REDABAS)),  scp  (SCP(REDABAS))
          kann  die REDABAS Datenbank von einem DCP-, SCP-Datentraeger
          ins MUTOS  Filesystem  unter  dem  Namen  d_b_d  eingespielt
          werden.    Es   koennen   auch  beliebige  andere  Programme
          aufgrufen  werden,  die  diese  Funktion   (in   der   Regel
          langsamer) erfuellen.

          R       cdb d_b d_b_i
          Das Kommando cdb(REDABAS) erzeugt vor der Konvertierung  die
          noetigen ING_DB 6.3 Relationen, die vorher geloescht werden.

          R       modifyr d_b r_e_l truncated
          Das Kommando loescht die Daten der  Relation  r_e_l  in  der
          ING_DB 6.3 Datenbank d_b, um sie anschliessend mit den Daten
          der REDABAS Datenbank zu fuellen.

          R       modifyr d_b r_e_l heap
          Das Kommando setzt die Relation r_e_l in der ING_DB 6.3  Da-
          tenbank  d_b zurueck, um ein schnelles Laden der REDABAS Da-
          tenbank zu garantieren.

          R       echo `infomativer Text'
          W       echo `infomativer Text'
          Zu Protokollzwecken koennen Texte ueber echo(1) oder  andere
          Kommandos ausgegeben werden.

          W       rm -f d_b_d
          Das Kommando loescht die alte REDABAS Datenbank d_b_d.

          W       modifyr d_b r_e_l
          Das Kommando reorganisiert die Relation r_e_l der ING_DB 6.3
          Datenbank  d_b,  um  die  richtige  Satzreihenfolge  in  der
          REDABAS Datenbank zu erzeugen.

          W       modifyr d_b r_e_l heapsort ...
          Das Kommando sortiert die Relation r_e_l der ING_DB 6.3  Da-
          tenbank d_b, um eine gewuenschte Satzreihenfolge der REDABAS
          Datenbank zu erzeugen.

          Aenderungen in der Beschreibung der REDABAS  Datenbank,  des
          ING_DB 6.3 Datenbanknamens und der ING_DB 6.3 Relationsnamen
          sind in der Regel nicht angebracht.

          In den Definitionen der Domaenen einer ING_DB  6.3  Relation
          koennen folgende Aenderungen durchgefuehrt werden.





                                   - 4 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


          -       Streichen von Zeilen
          d.h. es sollen nicht alle REDABAS Felder in die  ING_DB  6.3
          Relation aufgenommen werden.

          -       Hinzufuegenen von Zeilen
          d.h. es gibt in der ING_DB 6.3 Relation Domaenen, die  nicht
          aus REDABAS Feldern gefuellt werden.

          -       Aendern des Namens der Domaene

          -       Aendern des Typs der Domaene

          Nachdem alle Aenderungen in den  Definitionen  der  Domaenen
          einer  ING_DB  6.3  Relation  ausgefuehrt sind, muss sicher-
          gestellt werden, dass die Domaenen von 1  bis  n  lueckenlos
          durchnummeriert  sind.   Eine  aufsteigende  Sortierung  ist
          nicht notwendig, sollte aber aus Gruenden der Lesbarkeit an-
          gestrebt werden

          Im Zuordnungsteil wird definiert, welches  REDABAS  Feld  in
          welche  ING_DB  6.3 Domaene konvertiert werden soll.  Aende-
          rungen im Definitionsteil der Domaenen  muessen  sinngemaess
          im  Zuordnungsteil wiederholt werden.  Folgende Typzuordnun-
          gen werden unterstuetzt:

                  REDABAS                   ING_DB 6.3
                  ----------------------------------------------------
                  Cl   (0 < l < 255)        cn (0 < n < 256)
                  D                         c8
                  L                         c1
                  Nl.d (0 <= d < l < 21)    i1 || i2 || i4 || f4 || f8
                  M    (nur REDABAS 3/4)    keine Zuordnung moeglich
                  Satznummer                i4
                  Loeschmarkierung          c1


          Nach der Kommentarzeile
          :       command  part after  conversion
          koennen MUTOS Kommandos eingetragen  werden,  die  nach  dem
          Auslesen  (Read)  bzw.  Schreiben (Write) von REDABAS Daten-
          banken ausgefuehrt werden sollen.  Alle Zeilen der Form
          R       mutos command
          werden von rdb2, rdb3 (Read redabas Data Base) und alle Zei-
          len der Form
          W       mutos command
          werden von wdb2, wdb3 (Write redabas Data Base) ausgefuehrt.
          Es ist zulaessig, mehrere Kommandos anzugeben.







                                   - 5 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


          Im folgenden werden einige sinnvolle Kommandos diskutiert.

          W       dcp c d_b_d
          W       scp c d_b_d
          Mit den Programmen dcp  (DCP(REDABAS)),  scp  (SCP(REDABAS))
          kann  das  MUTOS  File d_b_d als REDABAS Datenbank auf einem
          DCP-, SCP-Datentraeger gebracht  werden.   Es  koennen  auch
          beliebige  andere  Programme  aufgrufen  werden,  die  diese
          Funktion (in der Regel langsamer) erfuellen.

          R       rm -f d_b_d
          W       rm -f d_b_d
          Wenn die REDABAS Datenbank nicht mehr benoetigt  wird,  kann
          sie aus dem MUTOS Filesystem geloescht werden.

          R       modifyr d_b r_e_l isam ...
          W       modifyr d_b r_e_l isam ...
          Das Kommando organisiert die Relation r_e_l der  ING_DB  6.3
          Datenbank d_b entsprechend dem vorgesehenen Datenmodell um.

          R       indexr d_b r_e_l indexrel ...
          W       indexr d_b r_e_l indexrel ...
          Zu dem Primaerschluessel  koennen  Indexschluessel  hinzuge-
          fuegt werden.

          R       echo `infomativer Text'
          W       echo `infomativer Text'
          Zu Protokollzwecken koennen Texte ueber echo(1) oder  andere
          Kommandos ausgegeben werden.

     BEISPIEL 1
          Mit dem Kommando
          %       rdb2 dbi
          sollen die Daten der REDABAS 2 Datenbank pers.dbd an die Re-
          lation  personal  der ING_DB 6.3 Datenbank redabas angefuegt
          und mit dem Kommando
          %       wdb2 dbi
          soll die REDABAS 2 Datenbank pers.dbd komplett neu  erstellt
          werden.   Die  Relation  personal soll den Primaerschluessel
          num und den Indexschluessel name haben.  Folgendes DBI-Text-
          file realisiert die Aufgabenstellung.

            1    : command  part before conversion
            2    R       dcp xb pers.dbd
            3    R       modifyr redabas personal cheap
            4    W       modifyr redabas personal cheapsort rec_no
            5
            6    : REDABAS 2 part
            7
            8    2       pers.dbd
            9
           10    F         0      #               I4


                                   - 6 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


           11    F         1      *               C1
           12    F         2      NUM             N5
           13    F         3      NAME            C20
           14
           15    : ing_db 16.3/4 part
           16
           17    I       redabas
           18
           19    : relation personal part
           20    T       personal
           21
           22    D         1      rec_no          i4
           23    D         2      rec_mark        c1
           24    D         3      num             i2
           25    D         4      name            c20
           26
           27    @         0        1
           28    @         1        2
           29    @         2        3
           30    @         3        4
           31
           32    : command  part after  conversion
           33    R       modifyr redabas personal cisam num
           34    R       indexr redabas personal pers_index name
           35    R       rm -f pers.dbd
           36    W       modifyr redabas personal cisam num
           37    W       indexr redabas personal pers_index name
           38    W       dcp c pers.dbd
           39    W       rm -f pers.dbd

          Diskussion fuer rdb2/3:
          Zeile  2  Holt die REDABAS Datenbank pers.dbd von einem  DCP
                    Datentraeger.
          Zeile  3  Modifiziert die Relation personal der  ING_DB  6.3
                    Datenbank  redabas,  um ein schnelles Anfuegen der
                    Daten der REDABAS Datenbank zu gewaehrleisten.
          Jetzt erfolgt die Konvertierung der REDABAS Daten.
          Zeile 33  Die Relation personal  der  ING_DB  6.3  Datenbank
                    redabas wird auf die Domaene num geschluesselt.
          Zeile 34  Die Domaene num wird indiziert.
          Zeile 35  Die REDABAS Datenbank pers.dbd wird aus dem  MUTOS
                    Filesystem geloescht.

          Diskussion fuer wdb2/3:
          Zeile  4  Sortiert  temporaer  die  Relation  personal  ent-
                    sprechend der Domaene rec_no der ING_DB 6.3 Daten-
                    bank redabas, um ein  satzgerechtes  Anfuegen  der
                    Daten an die REDABAS Datenbank zu gewaehrleisten.
          Jetzt erfolgt die Konvertierung der ING_DB 6.3 Daten.
          Zeile 36  Die Relation personal  der  ING_DB  6.3  Datenbank
                    redabas wird auf die Domaene num geschluesselt.
          Zeile 37  Die Domaene num wird indiziert.


                                   - 7 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


          Zeile 38  Schreibt die REDABAS Datenbank pers.dbd auf  einen
                    DCP Datentraeger.
          Zeile 39  Die REDABAS Datenbank pers.dbd wird aus dem  MUTOS
                    Filesystem geloescht.

     BEISPIEL 2
          Es soll die REDABAS 2 Datenbank pers.dbd in die  zwei  Rela-
          tionen num und name der ING_DB 6.3 Datenbank redabas konver-
          tiert werden, wobei die REDABAS Satznummer die  Verbindungs-
          information  zwischen  den Relationen sein soll.  Um die Ar-
          beit zu beschleunigen, wird das Kommando
          %       db2 bsp pers.dbd redabas num name
          ausgefuehrt.
          %       cat bsp
          liefert folgende Ausgabe  (die  Zeilennummerierung  ist  nur
          fuer Dokumentationsbezuege eingefuegt worden)

            1    : command  part before conversion
            2
            3    : REDABAS 2 part
            4    2       pers.dbd
            5
            6    F         0     #               I4
            7    F         1     *               C1
            8    F         2     NUM             N5
            9    F         3     NAME            C20
           10
           11    : ing_db 16.3/4 part
           12    I       redabas
           13
           14    : relation num part
           15    T       num
           16
           17    D         1     rec_no          i4
           18    D         2     rec_mark        c1
           19    D         3     num             i2
           20    D         4     name            c20
           21
           22    @         0       1
           23    @         1       2
           24    @         2       3
           25    @         3       4
           26
           27    : relation name part
           28    T       name
           29
           30    D         1     rec_no          i4
           31    D         2     rec_mark        c1
           32    D         3     num             i2
           33    D         4     name            c20
           34
           35    @         0       1


                                   - 8 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


           36    @         1       2
           37    @         2       3
           38    @         3       4
           39
           40    : command  part after  conversion

          Anschliessend wird das  DBI-Textfile  bsp  mit  einem  MUTOS
          Texteditor geaendert (alle Zeilenangaben beziehen sich abso-
          lut auf vorstehende Liste):

          Zeile 18  streichen, Loeschmarkierung  rec_mark  wird  nicht
                    benoetigt
          Zeile 19  aendern Nummer der Domaene von 3 auf 2
          Zeile 20  streichen, das REDABAS Feld NAME soll in die Rela-
                    tion name
          Zeile 23  streichen (siehe Zeile 18)
          Zeile 24  aendern Nummer der Domaene von 3 auf 2
          Zeile 25  streichen (siehe Zeile 20)
          Zeile 31  streichen, Loeschmarkierung  rec_mark  wird  nicht
                    benoetigt
          Zeile 32  streichen, das REDABAS Feld NUM soll in die  Rela-
                    tion num
          Zeile 33  aendern Nummer der Domaene von 4 auf 2
          Zeile 36  streichen (siehe Zeile 31)
          Zeile 37  streichen (siehe Zeile 32)
          Zeile 38  aendern Nummer der Domaene von 4 auf 2

          Nachdem 8 Zeilen gestrichen und  in  4  Zeilen  eine  Ziffer
          durch eine andere ersetzt wurde, ist folgendes der Aufgaben-
          stellung entsprechende DBI-Textfile entstanden.

            1    : command  part before conversion
            2
            3    : REDABAS 2 part
            4    2       pers.dbd
            5
            6    F         0     #               I4
            7    F         1     *               C1
            8    F         2     NUM             N5
            9    F         3     NAME            C20
           10
           11    : ing_db 16.3/4 part
           12    I       redabas
           13
           14    : relation num part
           15    T       num
           16
           17    D         1     rec_no          i4
           18    D         2     num             i2
           19
           20    @         0       1
           21    @         2       2


                                   - 9 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


           22
           23    : relation name part
           24    T       name
           25
           26    D         1     rec_no          i4
           27    D         2     name            c20
           28
           29    @         0       1
           30    @         3       2
           31
           32    : command  part after  conversion

     FEHLER
          REDABAS Sie sind kein eingetragener ing_db-Nutzer
          ===>    Nur eingetragene Nutzer des ING_DB 6.3 Systems koen-
                  nen dieses Kommando ausfuehren.

          REDABAS Unbekanntes Flag 'ff'
          usage:  DB2 [flags] dbi dbd db {rel}
          flags:  -f  list field descriptions
                  -h  list header
                  -l  dont't create DBI-file
                  -r  list   all   records
                  -rd list deleted records
                  -rv list  valid  records
          ===>    Das uebergeben Flag ff ist dem  Kommando  nicht  be-
                  kannt.

                  can't access DBD-file xx
          REDABAS syntax error
          ===>    Die REDABAS Datenbank xx ist  nicht  vorhanden  oder
                  kann  von  ING_DB  6.3  nicht  zum  Lesen  eroeffnet
                  werden.

          REDABAS can't access DBI-file xx
          ===>    Das DBI-Textfile xx kann von ING_DB  6.3  nicht  zum
                  Schreiben  eroeffnet werden, moeglicherweise ist die
                  Schreiberlaubnis fuer den Nutzer ing_db in dem aktu-
                  ellem Verzeichnis nicht gegeben.

          REDABAS format error on DBD-file xx
          ===>    Das angebotene DBD-file xx ist keine REDABAS  Daten-
                  bank, der Kopfteil ist zu kurz.

          REDABAS record count error
                  expected r1 records
                     found r2 records
          ===>    Beim Lesen der REDABAS Datenbank  wurden  r1  Daten-
                  saetze erwartet und r2 Datensaetze gefunden (nur bei
                  Verwendung eines der -r Flags moeglich).




                                  - 10 -








     ING_DB 6.3/4                 3.10.89                  DB(REDABAS)


          REDABAS record length error
                  on record rr
          ===>    Beim Lesen der REDABAS Datenbank trat in dem  Daten-
                  satz  rr ein Lesefehler oder EOF ein.  Ist die Satz-
                  nummer rr==0, ist der Kopfteil der REDABAS Datenbank
                  zu  kurz,  d.h.  das  Kommando  konnte nicht auf den
                  ersten Datensatz positionieren (nur  bei  Verwendung
                  eines der -r Flags moeglich).

          REDABAS unknown type tt on field ff/nn
          ===>    Das Feld mit der Nummer ff  und  dem  Namen  nn  der
                  REDABAS Datenbank hat den unbekannten Datentyp tt.

          REDABAS version error on DBD-file xx
                  expected REDABAS v1
                     found REDABAS v2
          ===>    Es wurde eine REDABAS Version v1 Datenbank  erwartet
                  und eine REDABAS Version v2 Datenbank gefunden.




































                                  - 11 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)



     AUFRUF
          rdb2 [flags] d_b_i
          rdb3 [flags] d_b_i

     FLAGS
          -2d_b_d nur rdb2: Aendern  des  REDABAS  Datenbankfilenamens
                  aus dem DBI-file in d_b_d
          -3d_b_d nur rdb3: Aendern  des  REDABAS  Datenbankfilenamens
                  aus dem DBI-file in d_b_d
          -id_b   Aendern des ING_DB 6.3 Datenbanknamens aus dem  DBI-
                  file in d_b
          -rd     Uebernahme nur der  geloeschten  Datenstze  aus  der
                  REDABAS Datenbank in die ING_DB 6.3 Relationen
                  (deleted records)
          -rv     Uebernahme nur der  gueltigen  Datensaetze  aus  der
                  REDABAS Datenbank in die ING_DB 6.3 Relationen
                  (valid records)

     ARGUMENTE
          d_b_i   MUTOS-file-name des DBI-files

     FUNKTION
          rdb2, rdb3 liest auf der Basis des  gegebenen  DBI-Textfiles
          d_b_i die REDABAS Datenbank, konvertiert die Datensaetze und
          speichert sie in 1 bis 5 ING_DB 6.3 Relationen ab.

          Vor der Konvertierung werden die im  DBI-Textfile  stehenden
          Kommandos mit der Meldung

                  REDABAS EXECUTING  ...  cmd

          ausgefuehrt.  Bei  der  Konvertierung  wird  der  Stand  der
          Arbeit  auf  einer  relativen  Skala  protokolliert.  Zu der
          Skala wird der absolute Massstab (n Datensaetze  entsprechen
          2% bzw. einem "." auf der Anzeige) ausgegeben.
          Die Ausfuehrung des Kommandos
          %       rdb2 dbi
          wuerde folgende Ausgabe erzeugen:

          |--------------------------------------------------|
          |                   1 records per "."              |
          |--------------------------------------------------|
           .......
          |__________________________________________________|

          Nach der Konvertierung werden die im DBI-Textfile  stehenden
          Kommandos mit der Meldung






                                   - 1 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)


                  REDABAS EXECUTING  ...  cmd

          ausgefuehrt.

          Die durch rdb2, rdb3 angesprochenen Relationen duerfen keine
          Kataloge,  Sichten  oder Indizes sein, duerfen keine Indizes
          haben und muessen dem das Kommando ausfuehrenden Nutzer  an-
          gegeignet sein bzw. muessen das ALL-TO-ALL-Zugriffsrecht ha-
          ben.

     FEHLER
          REDABAS cmd FAILED
          ===>    Das MUTOS  Kommando  cmd  wurde  fehlerhaft  beendet
                  (exit-Status != 0).
                  Die Arbeit von  rdb2/3  wird  beendet,  alle  bisher
                  ausgefuehrten Aktionen bleiben erhalten.

          REDABAS DBI-file: unexpected eof on line ll
          ===>    Das DBI-file ist auf Zeile ll vorzeitig zu Ende, ob-
                  wohl noch einige REDABAS/ING_DB 6.3 Zuordnungen feh-
                  len.

                  RELATION rel has indexes
          REDABAS DBI-file: syntax error on line ll
          ===>    Die auf Zeile ll des DBI-files  angegebene  Relation
                  rel hat Indizes, die durch das Kommando nicht unter-
                  stuetzt werden.

          REDABAS Sie sind kein eingetragener ing_db-Nutzer
          ===>    Nur eingetragene Nutzer des ING_DB 6.3 Systems koen-
                  nen dieses Kommando ausfuehren.

          REDABAS Unbekanntes Flag 'ff'
          usage:  rdb2 [flags] dbi
                  -2dbd  change DBD-file-name
                  -idb   change DB-name
                  -rd transfer deleted records
                  -rv transfer  valid  records
          ===>    Das uebergeben Flag ff ist dem  Kommando  nicht  be-
                  kannt (nur rdb2).

          REDABAS Unbekanntes Flag 'ff'
          usage:  rdb3 [flags] dbi
                  -3dbd  change DBD-file-name
                  -idb   change DB-name
                  -rd transfer deleted records
                  -rv transfer  valid  records
          ===>    Das uebergeben Flag ff ist dem  Kommando  nicht  be-
                  kannt (nur rdb3).





                                   - 2 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)


          REDABAS can't access DB xx
          ===>    Die ING_DB 6.3 Datenbank xx existiert nicht oder der
                  das  Kommando  ausfuehrende  Nutzer  hat  nicht  das
                  Recht, auf sie zuzugreifen.

                  can't access DBD-file xx
          REDABAS DBI-file: syntax error on line ll
          ===>    Die REDABAS Datenbank xx ist  nicht  vorhanden  oder
                  kann  von  ING_DB  6.3  nicht  zum  Lesen  eroeffnet
                  werden.

          REDABAS can't access DBI-file xx
          ===>    Das DBI-file xx existiert nicht oder kann von ING_DB
                  6.3 nicht zum Lesen eroeffnet werden.

                  can't access RELATION rel
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Relation rel existiert nicht oder der
                  das  Kommando  ausfuehrende  Nutzer  hat  nicht  das
                  Recht, auf sie zuzugreifen.

                  can't access VIEW rel
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Relation  rel  ist  eine  Sicht,  die
                  durch das Kommando nicht unterstuetzt wird.

                  can't convert type t1l1 to type t2l2
          REDABAS on FIELD ff / DOMAIN dd
          ===>    Das REDABAS Feld ff mit dem Typ t1l1 kann  nicht  in
                  den  Typ  t2l2 der ING_DB 6.3 Domaene dd konvertiert
                  werden.      Folgende     Typzuordnungen      werden
                  unterstuetzt:

                  REDABAS                   ING_DB 6.3
                  ----------------------------------------------------
                  Cl   (0 < l < 255)        cn (0 < n < 256)
                  D                         c8
                  L                         c1
                  Nl.d (0 <= d < l < 21)    i1 || i2 || i4 || f4 || f8
                  M    (nur REDABAS 3/4)    keine Zuordnung moeglich
                  Satznummer                i4
                  Loeschmarkierung          c1

                  Alle  bisher  vollstaendig   richtig   konvertierten
                  REDABAS Datensaetze sind in die ING_DB 6.3 Datenbank
                  uebertragen worden.

                  can't lock RELATION rel
          REDABAS DBI-file: syntax error on line ll
          ===>    Bei dem Versuch die ING_DB 6.3 Relation rel fuer das
                  Kommando  zu  sperren, trat ein Parallelitaetsfehler
                  auf.


                                   - 3 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)



                  duplicate DOMAIN-number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer der ING_DB 6.3 Domaene dd, die auf  Zeile
                  ll  steht, ist bereits vorher an eine andere Domaene
                  vergeben worden.

                  duplicate FIELD-number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des REDABAS Feldes ff, das auf  Zeile  ll
                  steht, ist bereits vorher an ein anderes Feld verge-
                  ben worden.

                  duplicate REFERENCE to domain dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer der ING_DB 6.3 Domaene dd, die im  Zuord-
                  nungsteil auf Zeile ll steht, ist bereits vorher ei-
                  nem anderen REDABAS Feld  zugeordnet  worden.   Eine
                  Domaene kann nicht aus mehreren Feldern geladen wer-
                  den.

                  duplicate REFERENCE to field ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des REDABAS  Feldes  ff,  das  im  Zuord-
                  nungsteil auf Zeile ll steht, ist bereits vorher ei-
                  ner anderen ING_DB 6.3  Domaene  zugeordnet  worden.
                  Ein Feld darf nur in eine Domaene geladen werden.

          REDABAS exec error
          ===>    Das mit "REDABAS EXECUTING  ...  cmd" protokollierte
                  Kommando  kann  nicht  geladen  werden,  da es nicht
                  existiert oder keine Zugriffsberechtigung besteht.

                  extra lines
          REDABAS DBI-file: syntax error on line ll
          ===>    Ab Zeile  ll  des  DBI-files  stehen  ueberfluessige
                  Zeilen, die durch das Kommando nicht interpretierbar
                  sind.

          REDABAS fork error
          ===>    Das mit "REDABAS EXECUTING  ...  cmd" protokollierte
                  Kommando kann nicht zur Ausfuehrung gebracht werden,
                  da wahrscheinlich die  Anzahl  der  Prozesse  ausge-
                  schoepft ist.

          REDABAS format error on DBD-file xx
          ===>    Das angebotene DBD-file xx ist keine REDABAS  Daten-
                  bank, der Kopfteil ist zu kurz.






                                   - 4 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)


                  illegal DOMAIN-number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer dd der ING_DB 6.3 Domaene  auf  Zeile  ll
                  ist  falsch, sie darf zwischen 1 .. Domaenanzahl der
                  Relation liegen;
                  vergleiche dazu Feld "Domaenanzahl:" von
                  %       helpr d_b r_e_l

                  illegal FIELD-number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des  REDABAS  Feldes  auf  Zeile  ll  ist
                  falsch,  sie darf zwischen 0 .. Feldanzahl-1 der Da-
                  tenbank liegen;
                  vergleiche dazu Feld "number of fields" von
                  %       db2 oder db3 -l -h temp d_b_d d_b r_e_l

                  illegal REFERENCE-domain-number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer dd der ING_DB 6.3 Domaene auf Zeile ll im
                  Zuordnungsteil  ist  falsch,  sie darf zwischen 1 ..
                  Domaenanzahl der Relation liegen;
                  vergleiche dazu Feld "Domaenanzahl:" von
                  %       helpr d_b r_e_l

                  illegal REFERENCE-field-number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des REDABAS Feldes auf Zeile ll im Zuord-
                  nungsteil ist falsch, sie darf zwischen 0 .. Feldan-
                  zahl-1 der Datenbank liegen;
                  vergleiche dazu Feld "number of fields" von
                  %       db2 oder db3 -l -h temp d_b_d d_b r_e_l

                  length error on DOMAIN dd
                  expected l1
                     found l2
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Laenge der ING_DB 6.3 Domaene dd ist in der  Re-
                  lation  der  Datenbank l1 Bytes, im DBI-file ist auf
                  Zeile ll die Laenge aber mit l2 Bytes angegeben;
                  vergleiche dazu
                  %       helpr d_b r_e_l

                  length error on FIELD ff
                  expected l1
                     found l2
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Laenge des REDABAS Feldes ff ist in  der  Daten-
                  bank  l1  Bytes,  im  DBI-file  ist auf Zeile ll die
                  Laenge aber mit l2 Bytes angegeben;
                  vergleiche dazu
                  %       db2 oder db3 -l -h temp d_b_d d_b r_e_l



                                   - 5 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)


                  missing DB-line [I ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Datenbankzeile wird im  DBI-file  auf
                  der Zeile ll erwartet, aber nicht gefunden.

                  missing DB-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Datenbankzeile  wird  im  DBI-file
                  auf  der  Zeile  ll der Name der Datenbank erwartet,
                  aber nicht gefunden.

                  missing DBD-file-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Datenbankzeile wird im  DBI-file  auf
                  der  Zeile  ll der Name der Datenbank erwartet, aber
                  nicht gefunden.

                  missing DBD-line [2 ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die REDABAS 2 Datenbankzeile wird  im  DBI-file  auf
                  der  Zeile  ll  erwartet,  aber  nicht gefunden (nur
                  rdb2).

                  missing DBD-line [3 ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die REDABAS 3 Datenbankzeile wird  im  DBI-file  auf
                  der  Zeile  ll  erwartet,  aber  nicht gefunden (nur
                  rdb3).

                  missing DOMAIN-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Domaenzeile wird im  DBI-file  auf
                  der  Zeile  ll  der  Name der Domaene erwartet, aber
                  nicht gefunden.

                  missing DOMAIN-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Domaenzeile wird im  DBI-file  auf
                  der  Zeile  ll die Nummer der Domaene erwartet, aber
                  nicht gefunden.

                  missing DOMAIN-type & length
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Domaenzeile wird im  DBI-file  auf
                  der  Zeile  ll  die  Typ-/Laengenangabe  der Domaene
                  erwartet, aber nicht gefunden.

                  missing DOMAIN with number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Fuer die ING_DB 6.3 Domaene dd wird im DBI-file  auf
                  der  Zeile  ll eine Domaenzeile erwartet, aber nicht
                  gefunden.


                                   - 6 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)



                  missing FIELD-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Feldzeile wird im  DBI-file  auf  der
                  Zeile  ll  der  Name des Feldes erwartet, aber nicht
                  gefunden.

                  missing FIELD-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Feldzeile wird im  DBI-file  auf  der
                  Zeile  ll die Nummer des Feldes erwartet, aber nicht
                  gefunden.

                  missing FIELD-type & length
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Feldzeile wird im  DBI-file  auf  der
                  Zeile ll die Typ-/Laengenangabe des Feldes erwartet,
                  aber nicht gefunden.

                  missing FIELD with number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Fuer das REDABAS Feld ff wird im  DBI-file  auf  der
                  Zeile  ll eine Feldzeile erwartet, aber nicht gefun-
                  den.

                  missing REFERENCES
          REDABAS DBI-file: syntax error on line ll
          ===>    Fuer die ING_DB 6.3 Domaenen werden im DBI-file  auf
                  Zeile  ll  Zuordnungen  zu REDABAS Feldern erwartet,
                  aber nicht gefunden.

                  missing REFERENCE-domain-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der Zuordnungszeile  wird  im  DBI-file  auf  der
                  Zeile ll die Nummer der ING_DB 6.3 Domaene erwartet,
                  aber nicht gefunden.

                  missing REFERENCE-field-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der Zuordnungszeile  wird  im  DBI-file  auf  der
                  Zeile  ll  die  Nummer  des REDABAS Feldes erwartet,
                  aber nicht gefunden.

                  missing RELATION-line [T ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Tabellenzeile wird  im  DBI-file  auf
                  der Zeile ll erwartet, aber nicht gefunden.

                  missing RELATION-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Tabellenzeile wird im DBI-file auf
                  der  Zeile ll der Name der Tabelle (Relation) erwar-


                                   - 7 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)


                  tet, aber nicht gefunden.

                  point error on FIELD ff
                  expected d1
                     found d2
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Anzahl der Dezimalstellen des REDABAS Feldes  ff
                  ist  in  der Datenbank d1 Bytes, im DBI-file ist auf
                  Zeile ll die Laenge aber mit d2 Bytes angegeben;
                  vergleiche dazu
                  %       db2 oder db3 -l -h temp d_b_d d_b r_e_l

          REDABAS record count error
                  expected r1 records
                     found r2 records
          ===>    Beim Lesen der REDABAS Datenbank  wurden  r1  Daten-
                  saetze   erwartet   und   r2  Datensaetze  gefunden.
                  Trotzdem sind alle REDABAS Datensaetze in die ING_DB
                  6.3 Datenbank uebertragen worden.

          REDABAS record length error
                  on record rr
          ===>    Beim Lesen der REDABAS Datenbank trat in dem  Daten-
                  satz  rr ein Lesefehler oder EOF ein.  Ist die Satz-
                  nummer rr==0, ist der Kopfteil der REDABAS Datenbank
                  zu  kurz,  d.h.  das  Kommando  konnte nicht auf den
                  ersten   Datensatz   positionieren.    Alle   bisher
                  vollstaendig  richtig  gelesenen REDABAS Datensaetze
                  sind in die ING_DB 6.3 Datenbank uebertragen worden.

                  too many RELATION-lines [T ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Tabellenzeile im DBI-file  auf  Zeile
                  ll  leitet  die  Definition  der 6. Relation ein, es
                  sind aber nur 5 Relationen zulaessig.

                  type error on DOMAIN dd
                  expected t1
                     found t2
          REDABAS DBI-file: syntax error on line ll
          ===>    Der Typ der ING_DB 6.3 Domaene dd ist in  der  Rela-
                  tion  der Datenbank t1, im DBI-file ist auf Zeile ll
                  der Typ aber mit t2 angegeben;
                  vergleiche dazu
                  %       helpr d_b r_e_l

                  type error on FIELD ff
                  expected t1
                     found t2
          REDABAS DBI-file: syntax error on line ll
          ===>    Der Typ des REDABAS Feldes ff ist in  der  Datenbank
                  t1, im DBI-file ist auf Zeile ll der Typ aber mit t2


                                   - 8 -








     ING_DB 6.3/4                 3.10.89                 RDB(REDABAS)


                  angegeben;
                  vergleiche dazu
                  %       db2 oder db3 -l -h temp d_b_d d_b r_e_l

                  unknown type ttll
          REDABAS on FIELD ff / DOMAIN dd
          ===>    Der Typ tt in Verbindung mit der Laenge ll  ist  als
                  REDABAS  Datentyp  unbekannt, daher kann das REDABAS
                  Feld ff nicht in die ING_DB 6.3 Domaene  dd  konver-
                  tiert werden.

          REDABAS version error on DBD-file xx
                  expected REDABAS v1
                     found REDABAS v2
          ===>    Es wurde eine REDABAS Version v1 Datenbank  erwartet
                  und eine REDABAS Version v2 Datenbank gefunden.






































                                   - 9 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)



     AUFRUF
          wdb2 [flags] d_b_i
          wdb3 [flags] d_b_i

     FLAGS
          -2d_b_d nur wdb2: Aendern  des  REDABAS  Datenbankfilenamens
                  aus dem DBI-file in d_b_d
          -3d_b_d nur wdb3: Aendern  des  REDABAS  Datenbankfilenamens
                  aus dem DBI-file in d_b_d
          -id_b   Aendern des ING_DB 6.3 Datenbanknamens aus dem  DBI-
                  file in d_b
          +       nur wdb3: REDABAS 4-Flag

     ARGUMENTE
          d_b_i   MUTOS-file-name des DBI-files

     FUNKTION
          wdb2, wdb3 liest auf der Basis des  gegebenen  DBI-Textfiles
          d_b_i  aus  1  bis  5 ING_DB 6.3 Relationen, konvertiert die
          Datensaetze und speichert sie in eine REDABAS Datenbank.

          Vor der Konvertierung werden die im  DBI-Textfile  stehenden
          Kommandos mit der Meldung

                  REDABAS EXECUTING  ...  cmd

          ausgefuehrt.  Bei  der  Konvertierung  wird  der  Stand  der
          Arbeit  auf  einer  relativen  Skala  protokolliert.  Zu der
          Skala wird der absolute Massstab (n Datensaetze  entsprechen
          2%  bzw.  einem  "."  auf der Anzeige) ausgegeben.  Das Ende
          muss  nicht  unbedingt  erreicht  werden,  es   kann   sogar
          ueberschritten  werden,  wenn  die  Verbundbedingungen nicht
          eindeutig sind.
          Die Ausfuehrung des Kommandos
          %       wdb2 dbi
          wuerde folgende Ausgabe erzeugen:

          |--------------------------------------------------|
          |                   1 records per "."              |
          |--------------------------------------------------|
           .......
          |__________________________________________________|

          Nach der Konvertierung werden die im DBI-Textfile  stehenden
          Kommandos mit der Meldung

                  REDABAS EXECUTING  ...  cmd






                                   - 1 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


          ausgefuehrt.

          Die durch wdb2, wdb3 angesprochenen Relationen duerfen keine
          Sichten  sein  und  muessen  dem  das Kommando ausfuehrenden
          Nutzer  angegeignet  sein  bzw.   muessen   mindestens   das
          RETRIEVE-TO-ALL-Zugriffsrecht haben.

     FEHLER
          REDABAS cmd FAILED
          ===>    Das MUTOS  Kommando  cmd  wurde  fehlerhaft  beendet
                  (exit-Status != 0).
                  Die Arbeit von  wdb2/3  wird  beendet,  alle  bisher
                  ausgefuehrten Aktionen bleiben erhalten.

          REDABAS DBI-file: unexpected eof on line ll
          ===>    Das DBI-file ist auf Zeile ll vorzeitig zu Ende, ob-
                  wohl noch einige REDABAS/ING_DB 6.3 Zuordnungen feh-
                  len.

                  RECORD sequence error
                  try to write record r1
                  on record r2
          REDABAS on FIELD ff / DOMAIN dd
          ===>    Wird die REDABAS Satznummer explizit in einer ING_DB
                  6.3  Relation  gehalten, so werden die Saetze an die
                  korrekte  Stelle  innerhalb  der  REDABAS  Datenbank
                  geschrieben  und die Luecken mit geloeschten Saetzen
                  aufgefuellt.  Dabei wird erwartet, dass  die  ING_DB
                  6.3   Relation   aufsteigend   nach  der  Satznummer
                  sortiert ist und keine Satznummer doppelt  auftritt.
                  Bei  Verletzung der Regel wird die Satznummer r1 des
                  falsch eingeordneten Satzes ausgeben.  r2  gibt  die
                  akutelle Satzposition in der REDABAS Datenbank an.
                  Die REDABAS Datenbank ist unvollstaendig  und  damit
                  nicht verwendbar.

          REDABAS Sie sind kein eingetragener ing_db-Nutzer
          ===>    Nur eingetragene Nutzer des ING_DB 6.3 Systems koen-
                  nen dieses Kommando ausfuehren.

          REDABAS Unbekanntes Flag 'ff'
          usage:  wdb2 [flags] dbi
                  -2dbd  change DBD-file-name
                  -idb   change DB-name
          ===>    Das uebergeben Flag ff ist dem  Kommando  nicht  be-
                  kannt (nur wdb2).

          REDABAS Unbekanntes Flag 'ff'
          usage:  wdb3 [flags] dbi
                  -3dbd  change DBD-file-name
                  -idb   change DB-name
                  +   REDABAS 4-flag


                                   - 2 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


          ===>    Das uebergeben Flag ff ist dem  Kommando  nicht  be-
                  kannt (nur wdb3).

          REDABAS can't access DB xx
          ===>    Die ING_DB 6.3 Datenbank xx existiert nicht oder der
                  das  Kommando  ausfuehrende  Nutzer  hat  nicht  das
                  Recht, auf sie zuzugreifen.

                  can't access DBD-file xx
          REDABAS DBI-file: syntax error on line ll
          ===>    Die REDABAS Datenbank xx ist  nicht  vorhanden  oder
                  kann  von  ING_DB  6.3 nicht zum Schreiben eroeffnet
                  werden.

          REDABAS can't access DBI-file xx
          ===>    Das DBI-file xx existiert nicht oder kann von ING_DB
                  6.3 nicht zum Lesen eroeffnet werden.

                  can't access RELATION rel
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Relation rel existiert nicht oder der
                  das  Kommando  ausfuehrende  Nutzer  hat  nicht  das
                  Recht, auf sie zuzugreifen.

                  can't access VIEW rel
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Relation  rel  ist  eine  Sicht,  die
                  durch das Kommando nicht unterstuetzt wird.

                  can't convert type t1l1 to type t2l2
          REDABAS on FIELD ff / DOMAIN dd
          ===>    Die ING_DB 6.3 Domaene dd  mit  dem  Typ  t1l1  kann
                  nicht in den Typ t2l2 des REDABAS Feldes konvertiert
                  werden.      Folgende     Typzuordnungen      werden
                  unterstuetzt:

                  REDABAS                   ING_DB 6.3
                  ----------------------------------------------------
                  Cl   (0 < l < 255)        cn (0 < n < 256)
                  D                         c8
                  L                         c1
                  Nl.d (0 <= d < l < 21)    i1 || i2 || i4 || f4 || f8
                  M    (nur REDABAS 3/4)    keine Zuordnung moeglich
                  Satznummer                i4
                  Loeschmarkierung          c1

          Die REDABAS Datenbank ist  unvollstaendig  und  damit  nicht
          verwendbar.






                                   - 3 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


                  can't lock RELATION rel
          REDABAS DBI-file: syntax error on line ll
          ===>    Bei dem Versuch die ING_DB 6.3 Relation rel fuer das
                  Kommando  zu  sperren, trat ein Parallelitaetsfehler
                  auf.

                  duplicate DOMAIN-number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer der ING_DB 6.3 Domaene dd, die auf  Zeile
                  ll  steht, ist bereits vorher an eine andere Domaene
                  vergeben worden.

                  duplicate FIELD-number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des REDABAS Feldes ff, das auf  Zeile  ll
                  steht, ist bereits vorher an ein anderes Feld verge-
                  ben worden.

                  duplicate REFERENCE to domain dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer der ING_DB 6.3 Domaene dd, die im  Zuord-
                  nungsteil auf Zeile ll steht, ist bereits vorher ei-
                  nem anderen REDABAS Feld  zugeordnet  worden.   Eine
                  Domaene kann nicht in mehrere Felder geladen werden.

                  duplicate REFERENCE to field ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des REDABAS  Feldes  ff,  das  im  Zuord-
                  nungsteil auf Zeile ll steht, ist bereits vorher ei-
                  ner anderen ING_DB 6.3  Domaene  zugeordnet  worden.
                  Ein  Feld  kann  nicht aus mehreren Domaenen geladen
                  werden.

          REDABAS exec error
          ===>    Das mit "REDABAS EXECUTING  ...  cmd" protokollierte
                  Kommando  kann  nicht  geladen  werden,  da es nicht
                  existiert oder keine Zugriffsberechtigung besteht.

                  extra lines
          REDABAS DBI-file: syntax error on line ll
          ===>    Ab Zeile  ll  des  DBI-files  stehen  ueberfluessige
                  Zeilen, die durch das Kommando nicht interpretierbar
                  sind.

          REDABAS field write error on DBD-file
          ===>    Beim Schreiben der Felddefinition  im  Kopfteil  der
                  REDABAS Datenbank trat ein MUTOS Fehler auf.
                  Die REDABAS Datenbank ist unvollstaendig  und  damit
                  nicht verwendbar.





                                   - 4 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


          REDABAS fork error
          ===>    Das mit "REDABAS EXECUTING  ...  cmd" protokollierte
                  Kommando kann nicht zur Ausfuehrung gebracht werden,
                  da wahrscheinlich die  Anzahl  der  Prozesse  ausge-
                  schoepft ist.

          REDABAS header write error on DBD-file
          ===>    Beim Schreiben der Datenbankdefinition  im  Kopfteil
                  der REDABAS Datenbank trat ein MUTOS Fehler auf.
                  Die REDABAS Datenbank ist unvollstaendig  und  damit
                  nicht verwendbar.

                  illegal DOMAIN-number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer dd der ING_DB 6.3 Domaene  auf  Zeile  ll
                  ist  falsch, sie darf zwischen 1 .. Domaenanzahl der
                  Relation liegen;
                  vergleiche dazu Feld "Domaenanzahl:" von
                  %       helpr d_b r_e_l

                  illegal FIELD-number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des  REDABAS  Feldes  auf  Zeile  ll  ist
                  falsch,  sie darf zwischen 0 .. Feldanzahl-1 der Da-
                  tenbank liegen.

                  illegal REFERENCE-domain-number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer dd der ING_DB 6.3 Domaene auf Zeile ll im
                  Zuordnungsteil  ist  falsch,  sie darf zwischen 1 ..
                  Domaenanzahl der Relation liegen;
                  vergleiche dazu Feld "Domaenanzahl:" von
                  %       helpr d_b r_e_l

                  illegal REFERENCE-field-number ff
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Nummer des REDABAS Feldes auf Zeile ll im Zuord-
                  nungsteil ist falsch, sie darf zwischen 0 .. Feldan-
                  zahl-1 der Datenbank liegen.

                  length error on DOMAIN dd
                  expected l1
                     found l2
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Laenge der ING_DB 6.3 Domaene dd ist in der  Re-
                  lation  der  Datenbank l1 Bytes, im DBI-file ist auf
                  Zeile ll die Laenge aber mit l2 Bytes angegeben;
                  vergleiche dazu
                  %       helpr d_b r_e_l





                                   - 5 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


                  missing DB-line [I ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Datenbankzeile wird im  DBI-file  auf
                  der Zeile ll erwartet, aber nicht gefunden.

                  missing DB-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Datenbankzeile  wird  im  DBI-file
                  auf  der  Zeile  ll der Name der Datenbank erwartet,
                  aber nicht gefunden.

                  missing DBD-file-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Datenbankzeile wird im  DBI-file  auf
                  der  Zeile  ll der Name der Datenbank erwartet, aber
                  nicht gefunden.

                  missing DBD-line [2 ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die REDABAS 2 Datenbankzeile wird  im  DBI-file  auf
                  der  Zeile  ll  erwartet,  aber  nicht gefunden (nur
                  wdb2).

                  missing DBD-line [3 ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die REDABAS 3 Datenbankzeile wird  im  DBI-file  auf
                  der  Zeile  ll  erwartet,  aber  nicht gefunden (nur
                  wdb3).

                  missing DOMAIN-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Domaenzeile wird im  DBI-file  auf
                  der  Zeile  ll  der  Name der Domaene erwartet, aber
                  nicht gefunden.

                  missing DOMAIN-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Domaenzeile wird im  DBI-file  auf
                  der  Zeile  ll die Nummer der Domaene erwartet, aber
                  nicht gefunden.

                  missing DOMAIN-type & length
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Domaenzeile wird im  DBI-file  auf
                  der  Zeile  ll  die  Typ-/Laengenangabe  der Domaene
                  erwartet, aber nicht gefunden.

                  missing DOMAIN with number dd
          REDABAS DBI-file: syntax error on line ll
          ===>    Fuer die ING_DB 6.3 Domaene dd wird im DBI-file  auf
                  der  Zeile  ll eine Domaenzeile erwartet, aber nicht
                  gefunden.


                                   - 6 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)



                  missing FIELDS
          ===>    Fuer die REDABAS Felder werden im DBI-file ab  Zeile
                  ll Definitionen erwartet, aber nicht gefunden.

                  missing FIELD-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Feldzeile wird im  DBI-file  auf  der
                  Zeile  ll  der  Name des Feldes erwartet, aber nicht
                  gefunden.

                  missing FIELD-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Feldzeile wird im  DBI-file  auf  der
                  Zeile  ll die Nummer des Feldes erwartet, aber nicht
                  gefunden.

                  missing FIELD-type & length
          REDABAS DBI-file: syntax error on line ll
          ===>    In der REDABAS Feldzeile wird im  DBI-file  auf  der
                  Zeile ll die Typ-/Laengenangabe des Feldes erwartet,
                  aber nicht gefunden.

                  missing REFERENCES
          REDABAS DBI-file: syntax error on line ll
          ===>    Fuer die ING_DB 6.3 Domaenen werden im DBI-file  auf
                  Zeile  ll  Zuordnungen  zu REDABAS Feldern erwartet,
                  aber nicht gefunden.

                  missing REFERENCE-domain-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der Zuordnungszeile  wird  im  DBI-file  auf  der
                  Zeile ll die Nummer der ING_DB 6.3 Domaene erwartet,
                  aber nicht gefunden.

                  missing REFERENCE-field-number
          REDABAS DBI-file: syntax error on line ll
          ===>    In der Zuordnungszeile  wird  im  DBI-file  auf  der
                  Zeile  ll  die  Nummer  des REDABAS Feldes erwartet,
                  aber nicht gefunden.

                  missing RELATION-line [T ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Tabellenzeile wird  im  DBI-file  auf
                  der Zeile ll erwartet, aber nicht gefunden.

                  missing RELATION-name
          REDABAS DBI-file: syntax error on line ll
          ===>    In der ING_DB 6.3 Tabellenzeile wird im DBI-file auf
                  der  Zeile ll der Name der Tabelle (Relation) erwar-
                  tet, aber nicht gefunden.



                                   - 7 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


          REDABAS missing join DOMAINS on RELATION rel
          ===>    Fuer die ING_DB 6.3 Relation rel gibt es  keine  ge-
                  meinsamen  Domaenen  mit ihren Vorgaengerrelationen,
                  so dass  kein  sinnvoller  Relationenverbund  (join)
                  ausgefuehrt werden kann.

          REDABAS  no space
          ===>    Der dynamische Speicherbereich zur  Ausfuehrung  des
                  Verbundes  ueber  mehere Relationen (join) ist nicht
                  verfuegbar.

                  point error on FIELD ff
                  expected < d1
                     found   d2
          REDABAS DBI-file: syntax error on line ll
          ===>    Die Anzahl der Dezimalstellen d2 des REDABAS  Feldes
                  ff im DBI-file ist auf Zeile ll muss kleiner als die
                  Feldlaenge d1 sein.

          REDABAS record write error on DBD-file
                  on record rr
          ===>    Beim Schreiben des Datensaetzes rr  im  die  REDABAS
                  Datenbank trat ein MUTOS Fehler auf.
                  Die REDABAS Datenbank ist unvollstaendig  und  damit
                  nicht verwendbar.

          REDABAS record too long (ll bytes)
          ===>    Die REDABAS Satzlaenge ll ueberschreitet die maximal
                  zulaessige  Groesse  (REDABAS 2: 1000 Bytes, REDABAS
                  3/4: 4000 Bytes).

                  too many RELATION-lines [T ...]
          REDABAS DBI-file: syntax error on line ll
          ===>    Die ING_DB 6.3 Tabellenzeile im DBI-file  auf  Zeile
                  ll  leitet  die  Definition  der 6. Relation ein, es
                  sind aber nur 5 Relationen zulaessig.

                  type error on DOMAIN dd
                  expected t1
                     found t2
          REDABAS DBI-file: syntax error on line ll
          ===>    Der Typ der ING_DB 6.3 Domaene dd ist in  der  Rela-
                  tion  der Datenbank t1, im DBI-file ist auf Zeile ll
                  der Typ aber mit t2 angegeben;
                  vergleiche dazu
                  %       helpr d_b r_e_l

          REDABAS type error on join DOMAIN dd on RELATION rel
                  expected t1l1
                     found t2l2
          ===>    Fuer die ING_DB  6.3  Relation  rel  entspricht  der
                  Domaentyp t1l1 nicht dem Typ t2l2 der Verbunddomaene


                                   - 8 -








     ING_DB 6.3/4                 3.10.89                 WDB(REDABAS)


                  der  Vorgaengerrelation.   Verbunddomaenen   muessen
                  grundsaetzlich  gleichen  Typs (und gleicher Laenge)
                  sein.

                  unknown type tt
          REDABAS DBI-file: syntax error on line ll
          ===>    Der Feldtyp tt in  der  Zeile  ll  ist  als  REDABAS
                  Datentyp  unbekannt.   Zulaessige Datentypen sind C,
                  D, L, N, M (nur wdb3).













































                                   - 9 -




