View Full Version : Variable Eingabedatei im QueryManager
Ich bräuchte eine Möglichkeit, den QM mit einer variablen Eingabedatei aufzurufen.
Ziel ist es aus einer Datei X im LIB Y Daten auszulesen.
Da die Daten nach variablen Werten selektiert werden sollen, muss der QM herhalten.
Da die Eingabedateien sich ständig ändern, aus denen gelesen werden soll, habe ich keine richtige Idee, wie es funktionieren könnte.
Gibt es dazu irgend eine Möglichkeit, z.B. OVRDBF oder irgend etwas anderes was ich mit dem QM kombinieren und als Aufrufparameter über ein CL benutzen kann?
Kurzgefasst ist das folgende Aufgabe:
CL -> startet QM mit variabler Datei -> QM selektiert nach variablen Eingaben Daten.
Danke für Anworten
Burkhard
Hallo,
was soll das werden? eine eigene Query Engine in CL geschrieben? Viel Spass!
mfg
Dieter Bender
Ich bräuchte eine Möglichkeit, den QM mit einer variablen Eingabedatei aufzurufen.
Ziel ist es aus einer Datei X im LIB Y Daten auszulesen.
Da die Daten nach variablen Werten selektiert werden sollen, muss der QM herhalten.
Da die Eingabedateien sich ständig ändern, aus denen gelesen werden soll, habe ich keine richtige Idee, wie es funktionieren könnte.
Gibt es dazu irgend eine Möglichkeit, z.B. OVRDBF oder irgend etwas anderes was ich mit dem QM kombinieren und als Aufrufparameter über ein CL benutzen kann?
Kurzgefasst ist das folgende Aufgabe:
CL -> startet QM mit variabler Datei -> QM selektiert nach variablen Eingaben Daten.
Danke für Anworten
Burkhard
Hallo,
was soll das werden? eine eigene Query Engine in CL geschrieben? Viel Spass!
mfg
Dieter Bender
Nein, eine Möglichkeit die automatisch gesicherten (und dabei mit Tagesdatum als Namensteil versehnen) Fehlerprotokolldateien nach speziellen Einträgen zu durchsuchen.
Fast so, wie im wirklichen Leben ....
Es funktioniert beides, sowohl OVRDBF (hier können auch Teildateien angegeben werden) als auch per Variable im QM:
select &FIELDS
from &FILE
where &COND
dann
dcl &MYFIELDS *char 55
dcl &MYFILE *char 55
dcl &COND *char 55
STRQMQRY ... SETVAR((FIELDS &MYFIELDS) (FILE &MYFILE) (COND &MYCOND))
Beachte dass eine Variable maximal 55 Stellen haben kann, wenn mehr benötigt wird, kannst du beliebige Variablen definieren:
QM:
&VAR1&VAR2&VAR3&VAR4....
Somit kannst du jeden beliebigen SQL mit diesem QM ausführen.
Es funktioniert beides, sowohl OVRDBF (hier können auch Teildateien angegeben werden) als auch per Variable im QM:
select &FIELDS
from &FILE
where &COND
dann
dcl &MYFIELDS *char 55
dcl &MYFILE *char 55
dcl &COND *char 55
STRQMQRY ... SETVAR((FIELDS &MYFIELDS) (FILE &MYFILE) (COND &MYCOND))
Beachte dass eine Variable maximal 55 Stellen haben kann, wenn mehr benötigt wird, kannst du beliebige Variablen definieren:
QM:
&VAR1&VAR2&VAR3&VAR4....
Somit kannst du jeden beliebigen SQL mit diesem QM ausführen.Danke, ich wusste doch dass es da draußen irgendwo intelligentes Leben gibt.
Wird am WE ausprobiert, ob es so nutzbar ist.
Burkhard
Hallo,
warum schreibst du das dann nicht in der Frage??? das ist doch was völlig anderes, als du eingangs gefragt hast! Zur Antwort siehe Baldurs posting
mfg
Dieter Bender
Nein, eine Möglichkeit die automatisch gesicherten (und dabei mit Tagesdatum als Namensteil versehnen) Fehlerprotokolldateien nach speziellen Einträgen zu durchsuchen.
Fast so, wie im wirklichen Leben ....
Hallo,
warum schreibst du das dann nicht in der Frage??? das ist doch was völlig anderes, als du eingangs gefragt hast! Zur Antwort siehe Baldurs posting
mfg
Dieter Bender
Ich kann keinen relevanten Unterschied in den beiden Fragetellungen erkennen.
Sonst hätte ich es wohl passender formuliert.
Burkhard
Hallo Burkhard,
die zweite Fassung ist wesentlich spezieller gefasst und enthält damit wesentliche Einschränkungen gegenüber der sehr allgemein formulierten ersten. Mir ging es nicht darum deine Frage zu kritisieren, aber es ist für eine Antwort schon hilfreich, wenn man in der Frage kurz darstellt, was man konkret vorhat.
mfg
Dieter Bender
Ich kann keinen relevanten Unterschied in den beiden Fragetellungen erkennen.
Sonst hätte ich es wohl passender formuliert.
Burkhard