With OS/390 you can also copy the contents of a queue to a sequential dataset which you can then use to reload that or another queue. This is obviously useful for testing purposes where you load a queue with test data, process it, reload the queue and retest etc. Note that the RECFM of the dataset is VBS so you probably won't be able to do much with it outside of this.
Use the CSQUTIL command and then either COPY or SCOPY depending upon whether you want to do this with the QMgr running or down.
See MQSeries for OS/390 System Administration for more info and this sample JCL:
[tt]//COPY EXEC PGM=CSQUTIL,PARM='CSQ1'
//STEPLIB DD DISP=SHR,DSN=thlqual.SCSQANLE
// DD DISP=SHR,DSN=thlqual.SCSQAUTH
//OUTPUTA DD DSN=SAMPLE.UTILITY.COPYA,DISP=(NEW,CATLG),
// SPACE=(CYL,(5,1),RLSE),UNIT=SYSDA,
// DCB=(RECFM=VBS,BLKSIZE=23200)
//CSQUOUT DD DSN=SAMPLE.UTILITY.COPY3,DISP=(NEW,CATLG),
// SPACE=(CYL,(5,1),RLSE),UNIT=SYSDA,
// DCB=(RECFM=VBS,BLKSIZE=23200)
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
* COPY WHOLE PAGE SET TO 'CSQUOUT'
COPY PSID(03)
* COPY ONE QUEUE TO 'OUTPUT'
COPY QUEUE(ABC123A) DDNAME(OUTPUTA)
/*[/tt]
Cheers,
Paul