1. 프로그램 개요
사용자 데이터베이스를 읽어 전체 사용자에게 메세지를 발송한다.
2. 프로그램 소스
/* Send Message to User */
PGM PARM(&msg)
DCLF userlib/userdb RCDFMT(urec)
DCL VAR(&msg) TYPE(*CHAR) LEN(50)
DB_READ: /* Label */
RCVF RCDFMT(urec)
MONMSG MSGID(CPF0864) EXEC(GOTO JOB_END) /* if EOF */
SNDBRKMSG MSG(&msg) TOMSGQ(&wstid)
MONMSG MSGID(CPF2469)
GOTO DB_READ
JOB_END:
ENDPGM
3. 프로그램 해설
1) 2행 PGM PARM(&msg)
- 프로그램 실행시 전달할 메세지를 매개변수로 입력 받는다.
- 변수 &msg는 4행에서 문자변수 50자리로 선언 되어 있다.
2) 6행 RCVF RCDFMT(urec)
- 데이터베이스를 순차적(Sequence)으로 읽는다.
3) 7행 MONMSG MSGID(CPF0864)
- 데이터베이스가 마지막에 도달하면 메세지 CPF0864가 발행되는데
- 이를 모니터링하여 EOF 조건을 처리한다.