PDA

View Full Version : MSG vom Drucker



Seiten : 1 [2] 3

BenderD
01-04-04, 09:55
Hallo,

Mal ganz dumm gefragt: warum willst Du eigentlich WRKSPLF nachbauen???

mfg

Dieter Bender

mkasmika
01-04-04, 10:05
Hallo Dieter,

der Grund ist eigentlich ganz simpel .
Ich habe eine Aussage eines GF gehört :
Es ist kompliziert mit der AS zu arbeiten.

Daraufhin habe eine VARPG Anwendung erstellt die mit Spooleinträgen arbeitet.
Sieht auch schon ganz gut aus. Mir fehlt eben nur noch
die Meldungsbearbeitung.

Gruss Michael

Bruno Jakob
01-04-04, 10:33
Ich habe die REXX-Procedur auch mit der MSGQ (im Breakmodus) eines Bildschirmjobs getestet und es ging. Standen in Deiner MSGQ denn überhaupt Nachrichten drin?

Gruß
Bruno

mkasmika
01-04-04, 10:49
Hallo Bruno,

ich habe folgendes gemacht:
Bei einem Bildschirm
chgmsgq qsysopr *break
Folgende Nachtricht

(G B I H R C) Formularart 'NODRUCK', Einheit DERAPR100, Ausgabeprogramm
DERAPR100 laden.
Antwort . .

Wenn ich deine Prozedur laufen lasse

bekomme ich nur folgende Ausgabe

Die Eingabetaste drücken, um die Terminalsitzung zu beenden.






Die Eingabetaste drücken, um die Terminalsitzung zu beenden.






Die Eingabetaste drücken, um die Terminalsitzung zu beenden.

===>

F3=Verlassen F4=Dateiende F6=Drucken F9=Auffinden F17=Anfang
F18=Ende F19=Links F20=Rechts F21=Benutzerfenster




Dann MSQ des QSYSOPR wieder auf *hold

dann bringt die Prozedur folgende Anzeige





Die Eingabetaste drücken, um die Terminalsitzung zu beenden.
CPF3382 Ausgabeprogramm 663294/QSPLJOB/ROLFKPRT gestartet.
CPF3382 Ausgabeprogramm 663294/QSPLJOB/ROLFKPRT gestartet.
CPF3390 Ausgabeprogramm 663290/QSPLJOB/ROLFKPRT normal bee
CPF3382 Ausgabeprogramm 663290/QSPLJOB/ROLFKPRT gestartet.
CPA3394 (G B I H R C) Formularart 'NODRUCK', Einheit DERAP
CPF1241 Job 662931/QSYSOPR/WRKSYSSTS am 01.04.04 um 10:00:
Die Eingabetaste drücken, um die Terminalsitzung zu beenden.

Iregndwie bin ich auf dem falschen Dampfer
gruss Michael

===>

F3=Verlassen F4=Dateiende F6=Drucken F9=Auffinden F17=Anfang
F18=Ende F19=Links F20=Rechts F21=Benutzerfenster

BenderD
01-04-04, 10:57
Hallo Dieter,

der Grund ist eigentlich ganz simpel .
Ich habe eine Aussage eines GF gehört :
Es ist kompliziert mit der AS zu arbeiten.

Daraufhin habe eine VARPG Anwendung erstellt die mit Spooleinträgen arbeitet.
Sieht auch schon ganz gut aus. Mir fehlt eben nur noch
die Meldungsbearbeitung.

Gruss Michael

Hallo Michael,

das ist natürlich d i e ultimative Bgründung. Zum Thema fällt mir momentan nur ein Break Handling Programm für die QSYSOPR Q als Ansatzpunkt ein.

mfg

Dieter Bender

mkasmika
01-04-04, 11:21
Hallo Dieter,

ist doch eine tolle Begründung oder ?..................

Ich will es einfach nicht glauben das es nicht gehen soll.
Schließlich kann ich beim WRKSPLF oder auch beim WRKTR
die anstehenden Meldungen einfach bearbeiten. Auch wenn
die MSGQ des Druckers einem Dialogjob mit break zugeordnet ist.

Jestzt habe ich mir mit diversen API's fast alles geholt
einschließlich Druckername und MSGQ des Druckers.

Sollte ich jetzt wirklich aufgeben ?

gruss Michael

Fuerchau
01-04-04, 11:28
Tja, die IBM läßt einen nicht immer und überall in die Karten gucken. Die einzige Chance hierzu besteht in einem VB/C++-Programm, da IBM hier einige CWB-API's bereitstellt (auch zur Spoolbearbeitung, incl. Antwortnachricht).

Die andere alternative des Spoolhandlings ist übrigens der (von Dieter gehaßte) OpsNav: Graphische Oberfläche, intuitive ;) Bedienung, ....

Ich habe die Suche nach API's native auf AS/400 bereits früher aufgegeben, da ich auch eine andere Oberfläche für bestimmte Benutzer benötigte.
Ich konnte meinen damaligen Chef aber überzeugen: DAT JEHT SO NIT !

BenderD
01-04-04, 11:40
@Baldur:

1. ich liebe diesen Oops Nerv, solange ich ihn nicht auf meiner Büchse installieren, oder gar benutzen muss.

2. Um mit einem meiner Kunden zu sprechen: geht net, gibds net

@Michael:
ein anderer Ansatz wäre noch zu versuchen über das Printausgabeprogramm an die Message dranzukommen.

mfg

Dieter


Tja, die IBM läßt einen nicht immer und überall in die Karten gucken. Die einzige Chance hierzu besteht in einem VB/C++-Programm, da IBM hier einige CWB-API's bereitstellt (auch zur Spoolbearbeitung, incl. Antwortnachricht).

Die andere alternative des Spoolhandlings ist übrigens der (von Dieter gehaßte) OpsNav: Graphische Oberfläche, intuitive ;) Bedienung, ....

Ich habe die Suche nach API's native auf AS/400 bereits früher aufgegeben, da ich auch eine andere Oberfläche für bestimmte Benutzer benötigte.
Ich konnte meinen damaligen Chef aber überzeugen: DAT JEHT SO NIT !

Bruno Jakob
01-04-04, 11:45
Habe bei mir das jetzt auch so gemacht mit der QSYSOPR-MSGQ. Egal ob *break oder *hold, die REXX-Procedur geht.

Gruß
Bruno

mkasmika
01-04-04, 13:08
Hallo Bruno,

dann muss ich etwas falsch gemacht haben. Ich habe einfach
deine Prozedur mit Copy/paste in ein Member eingefügt
und mit Auswahl 16 gestartet. Wobei ich nicht weiss
was die ersten beiden Zeilen machen.
mkey = d2c(0,4)
text1 = copies(" ",50)


Dieter,


ich bin auch der Meinung: Das muss gehen.
Ich habe mir gerade nochmal die Drucker API's angeschaut.
API QGYRPRTA gibt auch leider nur die MSGQ/LIB und den MessageKey

Das Problem ist ja eigentlich nur " das die MSGQ " durch
einen anderen JOB gesperrt ist.

Gibt es denn evtl ein API das an eine gesperrte MSGQ herankommt ?




gruss Michael