CREATE OR REPLACE PACKAGE cg$REC_MESSAGE_DETAILS IS called_from_package BOOLEAN := FALSE; -- Repository User-Defined Error Messages REMD_PK CONSTANT VARCHAR2(240) := ''; REMD_CUST_FK CONSTANT VARCHAR2(240) := ''; REMD_REMH_FK CONSTANT VARCHAR2(240) := ''; -- Column default prompts. Format PSEQNO_COL P80CREATED_BY CONSTANT VARCHAR2(240) := 'Created By'; P10REMD_ID CONSTANT VARCHAR2(240) := 'Remd Id'; P20REMH_ID CONSTANT VARCHAR2(240) := 'Remh Id'; P30CUST_ID CONSTANT VARCHAR2(240) := 'Cust Id'; P40MESSAGE_TYPE CONSTANT VARCHAR2(240) := 'Message Type'; P50MESSAGE_RECIPIENT CONSTANT VARCHAR2(240) := 'Message Recipient'; P55MESSAGE_SUBJECT CONSTANT VARCHAR2(240) := 'Email Subject'; P60MESSAGE_BODY CONSTANT VARCHAR2(240) := 'Email Body'; P70MESSAGE_ATTACHMENT CONSTANT VARCHAR2(240) := 'Attachment'; P90CREATED_ON CONSTANT VARCHAR2(240) := 'Created On'; cg$row REC_MESSAGE_DETAILS%ROWTYPE; -- REC_MESSAGE_DETAILS row type variable TYPE cg$row_type IS RECORD (CREATED_BY cg$row.CREATED_BY%TYPE ,REMD_ID cg$row.REMD_ID%TYPE ,REMH_ID cg$row.REMH_ID%TYPE ,CUST_ID cg$row.CUST_ID%TYPE ,MESSAGE_TYPE cg$row.MESSAGE_TYPE%TYPE ,MESSAGE_RECIPIENT cg$row.MESSAGE_RECIPIENT%TYPE ,MESSAGE_SUBJECT cg$row.MESSAGE_SUBJECT%TYPE ,MESSAGE_BODY cg$row.MESSAGE_BODY%TYPE ,MESSAGE_ATTACHMENT cg$row.MESSAGE_ATTACHMENT%TYPE ,CREATED_ON cg$row.CREATED_ON%TYPE ,the_rowid ROWID) ; -- REC_MESSAGE_DETAILS indicator type variable TYPE cg$ind_type IS RECORD (CREATED_BY BOOLEAN DEFAULT FALSE ,REMD_ID BOOLEAN DEFAULT FALSE ,REMH_ID BOOLEAN DEFAULT FALSE ,CUST_ID BOOLEAN DEFAULT FALSE ,MESSAGE_TYPE BOOLEAN DEFAULT FALSE ,MESSAGE_RECIPIENT BOOLEAN DEFAULT FALSE ,MESSAGE_SUBJECT BOOLEAN DEFAULT FALSE ,MESSAGE_BODY BOOLEAN DEFAULT FALSE ,MESSAGE_ATTACHMENT BOOLEAN DEFAULT FALSE ,CREATED_ON BOOLEAN DEFAULT FALSE); cg$ind_true cg$ind_type; -- REC_MESSAGE_DETAILS primary key type variable TYPE cg$pk_type IS RECORD (REMD_ID cg$row.REMD_ID%TYPE ,the_rowid ROWID) ; -- PL/SQL Table Type variable for triggers TYPE cg$table_type IS TABLE OF REC_MESSAGE_DETAILS%ROWTYPE INDEX BY BINARY_INTEGER; cg$table cg$table_type; TYPE cg$tableind_type IS TABLE OF cg$ind_type INDEX BY BINARY_INTEGER; cg$tableind cg$tableind_type; idx BINARY_INTEGER := 1; PROCEDURE ins(cg$rec IN OUT cg$row_type, cg$ind IN OUT cg$ind_type, do_ins IN BOOLEAN DEFAULT TRUE ); PROCEDURE upd(cg$rec IN OUT cg$row_type, cg$ind IN OUT cg$ind_type, do_upd IN BOOLEAN DEFAULT TRUE, cg$pk IN cg$row_type DEFAULT NULL ); PROCEDURE del(cg$pk IN cg$pk_type, do_del IN BOOLEAN DEFAULT TRUE ); PROCEDURE lck(cg$old_rec IN cg$row_type, cg$old_ind IN cg$ind_type, nowait_flag IN BOOLEAN DEFAULT TRUE ); PROCEDURE slct(cg$sel_rec IN OUT cg$row_type); PROCEDURE validate_arc(cg$rec IN OUT cg$row_type); PROCEDURE validate_domain(cg$rec IN OUT cg$row_type, cg$ind IN cg$ind_type DEFAULT cg$ind_true); PROCEDURE validate_foreign_keys_ins(cg$rec IN cg$row_type); PROCEDURE validate_foreign_keys_upd(cg$rec IN cg$row_type, cg$old_rec IN cg$row_type, cg$ind IN cg$ind_type); PROCEDURE validate_foreign_keys_del(cg$rec IN cg$row_type); PROCEDURE validate_domain_cascade_delete(cg$old_rec IN cg$row_type); PROCEDURE validate_domain_cascade_update(cg$old_rec IN cg$row_type); PROCEDURE cascade_update(cg$new_rec IN OUT cg$row_type, cg$old_rec IN cg$row_type ); PROCEDURE domain_cascade_update(cg$new_rec IN OUT cg$row_type, cg$new_ind IN OUT cg$ind_type, cg$old_rec IN cg$row_type); PROCEDURE domain_cascade_upd( cg$rec IN OUT cg$row_type, cg$ind IN OUT cg$ind_type, cg$old_rec IN cg$row_type); PROCEDURE cascade_delete(cg$old_rec IN OUT cg$row_type); PROCEDURE domain_cascade_delete(cg$old_rec IN cg$row_type); PROCEDURE upd_denorm2( cg$rec IN cg$row_type, cg$ind IN cg$ind_type ); PROCEDURE upd_oper_denorm2( cg$rec IN cg$row_type, cg$old_rec IN cg$row_type, cg$ind IN cg$ind_type, operation IN VARCHAR2 DEFAULT 'UPD' ); END cg$REC_MESSAGE_DETAILS; /