1 PACKAGE CZ_FCE_COMPILE_UTILS AS
2 /* $Header: czfceuts.pls 120.9 2008/03/12 20:04:20 asiaston ship $ */
3 ---------------------------------------------------------------------------------------
4 const_iconst_min CONSTANT NUMBER := -1;
5 const_iconst_max CONSTANT NUMBER := 5;
6 const_min_unsigned_byte CONSTANT NUMBER := 0;
7 const_max_unsigned_byte CONSTANT NUMBER := 255;
8 const_min_byte CONSTANT PLS_INTEGER := -128;
9 const_max_byte CONSTANT PLS_INTEGER := 127;
10 const_min_unsigned_word CONSTANT NUMBER := 0;
11 const_max_unsigned_word CONSTANT NUMBER := 65535;
12 const_min_word CONSTANT PLS_INTEGER := -32768;
13 const_max_word CONSTANT PLS_INTEGER := 32767;
14 const_min_integer CONSTANT PLS_INTEGER := -2147483648;
15 const_max_integer CONSTANT PLS_INTEGER := 2147483647;
16 const_max_unsigned_long CONSTANT NUMBER := 18446744073709551616; -- 2^64
17 const_min_long CONSTANT NUMBER := -9223372036854775808;
18 const_max_long CONSTANT NUMBER := 9223372036854775807;
19
20 -- CZ_DB_LOGS.URGENCY valid values
21 CONST_URGENCY_ERROR CZ_DB_LOGS.URGENCY%TYPE := 0;
22 CONST_URGENCY_WARNING CZ_DB_LOGS.URGENCY%TYPE := 1;
23 CONST_URGENCY_INFORMATION CZ_DB_LOGS.URGENCY%TYPE := 2;
24
25 ---------------------------------------------------------------------------------------
26 cz_cpl_internal_float EXCEPTION;
27 ---------------------------------------------------------------------------------------
28 FUNCTION assert_unsigned_byte ( p_int IN PLS_INTEGER ) RETURN BOOLEAN;
29 FUNCTION assert_byte ( p_int IN PLS_INTEGER ) RETURN BOOLEAN;
30 FUNCTION assert_unsigned_word ( p_int IN PLS_INTEGER ) RETURN BOOLEAN;
31 FUNCTION assert_word ( p_int IN PLS_INTEGER ) RETURN BOOLEAN;
32 FUNCTION assert_iconst ( p_int IN PLS_INTEGER ) RETURN BOOLEAN;
33 FUNCTION assert_integer ( p_int IN NUMBER ) RETURN BOOLEAN;
34 FUNCTION assert_long ( p_int IN NUMBER ) RETURN BOOLEAN;
35 FUNCTION unsigned_byte ( p_int IN PLS_INTEGER ) RETURN RAW;
36 FUNCTION byte ( p_int IN PLS_INTEGER ) RETURN RAW;
37 FUNCTION unsigned_word ( p_int IN PLS_INTEGER ) RETURN RAW;
38 FUNCTION word ( p_int IN PLS_INTEGER ) RETURN RAW;
39 FUNCTION integer_raw ( p_int IN NUMBER ) RETURN RAW;
40 FUNCTION long_raw ( p_int IN NUMBER ) RETURN RAW;
41 FUNCTION float_raw ( p_number IN NUMBER ) RETURN RAW;
42 FUNCTION double_raw ( p_number IN NUMBER ) RETURN RAW;
43 ---------------------------------------------------------------------------------------
44 PROCEDURE init_timing;
45 PROCEDURE start_timing ( p_label IN VARCHAR2 );
46 PROCEDURE end_timing ( p_label IN VARCHAR2 );
47 PROCEDURE spool_timing_data ( p_run_id IN NUMBER );
48 ---------------------------------------------------------------------------------------
49 -- Report procedures
50 /**
51 This procedure is used to report the FCE model compile warnings.
52 This procedure is responsible for truncating the message to the
53 database limit of 4000 characters. Its sets the
54 urgency level to 1.
55
56 Note: URGENCY - 0 - fatal error, 1 - warning, 2 - informational message;
57 */
58
59 PROCEDURE REPORT_WARNING (
60 p_message IN VARCHAR2
61 , p_run_id IN NUMBER
62 , p_model_id IN NUMBER
63 , p_ps_node_id IN NUMBER DEFAULT NULL
64 , p_rule_id IN NUMBER DEFAULT NULL
65 , p_error_stack IN VARCHAR2 DEFAULT NULL
66 , p_message_id IN VARCHAR2 DEFAULT NULL
67 );
68
69 /**
70 This procedure is used to report the FCE model compile system warnings.
71 System warnings are caused most likely due to code bugs or
72 environment level issues.
73 This procedure is responsible for truncating the message to the
74 database limit of 4000 characters. Its sets the
75 urgency level to 1.
76
77 Note: URGENCY - 0 - fatal error, 1 - warning, 2 - informational message;
78 */
79
80 PROCEDURE REPORT_SYS_WARNING (
81 p_message IN VARCHAR2
82 , p_run_id IN NUMBER
83 , p_model_id IN NUMBER
84 , p_ps_node_id IN NUMBER DEFAULT NULL
85 , p_rule_id IN NUMBER DEFAULT NULL
86 , p_error_stack IN VARCHAR2 DEFAULT NULL
87 , p_message_id IN VARCHAR2 DEFAULT NULL
88 );
89
90
91 /**
92 This procedure is used to report the FCE model compile errors that
93 are caused due to the user defined model errors that can be fixed
94 by the user.
95 This procedure is responsible for truncating the message to the
96 database limit of 4000 characters. Its sets the
97 urgency level to 0.
98
99 Note: URGENCY - 0 - fatal error, 1 - warning, 2 - informational message;
100 */
101 PROCEDURE REPORT_ERROR (
102 p_message IN VARCHAR2
103 , p_run_id IN NUMBER
104 , p_model_id IN NUMBER
105 , p_ps_node_id IN NUMBER DEFAULT NULL
106 , p_rule_id IN NUMBER DEFAULT NULL
107 , p_error_stack IN VARCHAR2 DEFAULT NULL
108 , p_message_id IN VARCHAR2 DEFAULT NULL
109 );
110
111 /**
112 This procedure is used to report the FCE model compile errors that
113 are caused due to the unexpected failures that are caused by the
114 system errors. These errors are caused typically due to
115 environment issues (like data corruption etc.), can potentially
116 a code bug etc.
117
118 This procedure is responsible for truncating the message to the
119 database limit of 4000 characters. It sets the
120 urgency level to 0.
121
122 Note: URGENCY - 0 - fatal error, 1 - warning, 2 - informational message;
123 */
124 PROCEDURE REPORT_SYSTEM_ERROR (
125 p_message IN VARCHAR2
126 , p_run_id IN NUMBER
127 , p_model_id IN NUMBER
128 , p_ps_node_id IN NUMBER DEFAULT NULL
129 , p_rule_id IN NUMBER DEFAULT NULL
130 , p_error_stack IN VARCHAR2 DEFAULT NULL
131 , p_message_id IN VARCHAR2 DEFAULT NULL
132 );
133
134 /**
135 This procedure is used to report the FCE model information messages that
136 are useful for debugging purposes or other information purposes.
137
138 This procedure is responsible for truncating the message to the
139 database limit of 4000 characters. It sets the
140 urgency level to 0.
141
142 Note: URGENCY - 0 - fatal error, 1 - warning, 2 - informational message;
143 */
144 PROCEDURE REPORT_INFO (
145 p_message IN VARCHAR2
146 , p_run_id IN NUMBER
147 , p_model_id IN NUMBER
148 , p_ps_node_id IN NUMBER DEFAULT NULL
149 , p_rule_id IN NUMBER DEFAULT NULL
150 , p_error_stack IN VARCHAR2 DEFAULT NULL
151 , p_message_id IN VARCHAR2 DEFAULT NULL
152 );
153 ---------------------------------------------------------------------------------------
154 /**
155 This function returns the full path of the model for the given model id.
156 For the root model id, only model name will be returned.
157 */
158 FUNCTION GET_MODEL_PATH (
159 p_model_id IN NUMBER,
160 p_model_path IN VARCHAR2 DEFAULT NULL )
161 RETURN VARCHAR2;
162
163 /**
164 This function returns the full path of the rule for the given rule id.
165 */
166 FUNCTION GET_RULE_PATH (
167 p_rule_id IN NUMBER,
168 p_rule_name IN VARCHAR2 DEFAULT NULL )
169 RETURN VARCHAR2;
170
171 /**
172 This function returns the full path of the node for the given node id.
173 */
174 FUNCTION GET_NODE_PATH (
175 p_node_id IN NUMBER,
176 p_node_path IN VARCHAR2 DEFAULT NULL )
177 RETURN VARCHAR2;
178
179 /**
180 This function returns the full path of the property for the given property id.
181 */
182 FUNCTION GET_PROPERTY_PATH (
183 p_prop_id IN NUMBER )
184 RETURN VARCHAR2;
185 ---------------------------------------------------------------------------------------
186 END;