-
Parameterübergabe
Hallo,
habe mir da ein kleines Programm geschrieben, das mir in einem Sfl bestimmte Werte aus einem Artikelstamm anzeigt.
Leider hat der Pf keinen eindeutigen Key.
Kann ich eigentlich die ganze Datenstruktur vom Pf als Parameter übergeben lassen oder kann mir jemand einen stupser in die richtige Richtung geben?
Gruß
Tarki
-
Meist liegen die Keys bei einer solchen PF in einer LF.
Schau mal per DSPDBR nach, welche Keys (LF's) denn vorhanden sind und such dir den passenden aus.
Eine Datenstruktur als Parameter macht nur zwischen HLL-Programmen, also RPG, ILERPG und COBOL sinn.
Mit CLP wirds da schon problematisch.
Es ist aber immer besser, die Parameter qualifiziert zu definieren, schließlich kannst du bis zu 256 definieren.
-
Die Parameter werden/sollten zwischen 2 ILERPG-Programmen hin und her übertragen werden.
Mit Parameter qualifiziert definieren ist alle Felder einzeln anführen gemeint oder?
Gruß
Tarki
-
Zwischen 2 ILE's ist sowas durchaus üblich.
-
sorry, aber wie definiert man eine solche Datenstruktur die den ganzen PF beinhalten soll?
Dank im Voraus
-
 Zitat von Fuerchau
Eine Datenstruktur als Parameter macht nur zwischen HLL-Programmen, also RPG, ILERPG und COBOL sinn.
Mit CLP wirds da schon problematisch.
Ach, mit der LDA und normalen Data areas kann man da die tollsten Tricks zaubern. Da sind auch 5000-Zeichen-Bereiche kein Thema mehr.
Ok, reden wir nicht über Stil und Performance 
-h
-
 Zitat von tarkusch
sorry, aber wie definiert man eine solche Datenstruktur die den ganzen PF beinhalten soll?
Dank im Voraus
Warum willst Du eine komplette physische Datei übertragen?
In dem aufgerufenen Programm musst Du die Datei sowie so irgendwie lesen und verarbeiten.
Wenn Du die Datei mit native I/O lesen weißt Du wie die Datei heißt und aufgebaut ist, da Du das in den F-Bestimmungen hinterlegst. Falls die Datei mit dem gleichen Aufbau mehrfach vorhanden ist, entweder mit unterschieldichen Namen oder in unterschiedlichen Bibliotheken, kannst Du über das Schlüssel-Wort EXTFILE(Variable) die Datei zur Laufzeit setzen und user controlled (Schlüssel-Wort USRCTL und OpCode OPEN) öffnen. In diesem Fall genügt es, wenn Du den Datei (und ggf. Bibliotheksnamen) als Parameter an das Programm übergibst.
Wenn es sich um unterschiedliche Dateien mit unterschiedlichem Aufbau handelt, wird das Ganze kompliziert, da Du dann nur noch mit dynamischem embedded SQL arbeiten kannst.
Wenn Du jedoch nur einen kompletten Datensatz übertragen willst, kannst Du ein Template für eine externe Datenstruktur definieren und den Parameter im Prototyp über LikeDS definieren:
Prototyp-Definition
Code:
D RefDSMyFile E DS ExtName(MyFile) Template
D MyPgm PR ExtPgm('MyPGM')
D ParmKey 10I 0 const
D ParmDSFile LikeDS(RefDSMyFile)
Programm
Code:
/Include QPROLESRC,MyProto
D MyDS DS LikeDS(RefDSMyFile) inz
/Free
MyPgm(10: MyDS);
If MyDS.Fld1 > *Zeros;
//........
EndIf;
Birgitta
Similar Threads
-
By Marsman in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 31-03-06, 17:24
-
By mott in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 09-12-05, 09:06
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 23-11-04, 16:46
-
By roko in forum IBM i Hauptforum
Antworten: 17
Letzter Beitrag: 27-10-04, 16:28
-
By shorty in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 02-08-04, 13:24
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