DBA Data[Home] [Help]

PACKAGE BODY: DVSYS.EVENT

Source


1 PACKAGE BODY       event AS
2 
3  PROCEDURE set_c (P_SYSEVENT        VARCHAR2,
4                   P_LOGIN_USER      VARCHAR2,
5                   P_INSTANCE_NUM    VARCHAR2,
6                   P_DATABASE_NAME   VARCHAR2,
7                   P_DICT_OBJ_TYPE   VARCHAR2,
8                   P_DICT_OBJ_OWNER  VARCHAR2,
9                   P_DICT_OBJ_NAME   VARCHAR2,
10                   P_SQL_TEXT        VARCHAR2)
11  IS LANGUAGE C
12    NAME "kzvdvssetup"
13    LIBRARY DVSYS.KZV$RUL_LIBT
14    WITH CONTEXT
15    PARAMETERS (CONTEXT,
16                P_SYSEVENT, P_SYSEVENT INDICATOR,
17                P_LOGIN_USER, P_LOGIN_USER INDICATOR,
18                P_INSTANCE_NUM, P_INSTANCE_NUM INDICATOR,
19                P_DATABASE_NAME, P_DATABASE_NAME INDICATOR,
20                P_DICT_OBJ_TYPE, P_DICT_OBJ_TYPE INDICATOR,
21                P_DICT_OBJ_OWNER, P_DICT_OBJ_OWNER INDICATOR,
22                P_DICT_OBJ_NAME, P_DICT_OBJ_NAME INDICATOR,
23                P_SQL_TEXT, P_SQL_TEXT INDICATOR);
24 
25  PROCEDURE set (P_SYSEVENT        VARCHAR2,
26                 P_LOGIN_USER      VARCHAR2,
27                 P_INSTANCE_NUM    NUMBER,
28                 P_DATABASE_NAME   VARCHAR2,
29                 P_DICT_OBJ_TYPE   VARCHAR2,
30                 P_DICT_OBJ_OWNER  VARCHAR2,
31                 P_DICT_OBJ_NAME   VARCHAR2,
32                 P_SQL_TEXT        VARCHAR2) AS
33    l_loginuser VARCHAR2(100);
34    l_instancenum VARCHAR2(100);
35    l_sqltext VARCHAR2(4000);
36  BEGIN
37    IF (P_LOGIN_USER IS NULL) OR (LENGTH(P_LOGIN_USER) = 0) THEN
38       l_loginuser := SYS_CONTEXT ( 'USERENV','SESSION_USER' );
39    ELSE
40       l_loginuser := P_LOGIN_USER;
41    END IF;
42 
43    l_instancenum := TO_CHAR(P_INSTANCE_NUM);
44 
45    IF (P_SQL_TEXT IS NOT NULL) THEN
46       l_sqltext := SUBSTRB(UPPER(P_SQL_TEXT), 1, 4000);
47    ELSE
48       l_sqltext := '';
49    END IF;
50 
51    dvsys.event.set_c(P_SYSEVENT, l_loginuser, l_instancenum, P_DATABASE_NAME,
52                      P_DICT_OBJ_TYPE, P_DICT_OBJ_OWNER, P_DICT_OBJ_NAME, l_sqltext);
53  END;
54 
55  PROCEDURE setdefault AS
56  BEGIN
57    dvsys.event.set(SYS.SYSEVENT, SYS.LOGIN_USER, SYS.INSTANCE_NUM, SYS.DATABASE_NAME,
58                    SYS.DICTIONARY_OBJ_TYPE, SYS.DICTIONARY_OBJ_OWNER, SYS.DICTIONARY_OBJ_NAME, '');
59  END;
60 END event;