rem $Header: L:\\\\model\\repman40\\api\\RCS\\rm.rps 1.1 1998/05/28 17:03:52 mfrobins Exp $ rem rem Copyright (c) 1993 by Oracle Corporation rem rem NAME rem rmh.sql - RM Support Package ( Specification ) rem DESCRIPTION rem The RM support package provides a set of PL/SQL definitions for use rem by any PL/SQL code (primarily Repository code ie procedures, rem packages ) that has access to the RM package. rem PUBLIC FUNCTION(S) rem init - RM support: INITialise server-side repository manager rem idgen - RM support: ID GENerator rem count_nulls - RM support: COUNT number of NULLs passed rem get_idoffset - RM support: GET ID OFFSET into rm.id_offset global rem PUBLIC GLOBALS rem do_preop - 'Do pre operation hook' flag rem do_postop - 'Do post operation hook' flag rem do_csynch - 'Synchronise with client-side cache' flag rem MODIFIED (MM/DD/YY) Rem dcaruana 04/06/94 - Add function idgen Rem bferris 12/29/93 - Fix bug #12444 Rem dcaruana 12/13/93 - Modify for subtype problem in 7.1 Rem bferris 11/16/93 - Relocatable code changes Rem bferris 08/26/93 - Move do_opval to public global Rem bferris 08/26/93 - Moved preop/postop to rmu Rem bferris 08/25/93 - Get rid of activity error code constants Rem bferris 08/25/93 - Preop and Postop Rem dcaruana 06/17/93 - Add count_nulls Rem bferris 06/04/93 - Activity error modifications Rem qttran 06/03/93 - Added RMERR_TOPNTXN Rem qttran 05/17/93 - added operation error codes Rem dcaruana 04/02/93 - Add new domains user_name, element_name Rem dcaruana 03/04/93 - Change subtype definitions for 7012 Rem qttran 02/09/93 - modified txt_ref datatype, txt_type is varchar2 Rem dcaruana 01/21/93 - Created (from part of rm1/rm.sql) Rem dcaruana 01/21/93 - rnew'd create or replace package rm as -- -- Public types -- -- Work around for subtype problem in 7.0.12 -- User defined constraints on subtypes are not allowed type domains is record ( stream integer, flag varchar2(1), casemode varchar2(1), direction varchar2(1), justify varchar2(1), map_constraint varchar2(1), tooltype varchar2(1), yesno varchar2(1), help varchar2(240), name varchar2(60), user_name varchar2(30), element_name varchar2(60), facility varchar2(3), reference number(38,0), sb1 number(3,0), sb2 number(5,0), sb4 number(10,0), sword number(38,0), unsigned number(38,0), ub1 number(3,0), eb1 number(3,0), ub2 number(5,0), eb2 number(5,0), ub4 number(10,0), eb4 number(10,0) ); domain domains; -- End of workaround -- type definitions subtype stream is domain.stream%TYPE; subtype flag is domain.flag%TYPE; subtype casemode is domain.casemode%TYPE; subtype direction is domain.direction%TYPE; subtype justify is domain.justify%TYPE; subtype map_constraint is domain.map_constraint%TYPE; subtype tooltype is domain.tooltype%TYPE; subtype yesno is domain.yesno%TYPE; subtype help is domain.help%TYPE; subtype name is domain.name%TYPE; subtype user_name is domain.user_name%TYPE; subtype element_name is domain.element_name%TYPE; subtype facility is domain.facility%TYPE; subtype reference is domain.reference%TYPE; subtype sb1 is domain.sb1%TYPE; subtype sb2 is domain.sb2%TYPE; subtype sb4 is domain.sb4%TYPE; subtype sword is domain.sword%TYPE; subtype unsigned is domain.unsigned%TYPE; subtype ub1 is domain.ub1%TYPE; subtype eb1 is domain.eb1%TYPE; subtype ub2 is domain.ub2%TYPE; subtype eb2 is domain.eb2%TYPE; subtype ub4 is domain.ub4%TYPE; subtype eb4 is domain.eb4%TYPE; -- -- Public globals -- do_preop boolean := false; -- 'Do pre operation hook' flag do_postop boolean := true; -- 'Do post operation hook' flag do_csynch boolean := false; -- 'Synchronise with client-side cache' flag do_cblock boolean := true; -- 'Do constraint blocking' flag -- Id relocation information id_offset number := null; -- Relocatable ID offset base -- -- Unpublished 'friend' globals -- do_opval boolean := true; -- 'Do operation validation' flag -- -- Public procedure prototypes -- /*--------------------------------- init ------------------------------------*/ /* init - RM support: INITialise server-side repository manager */ PROCEDURE init( doopval IN rm.yesno default 'N', docsynch IN rm.yesno default 'N'); /*--------------------------------- idgen -----------------------------------*/ /* idgen - RM support: ID GENerator */ FUNCTION idgen RETURN rm.reference; /*--------------------------------- count_nulls -----------------------------*/ /* count_nulls - RM support: COUNT number of NULLs passed */ FUNCTION count_nulls(p1 IN varchar2 default 'x', p2 IN varchar2 default 'x', p3 IN varchar2 default 'x', p4 IN varchar2 default 'x', p5 IN varchar2 default 'x', p6 IN varchar2 default 'x', p7 IN varchar2 default 'x', p8 IN varchar2 default 'x', p9 IN varchar2 default 'x', p10 IN varchar2 default 'x', p11 IN varchar2 default 'x', p12 IN varchar2 default 'x', p13 IN varchar2 default 'x', p14 IN varchar2 default 'x', p15 IN varchar2 default 'x', p16 IN varchar2 default 'x', p17 IN varchar2 default 'x', p18 IN varchar2 default 'x', p19 IN varchar2 default 'x', p20 IN varchar2 default 'x') return number; /*--------------------------------- get_idoffset ----------------------------*/ /* get_idoffset - RM support: GET ID OFFSET into rm.id_offset global */ PROCEDURE get_idoffset; end rm; /