summaryrefslogtreecommitdiff
path: root/app/eudas/4.3/doc/eudas.hdb.9
blob: 341feca07eba71e80202402612af0793d1174b41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
#limit (11.0)##pagelength (16.5)##block#                                   
#start (2.0,0.0)# 
#page (83)# 
#headodd# 
#center#EUDAS#right#% 
 
#end# 
#headeven# 
%#center#EUDAS 
 
#end# 
#center#1 
 
9 Das virtuelle Dateikonzept 
 
 
 
9.1 Konzept 
 
Bisher haben Sie zu einem Zeitpunkt immer nur eine EUDAS-Datei
bearbeiten können. Wenn Sie zu einer anderen Datei wechseln woll­
ten, mußten Sie die eine Datei sichern und die andere Datei wieder
öffnen. Es gibt jedoch Fälle, in denen Beziehungen zwischen mehre­
ren Dateien bestehen. Daher kann EUDAS auch mit mehreren Dateien
gleichzeitig umgehen. 
    Es hat jedoch Vorteile, wenn man nur mit einer Datei arbeitet.
Sie müssen dann nicht immer den Namen der gewünschten Datei
angeben, wenn Sie eine Funktion ausführen. Dies brauchen Sie nur
einmal beim Öffnen zu tun - danach ist eindeutig festgelegt, wel­
che Datei gemeint ist. 
    EUDAS versucht diese Vorteile auch bei mehreren Dateien zu
erhalten. Die verschiedenen Dateien werden so kombiniert, daß eine
neue Datei entsteht. Sie arbeiten dann nur mit dieser Datei, die alle
Daten der Einzeldateien enthält. 
    Damit Sie aber nicht so lange warten müssen, geschieht dieser
Kombinationsvorgang erst beim Ansehen. Die kombinierte Datei ist
also nicht wirklich vorhanden, sondern ihre Einzelsätze werden nur
bei Bedarf erzeugt. Daher heißt diese Gesamtdatei auch #on("i")#virtuelle#off("i")#
(scheinbare) Datei. 
    Eine Kombination von Dateien ist auf zwei Arten möglich. Sie
können gleichartige Dateien hintereinander#on("i")#ketten#off("i")#, oder Sie können
Dateien über gemeinsame Felder #on("i")#koppeln#off("i")#. Beide Methoden können
auch kombiniert werden. 
 
#on("b")#Änderungen#off("b")# Die virtuelle Datei kann auch verändert werden.
Die
Veränderungen werden dann in den entsprechenden Ursprungsda­
teien vorgenommen. Es ist jedoch nicht immer eindeutig, wie diese
Änderungen aussehen sollen. Achten Sie daher auf die speziellen
Regeln, die bei solchen Änderungen gelten, damit Sie die Auswir­
kungen einer Änderung abschätzen können. 
    Wenn Sie Veränderungen vorgenommen haben, müssen Sie die
Arbeitskopien anschließend wieder sichern. Denken Sie daran, daß
EUDAS immer auf unbenannten Kopien arbeitet, wenn Sie ändern
wollen. Beim Sichern von mehreren Dateien wird Ihnen zu jeder
Datei einzeln angezeigt, ob sie tatsächlich verändert wurde. Sie
können dann ebenfalls einzeln entscheiden, ob Sie die Datei sichern
wollen oder nicht. 
 
 
9.2 Ketten 
 
Wenn Sie einmal EUDAS-Dateien mit mehreren tausend Sätzen er­
stellen, werden Sie feststellen, daß deren Handhabung recht um­
ständlich sein kann. Da die Datei sehr groß ist, dauern zum Beispiel
Kopiervorgänge aufs Archiv viel länger als bei kleinen Dateien. 
    Wenn Sie nun auch noch für jede kleine Änderung die Datei
