king_dtaus 1.0.2 → 2.0.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/.rvmrc +1 -0
- data/DTAUS0.TXT +1 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +38 -0
- data/README.rdoc +87 -20
- data/Rakefile +5 -25
- data/VERSION +1 -1
- data/docs/dtazv.pdf +0 -0
- data/docs/dtazv_bank_bbk.pdf +0 -0
- data/example.output +7 -0
- data/king_dtaus.gemspec +31 -11
- data/lib/king_dta/account.rb +48 -15
- data/lib/king_dta/booking.rb +4 -4
- data/lib/king_dta/dta.rb +53 -0
- data/lib/king_dta/dtaus.rb +22 -68
- data/lib/king_dta/dtazv.rb +470 -0
- data/lib/king_dtaus.rb +7 -5
- data/spec/account_spec.rb +140 -13
- data/spec/booking_spec.rb +4 -3
- data/spec/dtaus_spec.rb +44 -23
- data/spec/dtazv_spec.rb +294 -0
- data/spec/dtazv_test.rb +105 -0
- data/spec/helper_spec.rb +3 -4
- data/spec/spec_helper.rb +80 -7
- metadata +91 -20
@@ -0,0 +1,470 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module KingDta
|
3
|
+
class Dtazv < Dta
|
4
|
+
|
5
|
+
# Create a new dtazv file/string.
|
6
|
+
# ===Parameter
|
7
|
+
# typ<Date>:: date when the the transfer is to be created
|
8
|
+
def initialize(date=Date.today)
|
9
|
+
raise ArgumentError.new("Wrong date format. Make it a Time or Date object with yyyy-mm-dd") unless date.respond_to?(:strftime)
|
10
|
+
@date = date
|
11
|
+
@value_pos = true #all values are positive by default. Variable changes with first booking entry
|
12
|
+
@closed = false
|
13
|
+
@default_text = 'Want some? Come, get some!' # default verwendungzweck
|
14
|
+
end
|
15
|
+
|
16
|
+
# Creates the whole dta string(in the right order) and returns it
|
17
|
+
# === Raises
|
18
|
+
# error if there are no bookings
|
19
|
+
def create
|
20
|
+
raise Exception.new("Cannot create DTAUS without bookings") if bookings.empty?
|
21
|
+
@closed = true
|
22
|
+
# cleanup before we start
|
23
|
+
@dta_string = dta_string.empty? ? dta_string : ''
|
24
|
+
add_q
|
25
|
+
bookings.each{ |b| add_t(b) }
|
26
|
+
add_z(bookings)
|
27
|
+
end
|
28
|
+
|
29
|
+
#Erstellen P-Segment der DTAZV-Datei
|
30
|
+
# - P Datei-Vorsatz mit 256 Bytes
|
31
|
+
# === Parameter
|
32
|
+
# booking<Object>::Booking object to be written to c-sektion
|
33
|
+
#
|
34
|
+
# === Returns
|
35
|
+
# <String>:: The current dta_string
|
36
|
+
# Aufbau und Erläuterungen der Datei
|
37
|
+
# Datensatz P (Datei-Vorsatz)
|
38
|
+
|
39
|
+
# Der Vorsatz enthält Informationen über ein Institut, das Kundendatensätze Q, T, V und W als Meldung
|
40
|
+
# nach §§ 59 ff. der AWV weiterleitet. Der Vorsatz bezieht sich auf alle unmittelbar folgen den
|
41
|
+
# Kundendatensätze, deren Folge mit einem Datei-Nachsatz Y abgeschlossen wird.
|
42
|
+
|
43
|
+
# Legende:
|
44
|
+
# K = Kannfeld
|
45
|
+
# P = Pflichtfeld
|
46
|
+
# K/P = Pflichtfeld in Abhängigkeit von bestimmten Kriterien
|
47
|
+
# N = nicht belegbares Feld
|
48
|
+
# alpha = alphanumerische Daten (linksbündig, nicht belegte Stellen: Leerzeichen)
|
49
|
+
# num = numerische Daten (rechtsbündig, nicht belegte Stellen Nullen)
|
50
|
+
|
51
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
52
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern 3, numerisch bei Disketten und DFÜ)
|
53
|
+
# 2 1 5 P alpha Satzart Konstante 'P'
|
54
|
+
# 3 8 6 K/P num Bankleitzahl BLZ des Einreichinstituts
|
55
|
+
# 4 4x35 14 P alpha Einreichinstitut Zeile 1 u. 2: Name; Zeile 3: Straße Postfach; Zeile 4: Ort
|
56
|
+
# 5 6 154 P num Erstellungsdatum In der Form JJMMTT
|
57
|
+
# 6 2 160 P num laufende Nummer Laufende Tagesnummer
|
58
|
+
# 7 95 162 N alpha Reserve
|
59
|
+
def add_p
|
60
|
+
# data = '0256' # Länge des Datensatzes, PFLICHT
|
61
|
+
# data += 'P' # Satzart, PFLICHT
|
62
|
+
# data += '%8i' % @account.bank_number # BLZ des Einreichinstituts, KANN
|
63
|
+
# data += '%70s' % @account.bank_name # Einreichinstitut Zeile 1 u. 2: Name; PFLICHT
|
64
|
+
# data += '%35s' % @account.account_street_zip # Einreichinstitut Straße Postfach; Ort PFLICHT
|
65
|
+
# data += '%35s' % @account.city # Einreichinstitut Zeile 4: Ort PFLICHT
|
66
|
+
# data += @date.strftime("%y%m%d") # Erstellungsdatum In der Form JJMMTT, PFLICHT
|
67
|
+
# data += '01' # laufende Nummer Laufende Tagesnummer, PFLICHT
|
68
|
+
# data += '%095s' % '' # Reserve
|
69
|
+
# raise "DTAUS: Längenfehler P (#{data.size} <> 256)\n" if data.size != 256
|
70
|
+
# dta_string << data
|
71
|
+
end
|
72
|
+
|
73
|
+
#Erstellen Q-Segment der DTAZV-Datei
|
74
|
+
# - Q Auftraggebersatz mit 256 oder 246 Bytes (= Datei-Vorsatz aus dem Datenaustausch zwischen Kunde und Bank)
|
75
|
+
# === Parameter
|
76
|
+
# booking<Object>::Booking object to be written to c-sektion
|
77
|
+
#
|
78
|
+
# === Returns
|
79
|
+
# <String>:: The current dta_string
|
80
|
+
|
81
|
+
# 5.2 Datensatz Q - lange Variante - (Identifikation des Auftraggebers)
|
82
|
+
# Die Bundesbank nimmt Q-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch mit den von
|
83
|
+
# den Auftraggebern gelieferten Q-Sätzen. In der kurzen Variante sind nur die Felder enthalten,
|
84
|
+
# die von der Bundesbank bei der Bearbeitung der Meldungen benötigt werden (siehe 5.3).
|
85
|
+
# Beide Varianten dürfen in einer Datei vorkommen.
|
86
|
+
|
87
|
+
# Datensatz Q - kurze Variante
|
88
|
+
# Die Bundesbank nimmt Q-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch mit
|
89
|
+
# den von den Auftraggebern gelieferten Q-Sätzen. In der kurzen Variante sind nur die Felder
|
90
|
+
# enthalten, die von der Bundesbank bei der Bearbeitung der Meldungen benötigt werden; das in der
|
91
|
+
# kurzen Variante nicht enthaltene Feld ist in der folgenden Tabelle durch Schattierung und Kursivschrift
|
92
|
+
# kenntlich gemacht. Beide Varianten dürfen in einer Datei vorkommen.
|
93
|
+
|
94
|
+
# [ Anmerk.: Bei der Kurzen Variante entfällt die Kundennummer ]
|
95
|
+
|
96
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
97
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
98
|
+
# 2 1 5 P alpha Satzart Konstante "Q"
|
99
|
+
# 3 8 6 P num BLZ Erstbeauftragtes Kreditinstitut
|
100
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN --------------------------------------------------------------------------------------------------------
|
101
|
+
# 4 10 14 P num Kundennummer Ordnungsnummer gemäß Vereinbarung mit dem erstbeauftragten Kreditinstitut (ggf. Kontonummer)
|
102
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
103
|
+
# 5 4x35 24 P alpha Auftraggeberdaten Zeile 1 und 2: Name; Zeile 3: Straße / Postfach; Zeile 4: Ort
|
104
|
+
# 6 6 164 P num Erstellungsdatum Format: JJMMTT
|
105
|
+
# 7 2 170 P num laufende Nummer Laufende Tagesnummer
|
106
|
+
# 8 6 172 P num (erster) Ausführungstermin Datei Format: JJMMTT; gleich oder bis zu höchstens 15 Kalendertage nach dem Datum aus Feld Q6
|
107
|
+
# 9 1 178 P alpha Weiterleitung an die Meldebehörde Soll das erstbeauftragte Kreditinstitut Meldedaten zu den nachfolgenden Zahlungen an die Bundesbank weiterleiten ? (siehe Erläuterungen im Anhang 3). 'J' Ja 'N' Nein
|
108
|
+
# 10 2 179 K/P num Bundeslandschlüssel Zwingend belegt, wenn Meldedaten zu den Zahlungen an die Bundesbank weitergeleitet wer den sollen. ('J' in Feld Q9)
|
109
|
+
# 11 8 181 K/P num Firmennummer / BLZ des Auftraggebers Siehe Erläuterungen Feld Q10
|
110
|
+
# 12 68 189 N alpha Reserve
|
111
|
+
def add_q
|
112
|
+
data1 = '0256' # Länge des Datensatzes, PFLICHT
|
113
|
+
data1 += 'Q' # Satzart, PFLICHT
|
114
|
+
data1 += '%08i' % @account.bank_number # BLZ des Einreichinstituts, PFLICHT
|
115
|
+
data1 += '%010i' % @account.account_number # Kundennummer, PFLICHT
|
116
|
+
data1 += '%-035s' % @account.client_firstname # Einreichinstitut Zeile 1 u. 2: Name, PFLICHT
|
117
|
+
data1 += '%-035s' % @account.client_surname # Einreichinstitut Zeile 1 u. 2: Name, PFLICHT
|
118
|
+
data1 += '%-035s' % @account.client_street # Einreichinstitut Zeile 3: Straße Postfach, PFLICHT
|
119
|
+
data1 += '%-035s' % @account.client_zip_city # Einreichinstitut Zeile 4: Ort, PFLICHT
|
120
|
+
data1 += @date.strftime("%y%m%d") # Erstellungsdatum In der Form JJMMTT, PFLICHT
|
121
|
+
data1 += '01' # laufende Nummer Laufende Tagesnummer, PFLICHT
|
122
|
+
data1 += @date.strftime("%y%m%d") # (erster) Ausführungstermin Datei, PFLICHT
|
123
|
+
data1 += "N" # Weiterleitung an die Meldebehörde, PFLICHT
|
124
|
+
data1 += "%02i" % 0 # Bundeslandschlüssel, KANN, NICHT BELEGT, KEINE MELDUNG
|
125
|
+
data1 += '%08i' % 0 # @account.bank_number # Firmennummer / BLZ des Auftraggebers, KANN, NICHT BELEGT, KEINE MELDUNG
|
126
|
+
data1 += '%068s' % '' # Reserve
|
127
|
+
raise "DTAUS: Längenfehler Q (#{data.size} <> 256)\n" if data1.size != 256
|
128
|
+
dta_string << data1
|
129
|
+
end
|
130
|
+
|
131
|
+
#Erstellen T-Segment der DTAZV-Datei
|
132
|
+
# - T Einzelzahlungssatz mit 768 oder 572 Bytes
|
133
|
+
# === Parameter
|
134
|
+
# booking<Object>::Booking object to be written to c-sektion
|
135
|
+
#
|
136
|
+
# === Returns
|
137
|
+
# <String>:: The current dta_string
|
138
|
+
|
139
|
+
# 5.4 Datensatz T - lange Variante - (Einzelzahlungssatz)
|
140
|
+
# Die Bundesbank nimmt auch T-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch
|
141
|
+
# mit den von den Auftraggebern gelieferten T-Sätzen. In der kurzen Variante sind
|
142
|
+
# nur die Felder enthalten, die von der Bundesbank bei der Bearbeitung der Meldungen
|
143
|
+
# benötigt werden (siehe 5.5). Beide Varianten dürfen in einer Datei vorkommen.
|
144
|
+
|
145
|
+
# 5.5 Datensatz T - kurze Variante
|
146
|
+
# Die Bundesbank nimmt auch T-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch
|
147
|
+
# mit den von den Auftraggebern gelieferten T-Sätzen. In der kurzen Variante sind nur
|
148
|
+
# die Felder enthalten, die von der Bundesbank bei der Bearbeitung der Meldungen benötigt
|
149
|
+
# werden. Die in der kurzen Variante nicht enthaltenen Felder sind in der folgenden Tabelle
|
150
|
+
# durch Schattierung und Kursivschrift kenntlich gemacht. Beide Varianten dürfen in einer Datei vorkommen.
|
151
|
+
|
152
|
+
# Feld Länge in Bytes 1. Stelle im Satz Datenformat Inhalt Erläuterungen allg. Feldart allg. EU-Std.Ü. Feldart EU-Std.Ü. Besondere Belegungsvorschriften EUE-Ü. Feldart EUE-Ü. Besondere Belegungsvorschriften
|
153
|
+
# 1 4 1 binär/num Satzlänge Längenangabe des Satzes nach den Kon ventionen P P - P -
|
154
|
+
# für variable Satzlänge (binär bei Bändern
|
155
|
+
# numerisch bei Disketten und DFÜ)
|
156
|
+
# 2 1 5 alpha Satzart Konstante "T" P P - P -
|
157
|
+
# 3 8 6 num BLZ BLZ der kontoführenden Stelle des mit dem
|
158
|
+
# Auftragswert zu belastenden Kontos (Feld T4b) P P - P -
|
159
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
160
|
+
# 4a 3 14 alpha ISO-Währungscode Für mit Auftragswert zu belastendes Konto. P P Nur "EUR" zulälssig P Nur "EUR" zulässig
|
161
|
+
# 4b 10 17 num Kontonummer Mit Auftragswert zu belastendes Konto P P - P -
|
162
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
163
|
+
# 5 6 27 num Ausführungstermin Format: JJMMTT; gleich oder nach dem Datum aus K K - K -
|
164
|
+
# Einzelzahlung, wenn Feld Q8, jedoch bis zu höchstens 15 Kalendertage
|
165
|
+
# abweichend von Feld Q8 nach dem Datum aus Feld Q6; fehlt der Termin in
|
166
|
+
# T5, so wird das Datum in Q8 als Ausführungstermin
|
167
|
+
# angenommen.
|
168
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
169
|
+
# 6 8 33 num BLZ BLZ der kontoführenden Stelle des mit Entgelten K/P N - K/P -
|
170
|
+
# und Auslagen zu belastenden Kontos. (belegt,
|
171
|
+
# wenn dieses Konto abweicht von Auftragswertkonto)
|
172
|
+
# 7a 3 41 alpha ISO-Währungscode Währungscode des mit Entgelten und Aus lagen zu K/P N - K/P Nur 'EUR' zulässig
|
173
|
+
# belastenden Kontos. (belegt, wenn dieses Konto
|
174
|
+
# abweicht von Auftragswertkonto)
|
175
|
+
# 7b 10 44 num Kontonummer Kontonummer des mit Entgelten und Auslagen zu K/P N - K/P Nur 'EUR' zulässig
|
176
|
+
# belastenden Kontos. (belegt, wenn dieses Konto
|
177
|
+
# abweicht von Auftragswertkonto)
|
178
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
179
|
+
# 8 11 54 alpha Bank Identifier Code (BIC) Sofern die Zahlung an einen deutschen
|
180
|
+
# des Zahlungsdienstleisters Zahlungsdienstleister erfolgt, alternativ auch K/P P Bank Identifier Code P (BIC) P Bank Identifier Code (BIC) ist Pflicht.
|
181
|
+
# des Zahlungsempfängers oder die BLZ des Zahlungsdienstleisters des ist Pflicht. Zahlungsdienstleister
|
182
|
+
# sonstige Identifikation, z.B. Zahlungsempfängers, wobei dieser drei des Zahlungsempfängers muss in
|
183
|
+
# CHIPS-ID Schrägstriche voranzustellen sind. einem der Län der gemäß Anhang
|
184
|
+
# (Nicht zu belegen bei Scheckziehungen, 4 ansässig sein.
|
185
|
+
# d.h. bei den Zahlungsartschlüsseln
|
186
|
+
# 20-23 und 30-33 in Feld T22)
|
187
|
+
# 9a 3 65 alpha Ländercode für den 2-stelliger ISO-alpha-Ländercode gemäß
|
188
|
+
# Zahlungsdienstleister des Länderverzeichnis für die Zahlungsbilanzstatistik; K/P N - N -
|
189
|
+
# Zahlungsempfängers linksbündig zu belegen; 3. Stelle Leerzeichen
|
190
|
+
# (Pflichtfeld, wenn Feld T8 nicht belegt; nicht zu
|
191
|
+
# belegen bei Scheckziehungen, d.h. bei den
|
192
|
+
# Zahlungsartschlüsseln 20-23 und 30-33 in Feld T22)
|
193
|
+
# 9b 4x35 68 alpha Anschrift des Pflichtfeld, wenn Feld T8 nicht mit BIC- Adresse
|
194
|
+
# Zahlungsdienstleisters bzw. - bei Zahlungen an einen deutschen K/P N - N -
|
195
|
+
# des Zahlungsempfängers Zahlungsdienstleister - nicht mit BLZ belegt;
|
196
|
+
# sofern Anschrift nicht bekannt, Konstante
|
197
|
+
# „UNBEKANNT" Zeile 1 und 2: Name Zeile 3 :
|
198
|
+
# Straße Zeile 4 : Ort (Nicht zu belegen
|
199
|
+
# bei Scheckziehungen, d.h. bei den
|
200
|
+
# Zahlungsartschlüsseln 20-23 und 30-33 in Feld T22)
|
201
|
+
# 10a 3 208 alpha Ländercode für Land des 2-stelliger ISO-alpha-Ländercode gemäß P P - P
|
202
|
+
# Zahlungsempfängers bzw. Länderverzeichnis für die Zahlungsbilanzstatistik;
|
203
|
+
# Scheckempfängers linksbündig zu belegen; 3. Stelle Leerzeichen
|
204
|
+
# 10b 4x35 211 alpha Zahlungsempfänger bzw. Bei Zahlungsauftrag: Zahlungsempfänger Bei P P Angabe eines Scheckempfängers nicht P Angabe eines Scheck empfängers nicht möglich
|
205
|
+
# Scheckempfänger Scheckziehung: Scheckempfänger Zeile 1 und 2: möglich
|
206
|
+
# Name Zeile 3 : Straße Zeile 4 : Ort/Land.
|
207
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
208
|
+
# 11 2x35 351 alpha Ordervermerk Nur belegt bei Scheckziehung (d.h. bei den
|
209
|
+
# Zahlungsartschlüsseln 20-23 und 30-33 in Feld T22) K/P N - N -
|
210
|
+
# und Abweichung vom Inhalt der Zeilen 1 und 2
|
211
|
+
# des Feldes T10b
|
212
|
+
# 12 35 421 alpha IBAN bzw. Kontonummer des IBAN oder Kontonummer des Zahlungs empfängers,
|
213
|
+
# Zahlungsempfängers linksbündig, mit Schrägstrich beginnend. K/P P Nur IBAN zulässig;Linksbündig P Nur IBAN zulässig; Linksbündig, mit Schräg strich beginnend.
|
214
|
+
# (Nicht zu belegen bei Scheckziehungen, d.h. mit Schräg strich beginnend.
|
215
|
+
# bei den Zahlungsartschlüsseln 20-23 und 30-33
|
216
|
+
# in Feld T22)
|
217
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
218
|
+
# 13 3 456 alpha Auftragswährung ISO-Code der zu zahlenden Währung P P Nur 'EUR' zulässig P Nur 'EUR' zulässig
|
219
|
+
# 14a 14 459 num Betrag (Vorkommastellen) Rechtsbündig P P Nur Beträge bis max. 50k EUR zulässig P -
|
220
|
+
# 14b 3 473 num Betrag (Nachkommastellen) Linksbündig P P - P -
|
221
|
+
# 15 4x35 476 alpha Verwendungszweck - K K - K -
|
222
|
+
# 16 2 616 num Weisungsschlüssel 1 Nicht zu belegen bei Scheckziehungen, K N - K Nur Weisungsschlüssel ‚10‘, ‚11‘ und ‚12‘ aus Anhang 2 zulässig
|
223
|
+
# (gem. Anhang 2) (d.h. bei den Zahlungsartschlüsseln 20-23
|
224
|
+
# und 30-33 in Feld T22)
|
225
|
+
# 17 2 618 num Weisungsschlüssel 2 Nicht zu belegen bei Scheckziehungen, K N - K Nur Weisungsschlüssel ‚10‘, ‚11‘ und ‚12‘ aus Anhang 2 zulässig
|
226
|
+
# (gem. Anhang 2) (d.h. bei den Zahlungsartschlüsseln
|
227
|
+
# 20-23 und 30-33 in Feld T22)
|
228
|
+
# 18 2 620 num Weisungsschlüssel 3 Nicht zu belegen bei Scheckziehungen, K N - K Nur Weisungsschlüssel ‚10‘, ‚11‘, und ‚12‘ aus Anhang 2 zulässig
|
229
|
+
# (gem. Anhang 2) (d.h. bei den Zahlungsartschlüsseln
|
230
|
+
# 20-23 und 30-33 in Feld T22)
|
231
|
+
# 19 2 622 num Weisungsschlüssel 4 Mit ‘91‘ zu belegen im Falle von "Euro-
|
232
|
+
# (gem. Anhang 2 und 2a) Gegenwertzahlungen“ (vgl. Anhang 2a). K/P N - K Nur Weisungsschlüssel ‚10‘, ‚11‘ und ‚12‘ aus Anhang 2 zulässig
|
233
|
+
# Bei Scheckziehungen, d.h. bei den
|
234
|
+
# Zahlungsartschlüsseln 20-23 und 30-33
|
235
|
+
# in Feld T22 nur '91' möglich.
|
236
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
237
|
+
# 20 25 624 alpha Zusatzinformationen zum Z. B. Telex, Tel.-Nr., Kabelanschrift
|
238
|
+
# Weisungsschlüssel (Nicht zu belegen bei Scheckziehungen, K N - K Nur bei Weisungs schlüssel ‚10‘ aus An hang 2 zulässig
|
239
|
+
# d.h. bei den Zahlungsartschlüsseln 20-23
|
240
|
+
# und 30-33 in Feld T22)
|
241
|
+
# 21 2 649 num Entgeltregelung 00 = Entgelte zu Lasten Auftraggeber / K/P P Nur '00' zugelassen K/P -
|
242
|
+
# fremde Entgelte und Auslagen zu Lasten
|
243
|
+
# Zahlungsempfänger
|
244
|
+
# 01 = alle Entgelte und Auslagen zu Lasten
|
245
|
+
# Auftraggeber
|
246
|
+
# 02 = alle Entgelte und Auslagen zu Lasten
|
247
|
+
# Zahlungsempfänger
|
248
|
+
# (Bei Überweisungen im EWR in EWR- Währungen
|
249
|
+
# ohne Währungsumrechnung – Feld T4a = Feld T13
|
250
|
+
# – nur „00“ zulässig.)
|
251
|
+
# (Bei Scheckziehung, d.h. bei Zahlungsartschlüssel
|
252
|
+
# 20-23 und 30-33 in Feld T22 nur ‚00‘ möglich)
|
253
|
+
# 22 2 651 num Kennzeichnung der Zahlungsart Gemäß Anhang 1; Zahlungen, die weder '11' noch P P Nur Zahlungsartschlüssel ‚13‘ P Nur Zahlungsart schlüssel ‚11‘ aus Anhang 1 zulässig
|
254
|
+
# '13' als Zahlungsartschlüssel enthalten, gelten aus Anhang 1 zulässig
|
255
|
+
# als allgemeine Zahlungen.
|
256
|
+
# 23 27 653 alpha Variabler Text nur für Vom Auftraggeber frei belegbar
|
257
|
+
# Auftraggeberabrechnung (z.B. Refe renz-Nr.); wird nicht weitergeleitet; K K - K -
|
258
|
+
# weiterzuleitende Informationen in Feld T15
|
259
|
+
# angeben; maximal 16 Stellen werden in den
|
260
|
+
# elektronischen Kontoauszug übernommen.
|
261
|
+
# (nur nach Absprache mit dem Kreditinstitut)
|
262
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
263
|
+
# 24 35 680 alpha Name und Telefonnummer sowie Ansprechpartner beim Auftraggeber für eventuelle
|
264
|
+
# ggf. Stellvertretungsmeldung Rückfragen der beauftragten Bank oder der K/P K Ansprechpartner beim Auftraggeber K/P -
|
265
|
+
# Meldebehörde. Dahinter, wenn Auftraggeber für eventuelle Rückfragen der
|
266
|
+
# nicht Zahlungspflichtiger ist: ‘INVF’, beauftragten Bank
|
267
|
+
# ohne Leerstellen gefolgt von: Bundesland-Nummer
|
268
|
+
# (2-stellig) und: Firmennummer bzw. BLZ
|
269
|
+
# (8-stellig) des Zahlungspflichtigen
|
270
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
271
|
+
# 25 1 715 num Meldeschlüssel Nur belegt, wenn die Weiterleitung des K N - K -
|
272
|
+
# Zahlungsauftrages an die Bundesbank auf
|
273
|
+
# die statistischen Angaben beschränkt werden
|
274
|
+
# soll; (dies sind die Datensätze V, W und Q
|
275
|
+
# (ohne Feld Q4) und die Felder 3, 5, 8, 9a,
|
276
|
+
# 9b, 10a, 10b, 13, 14a, 14b, 15, 16, 17,
|
277
|
+
# 18, 19 und 24 - 27 des Datensatzes T).
|
278
|
+
# Belegung in diesem Falle : ‘1’
|
279
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN-------------------------------------------------------------------------------------------------------
|
280
|
+
# 26 51 716 alpha - Reserve N N - N -
|
281
|
+
# 27 2 767 num Erweiterungskennzeichen 00 = es folgt kein Meldeteil P N - P -
|
282
|
+
#
|
283
|
+
def add_t(booking)
|
284
|
+
data2 = '0768' # PFLICHT, 1 Länge des Datensatzes
|
285
|
+
data2 += 'T' # PFLICHT, 2 Satzart
|
286
|
+
data2 += '%08i' % @account.bank_number # PFLICHT, 3 BLZ des Einreichinstituts
|
287
|
+
data2 += 'EUR' # PFLICHT, 4a ISO-Währungscode
|
288
|
+
data2 += '%010i' % @account.account_number # PFLICHT, 4b Kontonummer
|
289
|
+
data2 += @date.strftime("%y%m%d") # KANN, 5 Ausführungstermin Einzelzahlung, wenn abweichend von Feld Q8
|
290
|
+
data2 += '%08i' % 0 # KANN/PFLICHT 6 BLZ
|
291
|
+
data2 += '%03s' % '' # KANN/PFLICHT 7a ISO-Währungscode
|
292
|
+
data2 += '%010i' % 0 # KANN/PFLICHT 7b BLZ
|
293
|
+
data2 += '%-011s' % booking.account.bank_number # KANN/PFLICHT 8 11 Bank Identifier Code (BIC) des Zahlungsdienstleisters des Zahlungsempfängers (AUCH BLZ denke ich)
|
294
|
+
data2 += '%-03s' % '' #booking.account.bank_country_code # KANN/PFLICHT 9a 3 Ländercode für den Zahlungsdienstleister des Zahlungsempfängers
|
295
|
+
data2 += '%070s' % '' #booking.account.bank_name # KANN/PFLICHT 9b 4x35 Anschrift des Zahlungsdienstleisters des Zahlungsempfängers - Pflichtfeld wenn T8 nich belegt Zeile 1 und 2:
|
296
|
+
data2 += '%035s' % '' #booking.account.street # KANN/PFLICHT 9b Name Zeile 3 : Straße Zeile
|
297
|
+
data2 += '%035s' % '' #booking.account.zip_city # KANN/PFLICHT 9b 4 : Ort
|
298
|
+
data2 += '%-03s' % booking.account.client_country_code # PFLICHT 10a Ländercode für Land des Zahlungsempfängers bzw. Scheckempfängers
|
299
|
+
data2 += '%-035s' % booking.account.client_firstname # KANN/PFLICHT 10b 4x35 Anschrift des Zahlungsdienstleisters des Zahlungsempfängers - Pflichtfeld wenn T8 nich belegt Zeile 1 und 2:
|
300
|
+
data2 += '%-035s' % booking.account.client_surname # KANN/PFLICHT 10b 4x35 Anschrift des Zahlungsdienstleisters des Zahlungsempfängers - Pflichtfeld wenn T8 nich belegt Zeile 1 und 2:
|
301
|
+
data2 += '%-035s' % booking.account.client_street # KANN/PFLICHT 10b Name Zeile 3 : Straße Zeile
|
302
|
+
data2 += '%-035s' % booking.account.client_zip_city # KANN/PFLICHT 10b 4 : Ort
|
303
|
+
data2 += '%070s' % '' # KANN/PFLICHT 11 Ordervermerk
|
304
|
+
data2 += '/%-034s' % booking.account.account_number # PFLICHT 12 35 IBAN bzw. Kontonummer des
|
305
|
+
data2 += 'EUR' # KANN/PFLICHT 13 3 Auftragswährung "EUR"
|
306
|
+
data2 += '%014i' % booking.value.divmod(100)[0] # PFLICHT 14a 14 Betrag (Vorkommastellen) Rechtsbündig
|
307
|
+
data2 += '%02i0' % booking.value.divmod(100)[1] # PFLICHT 14b 3 Betrag (Nachkommastellen) Linksbündig
|
308
|
+
data2 += '%0140s' % booking.text || default_text # KANN 15 4x35 Verwendungszweck
|
309
|
+
data2 += "%02i" % 0 # N 16 Weisungsschlüssel 1 (gem. Anhang 2)
|
310
|
+
data2 += "%02i" % 0 # N 17 Weisungsschlüssel 2 (gem. Anhang 2)
|
311
|
+
data2 += "%02i" % 0 # N 18 Weisungsschlüssel 3 (gem. Anhang 2)
|
312
|
+
data2 += "%02i" % 0 # N 19 Weisungsschlüssel 4 (gem. Anhang 2 und 2a)
|
313
|
+
data2 += '%025s' % '' # N 20 Zusatzinformationen zum Weisungsschlüssel
|
314
|
+
data2 += "%02i" % 0 # PFLICHT 21 Entgeltregelung
|
315
|
+
data2 += "%02i" % 13 # PFLICHT 22 Kennzeichnung der Zahlungsart Gemäß Anhang 1; Zahlungen, die weder '11' noch '13' als Zahlungsartschlüssel enthalten
|
316
|
+
data2 += '%027s' % '' # KANN 23 Variabler Text nur für Auftraggeberabrechnung
|
317
|
+
# i dont know what to do.
|
318
|
+
data2 += '%035s' % '' # KANN/PFLICHT 24 35 Name und Telefonnummer sowie ggf. Stellvertretungsmeldung
|
319
|
+
data2 += '%01i' % 0 # KANN/NICHT 25 Meldeschlüssel
|
320
|
+
data2 += '%051s' % '' # N 26 Reserve
|
321
|
+
data2 += '%02i' % 0 # PFLICHT/NICHT 27 2 Erweiterungskennzeichen 00 = es folgt kein Meldeteil
|
322
|
+
raise "DTAUS: Längenfehler T (#{data2.size} <> 768)\n" if data2.size != 768
|
323
|
+
dta_string << data2
|
324
|
+
end
|
325
|
+
|
326
|
+
#Erstellen V-Segment der DTAZV-Datei
|
327
|
+
# - V Meldedatensatz zum Transithandel mit 256 Bytes
|
328
|
+
# === Parameter
|
329
|
+
# booking<Object>::Booking object to be written to c-sektion
|
330
|
+
#
|
331
|
+
# === Returns
|
332
|
+
# <String>:: The current dta_string
|
333
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
334
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
335
|
+
# 2 1 5 P alpha Satzart Konstante "V"
|
336
|
+
# 3 27 6 P alpha Warenbezeichnung der eingekauften Transithandelsware -
|
337
|
+
# 4a 2 33 P num Kapitel-Nummer des Warenverzeichnisses Gemäß Warenverzeichnis für die Außenhandelsstatistik.
|
338
|
+
# für die eingekaufte Transithandelsware
|
339
|
+
# 4b 7 35 P num "0000000“ Konstante "0000000“
|
340
|
+
# 5 7 42 P alpha Einkaufsland Transithandel Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik
|
341
|
+
# 6 3 49 P alpha Ländercode für Einkaufsland Transithandel 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen
|
342
|
+
# 7 12 52 P num Einkaufspreis Transithandel (Vorkommastellen) Angabe in Auftragswährung (siehe Feld T13) ; bei Euro-Gegenwertzahlungen : Angabe in Euro und Feld T19 mit ’91‘ belegen.
|
343
|
+
# 8 1 64 P alpha Verkauf der Transithandelsware an Gebietsfremde Ja (= J) bzw. Nein (= N)
|
344
|
+
# (durchgehandeltes Transithandels geschäft)
|
345
|
+
# 9 1 65 P alpha Kennzeichnung Verkauf der Transithandelsware Ja (= J) bzw. Nein (= N)
|
346
|
+
# an Gebietsansässige (gebrochenes
|
347
|
+
# Transithandelsgeschäft)
|
348
|
+
# 10 1 66 N alpha - Reserve
|
349
|
+
# 11 1 67 P alpha Kennzeichnung Transithandelsware unverkauft Ja (= J) bzw. Nein (= N)
|
350
|
+
# auf Lager im Ausland
|
351
|
+
# 12 27 68 K/P alpha Warenbezeichnung der verkauften Transithandelsware Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8) und nicht identisch mit Feld V3
|
352
|
+
# 13a 2 95 K/P num Kapitel-Nummer des Warenverzeichnisses für die Gemäß Warenverzeichnis für die Außenhandelsstatistik; nur belegt, wenn durchge handelter Transithandel (J in Feld V8) und wenn Feld V13a nicht identisch mit Feld V4a
|
353
|
+
# verkaufte Transithandelsware
|
354
|
+
# 13b 7 97 P num "0000000" Konstante "0000000"
|
355
|
+
# 14 4 104 K/P alpha Fälligkeit Verkaufserlös Transithandel Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8), Format: JJMM
|
356
|
+
# 15 7 108 K/P alpha Käuferland Transithandel Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik; nur be legt, wenn durchgehandelter Transithandel (J in Feld V8)
|
357
|
+
# 16 3 115 K/P alpha Ländercode für Käuferland 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen; nur belegt, wenn durchgehandelter Transithandel (J in Feld V8)
|
358
|
+
# 17 12 118 K/P num Verkaufspreis Transithandel (Vorkommastellen) Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8); Angabe in Auftragswährung (siehe Feld T13); bei Euro-Gegenwertzahlungen : Angabe in Euro und Feld T19 mit ’91‘ belegen.
|
359
|
+
# 18 40 130 K/P alpha Ergänzungsangaben Transithandel Name und Sitz des Nachkäufers bei gebrochenem Transithandel (J in Feld V9)
|
360
|
+
# 19 87 170 N alpha - Reserve
|
361
|
+
def add_v
|
362
|
+
# data = '0256' # 1 Länge des Datensatzes
|
363
|
+
# data += 'V' # 2 Satzart
|
364
|
+
# data += '%27s' % # 3 Warenbezeichnung der eingekauften Transithandelsware
|
365
|
+
# data += 4a Kapitel-Nummer des Warenverzeichnisses für die eingekaufte Transithandelsware
|
366
|
+
# data += "0000000" # 4b Konstante "0000000“
|
367
|
+
# data += '%7s' # 5 Einkaufsland Transithandel
|
368
|
+
# data += '%03s' # 6 Ländercode für Einkaufsland Transithandel 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen
|
369
|
+
# data += '%012i' # 7 Einkaufspreis Transithandel (Vorkommastellen)
|
370
|
+
# data += 'J' # 8 Verkauf der Transithandelsware an Gebietsfremde Ja (= J) bzw. Nein (= N)
|
371
|
+
# data += '...' # 9 Kennzeichnung Verkauf der Transithandelsware an Gebietsansässige (gebrochenes Transithandelsgeschäft) Ja (= J) bzw. Nein (= N)
|
372
|
+
# data += '%01s' # 10 Reserve
|
373
|
+
# data += 'J' # 11 Kennzeichnung Transithandelsware unverkauft Ja (= J) bzw. Nein (= N)
|
374
|
+
# data += '%27s' # 12 Warenbezeichnung der verkauften Transithandelsware Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8) und nicht identisch mit Feld V3
|
375
|
+
# data += '%27s' # 13a Kapitel-Nummer des Warenverzeichnisses für die
|
376
|
+
# data += "0000000" # 13b Konstante "0000000"
|
377
|
+
# data += '%04s' # 14 Fälligkeit Verkaufserlös Transithandel verkaufte Transithandelsware
|
378
|
+
# data += '%07s' # 15 Käuferland Transithandel Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik
|
379
|
+
# data += '%03s' # 16 Ländercode für Käuferland 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen;
|
380
|
+
# data += '%12s' # 17 Verkaufspreis Transithandel (Vorkommastellen) Nur belegt, wenn durchgehandelter Transithandel
|
381
|
+
# data += '%40s' # 18 Ergänzungsangaben Transithandel Name und Sitz des Nachkäufers bei gebrochenem Transithandel (J in Feld V9)
|
382
|
+
# data += '%87s' # 19 Reserve
|
383
|
+
end
|
384
|
+
|
385
|
+
#Erstellen W-Segment der DTAZV-Datei
|
386
|
+
# - W Meldedatensatz für Dienstleistungs-, Kapitalverkehr und Sonstiges mit 256 Bytes
|
387
|
+
# === Parameter
|
388
|
+
# booking<Object>::Booking object to be written to c-sektion
|
389
|
+
#
|
390
|
+
# === Returns
|
391
|
+
# <String>:: The current dta_string
|
392
|
+
# Datensatz W (Datei-Nachsatz)
|
393
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
394
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
395
|
+
# 2 1 5 P alpha Satzart Konstante W
|
396
|
+
# 3 1 6 P num Belegart Dienstleistungen, Übertragungen = ‘2’ Kapitaltransaktionen und Kapitalerträge = ‘4’
|
397
|
+
# 4 3 7 P num Kennzahl Gemäß Leistungsverzeichnis (Anlage LV zur AWV)
|
398
|
+
# 5 7 10 P alpha Land Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik (siehe Anhang 3, Abschnitt E)
|
399
|
+
# 6 3 17 P alpha Ländercode 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik (siehe Anhang 3, Abschnitt E); linksbündig zu belegen; 3. Stelle Leerzeichen
|
400
|
+
# 7 7 20 K/P alpha Anlageland bei Kapitalverkehr Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik 3
|
401
|
+
# 8 3 27 K/P alpha Ländercode für Anlageland 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik 3; linksbündig zu belegen; 3. Stelle Leerzeichen
|
402
|
+
# 9 12 30 P num Betrag für Dienstleistungen, Angabe in Auftragswährung (siehe Feld T13); bei Euro-Gegenwertzahlungen : Angabe in Euro und Feld T19 mit ’91‘ belegen.
|
403
|
+
# Kapitalverkehr, Sonstiges
|
404
|
+
# (Vorkommastellen)
|
405
|
+
# 10 140 42 P alpha nähere Angaben zur zugrunde Wichtige Einzelheiten des Grundgeschäfts
|
406
|
+
# liegenden Leistung
|
407
|
+
# 11 75 182 N alpha - Reserve
|
408
|
+
def add_w
|
409
|
+
# data = '0256' # 1 Länge des Datensatzes
|
410
|
+
# data += 'W' # 2 Satzart
|
411
|
+
# data += '%01s' % ... # 3 Belegart
|
412
|
+
# data += '%03s' % ... # 4 Kennzahl
|
413
|
+
# data += '%07s' % ... # 5 Land
|
414
|
+
# data += '%3s' # 6 Ländercode
|
415
|
+
# data += '%07s' % ... # 7 Anlageland bei Kapitalverkehr
|
416
|
+
# data += '%03s' % ... # 8 Ländercode für Anlageland
|
417
|
+
# data += '%012i' % ... # 9 Betrag für Dienstleistungen Kapitalverkehr, Sonstiges (Vorkommastellen)
|
418
|
+
# data += '%0140s' # 10 nähere Angaben zur zugrunde liegenden Leistung
|
419
|
+
# data += '%075s' # 11 Reserve
|
420
|
+
end
|
421
|
+
|
422
|
+
#Erstellen Y-Segment der DTAZV-Datei
|
423
|
+
# - Y Datei-Nachsatz mit 256 Bytes
|
424
|
+
# === Parameter
|
425
|
+
# booking<Object>::Booking object to be written to c-sektion
|
426
|
+
#
|
427
|
+
# === Returns
|
428
|
+
# <String>:: The current dta_string
|
429
|
+
#Aufbau des Segments:
|
430
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
431
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
432
|
+
# 2 1 5 P alpha Satzart Konstante Y
|
433
|
+
# 3 15 6 P num Betragssumme Aus Datensätzen U Feld 5 ( = 0, falls keine U-Sätze vorhanden)
|
434
|
+
# 4 15 21 P num Betragssumme Aus Datensätzen V Feld 7
|
435
|
+
# 5 15 36 P num Betragssumme Aus Datensätzen V Feld 17
|
436
|
+
# 6 15 51 P num Betragssumme Aus Datensätzen W Feld 9
|
437
|
+
# 7 6 66 P num Anzahl der Datensätze Anzahl Datensätze U, V, W
|
438
|
+
# 8 6 72 P num Anzahl der Datensätze Anzahl Datensätze T
|
439
|
+
# 9 179 78 P alpha Leerzeichen Reserve
|
440
|
+
def add_y(bookings)
|
441
|
+
data3 = '0256' # 1 Länge des Datensatzes
|
442
|
+
data3 += 'Y' # 2 Satzart
|
443
|
+
data3 += '%015i' % 0 # 3 Betragssumme
|
444
|
+
data3 += '%015i' % 0 # 4 Betragssumme
|
445
|
+
data3 += '%015i' % 0 # 5 Betragssumme
|
446
|
+
data3 += '%015i' % 0 # 6 Betragssumme
|
447
|
+
data3 += '%06i' % 0 # 7 Anzahl der Datensätze
|
448
|
+
data3 += '%06i' % bookings.count # 8 Anzahl der Datensätze
|
449
|
+
data3 += '%0179s' % '' # 9 Leerzeichen Reserve
|
450
|
+
raise "DTAUS: Längenfehler T (#{data3.size} <> 256)\n" if data3.size != 256
|
451
|
+
dta_string << data3
|
452
|
+
end
|
453
|
+
|
454
|
+
# THE MAGICAL Z SEGMENT
|
455
|
+
def add_z(bookings)
|
456
|
+
data3 = '0256'
|
457
|
+
data3 += 'Z'
|
458
|
+
sum = 0
|
459
|
+
bookings.each do |b|
|
460
|
+
sum += b.value.divmod(100)[0]
|
461
|
+
end
|
462
|
+
data3 += '%015i' % sum
|
463
|
+
data3 += '%015i' % bookings.count
|
464
|
+
data3 += '%0221s' % ''
|
465
|
+
raise "DTAUS: Längenfehler Z (#{data3.size} <> 256)\n" if data3.size != 256
|
466
|
+
dta_string << data3
|
467
|
+
end
|
468
|
+
|
469
|
+
end
|
470
|
+
end
|
data/lib/king_dtaus.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require "bigdecimal"
|
2
|
-
require "
|
3
|
-
require "
|
4
|
-
require "
|
5
|
-
require "
|
6
|
-
require "
|
2
|
+
require "king_dta/helper"
|
3
|
+
require "king_dta/dta"
|
4
|
+
require "king_dta/account"
|
5
|
+
require "king_dta/booking"
|
6
|
+
require "king_dta/dtaus"
|
7
|
+
require "king_dta/dtazv"
|
8
|
+
require "king_dta/exception"
|