             CMD        PROMPT('Process Data Queue')

/*T: Process Data Queue                                              */
/*O: PGM(DQSVR) HLPPNLGRP(DQHLP) HLPID(*CMD)                         */
/*                                                                    +
 * Copyright (c) 2009 Rory Hewitt                                     +
 * All rights reserved.                                               +
 *                                                                    +
 * Redistribution and use in source and binary forms, with or without +
 * modification, are permitted provided that the following conditions +
 * are met:                                                           +
 * 1. Redistributions of source code must retain the above copyright  +
 *    notice, this list of conditions and the following disclaimer.   +
 * 2. Redistributions in binary form must reproduce the above         +
 *    copyright notice, this list of conditions and the following     +
 *    disclaimer in the documentation and/or other materials provided +
 *    with the distribution.                                          +
 *                                                                    +
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' +
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED  +
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A    +
 * PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR   +
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    +
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT   +
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF   +
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED    +
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT        +
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN  +
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE    +
 * POSSIBILITY OF SUCH DAMAGE.                                        +
 */

 ACTION:     PARM       KWD(ACTION) TYPE(*CHAR) LEN(10) RSTD(*YES) +
                          VALUES(*START *END *SEND) MIN(1) +
                          PROMPT('Action')

 DTAQ:       PARM       KWD(DTAQ) TYPE(QDTAQ) MIN(1) PROMPT('Data +
                          queue')
 QDTAQ:      QUAL       TYPE(*NAME) LEN(10)
             QUAL       TYPE(*NAME) DFT(*LIBL) SPCVAL((*CURLIB) +
                          (*LIBL)) PROMPT('Library')

 KEY:        PARM       KWD(KEY) TYPE(*CHAR) LEN(16) SPCVAL((*NONE) +
                          (*JOBNBR) (*JOBNAME) (*JOBUSER)) MIN(1) +
                          PROMPT('Key')

 HANDLER:    PARM       KWD(HANDLER) TYPE(QHANDLER) DFT(*DFTHDLR) +
                          SNGVAL((*DFTHDLR)) PMTCTL(START) +
                          PROMPT('Handler')
 QHANDLER:   QUAL       TYPE(*NAME) LEN(10)
             QUAL       TYPE(*NAME) DFT(*LIBL) SPCVAL((*CURLIB) +
                          (*LIBL)) PROMPT('Library')

 DATA:       PARM       KWD(DATA) TYPE(*CHAR) LEN(5000) PMTCTL(SEND) +
                          PROMPT('Data')

 START:      PMTCTL     CTL(ACTION) COND((*EQ *START))
 SEND:       PMTCTL     CTL(ACTION) COND((*EQ *SEND))