-
Wie erfolgt denn der Aufruf genau (Quelltextauszug)?
Vielleicht ist die als Befehl übergebene Zeichenkette ja wirklich zu lang?
-
@Fuerchau: Beim QCAPCMD passiert genau dasselbe. Redesign sollte nur die letzte Möglichkeit sein, da ja offenbar ein Fehler vorliegt.
@Kuempi: Der Parameter RQSDTA lässt nur maximal 3000 Zeichen zu. Das ist zu wenig.
@Pikachu: Der Befehl ist definitiv nicht zu lang. Ich kann z.B. 9999 mal 'x' an das Parameterfeld übergeben. Das funktioniert problemlos. Wenn ich aber nur einmal CRLF (also nur 2 Byte) oder ein anderes nicht-darstellbares Zeichen (z.B. Hexa 3A) einfüge, kommt der Fehler, dass die maximale Länge von 20000 für den eingebetteten Befehl überschritten wurde.
Sonst noch rigendwelche Ideen ?
Gruß,
KM
-
Nicht darstellbare Zeichen vermeiden 
Alternativ den Parameter Hex expandieren und per X'...' übergeben.
-
Ich wollte damit ja auch nur sagen, dass der Fehler nur vorkommt, wenn man Zeichen unter Hexa 40 verwendet. Das war ja nur ein Beispiel. Wir benötigen nun mal den CRLF. Diesen fügen wir in das Parameterfeld ja schon mit X'0D25' ein. Eine andere Möglichkeit kenne ich nicht.
KM
-
Folgendes Programm übergibt einen Paramter mit besagten Zeichen und läuft hier unter V5R4. Kannst du einmal prüfen, ob es auch bei dir läuft?
Code:
D QCMD S 16384A INZ
D QCMDLEN S 15P 5 INZ(%SIZE(QCMD))
D PARM S 80A INZ
D**********************************************************************
C EVAL PARM = 'ABCD' + X'0D25' + 'EFGH'
C EVAL QCMD = 'SBMJOB CMD(CALL PGM(SBM2) ' +
C 'PARM(''' + PARM + '''))'
C CALL 'QCMDEXC'
C PARM QCMD
C PARM QCMDLEN
C MOVE *ON *INLR
-
Bei kurzen Parameterfeldern funktioniert der Aufruf. Ändere mal die Länge von PARM auf 12000 Stellen. Bin mal gespannt was dann bei Dir passiert. Wir haben übrigens auch V5R4.
KM
-
Seltsam. Bis zu einer Länge von 9988A für die Variable PARM läuft's, auch wenn diese Variable X'0D25' enthält. Ab einer Länge von 9989A für die Variable PARM läuft's nur noch, wenn das X'0D25' aus der Zuweisung entfernt oder z.B. durch X'4040' ersetzt wird.
-
Genau das ist das Problem. Na, dann sind wir nicht die einzigen, die diesen Fehler haben. Bei uns liegt der Schwellenwert irgendwo zwischen 9700 und 9800 Stellen, weil wir noch ein paar andere Parameter übergeben. Die Grenze ist also nicht fix, sondern hängt irgendwie von der Länge der Parameter ab.
Es scheint also keine Lösung für diesen Fehler zu geben. Dann müssen wir uns doch anders behelfen.
KM
-
Es scheint, als würde der Inhalt dieses Parameters in Hex-Schreibweise ('...0D25...') übergeben werden, sobald Zeichen kleiner Hex 40 vorhanden sind. Oder dieser Parameter wird intern in Doppelbyte-Darstellung konvertiert und dann übergeben. Das würde dann ja tatsächlich mehr als die maximal erlaubten 20.000 Bytes ergeben.
-
Ah, hier steht etwas dazu:
PARM (Parameter) statement
*CMDSTR: The parameter value is a command string that is checked for validity by the command analyzer. It is passed to the CPP as a character string.
The command analyzer rebuilds the command string when it checks it for validity. When the command is rebuilt, keywords are added to parameters that were specified positionally, parameters can be reordered, and parameters that contain characters that cannot be printed (X'FF' and X'00 - X'3F') are converted to hexadecimal notation. As a result, the rebuilt command string may be substantially longer than the original command string. If the length of the rebuilt command is longer than the allowed length specified with the LEN keyword, the command will fail.
Similar Threads
-
By Dominik Meyer in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 13-01-07, 15:16
-
By hww in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 12-12-06, 15:27
-
By TARASIK in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 12-12-06, 13:24
-
By Luebbert in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 13-09-06, 11:39
-
By muadeep in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-06-06, 11:31
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