vom Archiv holen und anschließend wieder zurückschreiben müssen,
werden Sie einen Weg suchen, diese Arbeit zu erleichtern. Die ein­
fachste Möglichkeit wäre, einen schnelleren Rechner zu kaufen. Dies
ist gleichzeitig aber auch die teuerste. 
 
 
#free (4.5)# 
 
#center#Abb. 9-1   Verkettung von A und B 
 
 
EUDAS ermöglicht es Ihnen nun, die große Datei in mehrere kleine
aufzuspalten. In der Regel gibt es bei solch großen Dateien ein
Kriterium, nach dem die Sätze in verschiedene Dateien verteilt
werden können. Jede einzelne Datei kann nun bequem geändert
werden. 
    Ein Problem entsteht jedoch, wenn alle Dateien zusammen ver­
arbeitet werden müssen (zum Beispiel beim Drucken). Für einen
solchen Vorgang können Sie die kleineren Dateien logisch aneinan­
derketten. 
    Dies bedeutet für Sie, daß alle kleinen Dateien wie eine große
Datei wirken. Wenn Sie beim Bewegen in der Datei das Ende einer
einzelnen Datei erreichen, kommen Sie automatisch an den Anfang
der nächsten Datei. 
 
#on("b")#Aufruf#off("b")# Damit dies funktioniert, müssen die Dateien
natürlich
gleiche Feldstruktur haben. Außerdem ist die Zahl der verkettbaren
Dateien aus technischen Gründen auf 10 beschränkt. 
    Sie können die Dateien verketten, indem Sie die Funktion 
#free (0.2)# 
 
        K Ketten 
 
#free (0.2)# 
im Menü 'Öffnen' aufrufen. 
 
#on("b")#Änderungen#off("b")# In der virtuellen Datei ist sowohl Einfügen als
auch
Ändern erlaubt. Beim Einfügen ist jedoch zu beachten, daß am Ende
einer Datei nicht angefügt werden kann. Dies liegt daran, daß Sie
entweder vor dem letzten Satz der einen Datei oder vor dem ersten
Satz der anderen Datei einfügen. Der Endesatz der einen Datei, der
normalerweise sichtbar wäre, wird übersprungen. 
    Am Ende der letzten Datei können Sie natürlich anfügen, da
deren Endemarkierung als Ende der ganzen Datei ja wieder sichtbar
ist. 
 
 
9.3 Koppeln 
 
Nachdem das Verketten von Dateien noch ganz einfach zu verstehen
war, kommt jetzt eine Funktion auf Sie zu, die kompliziertere Mög­
lichkeiten in sich birgt: nämlich das Koppeln. 
    Es kommt häufiger vor, daß sich ein Feld einer Datei auf einen
bestimmten Satz in einer anderen Datei bezieht. So könnten zum
Beispiel die Ausleihen einer Bücherei in folgender Datei gespeichert
sein: 
 
 
        'Name' 
        'Vorname' 
        'Datum' 
        'Buch-Nr.' 
 
 
Wenn jetzt ein Ausleiher sein Rückgabedatum überschritten hat,
möchte die Bücherei dem Kunden ein Mahnschreiben schicken. Auf
diesem Schreiben soll aber nicht die Buch-Nr. erscheinen, sondern
Autor und Titel des Buches. 
    Diese Sekundärinformationen sind in einer anderen Datei ge­
speichert, der Bestandskartei: 
 
 
        'Buch-Nr.' 
        'Autor' 
        'Titel' 
        'Verlag' 
 
 
Alle Dateistrukturen hier sind natürlich zwecks größerer Übersicht­
lichkeit vereinfacht. Um jetzt dem Kunden das Mahnschreiben zu
schicken, müssen die Informationen in den beiden Dateien korreliert
werden. 
 
#on("b")#Aufruf#off("b")# Zuerst wird die Ausleihdatei normal geöffnet. Dazu
wird dann die Bestandsdatei mit Hilfe der Funktion 
#free (0.2)# 
 
        K Koppeln 
 
