-
QMHSNDPM
hallo,
ich zeige die fehlernachrichten mittels msgsfl an und bis jetzt habe ich mit einem cl unter verwendung von sndpgmmsg die nachrichten in die programm-msgq gesendet un es hat super funktioniert. wenn ich das allerdings mit qmhsndpm probiere,haut's nicht hin. woran kann es liegen? hat das jemand in verwendung?
vielen dank
rk
-
Hallo Roko,
hast du überprüft, ob die Parameter
Message Type
Program message queue
Program stack counter
richtig gefüllt sind?
Gruß
Bruno
-
vielen dank bruno,
ich bin zwar bereits gestern darauf gekommen, dass ich irrtümlicherweise msg-type *status verwende (ob wohl ich im meinem alten cl-programm bei sndpgmmsg *diag verwendet habe)
zu beachten bei qpmsndpm & qpmrcvpm sind die zwei parameter Call Stack Entry und Call Stack counter - es ist nicht so logisch und einfach wie bei rcvmsg und sndpgmmsg.
noch mal vielen dank
mfg roko
-
Hallo,
ich hätte vor in ein Programm, das im Batch läuft, diverse Dateioperationen mittels Sql abzulösen.
Im Programm wird ja bei einem Write, bei einem doppelten Schlüssel, eine Nachricht an den Sysopr geschickt.
Ich hätte nun versucht beim Insert den Sqlstate abzufragen und mit Hilfe der API QMHSNDPM eine Msg zu schicken.
Ich bekomme aber keine Nachricht auf den SYSOPR.
Code:
Der Aufruf an *LIBL/QMHSNDPM wurde fehlerhaft beendet (C G D F).
SBMJOB CMD(CALL PGM(EDAVJS235R) PARM(' '))
DQMHSNDPM PR ExtPgm('QMHSNDPM')
D MsgID 7A Const
D MsgFile 20A Const
D MsgData 256A Const
D MsgDtaLen 10I 0 Const
D MsgType 10A Const
D StackEntry 10A Const
D StackCount 10I 0 Const
D MsgKey 4A Const
D ErrorCode 16A Const
D
D$MsgId S 10A Inz('CPF9898 ')
D$MsgFile S 20A Inz('QCPFMSG QSYS ')
D$MsgDta S 80A Inz
D$MsgDtaLen S 10I 0 Inz
D
D ErrorCode ds
D BytesProv 10I 0 inz(0)
D BytesAvail 10I 0
$MsgDta = 'SQL ERROR: '
+ %trimr(SDSPGM)
+ ' Fehler beim Import aufgetreten';
QMHSNDPM( $MsgId
: $MsgFile
: $MsgDta
: %len( %trimr($MsgDta))
: '*ESCAPE'
: '*'
: 2
: *blanks
: ErrorCode );
Das Programm hat einen *ENTRY Parameter.
Was mache ich falsch?
Kann ich eleganter eine exception auf den Sysopr werfen?
Dank im Voraus
Tarki
-
Warum postest du deine Frage mehrfach?
Der CALL-Stack "*" sendet eine Nachricht an dich selber.
Du musst da als Ziel denn doch eine höhere Ebene angeben.
Außerdem wird nicht automatisch auch an QSYSOPR gesendet, das macht ggf. das Empfänger-Programm mit einem SNDMSG (ggf. mit Antwort) statt SNDPGMMSG.
Wenn ich im CLP einen MONMSG verwende, erwarte ich ja auch eine Abbruchnachricht an mein Programm und nicht erst an eine MSGQ. Dies ist dann eher unüblich.
-
Morgen,
Verzeihung den doppelten Post, dachte mir beim Forum Programmierung trifft das eher zu.
Danke für die Antwort.
Similar Threads
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 08-01-07, 09:50
-
By V_P in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 14-11-06, 10:42
-
By Robi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 14-12-04, 10:01
-
By Frank Pusch in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 17-05-01, 09:34
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