Padded with zeroes, should be mentioned as well.
[infodrom/dtaus] / dtaus.txt
1   $Id$
2
3   Datenträgeraustausch
4   ====================
5
6   Beim Datenträgeraustausch (DTA) werden Zahlungsverkehrsdaten - also
7   Überweisungen und Lastschriften - nicht mehr auf Papier, sondern
8   beleglos auf Disketten an das jeweilige Geldinstitut gegeben.  
9
10   Die Diskette, die zur Datenträgeraustauschdiskette benutzt wird, muß
11   formatiert und leer sein. Beschriften Sie die Diskette exakt!  Die
12   *einzige* Datei auf der Diskette muß DTAUS0.TXT heißen.  Zusätzlich
13   muß ein Begleitzettel begelegt werden.
14
15   Auf einer Diskette mit 360 KByte werden etwa max. 300 Datensätze
16   gespeichert.  Pro Zahlung werden zwischen 512 Bytes für die Datei
17   gespeichert.  Hinzukommen min. 256 Bytes pro Datensatz C.  Dies
18   bedeutet, daß ungefähr 1000 Zahlungen auf eine 360 KByte Diskette
19   übergeben werden können. 
20
21   Die Datei besteht aus drei Teilen:
22
23   Datensatz A - Header
24   Datensatz C - Body
25   Datensatz E - Footer
26
27   Der Body kann dabei mehrfach auftreten - einmal pro Zahlungsverkehr.
28
29   Alle Informationen liegen im ASCII-Format vor, keine wilden
30   Binärformate.
31
32   Aufbau Datensatz A
33   ------------------
34
35    1   0   4 Zeichen    Länge des Datensatzes, immer 128 Bytes, also immer "0128"
36    2   4   1 Zeichen    Datensatz-Typ, immer 'A'
37    3   5   2 Zeichen    Art der Transaktionen
38                         "LB" für Lastschriften Bankseitig
39                         "LK" für Lastschriften Kundenseitig
40                         "GB" für Gutschriften Bankseitig
41                         "GK" für Gutschriften Kundenseitig
42    4   7   8 Zeichen    Bankleitzahl des Auftraggebers
43    5  15   8 Zeichen    CST, "00000000", nur belegt, wenn Diskettenabsender Kreditinstitut
44    6  23  27 Zeichen    Name des Auftraggebers
45    7  50   6 Zeichen    aktuelles Datum im Format DDMMJJ
46    8  56   4 Zeichen    CST, "   " (Blanks)
47    9  60  10 Zeichen    Kontonummer des Auftraggebers
48   10  70  10 Zeichen    Optionale Referenznummer
49   11  80  47 Zeichen    Reserviert, 47 Blanks
50   12 127   1 Zeichen    Währungskennzeichen
51                         " " = DM
52                         "1" = Euro
53            -- 128 Zeichen
54
55   Aufbau Datensatz C
56   ------------------
57
58    1    0   4 Zeichen   Länge des Datensatzes, 187 + x * 29 (x..Anzahl Erweiterungsteile)
59    2    4   1 Zeichen   Datensatz-Typ, immer 'C'
60    3    5   8 Zeichen   Bankleitzahl des Auftraggebers (optional)
61    4   13   8 Zeichen   Bankleitzahl des Kunden
62    5   21  10 Zeichen   Kontonummer des Kunden
63    6   31  13 Zeichen   1. Zeichen        "0"
64                         2. - 12. Zeichen  interne Kundennummer oder Nullen
65                         13. Zeichen       "0"
66                         Die interne Nummer wird vom erstbeauftragten
67                         Institut zum endbegünstigten Institut
68                         weitergeleitet.  Die Weitergabe der internenen
69                         Nummer an den Überweisungsempfänger ist der
70                         Zahlstelle freigestellt.
71    7a  44   2 Zeichen   Art der Transaktion
72    7b  46   3 Zeichen   ------- "----------
73                         "04000" Lastschrift des Abbuchungsauftragsverfahren
74                         "05000" Lastschrift des Einzugsermächtigungsverfahren
75                         "05005" Lastschrift aus Verfügung im elec. Cash-System
76                         "05006" Wie 05005 mit ausländischen Karten
77                         "51000" Überweisungs-Gutschrift
78                         "53000" Überweisung Lohn/Gehalt/Rente
79                         "5400J" Vermögenswirksame Leistung (VL) ohne Sparzulage
80                         "5400J" Vermögenswirksame Leistung (VL) mit Sparzulage
81                         "56000" Überweisung öffentlicher Kassen
82                                 Die im Textschlüssel mit J bezeichnete Stelle,
83                                 wird bei Übernahme in eine Zahlung automatisch
84                                 mit der jeweils aktuellen Jahresendziffer (7,
85                                 wenn 97) ersetzt.
86    8   49   1 Zeichen   Reserviert, " " (Blank)
87    9   50  11 Zeichen   Betrag
88   10   61   8 Zeichen   Bankleitzahl des Auftraggebers
89   11   69  10 Zeichen   Kontonummer des Auftraggebers
90   12   79  11 Zeichen   Betrag in Euro einschließlich
91                         Nachkommastellen, nur belegt, wenn Euro als
92                         Währung angegeben wurde (A12, C17a), sonst Nullen
93   13   90   3 Zeichen   Reserviert, "   " (Blanks)
94   14a  93  27 Zeichen   Name des Kunden
95   14b 120   8 Zeichen   Reserviert, "        " (Blanks)
96            -- 128 Zeichen
97   15  128   27 Zeichen  Name des Auftraggebers
98   16  155   27 Zeichen  Verwendungszweck
99   17a 182    1 Zeichen  Währungskennzeichen
100                         " " = DM
101                         "1" = Euro
102   17b 183    2 Zeichen  Reserviert, "  " (Blanks)
103   18  185    2 Zeichen  Anzahl der Erweiterungsdatensätze, "00" bis "15"
104   19  187    2 Zeichen  Typ
105                         "01" Name des Kunden
106                         "02" Verwendungszweck
107                         "03" Name des Auftraggebers
108   20  189   27 Zeichen  Beschreibung gemäß Typ
109   21  216    2 Zeichen  wie C19, oder Blanks
110   22  218   27 Zeichen  wie C20, oder Blanks
111   23  245   11 Zeichen  11 Blanks
112            -- Ende des ersten Erweiterungsdatensatzes
113            -- 256 Zeichen
114
115   So können weitere Datensaetze angehängt werden.  Sie müssen im
116   Gesamten jedoch 128 Zeichen lang sein.  Also vier 29-Zeichen Blöcke
117   und anschließend mit 12 Blanks auffüllen.
118
119   Aufbau Datensatz E
120   ------------------
121
122     0   4 Zeichen       Länge des Datensatzes, immer 128 Bytes, also immer "0128"
123     4   1 Zeichen       Datensatz-Typ, immer 'E'
124     5   5 Zeichen       "     " (Blanks)
125    10   7 Zeichen       Anzahl der Datensätze (wahrscheinlich vom Typ C)
126    17  13 Zeichen       Kontrollsumme Beträge
127    30  17 Zeichen       Kontrollsumme Kontonummern
128    47  17 Zeichen       Kontrollsumme Bankleitzahlen
129    64  13 Zeichen       Kontrollsumme Euro, nur belegt, wenn Euro als
130                         Währung angegeben wurde (A12, C17a)
131    77  51 Zeichen       51 Blanks
132
133   Begleitzettel
134   -------------
135
136   Jede dem Geldinstitut gelieferte Diskette muß einen Begleitzettel
137   mit folgenden Mindestangaben enthalten.  Bei mehreren Disketten ist
138   für jede Diskette ein Begleitzettel auszuschreiben.
139
140     Begleitzettel
141
142     Belegloser Datenträgeraustausch
143
144     Sammel-Überweisung-/-einziehungsauftrag
145
146     Vol-Nummer der Diskette
147
148     Erstellungsdatum
149
150     Anzahl der Datensätze C (Stückzahl)
151
152     Summe DM der Datensätze C
153
154     Kontrollsumme der Kontonummern der
155
156     Überweisungsempfänger/Zahlungspflichtigen
157
158     Kontrollsumme der Bankleitzahlen der endbegünstigten
159
160     Kreditinstitute/Zahlungsstellen
161
162     Bankleitzahl/Kontonummer des Absenders
163
164     Name, Bankleitzahl/Kontonummer des Empfängers
165
166     Ort, Datum
167
168     Firma,Unterschrift
169
170   Sie haben die Pflicht, die Disketten zusätzlich durch Klebezettel
171   mit folgenden Angaben zu kennzeichnen.
172
173   Name und Bankleitzahll/Kontonummer des Diskettenabsenders.
174
175     Diskettennummer (VOL-Nummer).
176
177     Dateiname: DTAUS0.TXT 5.25 -und 3.5 Diskette.
178
179   API from dtaus.[ch]
180   -------------------
181
182   void
183   dtaus2control (char *cdtaus, char *ccontrol)
184
185     Diese Routine liest eine Datentraegerdatei aus und wandelt sie in
186     das eigene Kontrollformat zur weiteren Bearbeitung oder Kontrolle.
187
188     Wird als dtaus NULL angegeben, so wird DTAUS0.TXT und dtaus0.txt
189     probiert.  Ist das zweite Argument NULL, so wird auf stdout
190     geschrieben.
191
192   int
193   control2dtaus (char *ccontrol, char *cdtaus, char *cbeleg, char *ccheck)
194
195     Wandelt eine Datei im eigenen Kontrollformat in das genormte
196     Bankformat um.  Die Vorgaben für die Kontrolldatei sind dtaus0.ctl
197     und DTAUS0.CTL, fuer die Ausgabe dtaus0.txt.  Es werden zusätzlich
198     zwei Dateien erstellt.  Die Belegdatei muß unterschrieben mit der
199     Diskette zur Bank gebracht werden.  In der letzten Datei bzw. auf
200     stdout wird der Inhalt des Datentraegers für die Akten in einer
201     Tabelle ausgedruckt.
202
203   Weitere API-Funktionen, die es ermoeglichen, direkt die dtaus0.txt
204   Datei zu schreiben werden in Zukunft folgen.