#free (0.2)# 
gekoppelt. Dies hat folgenden Effekt: 
    Die Sätze erscheinen normal so, wie sie in der Ausleihdatei
auftauchen, also für jede Ausleihe genau ein Satz. Dazu erscheint
aber jeweils die Beschreibung des ausgeliehenen Buches aus der
Bestandsdatei: die beiden Dateien wurden über das Feld "Buch-Nr."
gekoppelt. 
    Als Struktur ergibt sich für die kombinierte Datei: 
 
 
        'Name' 
        'Vorname' 
        'Datum' 
        'Buch-Nr.' 
        'Titel' 
        'Autor' 
        'Verlag' 
 
 
Die Felder der Koppeldatei wurden also noch hinzugefügt. 
 
#on("b")#Koppelfelder#off("b")# Zwei Dinge sind in diesem Zusammenhang
wichtig:
Damit der Koppelvorgang ohne allzuviele Vorgaben auskommen kann,
müssen Felder, über die gekoppelt wird, den gleichen Namen haben
- und zwar exakt Zeichen für Zeichen. Zum zweiten muß ein solches
#on("i")#Koppelfeld#off("i")# am Anfang der gekoppelten Datei (in unserem Fall der
Bestandsdatei) stehen. Dies ist aus technischen Gründen notwendig,
damit der Koppelvorgang in vernünftiger Geschwindigkeit ablaufen
kann. 
 
 
#free (7.0)# 
 
#center#Abb. 9-2   Schema des Koppelvorgangs 
 
 
#on("b")#Mehrere Dateien#off("b")# Genau wie beim Ketten ist die Kombination
der
Dateien nicht physikalisch, sondern nur scheinbar vollzogen worden.
Bis zum Limit der maximal geöffneten Dateien (10) können Sie auch
weitere Dateien dazukoppeln. Die Koppelfelder dieser Dateien kön­
nen sich jedoch immer nur auf die erste Datei beziehen, also nicht
auf eine andere Koppeldatei. 
    Dies könnte man in unserem Beispiel ausnutzen. Die Bücherei
hat sicher auch eine Datei ihrer Mitglieder. Diese könnte etwa so
aussehen: 
 
 
        'Name' 
        'Vorname' 
        'm/w' 
        'Strasse' 
        'PLZ' 
        'Ort' 
 
 
Diese Datei können wir ebenfalls zur Ausleihdatei dazukoppeln.
Damit haben wir auch gleich die Quelle gewonnen, aus der wir die
Anschrift für das Mahnschreiben gewinnen können. 
    Die Kopplung geschieht in diesem Fall über zwei Felder, näm­
lich 'Name' und 'Vorname'. Damit ein Mitglied eindeutig identifi­
ziert wird, werden beide Namen gebraucht. Dies berücksichtigt auch
das Koppelverfahren. Wiederum müssen die Namen exakt mit Namen
der ersten Datei übereinstimmen. 
    Wenn mehrere Koppelfelder für eine Koppeldatei notwendig sind,
müssen Sie alle hintereinander stehen. Wäre die Struktur der Mit­
gliederdatei etwa 
 
 
        'Name' 
        'Titel' 
        'Vorname' 
        'm/w' 
        'Strasse' 
        'PLZ' 
        'Ort' 
 
 
würde nur über 'Name' gekoppelt, da 'Titel' in der ersten Datei
nicht vorkommt. Alle weiteren Felder können dann keine Koppelfel­
der mehr werden. Durch Umstellen der Feldreihenfolge der Koppel­
datei (durch Umkopieren) oder durch entsprechende Benennung von
Feldern können Sie immer den gewünschten Effekt erzielen. 
 
 
#free (8.0)# 
 
#center#Abb. 9-3   Aufbau der virtuellen Datei 
 
 
#on("b")#Zusammenfassung#off("b")# An dieser Stelle wollen wir die Ergebnisse
dieses Abschnitts als Regel zusammenfassen: 
 
