-- RPTRECIP — Retriever schedule recipients.
-- One row per email address per schedule (recipients hang off the
-- SCHEDULE, not the report, so the same report can serve different
-- audiences on different cadences). USER_ID optionally links an internal
-- user (NULL = external recipient). BURSTVAL: when the schedule bursts
-- (RPTSCHED.BURSTCOL set), this recipient receives only rows where the
-- burst column equals BURSTVAL (blank = receives the full report).
-- ENABLED = pause one person (vacation, role change) without deleting
-- them and their burst value.
-- Runs in each install's XXX_5WEB library.
SET SCHEMA XXX_5WEB;
CREATE TABLE RPTRECIP (
RECIPIENT_ID FOR COLUMN RECIP_ID INTEGER GENERATED ALWAYS AS IDENTITY
( START WITH 1 INCREMENT BY 1 ) NOT NULL ,
SCHEDULE_ID FOR COLUMN SCHED_ID INTEGER NOT NULL ,
EMAIL VARCHAR(254) CCSID 37 NOT NULL ,
USER_ID INTEGER DEFAULT NULL ,
BURSTVAL VARCHAR(100) CCSID 37 NOT NULL DEFAULT '' ,
ENABLED CHAR(1) CCSID 37 NOT NULL DEFAULT 'Y' ,
BIRTH TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( RECIPIENT_ID ) ,
CONSTRAINT RPTRECIP_SCHED_FK FOREIGN KEY ( SCHEDULE_ID )
REFERENCES RPTSCHED ( SCHEDULE_ID ) ON DELETE CASCADE ,
CONSTRAINT RPTRECIP_SCHED_EMAIL_UQ UNIQUE ( SCHEDULE_ID , EMAIL ) )
RCDFMT RPTRECIP ;
LABEL ON TABLE RPTRECIP
IS 'Web - Retriever Schedule Recipients' ;
CREATE INDEX RPTRECIP_SCHED_IX ON RPTRECIP ( SCHEDULE_ID ) ;