Example: Generating and sending an alert
This ILE RPG program uses alert APIs. First, it calls the Generate Alert (QALGENA) API to generate an alert without sending a message to the QSYSOPR or QHST message queue. Then, it uses the Send Alert (QALSNDA) API to send the alert to the alert manager.
Note: By using the code examples, you agree to the terms of the Code license and disclaimer information.
H
D***************************************************************
D***************************************************************
D*
D* Program Name: ALERTS
D*
D* Programming Language: ILE RPG
D*
D* Description: This program uses alert APIs. First, it
D* calls the Generate Alert (QALGENA) API to
D* generate an alert without sending a message
D* to QSYSOPR or QHST message queue. Then it
D* uses the Send Alert (QALSNDA) API to send
D* the alert to the alert manager.
D*
D* Header Files Included: QUSEC - Error Code Parameter
D*
D***************************************************************
D***************************************************************
D*
D* Error Code parameter include
D*
D/COPY QSYSINC/QRPGLESRC,QUSEC
D*
D*
D* Miscellaneous data structure
D*
DRCVVAR S 512
DRCVLEN S 9B 0 INZ(%SIZE(RCVVAR))
DALERT_SIZE S 9B 0
DMSG_FILE S 20 INZ('QCPFMSG QSYS')
DMSG_ID S 7 INZ('CPA2601')
DMSG_DATA S 100
DMSG_SIZE S 9B 0 INZ(0)
DALERT_TYPE S 1 INZ('L')
DORIGIN S 10 INZ('ALERTS')
C*
C* Beginning of mainline
C*
C* Set error handling
C*
C EVAL QUSBPRV = %SIZE(QUSEC)
C*
C* Start by generating an alert for a specific message
C*
C CALL 'QALGENA'
C PARM RCVVAR
C PARM RCVLEN
C PARM ALERT_SIZE
C PARM MSG_FILE
C PARM MSG_ID
C PARM MSG_DATA
C PARM MSG_SIZE
C PARM QUSEC
C*
C* If no error reported, send the generated alert
C*
C QUSBAVL IFEQ 0
C CALL 'QALSNDA'
C PARM RCVVAR
C PARM ALERT_SIZE
C PARM ALERT_TYPE
C PARM ORIGIN
C PARM QUSEC
C*
C* If error on send, then display the error message
C*
C QUSBAVL IFNE 0
C QUSEI DSPLY
C END
C*
C* If error on generation, then display the error message
C*
C ELSE
C QUSEI DSPLY
C END
C*
C EVAL *INLR = '1'
C RETURN
C*
C* End of MAINLINE
C*