#limit (12.0)# 
    Die ersten Felder der Koppeldatei, die wörtlich an be­
    liebiger Stelle auch in der ersten Datei auftauchen,
    werden Koppelfelder genannt. Zu einem Satz der ersten
    Datei wird ein Satz der Koppeldatei gezeigt, der im In­
    halt der Koppelfelder übereinstimmt. 
#limit (13.5)# 
 
Übersetzt in unser Beispiel heißt dies: 'Buch-Nr.' bzw. 'Name' und
'Vorname' sind Koppelfelder. Zu einer bestimmten Ausleihe erschei­
nen die Daten des Buches mit der angegebenen Buch-Nr. bzw. die
Adresse des Mitgliedes mit den angegebenen Namen. 
 
 
9.4 Auswirkungen des Koppelns 
 
Nachdem Sie nun das Grundprinzip des Koppelns kennen, sollen Sie
einige Auswirkungen dieses Verfahrens kennenlernen. 
    Ein Beispiel dazu finden Sie in Abb. 9-4. Dargestellt sind je­
weils die Satznummern und einige Inhalte. Die zweite Zeile in der
Hauptdatei und die erste in der Koppeldatei stellen das Koppelfeld
dar. 
 
 
#free (6.5)# 
 
#center#Abb. 9-4   Kombinationen 
 
 
#on("b")#Kombinationen#off("b")# Zuerst muß geklärt werden, was passiert,
wenn es
keinen passenden Satz in der Koppeldatei gibt. Zum Beispiel könnte
eine Buchnummer eingegeben worden sein, die in der Bestandsdatei
nicht existiert. In diesem Fall zeigt EUDAS für die Felder der Kop­
peldatei einfach einen leeren Inhalt an (siehe Satz 23 der Haupt­
datei, es gibt keinen Satz mit 'L' in der Koppeldatei). 
    Wenn umgekehrt zu einem bestimmten Buch keine Ausleihe
existiert, macht das natürlich nichts - das Buch erscheint nur
dann, wenn Sie die Bestandsdatei alleine öffnen. 
    Weiterhin kann es passieren, daß es zwei passende Sätze in der
Koppeldatei gibt. Dies kommt dann vor, wenn zwei Mitglieder glei­
chen Namen und gleichen Vornamen haben (was gar nicht so selten
ist). In diesem Fall zeigt EUDAS beide Kombinationen an (siehe
Satz 23 der Hauptdatei). Die Ausleihe erscheint also zweimal, je­
weils mit einem anderen Mitglied. 
    Damit man diesen Fall ohne weiteres erkennen kann, führt
EUDAS bei Kopplungen zwei Nummern: zum einen die normale Satz­
nummer und zum anderen eine Kombinationsnummer. In dem eben
besprochenen Fall würde die Satznummer gleichbleiben, die Kombi­
nationsnummer aber hochgezählt werden. Am Bildschirm wird die
Kombinationsnummer durch Bindestrich getrennt hinter die Satz­
nummer geschrieben, wenn Sie Dateien koppeln. 
    Das Durchgehen aller Kombinationen zu einem Satz der Haupt­
datei passiert aber nur dann, wenn Sie sich mit der Funktion 'Satz
weiter' in der Datei bewegen. Wenn Sie rückwärts gehen oder auf
einen bestimmten Satz positionieren, wird immer nur die erste Kom­
bination angezeigt (Dies hat zum Teil technische Gründe). Beim
Zurückgehen von Satz 23-1 in dem Beispiel würde also auf Satz
22-1 positioniert und die Kombination 22-2 übersprungen. 
 
