View Full Version : Und gleich noch eine Frage zu QCMDEXC
Hallo zusammen,
jetzt habe ich noch Fragen zum QCMDEXC
1. Muss ich im Parameter "Length" die genaue Länge des Cmd-Strings angeben oder kann ich auch länger angeben
2. Wenn ich die genaue Länge angeben muss und mir im CL den Befehl zusammenstelle, wie kann ich mir da die Länge ermitteln ?
Vielen Dank
Du kannst einfach die gesamte Länge der übergebenen Zeichenkette angeben (Leerzeichen am Ende stören da nicht), jedoch keinesfalls länger, da sonst auf einen Speicherbereich zugegriffen wird, der nicht zur Zeichenkette selbst gehört! Siehe auch hier (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qcmdexc.htm).
Vielen Dank für die Hilfe
H BNDDIR('QC2LE')
D ERRID S 7 A IMPORT('_EXCP_MSGID')
D QSYSTEM PR extProc('system')
D cmd * value options(*string)
/free
QSYSTEM('dein cl befehl');
IF ERRID = 'CPF1234' ;
ENDIF;
------------------------------------------
spart die dusselige Längenangabe und gibt immer die CPF Nr zurück
cmd ist im Prototypen def. und braucht auch nicht mehr def. werden. Den Prototypen in eine /copy ... alles immer gleich
Robi
spart die dusselige Längenangabe und gibt immer die CPF Nr zurück
... aber weder den Message Text noch die variablen Message-Texte die als Platzhalter u.U. im Message-Text der Message-Id stehen.
Da ist mir der QCMDEXC schon lieber, da ich im Bedarfsfall die Message-Id und die ersten 80 Stellen des aufbereiteten Message-Textes (inclusive Variablen) aus der Programm-Status-Datenstruktur entnehmen kann.
Stelle 41-46 = Message-Id
Stelle 91-170 = Aufbereiteter Message-Text
Birgitta
Stimmt zwar, Birgitta
aber wir belästigen unsere Anwender nicht mit den Fehlermeldungen des i5/Os. Daher brauche ich die Texte in weniger als 1 % der Aufrufe. In 80 % will ich nur wissen ob es geklapt hat oder nicht. In diesen 80% ist die Warscheinlichkeit, das es nicht geklappt hat so gering, das im Vorfeld schon etwas gigantisch schief gelaufen sein muß.
Aber du hast natürlich Recht, diese Infos sind nur vorhanden wenn ich QCMDEXC (und die dusseliege Längenangabe)verwende
Robi