View Full Version : Externe Datenstruktur dynamisch
Hallo
Mal ne grundsätzliche Frage
ist es möglich eine EDS Dynamisch wärend der Laufzeit
zu definieren.
mfg Stefan
Da EDS eine Compiler-Angabe ist und die Felddefinitionen somit zur Compile-Zeit festgelegt werden, kann eine EDS nicht dynamisch sein.
Hallo,
nicht direkt, aber man könnte eine beliebige Externe Datenstruktur zur Laufzeit aus einem beliebigen anderen Modul importieren. Vielleicht solltest du mal das Problem beschreiben und nicht den vermuteten Lösungsansatz.
mfg
Dieter Bender
Hallo
Mal ne grundsätzliche Frage
ist es möglich eine EDS Dynamisch wärend der Laufzeit
zu definieren.
mfg Stefan
Hallo,
nicht direkt, aber man könnte eine beliebige Externe Datenstruktur zur Laufzeit aus einem beliebigen anderen Modul importieren. Vielleicht solltest du mal das Problem beschreiben und nicht den vermuteten Lösungsansatz.
mfg
Dieter Benderich möchte mittels dynamischen sql eine belibige abfrage
machen und dann das ergebnis in einer datenstrucktur ablegen.
ich kenne das zb von php
$res = mysql_query($query, $link);
$data = mysql_fetch_array($res);
so eine lösung wären ideal weis nicht ob das geht.
wäre auch egal wenn man die felder nur mit indexnr ansprechen könnte.
vieleicht könnt ihr mir helfen
mfg stefan
In RPG geht das auch mttels
FETCH MyCursor using :MYSQLDA
Hierfür musst du per "Describe statement" die benötigte Struktur ermitteln, eine SQLDA-Struktur anlegen (z.B. per %alloc) und für die Zielvariablen Speicher vergeben.
Allerdings alles etwas aufwändig.
Da ILE/RPG keine Script-Sprache ist, ist Dynamik mit etwas mehr Aufwand zu realisieren.
Hallo,
das sieht mir nach SQL CLI aus, auf den embedded SQL Precompiler würde ich mich da nicht einlassen, das Tool ist Steinzeit. Ich würde das ohnehin eher mit generierten Zugriffsmodulen versuchen.
mfg
Dieter Bender
ich möchte mittels dynamischen sql eine belibige abfrage
machen und dann das ergebnis in einer datenstrucktur ablegen.
ich kenne das zb von php
$res = mysql_query($query, $link);
$data = mysql_fetch_array($res);
so eine lösung wären ideal weis nicht ob das geht.
wäre auch egal wenn man die felder nur mit indexnr ansprechen könnte.
vieleicht könnt ihr mir helfen
mfg stefan
Hallo,
das sieht mir nach SQL CLI aus, auf den embedded SQL Precompiler würde ich mich da nicht einlassen, das Tool ist Steinzeit. Ich würde das ohnehin eher mit generierten Zugriffsmodulen versuchen.
mfg
Dieter Bender
was meinen Sie mit generierten Zugriffsmodulen ??
Wir haben etwas ähnliches gemacht. Muste damals auch fragen. Hier der link, mit dessen Hilfe wir es geschaft haben.
http://www.rlpforen.de/showthread.php?t=6996
gruß
Robi
Hallo,
ein Zugriffsmodul hat ein festgelegtes set an procedures, die für Datenbankoperationen benötigt werden:
- getRecordByKey
- getNextRecord
- saveRecord
- deleteRecord
- setOrder
- setFilter
pro Table (oder View) benötigt man eines
die Procedure Interfaces sind jeweils gleich aufgebaut.
Um sich Arbeit zu sparen schreibt man ein generalisiertes und einen kleinen Generator, der aus der Beschreibung einer Table im SQL Repository und dem Muster den Rest generiert.
mfg
Dieter Bender
was meinen Sie mit generierten Zugriffsmodulen ??