#on("b")#Änderungen#off("b")# Auch wenn Sie Dateien gekoppelt haben, können
Sie
immer noch Sätze ändern und einfügen (wenn Sie dies beim Öffnen
erlaubt haben). Die Auswirkungen der Veränderungen sind jedoch
nicht mehr ganz so einfach wie bei geketteten Dateien, wo sich die
Änderungen ja einfach auf den aktuellen Satz bezogen. 
    Als Grundregel gilt, daß Änderungen möglichst wenig Auswir­
kungen auf die Koppeldateien haben sollen. Das führt dazu, daß
beim Einfügen eines neuen Satzes oder beim Entfernen eines Satzes
durch Tragen keine Aktion in der Koppeldatei durchgeführt wird.
Dies ist auch nicht nötig, denn wenn zum Beispiel ein neuer (zu­
nächst leerer) Satz eingefügt wird, existiert sowieso noch kein
passender Satz in der Koppeldatei und die entsprechenden Felder
bleiben leer. Hingegen darf beim Entfernen eines Satzes der Satz in
der Koppeldatei nicht entfernt werden, da er ja noch zu einem an­
deren Satz gehören könnte. 
    Änderungen an den Koppelfeldern können nun zu drei verschie­
denen Reaktionen führen: 
 
1.  Es wird kein Satz der Koppeldatei geändert, sondern nur ein
    neuer passender Satz gesucht. Dies geschieht immer dann, wenn
    außer den Koppelfeldern nur leere Inhalte für die Felder der
    Koppeldatei angegeben sind. Nach dem Ändern oder Einfügen
    werden dann die Inhalte des neuen Koppelsatzes angezeigt. 
 
    Beispiel: Bei einer Ausleihe geben Sie Name und Vorname des
    Ausleihers an, nicht aber seine Adresse. Wenn Sie den Satzedi­
    tor beim Einfügen mit ESC 'q' verlassen, wird die zugehörige
    Adresse angezeigt (falls der entsprechende Name in der Kop­
    peldatei vorhanden ist). 
 
2.  Es wird ein neuer Satz in der Koppeldatei angefügt. Dies ge­
    schieht immer dann, wenn die Koppelfelder verändert wurden
    und die anderen Felder der Koppeldatei nicht leer sind. Da­
    durch soll verhindert werden, daß die Koppelfelder in einem
    Satz verändert werden, der vielleicht noch zu einem anderen
    Satz paßt. 
 
    Beispiel: Sie geben bei einer Ausleihe auch die Adresse mit
    an. Wenn eine Person mit gleichem Namen und Vornamen bereits
    existiert, wird die dort gespeicherte Adresse nicht überschrie­
    ben. Stattdessen wird die zweite Adresse auch in die Koppel­
    datei eingetragen. Beim nächsten Ansehen bekommen Sie dann
    zwei Adressen angezeigt. So wird verhindert, daß Sie ungewollt
    die erste Adresse vernichten. 
 
3.  Der Satz in der Koppeldatei wird verändert. Dies geschieht nur
    dann, wenn die Koppelfelder unverändert geblieben sind, der
    Rest sich aber geändert hat. 
 
    Beispiel: Sie ändern eine Ausleihe mit der zugehörigen
    Adresse. Sie geben nur eine neue Straße an und lassen Name
    und Vorname unverändert. Der Satz in der Koppeldatei enthält
    anschließend die neue Straße. 
 
Da Koppeldateien keine Sortierung besitzen müssen, werden neue
Sätze der Koppeldatei immer am Ende angefügt. Dies ist zu beach­
ten, wenn die Koppeldatei auch allein verwendet werden soll. Ge­
gebenenfalls müssen Sie die Koppeldatei dann erst sortieren. 
 
 
9.5 Umschalten auf Koppeldatei 
 
Häufig kommt es vor, daß Sie beim Einfügen eines neuen Satzes mit
gekoppelten Dateien die Verbindung mit einem existierenden Satz
der Koppeldatei erreichen wollen, aber den notwendigen Inhalt der
Koppelfelder nicht auswendig wissen. 
    So wollen Sie beim Eingeben einer Ausleihe Name und Vorname
