-
API QWDRJOBD
Hallo zusammmen, ich möchte aus einer JOBD einige Werte auslesen, und dachte das geht mit dem API QWDRJOBD. Ich poste mal die CMD + CL - SRC, da ich immer einen MCH3601 bekomme, sobald ich das Parameterfeld &PARM lese um die Returnvariablen per SST zu füllen !
CALL PGM(QWDRJOBD) PARM(&PARM &LEN &FORMAT +
&FULLJOBD &ERRORCODE)
In dem erstellten DUMP ist allerdings die Variable &PARM gefüllt :
&PARM *CHAR 1024 ' PDFPROV ACTSYS '
+26 ' SPLPDF *SYSVAL 0000'
+51 '0000PDFPROV ACTSYS '
+76 '5*NO *USRPRF '
+101 ' 5*USRPRF *SYSVAL'
+126 ' '
Der MCH3601 tritt auf, sobald ich per CHGVAR auf &PARM zugreife.
Was kann das sein ?
Andreas
Andreas Herzfeldt
-
Welchen Wert übergibst du für &LEN?
Wie greifst du mit CHGVAR auf &PARM zu?
-
Länge : CHGVAR VAR(%BIN(&LEN 1 4)) VALUE(1024)
Zugriff : CHGVAR VAR(&RJOBPTY) VALUE(%SUBSTRING(&PARM 74 2))
Andreas
Andreas Herzfeldt
-
Wie hast du &LEN und &PARM definiert?
Tritt der Fehler auch auf, wenn du den Aufruf des APIs weglässt?
-
Der &PARM ist als *CHAR + der &LEN auch als *CHAR und wird so umgesetzt : CHGVAR VAR(%BIN(&LEN 1 4)) VALUE(1024)
Wie gesagt im DUMP wird der &PARM auch gefüllt, nur das zugreifen per CHGVAR und SST fällt auf die Nase mit MCH3601.
Er steigt auch aus wenn der API-Aufruf wegbleibt !
Andreas
Andreas Herzfeldt
-
Definierst du den &PARM im Programm selbst oder wird er als Parameter von einem anderen Programm übergeben? Vielleicht ist er dort zu kurz definiert? Allerdings ist wirklich komisch, dass nach dem Aufruf des APIs der entsprechende Inhalt in &PARM steht.
-
Nein der &PARM ist nur im Programm definiert, als Übergabeparameter ist nur die &JOBD definiert und für diese
ermittle ich per RTVOBJD die Bibliothek für den API-Aufruf. Im Dump steht dann nur *Nicht adressierbar - ich finde es auch eigenartig, dass eine offenbar gefüllte Variable nicht ausgelesen werden kann. Aber, in der TAATOOL gibt es auch einen RTVJOBD der mit dem gleichen Symptom auf die Nase fällt, ich werde nächste Woche mal bei IBM-Software nachfragen !
Andreas
Andreas Herzfeldt
-
Wie ist denn &RJOBPTY definiert? Du schreibst etwas von Returnvariablen. Ist &RJOBPTY ein Parameter, der über den CMD durch RTNVAR(*YES) zurückgegeben werden soll? Wird dafür beim Aufruf der Speicherbereich einer Variable mitgegeben?
-
Ja, die sind in einem CMD als RTNVAL(*YES) definiert und werden als Varaible an das Programm übergeben !
Andreas
Andreas Herzfeldt
-
Dann tritt der Fehler wahrscheinlich beim Schreiben in die Variable &RJOBPTY auf. Ein CHGVAR VAR(&RJOBPTY) VALUE('05') dürfte dann genauso fehlschlagen.
Gibst du beim Aufruf des CMDs für diesen Parameter auch eine Variable mit genügend großem Speicherbereich mit?
Similar Threads
-
By TMusolf in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 25-01-07, 12:42
-
By muadeep in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 03-01-07, 17:53
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 22-11-06, 16:02
-
By ExAzubi in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 17-10-06, 16:48
-
By lyrics in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 29-08-06, 09:03
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