-
ich gehen davon aus, Du aus dem CMD Parameter an das aufrufende Programm mitgeben willst. Das geht wie folgt:
PARM KWD(_Muster_)
TYPE(*CHAR)
LEN(n)
RSTD(*YES)
DFT(*NO)
VALUES(Wert_1 Wert_2)
MIN(0)
PROMPT(___Text_für_F4____)
Ansonsten mußt Du Deine Anfrage detaillierter beschreiben.
Gruß
Peter
-
Ein Rückgabewert wird mittels RTNVAR(*YES) definiert.
Dabei ist allerdings folgendes zu beachten:
CRTCMD ...... ALLOW(*IPGM *BPGM *BREXX *IREXX *BMOD *IMOD)
da das Kommando interaktiv nicht ausführbar ist und die Auswahl *ALL nicht zur Erstellung des Kommandos führt.
Wenn MIN(1) nicht angegeben ist, wird allerdings an das Programm ein sog. NULL-Pointer an Stelle der Variablen übergeben.
Dies ist nur in HLL (RPGLE/COBOL) abfragbar:
/free
if %addr(Parmx) = *NULL;
.. do nothing
else;
endif;
/end-free
-
Danke schön für Eure Antworten!
Ich schreibe nochmal, was ich gemeint habe anhand von einem Beispiel:
Wenn man den Befehl SNDNETSPLF mit F4 anschaut hat der 5 Werte drin, die nicht verändert werden können, weil sie mitgegeben wurden und sozusagen als Zusammenfassung nochmal angezeigt werden, bevor die Verarbeitung weitergeführt wird.. Also, File, JobNo,... und die anderen.
Jetzt geht es darum, genau solche Werte in einem von meinen Commands unterzubringen.
Wer anderen eine Grube gräbt besitzt ein Grubengrabgerät.
-
SNDNETSPLF
Hi Freek,
wenn es um Dein Problem von neulich geht, den SNDNETSPLF durch einen anderen Command zu ersetzen, dann schau Dir die Message-Id CPX3438 nocheinmal genauer an.
Du wirst an diversen Stellen Platzhalter entdecken. Hinter diesen Platzhaltern verstecken sich Datei, Job, Job-Nr. u.a.
Wenn Du in der Message-Id, die Du in Deiner neuen Message-File angelegt hast, die gleichen Variablen in der gleichen Reihenfolge anlegst, kannst du auf die Informationen zugreifen.
Deine neuer Message-Text würde dann vielleicht so aussehen:
'MYCMD SPL(&5) USER(&3) JOBNO(&4)'
Birgitta
-
Hallo FrEEk!
Sieh dir die Meldung CPX3438 aus QCPFMSG nochmal genau an, da steht ein ? vor dem Befehlsnamen und ?* sowie ?? vor einigen Parametern.
Mach mal folgendes:
Gib in der Befehlszeile mal ein: SNDNETSPLF, dann gleich F4 für die Bedienerführung und dann F13 für die Erweiterte Hilfe (F13=Verwendung der Anzeige). Blättere da mal ganz ans Ende. Da ist die "Selektive Bedienerführung" erklärt. Das was du suchst sind die Zeichen ?* und ??.
Wenn du in einer eigenen MSGF die Meldungen CPX3438 und CPX3439 anlegst, musst du darauf achten, dass du die "Felddaten" genau so angibst wie sie in den Meldungen in der QCPFMSG angelegt sind und dann auch die entsprechenden Parameter &1 usw. - wie das Birgitta bereits geschrieben hat - als Parameter weitergibst.
Viele Grüße
Jürgen
-
Wenn ein Kommando aus einem anderen Programm (wie WRKSPLF) aufgerufen wird, wird ein sog. "Selective Prompting" durchgeführt.
Dieses wird nicht bei der Kommandodefinition angegeben sondern beim Aufruf des Kommandos z.B. aus einem CLP oder mittels QCMDEXC.
In diesem Fall kannst du Parameter vorbelegen und verhindern, dass der Benutzer diese Werte ändert.
Genaueres erfährst du unter "Selective Prompting for CL Commands":
http://publib.boulder.ibm.com/iserie...02.htm#ToC_190
-
Hallo Leute
Danke für eure Vorschläge, hat alles wunderbar geklappt.
Noch eine Frage:
Wenn das Abnehmerprogramm des Commands ein HLL RPG III ist und ein Binärwert übergeben wird, interpretiert er den Wert auch weiterhin als Binär oder wandelt er den um in einen String?
Wer anderen eine Grube gräbt besitzt ein Grubengrabgerät.
-
Der Wert wird genau so an das HLL weitergegeben wie er per PARM definiert ist.
Wenn beim Kommando "xxxcmd keyword(x'0023')" wandelt der CMD-Interpreter die Eingabe bereits um und in das CHAR-Feld des HLL wird der Hexwert x'0023' übergeben.
Bei der Übergabe per CL-Variable wird genau der Inhalt ohne jeglich Umwandlung weitergegeben.
Deshalb kann man z.B. die Übergabe von nicht druckbaren Zeichen bei der PARM-definiton ja auch ausschließen.
Similar Threads
-
By TARASIK in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-08-06, 14:11
-
By systemer in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 21-07-03, 14:34
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