InícioMódulos › Módulo 06

Módulo 06 — Mensagens e Filas BÁSICO

Sistema de mensagens, filas de mensagens e diagnóstico por logs do AS/400.

6.1 Tipos de Mensagem

TipoDescrição
*INFOInformativa — não requer resposta
*INQInquérito — aguarda resposta do operador
*COMPConclusão — indica fim de operação
*ESCAPEErro grave — interrompe execução
*NOTIFYNotificação — para fila do sistema
*STATUSStatus — exibido na linha de rodapé

6.2 Filas Importantes

FilaUso
QSYSOPRMensagens do operador do sistema
QHSTHistórico de mensagens do sistema
*USRPRFFila pessoal do usuário
*WRKSTNFila da estação de trabalho

6.3 Exibindo Mensagens

DSPMSG                              /* Suas mensagens pessoais         */
DSPMSG MSGQ(QSYSOPR)               /* Mensagens do operador           */
DSPMSG MSGQ(JOAO)                  /* Mensagens de usuário específico */
DSPLOG LOG(QHST)                   /* Log histórico do sistema        */
DSPLOG LOG(QHST) PERIOD(('2024-01-15' '08:00:00') ('2024-01-15' '18:00:00'))
DSPLOG LOG(QHST) MSGID(CPF*)       /* Apenas mensagens de erro        */

6.4 Enviando Mensagens

SNDMSG MSG('Aviso de manutenção') TOUSR(JOAO)
SNDMSG MSG('Manutenção em 30 min!') TOUSR(*ALLACT)   /* Para todos conectados */
SNDMSG MSG('Erro no lote noturno') TOUSR(QSYSOPR) MSGTYPE(*INFO)

6.5 Gerenciamento de Filas

CRTMSGQ MSGQ(MEUALIB/MINHAFILA) TEXT('Fila de mensagens producao')
CLRMSGQ MSGQ(QSYSOPR)              /* ⚠ Limpar fila do operador       */
CHGMSGQ MSGQ(QSYSOPR) DLVRY(*BREAK) SEV(50)
Limpe QSYSOPR apenas após confirmar que não há mensagens *INQ pendentes!

6.6 Respondendo Mensagens de Inquérito (MSGW)

Jobs com status MSGW ficam parados aguardando resposta a mensagem *INQ.

WRKJOB JOB(123456/JOAO/MEUJOB)  /* Opção 10 = Mensagens → responder */

6.7 Arquivos de Mensagens

WRKMSGF MSGF(QCPFMSG)           /* Mensagens do sistema (CPF)     */
DSPMSGD MSGID(CPF2105) MSGF(QCPFMSG)  /* Detalhar mensagem específica */
CRTMSGF MSGF(MEUALIB/MEUSMSGF) TEXT('Mensagens da aplicacao')
ADDMSGD MSGID(MSG0001) MSGF(MEUALIB/MEUSMSGF) MSG('Processamento concluido') SECLVL('Verifique o spool gerado.')