des Entleihers nicht immer wieder abtippen. Dabei ist auch die
Gefahr von Eingabefehlern sehr groß. Stattdessen wollen Sie lieber
erst den Entleiher in der Mitgliederdatei suchen und dessen Namen
dann automatisch in den Entleihsatz übernehmen. 
    Hierfür bietet Ihnen EUDAS eine Unterstützung an. 
 
#on("b")#Ausführung#off("b")# Während Sie sich in der virtuellen Datei
befinden,
können Sie auf eine bestimmte Koppeldatei umschalten, die Sie dann
wie eine Einzeldatei bearbeiten können. Beim Zurückschalten haben
Sie dann die Möglichkeit, die Koppelfelder des gefundenen Satzes zu
übernehmen. 
    Das Umschalten bewirken Sie durch die Tastenkombination ESC
'K' (großes K) nur im Menü 'Einzelsatz' sowie im Satzeditor beim
Einfügen und Ändern. An anderen Stellen hat dieser Befehl keine
Wirkung. Bei mehreren Koppeldateien werden Ihnen die Dateien der
Reihenfolge nach angeboten. Durch Verneinung aller Fragen können
Sie die Funktion ohne Wirkung beenden. 
    Haben Sie nun umgeschaltet, wird Ihnen die Koppeldatei dar­
geboten, als hätten Sie sie allein geöffnet. Sie können die Datei
auch beliebig ändern (wenn Sie dies beim Öffnen angegeben haben).
Nur die Anzeige <KOPPEL> in der Bildüberschrift zeigt an, daß Sie
sich in einer Koppeldatei befinden. Sie können auch Funktionen in
anderen Menüs aufrufen. 
    Das Zurückschalten geschieht im Menü 'Einzelsatz' mit der
gleichen Tastenkombination. Alle Einstellungen der virtuellen Datei
von vorher bis auf die Feldauswahl bleiben erhalten. 
    Wenn Sie nicht im Menü, sondern im Satzeditor (also beim
Ändern oder Einfügen) umschalten, werden Sie zunächst wieder aus
dem Satzeditor rausgeworfen. Sie können dann in der Koppeldatei
den gewünschten Satz aufsuchen (oder neu eintragen). Beim Zurück­
schalten werden Sie gefragt, ob Sie die Koppelfelder übernehmen
wollen oder nicht. Danach kehren Sie automatisch wieder in den
Satzeditor zurück, wobei jetzt die Koppelfelder gegebenenfalls aus­
gefüllt oder überschrieben sind. 
    Durch erneutes Umschalten können Sie den Vorgang auch für
weitere Koppeldateien wiederholen. 
    Die Position, die Sie beim Umschalten in der Koppeldatei einge­
nommen haben, wird bis zum nächsten Umschalten gespeichert. Sie
kommen dann zunächst wieder auf den gleichen Satz. So können Sie
die gleichen Koppelfelder wie beim letzten Mal übernehmen, indem
Sie einfach zweimal ESC 'K' tippen. 
 
#on("b")#Beispiel#off("b")# Der typische Vorgang beim Entleihen würde dann
wie folgt
aussehen. Zunächst öffnen Sie die Entleihdatei mit Änderungser­
laubnis; dann koppeln Sie die Mitgliederdatei und die Bestandsdatei
dazu. 
    Für eine neue Ausleihe rufen Sie zunächst die Funktion 'Ein­
fügen' auf. Dann tippen Sie ESC 'K' und schalten auf die Mitglie­
derdatei um. Dort suchen Sie das Mitglied und schalten wieder zu­
rück. Existierte das Mitglied noch nicht, können Sie es gleich ein­
tragen. Beim Zurückschalten übernehmen Sie den Namen des Mit­
glieds. 
    Dann tragen Sie die Nummer des Buches ein (die müssen Sie nur
dann suchen, wenn Sie nicht auf dem Buch steht). Das Entleihdatum
erhalten Sie mit Hilfe der Tastenkombination ESC 'D' (wird im näch­
sten Kapitel beschrieben). 
    Wollen Sie mehrere Ausleihen für ein Mitglied eintragen, so
