-
DSPF-Name als Variable nutzen
Hallo,
ich möchte folgendes lösen und stoße dabei auf ein Problem.
Name des DSPF bekannt, Recordnamen nicht. Name der die DSPF nutzenden PGM nicht bekannt. Über eine Funktion sollen die Records der DSPF angezeigt werden (ähnlich der strsda 3 - Funktion - aber eben variabel). Was habe ich gemacht:
Screen für Name des DsPF und LIB: OKAY. Anschließendes DSPFD *members in einen outfile: ok. Rpg programm zum Auslesen dieses Outfiles und anzeige der Recordnamen in einem SFL: ok. Und nun kommt es: ich wähle einen (oder mehrere) Record(s) aus und möchte diesen Namen als Variable an ein RPG? CL? PGM übergeben. Nur: bei dem DCLF-cmd (oder im RPG in der F-Zeile) sind keine Variablen erlaubt. Am einfachsten wäre ja der strsda 3 cmd incl variablen.
So stehe ich also da in meinem Hemd .. hat jemand einen Tipp? Vielleicht bin ich ja auch auf dem so genannten Holzwege und es gibt eine viel einfachere oder gänzliche andere Lösung.
Dank im Voraus
-
moin moin,
OVRDSPF vor Programmcall wäre vermutlich eine Lösung.
k.
-
Variable Formatnamen sind im ILE/RPG und CLP leider nicht möglich !
Hintergrund:
Die Kommunikation zwischen Programm und Datei funktioniert über E/A-Puffer, auf die man in RPG/CLP keinen Zugriff hat.
Zur Compile-Zeit werden die Variablen für die E/A's deklariert (I-/O-Bestimmung). Durch diese Deklaration wird der Pufferaufbau definiert (siehe auch DSPFFD).
Alle Variablen der E/A's sind sog. Single-Variablen !
Durch Deklaration eines Namens in einer DS wird erst dann der Bezug zu dieser DS hergestellt. Dabei kann es bei numerischen Variablen sogar zu Typumwandlung kommen (P->S, S->P).
Zum Zeitpunkt des READ/EXFMT(I) wird das Satzformat geprüft und durch generierte Move's aus dem Puffer in die Variablen übertragen.
Zum Zeitpunkt des WRITE/EXFMT(O) wird durch Angabe des Formatnamens der Pufferaufbau ausgewählt und der Compiler kann an dieser Stelle die Move's aus den Variablen zum E/A-Puffer generieren.
Deshalb ist beim WRITE/EXFMT der Formatname erforderlich, beim READ kann der Dateiname verwendet werden.
Ist dann zur Laufzeit ein Satzformat nicht bekannt kommt es beim READ ggf. zu Laufzeitfehlern.
Anders sieht es dann in COBOL/C++ aus, da hier beim READ/WRITE mit den Puffern direkt gearbeitet werden kann.
-
Hallo,
wie Baldur bereits angemerkt hat, muss das Format zur Compiletime bekannt sein, da bleibt dann eigentlich nur generieren, sprich ein entsprechendes Zugriffsmodul generieren und aufrufen, das kann man sich dann auch wegspeichern und bei Wiederholung direkt aufrufen (auf LVLCHK achten!).
mfg
Dieter Bender
Zitat von hh-mi
Hallo,
ich möchte folgendes lösen und stoße dabei auf ein Problem.
Name des DSPF bekannt, Recordnamen nicht. Name der die DSPF nutzenden PGM nicht bekannt. Über eine Funktion sollen die Records der DSPF angezeigt werden (ähnlich der strsda 3 - Funktion - aber eben variabel). Was habe ich gemacht:
Screen für Name des DsPF und LIB: OKAY. Anschließendes DSPFD *members in einen outfile: ok. Rpg programm zum Auslesen dieses Outfiles und anzeige der Recordnamen in einem SFL: ok. Und nun kommt es: ich wähle einen (oder mehrere) Record(s) aus und möchte diesen Namen als Variable an ein RPG? CL? PGM übergeben. Nur: bei dem DCLF-cmd (oder im RPG in der F-Zeile) sind keine Variablen erlaubt. Am einfachsten wäre ja der strsda 3 cmd incl variablen.
So stehe ich also da in meinem Hemd .. hat jemand einen Tipp? Vielleicht bin ich ja auch auf dem so genannten Holzwege und es gibt eine viel einfachere oder gänzliche andere Lösung.
Dank im Voraus
-
Wie wärs da mit COBOL oder C++ ?
Den LVLCHK kann man per OVRDSPF wegbekommen.
Similar Threads
-
By rguenzel in forum NEWSboard Drucker
Antworten: 5
Letzter Beitrag: 18-01-07, 13:38
-
By Xanas in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 28-08-06, 12:21
-
By TARASIK in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-08-06, 10:09
-
By Freezer in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 18-08-06, 08:11
-
By cheffe1008 in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 16-05-06, 07:45
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks