[Allegro] Update mit Avanti
Anando Eger
a.eger at aneg-dv.de
Mi Jan 11 12:00:35 CET 2012
Hallo Herr Fischer,
Sie schrieben u.a.:
> Geht das überhaupt, mit avanti acon aufzufordern, (mehr oder
> weniger) vordefinierte Jobs abzuarbeiten, oder müsste ich
> die Jobs dann in meine Perlskripte einpacken?
Es gibt die Möglichkeit, Dateien mit include einzubinden:
- der Job muss mit '&./' beginnen
- avanti muss von einem Verzeichnis aus gestartet werden,
von dem aus sich die einzubindende Datei über einen
relativen Pfad erreichen läßt
Beispile:
- avanti wird aus /opt/allegro/bin/ gestartet
- unter /opt/allegro/bin/includes liegen die einzubindnenden Dateien
- der Job sieht so aus:
+-------------------------------
|&./
| // tue irgendwas ...
|include includes/meinjob.job
| // weiter im Text ...
|@DB=... ID=...
+-------------------------------
Unter Windows funktioniert das analog - auch mit "/" als
Pfadtrenner in der include-Anweisung.
Anregungen, wie dieser Mechanismus zu verbessern wäre, wurden hier
schon diskutiert.
Viele Grüße
Anando Eger
---------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236 http://www.aneg-dv.de
Fax: +49 (0)351 454 1238 mailto:a.eger at aneg-dv.de
---------------------------------------------------------------------
On 11 Jan 2012 at 11:41, Fischer, Thomas wrote:
> Hallo Herr Eversberg!
>
> > Am 11.01.2012 10:42, schrieb Fischer, Thomas:
> > >
> > > ich führe für einige Datenbanken Updates mit Avanti durch: per
> > >
> > > update updateFile.txt
> > >
> > > wird eine Datei in die Datenbank eingespeist.
> > > Bei Fehlern in der Nummerierung bekomme ich dann die Meldung:
> > >
> > > U: Pr.Key not unique: |:001162
> > > Satz #00 001162 gespeichert (#14466)
> > >
> > > das heißt, bei fehlender Identifikation wird der Datensatz
> > trotzdem der Datenbank hinzugefügt, als zusätzlicher Satz.
> > > Soll das so sein, und kann ich das gegebenenfalls ändern?
> > >
> > "Fehlende Identifikation"? Die Meldung "not unique" bedeutet "nicht
> > eindeutig", also nicht das Fehlen, sondern die Mehrfachvorhandenheit
> > der Identifikation.
>
> "Fehlende Identifikation" sollte hier heißen: es konnte kein eindeutiges Ziel festgestellt werden, weil die Nummer (warum auch immer) fehlerhafterweise mehrfach vorhanden war.
>
> > Abzufangen nur durch Setzung der zweiten Ziffer im vorangehenden Befehl
> > set uxy auf 0, also z.B. set u40, dann werden solche Fälle
> > ignoriert.
> > Aber auch eben echte Neusätze, die hineinsollen! Anwendbar also nur,
> > wenn es keine echten Neusätze gibt.
>
> Genau, und darum hilft mir das hier nicht weiter.
>
> > Wenn es sich um einen Fehler in der Numerierung handelt, werden Sie ja
> > nicht wollen, daß der Satz stillschweigend einen der mehreren
> > vorhandenen ersetzt?
>
> Nein, ich wollte verhindern, dass er überhaupt hinzugeschrieben wird -- als ich eben nachgesehen habe, gab es mittlerweile 9 davon.
>
> > Fazit: Fehler in der Numerierung sind tunlichst im Vorfeld zu
> > verhüten.
>
> Da haben Sie sicher recht.
> Aber ist es denn wirklich bei den anderen Anwendern oder Anwendungen gewünscht, in der von mir beschriebenen Situation den Datensatz als Neusatz zu ergänzen?
>
> > Mit dem neuen update.job werden Sie viel mehr Kontrolle über das
> > Geschehen haben. Der Fall, daß es zu einer IdNummer schon
> > mehr als einen Eintrag gibt, kann darin auch anders behandelt
> > werden als durch Speicherung als Neusatz. Jedenfalls gibt es eine
> > treffende Meldung, aus der Sie den Sachverhalt dann hinterher
> > entnehmen können. In dem Job steht für diesen Fall:
> >
> > if g1 ...
> >
> > und dann Befehle die eine Speicherung als Neusatz bewirken,
> > die Sie aber
> > ändern können, anders als beim eingebauten "update"-Befehl.
>
> Das kommt mir für mein Server-basiertes System etwas zu kompliziert vor.
> Geht das überhaupt, mit avanti acon aufzufordern, (mehr oder weniger) vordefinierte Jobs abzuarbeiten, oder müsste ich die Jobs dann in meine Perlskripte einpacken?
>
> Mit freundlichen Grüßen
> Thomas Fischer
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro
Mehr Informationen über die Mailingliste Allegro