tippen Sie beim nächsten Einfügen einfach zweimal ESC 'K', ohne
dazwischen eine Positionierung vorzunehmen. 
 
 
9.6 Mehrfachbenutzung 
 
EUDAS ermöglicht es mehreren Benutzern an einem Rechner, mit den
gleichen Dateien zu arbeiten. Dies ist eigentlich nichts Besonderes,
denn das EUMEL-System ist ja bereits von Haus aus dazu geeignet.
Es müssen jedoch einige Schutzvorkehrungen getroffen werden,
damit dadurch keine Probleme entstehen. 
    Als Grundvoraussetzung für die Mehrfachbenutzung müssen
EUDAS-Dateien in einer unabhängigen #on("i")#Managertask#off("i")# gespeichert
sein. Eine Managertask kann man sich durch das Kommando 'global
manager' einrichten. In dieser Task sollte dann nicht mehr gearbei­
tet werden. 
    Stattdessen kann sich der Benutzer Dateien aus dieser Mana­
gertask kopieren und auch wieder dorthin zurückschreiben. Wie Sie
dies im EUDAS-Menü bewerkstelligen können, wird im Kapitel 16
beschrieben. Es sei nochmal betont, daß dies eine Methode ist, die
Sie für beliebige Dateien verwenden können. 
    Im Kapitel 16 ist weiterhin auch beschrieben, wie Sie solche
Dateien mit #on("i")#Passworten#off("i")# schützen können, so daß sie nicht jeder
benutzen kann. Schauen Sie bei Bedarf dort nach. 
 
 
#free (7.7)# 
 
#center#Abb. 9-5   Mehrfachbenutzung 
 
 
#on("b")#Konflikte#off("b")# Wir wollen uns jedoch jetzt um ein Problem
kümmern, das
bei dieser Art von Mehrfachbenutzung auftritt. Nehmen wir an,
unsere Bücherei habe zwei Plätze, an denen Entleihen durchgeführt
werden können. Beide Plätze sollen mit der gleichen Entleihdatei
arbeiten (wie Sie gleich noch sehen werden und aus anderen Grün­
den würde man EUDAS für eine solche Bücherei nicht einsetzen -
wir wollen hier nur das Prinzip illustrieren). 
    Der Ablauf wäre dann folgendermaßen. Jeder Platz kopiert sich
für eine Entleihe die gemeinsame Datei aus der Managertask, öffnet
sie, trägt die Entleihe ein und sichert die Datei wieder. Dann wird
die Datei in die Managertask zurückgeschrieben, wo sie die alte
Entleihdatei ersetzt. 
    Abgesehen von dem viel zu hohen manuellen Aufwand kann der
Fall eintreten, daß beide gleichzeitig eine Entleihe bearbeiten.
Nehmen wir an, beide benutzen die Entleihdatei mit dem symboli­
schen Inhalt A. Auf Platz 1 kommt noch die Entleihe B, auf Platz 2
die Entleihe C dazu. Platz 1 will anschließend den Inhalt AB zu­
rückschreiben, Platz 2 den Inhalt AC. 
    Je nach der zeitlichen Reihenfolge wird nur eine der beiden
Versionen übrigbleiben, da derjenige, der später zurücksichert, die
vorherige Version überschreibt. Richtig sollte die endgültige Version
ABC herauskommen. Unser Beispiel führt jedoch auf jeden Fall zu
einer fehlerhaften Datei. 
    Grund dafür ist, daß beim Zurückschreiben der ganzen Datei ein
