PDA

View Full Version : ODBC: QCMDEXEC -> STRRMTWTR -> CPF1338



bussibaer
02-06-10, 17:30
Hallo zusammen,

ich entwickle gerade eine kleine PHP-Applikation um remote Outq's und Printer zu verwalten. Die Anwendung läuft auf einem Apache-Server, nicht auf der i5. Ich komme glänzend mit den Anweisungen wie crtoutq, dltoutq, vrycfg usw. zurecht.

Jetzt wollte ich natürlich auch mal eine Remote Outq starten mit dem Befehl STRRMTWTR. Wenn ich diesen über QCMDEXEC absetze, erhalte ich immer die Fehlermeldung CPF1338 - Fehler im Befehl SBMJOB gefunden.

Leider habe ich noch kein anständiges Log gefunden, das mir sagt wo der Fehler liegt. Könnte es auch ein Konfigurationsfehler der iSeries sein? Ich finde öfter Logs, wo drin steht, das der Standartdrucker PRT01 nicht gefunden wird. Den Drucker gibt es auch tatsächlich nicht.

PRTSQLINF sagt leider auch nichts aus, und beim direkten Vergleich des Strings mit einer 5250-Sitzung ist auch kein Unterschied festzustellen.

Der call sieht so aus, wenn ich die Fehlermeldung erhalte:

CALL QSYS.QCMDEXC('STRRMTWTR OUTQ(QGPL/BCD4)', 0000000025.00000)

Hat jemand eine Idee, wo ich gucken/suchen kann?

Bin dankbar für jeden Tipp.

Jörg

Fuerchau
02-06-10, 17:37
Ich denke das könnte ein Berechtigungsproblem sein.

Das Joblog findest du im zugeordneten QZDASOINIT-Job.

Ich weiß zwar nicht wie du debuggen kannst, also nach dem Call anhalten, aber du findest den QZDA-Job mittels

wrkobjlck UserName *usrprf

UserName ist der Benutzer mit dem du die Verbindung geöffnet hast.

Ggf. werden dir mehrere Job's angezeigt wenn du mehrere Verbindungen hast. Dann musst du halt in jedes einzelne Joblog reinschauen.

PRT01 ist der Defaultprinter aus Systemwert QPRTDEV, wenn dem User kein Drucker/Outq zugeordnet ist.

cbe
04-06-10, 08:22
Hallo Jörg,

hast Du schon mal versucht, Dich mit dem ODBC-Verbindungs-User anzumelden und das Kommando interaktiv abzusetzen?

Gruß,
Christian

bussibaer
04-06-10, 15:29
Hallo Ihr beiden,

habe den Fehler gefunden. In der Bibliothekssuchliste fehlte die Bibliothek QGPL. Dort ist die Jobdescription hinterlegt, die der Befehl STRRMTCMD braucht. Als ich die zugefügt hatte, lief alles wunderbar.

@Christian,

bin drauf gekommen, indem ich mir schnell ein CL gemacht habe, das diesen Aufruf tätigt, also nicht call CMD sondern call PGM. Da ist dann auch im QSYSOPR eine Meldung aufgetaucht.