-
DTAARA *LDA?
Hallo,
ich erweitere gerade ein PGM.
Dabei muss ich je nach User Action andere PGM aufrufen.
Parameteruebergabe zu den gerufenen PGM per lokaler DTAARA, jetzt mein Problem.
Die DTAARA ist in allen PGM "LOCAL", die DS aber jeweils unterschiedlich.
Wie kann ich das loesen?
Ich kann ja im rufenden PGM nicht 3 unterschiedliche "LOCAL" DTAARA definieren......
Gruss ratloser Ralf
-
Dann musst du dir den Inhalt im Programm vorher retten (interne DS).
Die *LDA gibts im Job halt nur 1 Mal !
-
 Zitat von Fuerchau
Dann musst du dir den Inhalt im Programm vorher retten (interne DS).
Die *LDA gibts im Job halt nur 1 Mal !
Hä?
Sogut Du mir immer hilfst Fuerchau, das verstehe ich nicht.
Also kann ich das Ding nennen wie ich will? Ich mache nur OUT vor- bzw. in nach dem PGM Aufruf um die Daten in meine DS zu bekommen oder wie?
Ich rufe bei F16 Programm A auf, das erwartet eine DTAARA die LOKAL heisst.
Bei F17 rufe ich Programm B auf, das erwartet ebenfalls eine DTAARA LOKAL (aber anders aufgebaut).
-
Sorry, ist wohl zu warm heute oder so was in der Art
Ich denke jetzt hab ich es verstanden.
Ich brauche nur eine lokale DTAARA - ich leg nur die Felder von mehreren DS drueber...
z.B.
PGM A benoetigt
1 6 Feld A
7 14 Feld B
PGM B benoetigt
1 4 Feld C
5 6 Feld D
Dann mache ich eine DS
mit allen Feldern und fuelle vor dem Call was ich gerade benoetige, richtig?
Gruss Ralf
-
Hallo Ralf,
Deine Lösung funktioniert, solange:
sich numerische, alphanumerische und Datums/Zeitfelder sich nicht überlagern. Dadurch könnten ungültige Werte in die numerischen oder Datums- und Zeitfelder gelangen, was dann zu einem Programm-Abbruch führt.
Besser wäre es, 3 unterschiedliche Datenstrukturen zu definieren und vor Programm-Aufruf die benötigte Datenstruktur in die *LDA, die mit einem einzigen Feld mit 1024A definiert wurde, auszugeben.
PHP-Code:
D LDA UDS dtaara(*LDA)
D LDAInhalt 1024
D DSParPgm1 DS Qualified
D Par1 50A
D Par2 15S 0
D Par3 D
D DSParPgm1 DS Qualified
D Par1 11S 3
D Par2 30A
*------------------------------------------------------
/Free
//Füllen Datenstrukturen für Parameterübergabe
in LDA;
Clear LDAInhalt;
Select;
When Bedingung = 1;
LDAInhalt = DSParPGM1;
Out LDA;
CallP Pgm1;
When Bedingung = 2;
LDAInhalt = DSParPGM2;
Out LDA;
CallP Pgm2;
EndSL;
Out LDA;
/End-Free
Birgitta
-
Danke Birgitta, wieder was gelernt.
Alle DS sind bei mir alpha, werde trotzdem deine Loesung verwenden - ich finde dadurch ist der Code lesbarer.
Gruss Ralf
-
Es gäbe noch einen Weg,
Holzhackermethode halt.
Leg die Datenbereiche innerhalb der LDA
fest.
1-99 = PGM1
101-200 = PGM2
...
Hat den Vorteil beim Debuggen, dass Du gleich alle übergebenen Werte in der LDA
siehst und zwischenspeichern muss man auch nicht
-
Bei einer Neukonzeption von Parameterübergaben würde ich die *LDA nicht mehr nehmen sondern Aufrufparameter.
Dies ist auf jeden Fall sicherer und flexibler.
Bei "alten" Programmen muss man meist nehmen was gerade da ist.
-
Da geb ich Dir recht Fuerchau.
Similar Threads
-
By flytokiwi in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 04-04-07, 11:36
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 21-03-07, 11:00
-
By grunzheini in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 31-01-07, 10:04
-
By dino in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 08-01-07, 15:15
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 10-06-02, 15:06
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