Platz gesperrt werden muß, während der andere Platz eine Datei
zum Ändern angefordert hat. Man könnte auch dazu übergehen, nur
einzelne Sätze zu übertragen; diese Methode wird jedoch von EUDAS
wegen des hohen Aufwandes nicht unterstützt (daher würde man
EUDAS eben auch nicht für eine Mehrplatz-Bücherei nehmen). 
    In vielen Fällen reicht das Sperren ganzer Dateien jedoch aus,
besonders, wenn nicht ganz so häufig an einzelnen Sätzen geändert
wird. EUDAS bietet dafür neben der notwendigen Sperre auch noch
eine automatische Versendung der Dateien an. 
 
#on("b")#Manager#off("b")# Es bietet sich an, dieses Kopieren der Dateien
beim Öff­
nen (auch Koppeln und Ketten) und Sichern automatisch durchzu­
führen. Als Voraussetzung dafür müssen Sie EUDAS angeben, mit
welcher Managertask Sie arbeiten wollen. Dazu dient die Funktion 
#free (0.2)# 
 
        M Manager 
 
#free (0.2)# 
im Menü 'Öffnen'. Sie werden dann nach dem Namen der Task ge­
fragt. Geben Sie keinen Namen an, wird der Managermodus wieder
ausgeschaltet. Welche Task als Manager eingestellt ist, sehen Sie in
der untersten Bildschirmzeile. 
    In der Task, die Sie angeben, muß EUDAS insertiert sein (oder
in einem Vater), da sonst die Sperre nicht funktioniert. 
    Wenn Sie nun einen solchen Manager angegeben haben, können
Sie beim Öffnen Dateinamen aus dieser Task angeben. Auch bei ESC
'z' werden Ihnen alle Namen aus dem Manager mit angeboten. Wenn
Sie einen solchen Namen angeben, der nicht aus Ihrer eigenen Task
stammt, wird die Datei vor dem Öffnen automatisch kopiert. Wenn
Sie angegeben haben, daß Sie die Datei verändern wollen, wird in
der Managertask eine entsprechende Sperre gesetzt. 
    Wenn Sie die Datei nach Änderungen dann sichern, wird die
geänderte Kopie zurückgeschrieben. Die Sperre wird jedoch erst
dann aufgehoben, wenn Sie die Arbeitskopien endgültig löschen. 
    Möchte nun ein anderer Benutzer diese Datei öffnen, während
Sie sie ändern, kann er dies nur, wenn er sie nicht ändern will.
Natürlich wird die Datei dann auch nicht wieder zurückgeschickt.
Will er sie ändern, erhält er eine Fehlermeldung und kann den
Versuch später wiederholen. 
 
#on("b")#Vorsichtsmaßregeln#off("b")# Bedenken Sie, daß der Schutz nur
wirksam sein
kann, wenn Sie diesen Vorgang nicht unter Umgehung der Menü­
steuerung ausführen. Würden Sie sich zum Beispiel eine Datei vom
Manager holen (s. Kapitel 16), ohne daß Sie ein Änderungsvorhaben
anmelden können, können Sie diese Datei ja trotzdem ändern und
wieder zurückschicken. In diesem Fall hat EUDAS keine Kontrolle
mehr über die Datei. 
    Aus dem gleichen Grund sollten Sie sich die Managertask auch
nicht an Ihren Bildschirm holen, denn auch dann könnten Sie ohne
Kontrolle Änderungen durchführen (zudem kann der Manager wäh­
rend dieser Zeit nicht auf andere Benutzer reagieren). 
    Nur wenn Sie eine neue Datei im Manager anlegen, müssen Sie
dies von Hand tun. Dazu erstellen Sie die Datei ganz normal und
schreiben Sie mit der in Kapitel 16 beschriebenen Funktion zum
Manager. Sie sollten jedoch darauf achten, daß dort nicht schon
eine Datei gleichen Namens liegt (EUDAS fragt ja dann, ob über­
schrieben werden soll).