Iganacio

Te envio un fuente de un CL que recibe como parametro la cola de salida y la salva en un archivo llamado TEST133 que esta definido como un archivo de un solo campo de 133 posiciones


espero que te sirva
 

>From: Ignacio Saiz <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: SPOOL A CINTA
>Date: Thu, 10 Jun 2004 09:12:54 +0200
>
>Muy buenas, tenemos una maquina en version 5.2 y vamos a cambiar de modelo
>este fin de semana, el caso es que tenemos una cola con 10.000 spooles y
>queriamos salvar los spooles a cinta antes. Creo que hay alguna api que
>salva de uno en uno, conoce alguien alguna forma de salvarlos de forma
>simultanea a cinta, o de alguna manera que sea relativamente rapida.
>Gracias y un cordial saludo
>
>Ignacio Saiz de Aja Benito
>Inform�tica - Dpto Explotacion
>email: [EMAIL PROTECTED]
>Tf: 91 657 68 89
>
>
>
>_____________________________________________________
>Forum.HELP400 es un servicio m�s de NEWS/400.
>� Publicaciones Help400, S.L. - Todos los derechos reservados
>http://www.help400.es
>_____________________________________________________
>
>Para darte de baja, env�a el mensaje resultante de pulsar
>mailto:[EMAIL PROTECTED]


Escapadas, fines de semana, vacaciones, reservas. Organiza y contrata tus viajes aqu�.
            PGM        PARM(&OUTQ)
            DCL        VAR(&OUTQ) TYPE(*CHAR) LEN(10)
            DCL        VAR(&CONT) TYPE(*DEC) LEN(2 0) VALUE(0)
            DCLF       FILE(TEST133)
/* */
            CHKOBJ     OBJ(&OUTQ) OBJTYPE(*OUTQ)
            MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(FINPGM))
/* */
            RMVM       FILE(TEST133) MBR(*ALL)
            MONMSG     MSGID(CPF7301 CPF7303)
            ADDPFM     FILE(TEST133) MBR(DSPOUTQ) TEXT('miembro +
                         para recoger el dspoutq')
            OVRPRTF    FILE(QPRTSPLQ) HOLD(*YES)
            WRKOUTQ    OUTQ(&OUTQ) OUTPUT(*PRINT)
            CPYSPLF    FILE(QPRTSPLQ) TOFILE(TEST133) SPLNBR(*LAST)
            MONMSG     MSGID(CPF3303) EXEC(GOTO CMDLBL(FINPGM))
/* */
SIGUE:      RCVF
            MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FINLEER))
            CHGVAR     VAR(&CONT) VALUE(&CONT + 1)
            IF         COND(&CONT *LT 3) THEN(GOTO CMDLBL(SIGUE))
            IF         COND(&CONT *GT 55) THEN(DO)
            CHGVAR     VAR(&CONT) VALUE(1)
            GOTO CMDLBL(SIGUE)
               ENDDO
            IF         COND(%SST(&TEST133 83 10) *EQ '         ') +
                         THEN(GOTO CMDLBL(SIGUE))
       /* MOVER VARIABLES Y HACER CPYSPLF DE CADA FICHERO DE SPOOL +
          CREANDO MIEMBROS EN TEST133 */
            IF         COND(%SST(&TEST133 73 1) *EQ ' ') +
                         THEN(CHGVAR VAR(%SST(&TEST133 73 1)) +
                         VALUE('0'))
            IF         COND(%SST(&TEST133 74 1) *EQ ' ') +
                         THEN(CHGVAR VAR(%SST(&TEST133 74 1)) +
                         VALUE('0'))
            IF         COND(%SST(&TEST133 75 1) *EQ ' ') +
                         THEN(CHGVAR VAR(%SST(&TEST133 75 1)) +
                         VALUE('0'))
            IF         COND(%SST(&TEST133 76 1) *EQ ' ') +
                         THEN(CHGVAR VAR(%SST(&TEST133 76 1)) +
                         VALUE('0'))
            ADDPFM     FILE(TEST133) MBR('P' *CAT +
                         (%SST(&TEST133 94 5) *CAT (%SST(&TEST133 +
                         73 4)))) TEXT(%SST(&TEST133 1 50))
            CPYSPLF    FILE(%SST(&TEST133 2 10)) TOFILE(TEST133) +
                         JOB(%SST(&TEST133 93 6)/%SST(&TEST133 13 +
                         10)/%SST(&TEST133 82 10)) +
                         SPLNBR(%SST(&TEST133 73 4)) TOMBR('P' +
                         *CAT (%SST(&TEST133 94 5)) *CAT +
                         (%SST(&TEST133 73 4))) CTLCHAR(*FCFC)
                         GOTO CMDLBL(SIGUE)
FINLEER:
/* */
            RMVM       FILE(TEST133) MBR(DSPOUTQ)
FINPGM:      ENDPGM


Responder a