|
Hi All
I am trying to display the contents of a Data Queue and I am having problems
using API QMHRDQM displaying the actual text from the Data Queue.
I am trying to add offset1 to the address of QDQM_RtnData get the Offset
Entry (QDQE_Entry). I can see a valid value in QDQE_Offset2 but
QDQE_MsgText just contains garbage.
Any help would be very much appreciated.
regards,
Terry
* ----------------------------------------
* Data Queue Messages Variable definitions
* Used for RcvDtaQMsg API
* ----------------------------------------
D DM_RcvVar S 32766A
D DM_LengthRcv S 10I 0 inz(200)
D DM_FormatName S 8A inz('RDQM0100')
D DM_MsgSltLeng S 10I 0 inz(8)
D DM_MsgSltFmtNa S 8A inz('RDQS0100')
D DM_Error S 32766A
D DM_MSI DS
D MSI_Type 1 1 INZ('A')
Select All Msgs
D MSI_Resrv 2 4
D MSI_NumMsgs 5 8B 0
D QDQM_RtnData DS 9999
D QDQM_BytRtn 10I 0
D QDQM_BytAvl 10I 0
D QDQM_MsgsRtn 10I 0
D QDQM_MsgsAvl 10I 0
D QDQM_KeyLRtn 10I 0
D QDQM_KeyLAvl 10I 0
D QDQM_TxtLRtn 10I 0
D QDQM_TxtLAvl 10I 0
D QDQM_EntLRtn 10I 0
D QDQM_EntLAvl 10I 0
D QDQM_Offset1 10I 0
D QDQM_LibName 10A
D QDQM_Reserved 1A
D QDQE_Entry DS 9999 BASED(PtrDqEnt)
D QDQE_Offset2 10I 0
D QDQE_EnqDtTm 8A
D QDQE_Key1 1A
D QDQE_MsgText 9986A
*
D PtrRtnDQM S *
D PtrDqEnt S *
D MsgText S 52A
*
*
* ----------------------------------------
* Data Queue Description Variable definitions
* Used for RcvDtaQDesc API
* ----------------------------------------
D DD_FormatName S 8A inz('RDQD0100')
D DtaQueName S 20A
*
Dds_RDQD0100 DS 80
D QD_MsgLen 9 12I 0
D QD_NumEntries 73 76I 0
D QD_MaxMsgs 77 80I 0
*
*---------------------------------------------------------------------
*
*
*-- Retrieve Data Queue info
C EXSR RtvDtaQMsgs
*
C MOVE *ON *INLR
*
C*****************************************************************
*
C RtvDtaQMsgs BEGSR
*
* Retrieve Data Queue Attributes
C EXSR RtvDtaQDesc
*
C Eval MSI_NumMsgs = QD_NumEntries
*
* Retrieve contents of Data Queue
C CallP RcvDtaQMsg (QDQM_RtnData
C : %Size(QDQM_RtnData)
C : DM_FormatName : DtaQueName
C : DM_MSI : %Size(DM_MSI)
C : DM_MsgSltFmtNa : DM_Error)
*
C Eval PtrDqEnt = %ADDR(QDQM_RtnData) +
C QDQM_Offset1
C Eval Msgtext = %subst(QDQE_MsgText
C : 1 : 5)
C
C Msgtext DSPLY
*
*
C ENDSR
C*****************************************************************
*
C RtvDtaQDesc BEGSR
*
C Eval DtaQueName = "ADTAQ QGPL"
* Retrieves information about the Data Queue
C CallP RcvDtaQDesc(DD_DtaQDesc :
%size(DD_DtaQDesc)
C : DD_FormatName : DtaQueName)
*
* Move API Data in Data Structure
C Eval ds_RDQD0100 = DD_DtaQDesc
*
C ENDSR
*
Terry Beeson
Developer - Project Bridge
01622 656-260
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.