PDA

View Full Version : QMHRDQM <--> DTAQ



DEVJO
05-09-03, 11:19
Hallöchen an alle,

habe gerade ein kleines Problemchen!
Ich muss ein Trace System aufbauen, welches aus einer Dtaq
Daten holt, und in Echtzeit am Bildschirm ausgibt! So weit so gut!
Nun müssen die Daten aber in der Dtaq bleiben!
Ich habe diese API QMHRDQM gefunden, weiß aber nicht wirklich, wie man diese anwendet, hätte vielleicht jemand ein kleines Beispiel für mich?
Schönen Dank in voraus, für die (hoffentlich) vielen
Antworten.

TARASIK
05-09-03, 11:59
Hallo Devjo,
hier ein IBM Beispiel:

IBM Software Technical Document
__________________________________________________ ________________
Document Information Document Number: 10233405
Functional Area: Operating System
Subfunctional Area: Message Handler/Message Queue
Sub-Subfunctional Area: General
OS/400 Release: ALL
Product: OS/400 WORK MGMT (5763SS1WM)
Product Release: N/A



__________________________________________________ ________________

Document Title:
Retrieving Message API QMHRDQM Workable Example

Document Description:

QUEUE API QMHRDQM
Caution: This is a working RPG example of the API QMHRDQM. This demonstrates the code itself is not defective. However, this is as is. No results are guaranteed. Inform the customer of this before faxing.


Note: Data structures used with this API must be at least 256 bytes.



Program CALLAPI:
_ _H _ _ _ _1
_ _IRV _ _ _ _ IDS
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1 256 RVAR
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _ 1 _ 40XBR
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _ 5 _ 80XBA
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _ 9 _120XNMR
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _13 _160XNMA
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _17 _200XMKLR
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _21 _240XMKLA
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _25 _280XMTLR
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _29 _320XMTLA
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _33 _360XELR
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _37 _400XELA
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _41 _440XOFME
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 45 _54 XADQLN
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 55 _55 RSER
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _56 _590X1
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 60 _67 X2
_ _*
_ _ILRV _ _ _ _IDS
_ _I I _ _ _ _ _ _256 _ _ _ _ _ _ _ _ _ B _ 1 _ 40LRVAR
_ _*
_ _IFMTNAM _ _ IDS
_ _I I _ _ _ _ _ _'RDQM0100' _ _ _ _ _ _ _ _1 _ 8 FNAME
_ _*
_ _I I _ _ _ _ _ _'TODDTAQ _ ' _ _ _ _ _ _ _1 _10 DQ
_ _I I _ _ _ _ _ _'XZY1337 _ ' _ _ _ _ _ _ 11 _20 LIBNME
_ _*
_ _IMSI _ _ _ _IDS
_ _I I _ _ _ _ _ _'L' _ _ _ _ _ _ _ _ _ _ _ 1 _ 1 TYPE
_ _I I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2 _ 4 RESERV
_ _I I _ _ _ _ _ _50 _ _ _ _ _ _ _ _ _ _B _ 5 _ 80BRCV
_ _ILMSI _ _ _ IDS
_ _I I _ _ _ _ _ _8 _ _ _ _ _ _ _ _ _ _ B _ 1 _ 40LMSINF
_ _*
_ _*
_ _IFMTNME _ _ IDS
_ _I I _ _ _ _ _ _'RDQS0100' _ _ _ _ _ _ _ _1 _ 8 FNME
_ _*
_ _IERRCDE _ _ _DS
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _ 1 _ 40BYTESP
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _B _ 5 _ 80BYTESA
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _9 _15 ERRID
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 16 _16 IO
_ _I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 17 272 ERRXX
_ _* _ _ _ _ _= = = = = = = = = = = = = = = =
_ _IINDATE _ _ IDS
_ _I I _ _ _ _ _ _'*DTS _ _' _ _ _ _ _ _ _ _1 _10 INDAT
_ _*
_ _IQSYSVA _ _ IDS
_ _I I _ _ _ _ _ _'*MDY _ _' _ _ _ _ _ _ _ _1 _10 QSYSV
_ _*
_ _C _ _ _ _ _ _ _ _ _ _ Z-ADD255 _ _ _ BYTESP
_ _C _ _ _ _ _ _ _ _ _ _ CALL 'QMHRDQM'
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ RV
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ LRV
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ FMTNAM
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ QLIB
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ MSI
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ LMSI
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ FMTNME
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ ERRCDE
_ _* _ _ _ _ _= = = = = = = = = = = = = = = =
_ _C _ _ _ _ _ _ _ _ _ _ MOVE *BLANK _ _TOD
_ _C _ _ _ _ _ _ _ _ _ _ MOVE *BLANK _ _TOD
_ _C _ _ _ _ _ _ _ _ _ _ ADD _5 _ _ _ _ XOFME
_ _C _ _ _ _ _ 8 _ _ _ _ SUBSTRV:XOFME _TOD _ _ 8
_ _C _ _ _ _ _ _ _ _ _ _ CALL 'QWCCVTDT'
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ INDATE
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ TOD
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ QSYSVA
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ OUTDAT 16
_ _C _ _ _ _ _ _ _ _ _ _ PARM _ _ _ _ _ ERRCDE
_ _ *
_ _C _ _ _ _ _ _ _ _ _ _ DUMP
_ _C _ _ _ _ _ _ _ _ _ _ SETON _ _ _ _ _ _ _ _ _ _ LR
.
.
The second pgm. is CallSend:
.
_ _ C _ _ _ _ _ _ _ _ _ _ CALL 'QSNDDTAQ'
_ _ C _ _ _ _ _ _ _ _ _ _ PARM 'TODDTAQ 'RV _ _ 10
_ _ C _ _ _ _ _ _ _ _ _ _ PARM 'XZY1337 'LRV _ _10
_ _ C _ _ _ _ _ _ _ _ _ _ PARM 50 _ _ _ _SIZE _ _50
_ _ C _ _ _ _ _ _ _ _ _ _ PARM 'WORLD _' QLIB _ 10
_ _ _* _ _ _ _ _= = = = = = = = = = = = = = = =
_ _ C _ _ _ _ _ _ _ _ _ _ SETON _ _ _ _ _ _ _ _ _ _ LR
==

Hier noch ein paar Informationen:

http://www.ibm.com/search?lv=c&o=10&v=11&lang=en&cc=us&en=utf&q=QMHRDQM+&Search.x=42&Search.y=12
Gruss TARASIK

B.Hauser
05-09-03, 15:27
Hallo,

ich habe es noch nicht ausprobiert, aber beim normalen QRCVDTAQ gibt es in der Optionalen Parameter-Gruppe 2 einen Parameter, der steuert, ob die gelesene Nachricht entfernt werden soll.
Ich denke das Api QRCVDTAQ ist einfacher zu handeln, als das API QMHRDQM.

Schau Dir mal die Beschreibung des APIs an:

Online Library Beschreibung für QRCVDTAQ (http://http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/apis/qrcvdtaq.htm)

Birgitta

Thimi
06-09-03, 06:44
Hi Devjo,
such doch in diesen Forum nach "QRCVDTAQ"
Gruss,
Thierry

DEVJO
08-09-03, 11:46
Jo, danke, hab es mir mal angeschaut, denke ist tatsächlich leichter die Einträge einfach drinn zu lassen!