-
RPG Parameterübergabe von RPG an übergeordnetes CL
Hallo *world,
ich stehe hier gerade irgendwie auf einem Schlauch :-)
CL
PGM
DCL Fehler Char(1)
Call RPGPROGRAMM parameter Fehler
If Feld = "x" then do was auch immer
Zum Verständnis. Ich definiere im CL das Feld Fehler und setze es auf Blank. Nun läuft das RPG um z. b. den Artikelstamm und findet z.b. irgendwelche Fehler / nicht gepflegte Daten etc... . Im RPG habe ich das Feld ja mit *Entry übernommen. Möchte dann innerhalb des RPG das Feld z. B. mit X befüllen und dann im CL abbprüfen ob Feld Fehler = "x" ist ...
Dachte immer so was geht doch ... aber irgendwie glaube ich das geht gar nicht oder ?
Gruß,
Ralf
-
Ich stehe bei der Beschreibung schon auf dem Schlauch, denn dies geht sozusagen sein Urzeiten der Programmierung so.
Aber ohne den nötigen Code zu kennen, kann ich mir darauf auch keinen Reim machen.
-
Doch, das geht. Wenn's bei Dir nicht geht, hast Du irgendwas falsch gemacht.
Das Irgendwas anhand Deines Pseudo-Codes zu erraten, ist sinnlos.
-
Vielleicht mach es der keine Quellcode einfacher
PGM
DCL VAR(&FEHLER) TYPE(*CHAR) LEN(1)
CALL PGM(PGMXXX) PARM(FEHLER)
IF COND(&FEHLER *EQ 'X') THEN(GOTO CMDLBL(FEHLER))
GOTO ENDE99
FEHLER:
SNDBRKMSG MSG('Fehler ist aufgetreten') TOMSGQ(DSPXXXX)
ENDE99:
RCLRSC
ENDPGM
-
Parm(Fehler) ist falsch
Parm(&Fehler) ist richtig
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Sorry .. das war jetzt nur schnell geschrieben... es geht uim die Sache ansich. Also wenn ich die Variable im CL defenieren (blank) dann das rpg laufen lasse ist die Frage ob danach ein durch das rpg neu ermittelter wert auch wieder im cl zur verfügung steht (hier dann z. b. das x)
-
Sorry, das war nur schnell geantwortet.
Die Sache an sich
Das geht seit es RPG / CL gibt
Ausnahme:
im RPG empfängst du
Code:
*entry plist
f1 parm f2 f3
Dann wird geht nicht f3 zurück ans CL sondern f1
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Danke für alle schnellen Antworten. Sorry für die Frage .. aber irgendwie waren hier im Norden einfach zu viele Bäume vor meinen Augen.
-
Zitat von Robi
Sorry, das war nur schnell geantwortet.
Die Sache an sich
Das geht seit es RPG / CL gibt
Ausnahme:
im RPG empfängst du
Code:
*entry plist
f1 parm f2 f3
Dann wird geht nicht f3 zurück ans CL sondern f1
Robi
Stimmt nicht ganz: f2 wird zurückgegeben!
Dieter
-
Stimmt natürlich
Fülltext 20 Zeichen
-
Das Problem ist manchmal nur schwer zu finden, vor allem wenn das "&"-Zeichen an wichtiger Stelle fehlt.
In CLP werden Variablen immer mit "&" deklariert!
Der vollständige Name ist also grundsätzlich "&Name".
Bei allen Kommandos sind (bis auf wenige Ausnahmen) sowohl Variablen als auch Konstanten möglich.
Übergibst du also CALL ... PARM(FEHLER) statt PARM(&FEHLER) lehnt der Compiler das nicht ab (denn sie (die Programmierer) wissen was sie tun....).
Für die Konstante "FEHLER" wird nun intern eine Variable angelegt und an das Programm übergeben.
Wenn dieses dann den Wert verändert, kommt das rufende Programm halt nicht mehr dran.
Bei nächsten Aufruf (in einer Schleife) wird nun allerdings der veränderte Wert weitergegeben.
-
Moin Moin Herr Fuerschau, Robi.
@Fuerschau : Ja das war nur ein Tippfehler.
@Robi .... Wie soll ich das mit den 20 Zeichen verstehen .. sorry wenn ich nachfrage.
Gruß
Ralf
Similar Threads
-
By svit in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 11-09-14, 13:23
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