Title: RE: Recibir mensajes QSYSOPR sin bloquear la msgq

Una observación: ¿no será mejor conectar el programa a la
cola del operador, indicando que otros pueden responder
a los mensajes?

CHGMSGQ MSGQ(*LIBL/QSYSOPR) PGM(BIB/PGM *ALWRPY)

Saludos

Ignacio

    ----------
    From:   [EMAIL PROTECTED]:[EMAIL PROTECTED] on behalf of Marti Riera[SMTP:[EMAIL PROTECTED]

    Reply To:       [email protected]
    Sent:   Miércoles, 19 de Abril de 2006 7:01
    To:     [email protected]
    Subject:        Re: Recibir mensajes QSYSOPR sin bloquear la msgq

    Hola de nuevo:
     
    Parece que funciona esta solucion para no bloquear la cola QSYSOPR con RCVMSG:
    LOOP:                                                            
                CHGVAR     VAR(&MSGID) VALUE('       ')              
                RCVMSG     MSGQ(QSYS/QSYSOPR) MSGTYPE(*INQ) WAIT(0) +
                             RMV(*NO) KEYVAR(&MSGMRK) MSG(&MSG) +    
                             SECLVL(&SECLVL) MSGID(&MSGID) +         
                             SENDER(&SENDER) SENDERFMT(*SHORT)       
                IF         COND(&MSGID *EQ '      ') THEN(DO)         
                  DLYJOB     DLY(&DLY)                               
                  GOTO LOOP                                          
                ENDDO                                                

    Gracias a todos y saludos
     
    2006/4/19, alex martinez <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:

      Hola Marti:

      La cola se bloquea mientras se realiza la espera, tanto si utilizas el
      mandato RCVMSG o la API QMHRCVM, quizás la solución pase por cambiar
      la espera de WAIT(*MAX) a un valor menor y construir un bucle con un
      DLYJOB, por ejemplo.

      Esta solución al problema unicamente sirve si ningun otro proceso
      bloquea la *MSGQ con WAIT(*MAX), claro.

      SAlu2

      2006/4/19, Marti Riera <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
      >
      > Hola a [EMAIL PROTECTED]:
      >
      > Alguien sabe como leer mensajes de la cola QSYSOPR sin bloquearla?
      >
      > Yo actualmente utilizo el mandato RCVMSG para leer los mensajes que esperan
      > respuesta en la cola del operador:
      > RCVMSG MSGQ(QSYS/QSYSOPR) MSGTYPE(*INQ) WAIT(*MAX) RMV(*NO)
      > KEYVAR(&MSGMRK) MSG(&MSG) SECLVL(&SECLVL) MSGID(&MSGID) SENDER(&SENDER)
      > SENDERFMT(*SHORT)
      >
      > Hasta ahora me ha ido bien pero tiene una pega que bloquea la cola de
      > mensajes QSYSOPR como *EXCL y ahora estamos haciendo pruebas con otro
      > producto que intenta leerla también pero casca por dicho bloqueo (además no
      > puedo configurarlo), por tanto esto intentando cambiar mi programa para que
      > no bloquee, pero la verdad no se como hacerlo de manera fácil.
      >
      > Gracias anticipadas por vuestras arrotaciones y Saludos.
      >
      >
      >
      > --
      > Martí Riera


      --
      Mi blog sobre as400
      <http://www.ajut400.com>

      __________________________________________________
      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 visita la siguente URL:
      <http://coyote.combios.es/mailman/listinfo/forum.help400>





    --
    Martí Riera


-----------------------------------------------------------------
Notice of Confidentiality: The information transmitted is intended only for the sender and person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, e-transmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited.
If you received this in error, please contact the sender immediately by return electronic transmission and then immediately delete this transmission, including all attachments, without copying, distributing or disclosing same.
------------------------------------------------------------------
Aviso de Confidencialidad: Este correo electrónico y/o el material adjunto es para uso exclusivo del emisor y la persona o entidad a la que expresamente se le ha enviado, y puede contener información confidencial o material privilegiado. Si usted no es el destinatario legítimo del mismo, por favor repórtelo inmediatamente al remitente del correo y bórrelo.
Cualquier revisión, retransmisión, difusión o cualquier otro uso de este correo, por personas o entidades distintas a las del destinatario legítimo, queda expresamente prohibido. Este correo electrónico no pretende ni debe ser considerado como constitutivo de ninguna relación legal, contractual o de otra índole similar.
------------------------------------------------------------------

Responder a