View Full Version : Subfile direkt durch SQL Statement füllen
Hallo Forum,
gibt es eine Möglichkeit ein Subfile durch ein SQL Statement direkt, also ohne fetch sonder mit select into, zu füllen ? Bin bisher in den weiten Welten des WWW immer nur auf Fetch ... Schleife bauen ... gestossen.
Gruß,
Ralf
Da wirst du auch nichts anderes finden.
Eine Subfile ist eine interne Speichertabelle der DSPF.
Da kommt SQL natürlich nicht dran.
Du kannst dir zwar mit SQL eine Mehrfach-DS (DIM) mit einem einzigen fetch füllen lassen aber um die Schleife für die Subfile kommst du nicht herum.
Hallo.
Danke für die schnelle Info. Mein Gedanke war halt das das Subfile ja auch eine Recordbeschreibung hat. Beispiel SName SVorname etc... und dann evtl. der SQL ein Sellect dbname, dbvorname into entweder Recordname oder Feldnamen des Subfiles durchführen könnte da bei Umwandlung ja alles bekannt ist ... Feldbeschreibungen des Select müssen natürlich in der Reihenfolge der des Subfiles entsprechen ...
Aber der Mensch denkt und Gott lenkt :-() Dann werde ich mal eine Schleife bauen :D
Gruß,
Ralf
1. Warum willst Du SELECT ... INTO verwenden und jeden und dann jeden Datensatz via Schlüssel einzeln lesen?
2. Wenn Du einen Cursor verwendest kannst Du jede ausgewählte Spalte in eine Datenstruktur übernehmen. Ich habe an dieser Stelle nicht ausprobiert, ob an dieser Stellen ein Fetch in eine Datenstruktur, die mit LIKEREC definiert wurde übernehmen werden kann.
Ansonsten kann man eine Datenstruktur, die alle Spalten, die in dem Cursor ausgewählt wurden erstellen. Die Datenstruktur kann beim Fetch angegeben werden. Mit EVAL-CORR kann man die Datenstruktur mit einem in eine Subfile-Datenstruktur, die mit LIKEREC definiert wurden übernommen werden. Beim Write wird dann diese Datenstruktur angegeben werden.
Birgitta
Es ging ja schließlich um den Fetch in einer Schleife, der gespart werden sollte.
Natürlich kann ich beim Fetch direkt Into in die SFL-Felder angeben, eine DS ist bei Einzelangab ja nicht erforderlich.
Im Gegensattz zu COBOL sind ja alle Felder automatisch für den SQL-Preprozessor zugänglich.
Um eine Schleife zum Füllen einer SFL kommt man halt nicht herum, egal welche Quelle man verwendet.