1 PACKAGE CZ_FCE_COMPILE AS
2 /* $Header: czfcecps.pls 120.39 2008/05/12 21:06:12 asiaston ship $ */
3 ---------------------------------------------------------------------------------------
4 TYPE type_varchar1_table IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
5 TYPE type_varchar16_table IS TABLE OF VARCHAR2(16) INDEX BY BINARY_INTEGER;
6 TYPE type_varchar4000_table IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;
7 TYPE type_integer_table IS TABLE OF PLS_INTEGER INDEX BY BINARY_INTEGER;
8 TYPE type_number_table IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
9 TYPE type_date_table IS TABLE OF DATE INDEX BY BINARY_INTEGER;
10 TYPE type_byte_table IS TABLE OF RAW(1) INDEX BY VARCHAR2(30);
11
12 TYPE type_meta_hashtable IS TABLE OF PLS_INTEGER INDEX BY VARCHAR2(30);
13 TYPE type_data_hashtable IS TABLE OF PLS_INTEGER INDEX BY VARCHAR2(4000);
14 TYPE type_node_hashtable IS TABLE OF NUMBER INDEX BY VARCHAR2(4000);
15 TYPE type_name_hashtable IS TABLE OF VARCHAR2(4000) INDEX BY VARCHAR2(4000);
16 TYPE type_flag_hashtable IS TABLE OF VARCHAR2(1) INDEX BY VARCHAR2(4000);
17 TYPE type_date_hashtable IS TABLE OF DATE INDEX BY VARCHAR2(4000);
18 TYPE type_bool_hashtable IS TABLE OF BOOLEAN INDEX BY VARCHAR2(4000);
19
20 TYPE type_datahashtable_hashtable IS TABLE OF type_data_hashtable INDEX BY VARCHAR2(4000);
21 TYPE type_integertable_hashtable IS TABLE OF type_integer_table INDEX BY VARCHAR2(4000);
22 TYPE type_numbertable_hashtable IS TABLE OF type_number_table INDEX BY VARCHAR2(4000);
23 TYPE type_nodehashtable_hashtable IS TABLE OF type_node_hashtable INDEX BY VARCHAR2(4000);
24 TYPE type_numbertable_table IS TABLE OF type_number_table INDEX BY PLS_INTEGER;
25 TYPE type_integertable_table IS TABLE OF type_integer_table INDEX BY PLS_INTEGER;
26 TYPE type_nodehashtable_table IS TABLE OF type_node_hashtable INDEX BY PLS_INTEGER;
27 TYPE type_datahashtable_table IS TABLE OF type_data_hashtable INDEX BY PLS_INTEGER;
28 TYPE type_varchar4000table_table IS TABLE OF type_varchar4000_table INDEX BY PLS_INTEGER;
29
30 TYPE expression_context IS RECORD (
31 context_type PLS_INTEGER
32 , context_num_data PLS_INTEGER
33 , context_data VARCHAR2(4000)
34 );
35
36 TYPE type_iterator_node IS RECORD (
37 ps_node_id NUMBER
38 , model_ref_expl_id NUMBER
39 , argument_name VARCHAR2(4000)
40 , expr_index PLS_INTEGER
41 );
42
43 TYPE type_iteratornode_table IS TABLE OF type_iterator_node INDEX BY BINARY_INTEGER;
44
45 TYPE type_iterator_value IS RECORD (
46 value_type PLS_INTEGER
47 , ps_node_id NUMBER
48 , model_ref_expl_id NUMBER
49 , data_value VARCHAR2(4000)
50 , data_num_value NUMBER
51 , data_type NUMBER
52 );
53
54 TYPE type_iterator_table IS TABLE OF type_iterator_value INDEX BY BINARY_INTEGER;
55 TYPE type_iteratortable_table IS TABLE OF type_iterator_table INDEX BY BINARY_INTEGER;
56
57 TYPE type_contributor_record IS RECORD (
58 effective_from DATE
59 , effective_until DATE
60 , effective_usage_mask VARCHAR2(16)
61 , interval_key VARCHAR2(4000)
62 , quantifiers type_varchar4000_table
63 , hash_quantifiers type_data_hashtable
64 );
65
66 TYPE type_contributor_table IS TABLE OF type_contributor_record INDEX BY BINARY_INTEGER;
67 TYPE type_contributortable_table IS TABLE OF type_contributor_table INDEX BY BINARY_INTEGER;
68
69 TYPE type_compat_table IS RECORD (
70 participants type_iteratornode_table
71 , combinations type_iteratortable_table
72 );
73
74 TYPE type_compattable_table IS TABLE OF type_compat_table INDEX BY BINARY_INTEGER;
75
76 TYPE type_iterator_hashtable IS TABLE OF type_iterator_value INDEX BY VARCHAR2(4000);
77 TYPE type_iteratorhashtable_table IS TABLE OF type_iterator_hashtable INDEX BY BINARY_INTEGER;
78
79 TYPE type_integervalue_table IS TABLE OF type_integertable_table INDEX BY BINARY_INTEGER;
80 TYPE type_numbervalue_table IS TABLE OF type_numbertable_table INDEX BY BINARY_INTEGER;
81 TYPE type_varchar4000value_table IS TABLE OF type_varchar4000table_table INDEX BY BINARY_INTEGER;
82 ---------------------------------------------------------------------------------------
83 -- Exceptions and Messages
84 ---------------------------------------------------------------------------------------
85 -- Warning exceptions are reported and logic gen will not be stopped
86 -- User warnings: User can make corrections to avoid warnings
87 CZ_LOGICGEN_WARNING EXCEPTION; -- (Must use CZ_FCE_W_ prefix for message names)
88 -- System warnings: Caused due to either an environment or code issues
89 CZ_LOGICGEN_SYS_WARNING EXCEPTION; -- (Must use CZ_FCE_SW_ prefix for message names)
90 -- Errors are reoprted and logic gen will be stopped
91 -- User errors: User can make corrections to avoid these errors
92 CZ_LOGICGEN_ERROR EXCEPTION; -- (Must use CZ_FCE_E_ prefix for message names)
93 -- System errors: Caused due to either an environment or code issues
94 CZ_LOGICGEN_SYS_ERROR EXCEPTION; -- (Must use CZ_FCE_SE_ prefix for message names)
95
96 ---------------------------------------------------------------------------------------
97 -- Messages that must be translated
98 ---------------------------------------------------------------------------------------
99 -- Note: Use this query to get this list from the FND_NEW_MESSAGES
100 /* select mtext from (
101 select message_name, message_name || ' CONSTANT VARCHAR2(30) := ''' || message_name || ''';' mtext from fnd_new_messages where message_name like 'CZ_FCE%'
102 UNION ALL
103 select message_name, '-- ' || REPLACE(message_text, '&', '^') mtext from fnd_new_messages where message_name like 'CZ_FCE%'
104 )
105 order by message_name desc, mtext asc */
106 ---------------------------------------------------------------------------------------
107 -- The rule is incomplete because a property is undefined. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
108 CZ_FCE_W_UNDEFINED_PROPERTY CONSTANT VARCHAR2(30) := 'CZ_FCE_W_UNDEFINED_PROPERTY';
109 -- Invalid or incomplete rule, please check the rule. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
110 CZ_FCE_W_TEMPLATE_INVALID CONSTANT VARCHAR2(30) := 'CZ_FCE_W_TEMPLATE_INVALID';
111 -- Defaults and search decisions cannot be defined across different models. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
112 CZ_FCE_W_SD_NOT_ACROSS_MODELS CONSTANT VARCHAR2(30) := 'CZ_FCE_W_SD_NOT_ACROSS_MODELS';
113 -- Property ^PROP_NAME has no value for node ^NODE_NAME. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
114 CZ_FCE_W_PROPERTY_NULL_VALUE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_PROPERTY_NULL_VALUE';
115 -- Parsing errors found. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
116 CZ_FCE_W_PARSE_FAILED CONSTANT VARCHAR2(30) := 'CZ_FCE_W_PARSE_FAILED';
117 -- Property ^PROP_NAME is not defined for node ^NODE_NAME. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
118 CZ_FCE_W_NO_PROPERTY_FOR_NODE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NO_PROPERTY_FOR_NODE';
119 -- The primary feature in the design chart is either missing or duplicated. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
120 CZ_FCE_W_NO_PRIMARY_FEAT_DC CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NO_PRIMARY_FEAT_DC';
121 -- BOM node ^NODE_NAME has no optional selections to participate in rule. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
122 CZ_FCE_W_NO_OPTIONAL_CHILDREN CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NO_OPTIONAL_CHILDREN';
123 -- System properties DefinitionMinInstances and DefinitionMaxInstances cannot directly participate in rules. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
124 -- CZ_FCE_W_NO_MINMAX_INSTANCES CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NO_MINMAX_INSTANCES';
125 -- No selection made between primary and defining feature in design chart rule. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
126 CZ_FCE_W_NO_COMBINATIONS_DC CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NO_COMBINATIONS_DC';
127 -- Node ^NODE_NAME has no children. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
128 CZ_FCE_W_NODE_MUST_HAVE_CHILD CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NODE_MUST_HAVE_CHILD';
129 -- Rule participant ^NODE_NAME has been deleted. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
130 CZ_FCE_W_NODE_DELETED CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NODE_DELETED';
131 -- COLLECT DISTINCT and FOR ALL operations are not supported when there is more than one iterator. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
132 CZ_FCE_W_MORE_THAN_ONE_IT_LIM CONSTANT VARCHAR2(30) := 'CZ_FCE_W_MORE_THAN_ONE_IT_LIM';
133 -- Right-hand side participants are missing. Logic rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
134 CZ_FCE_W_LR_MISSING_RHS_PARTS CONSTANT VARCHAR2(30) := 'CZ_FCE_W_LR_MISSING_RHS_PARTS';
135 -- Left-hand side participants are missing. Logic rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
136 CZ_FCE_W_LR_MISSING_LHS_PARTS CONSTANT VARCHAR2(30) := 'CZ_FCE_W_LR_MISSING_LHS_PARTS';
137 -- No one-to-one correspondence between options of primary and defining feature in design chart rule. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
138 CZ_FCE_W_INVALID_NUM_COMB_DC CONSTANT VARCHAR2(30) := 'CZ_FCE_W_INVALID_NUM_COMB_DC';
139 -- A contribution expression that uses a participant which is under an instantiable Component or referenced Model cannot also use another participant. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
140 CZ_FCE_W_INVALID_CONTRIB CONSTANT VARCHAR2(30) := 'CZ_FCE_W_INVALID_CONTRIB';
141 -- The reference ^NODE_NAME is invalid. At least one node does not exist in the Model or is not effective when the rule is effective. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
142 CZ_FCE_W_INCORRECT_REFERENCE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_INCORRECT_REFERENCE';
143 -- Incomplete simple Property-based Compatibility rule. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
144 CZ_FCE_W_INCOMPLETE_PROPBASED CONSTANT VARCHAR2(30) := 'CZ_FCE_W_INCOMPLETE_PROPBASED';
145 -- Heuristic operators (IncMin, DecMax, Assign, MinFirst, MaxFirst) can only be used in defaults or search decisions. Rule ^RULE_NAME in model ^MODEL_NAME ignored.
146 CZ_FCE_W_HEUR_ONLY_IN_DEF CONSTANT VARCHAR2(30) := 'CZ_FCE_W_HEUR_ONLY_IN_DEF';
147 -- Rule definition is empty. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
148 CZ_FCE_W_EMPTY_RULE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_EMPTY_RULE';
149 -- Design chart is empty. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
150 CZ_FCE_W_EMPTY_DESIGN_CHART CONSTANT VARCHAR2(30) := 'CZ_FCE_W_EMPTY_DESIGN_CHART';
151 -- System Property ^PROP_NAME is invalid in WHERE clause of a COMPATIBLE or FORALL operator because it is translatable. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
152 CZ_FCE_W_DESCRIPTION_IN_WHERE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_DESCRIPTION_IN_WHERE';
153 -- Only one participant of a compatibility rule is allowed to have non-mutually-exclusive children. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
154 CZ_FCE_W_CT_ONLY_ONE_NON_MEXC CONSTANT VARCHAR2(30) := 'CZ_FCE_W_CT_ONLY_ONE_NON_MEXC';
155 -- Incomplete Compatibility rule: participants or selections are missing. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.
156 CZ_FCE_W_CT_INCOMPLETE_RULE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_CT_INCOMPLETE_RULE';
157 -- Cyclic relationship between compatibility rule participants. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
158 CZ_FCE_W_CT_CYCLIC_RELATION CONSTANT VARCHAR2(30) := 'CZ_FCE_W_CT_CYCLIC_RELATION';
159 -- Right-hand side participants are missing. Comparison rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
160 CZ_FCE_W_CR_MISSING_RHS_PARTS CONSTANT VARCHAR2(30) := 'CZ_FCE_W_CR_MISSING_RHS_PARTS';
161 -- Compatibility rule must have at least two participating features. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
162 CZ_FCE_W_COMPAT_SINGLE_FEAT CONSTANT VARCHAR2(30) := 'CZ_FCE_W_COMPAT_SINGLE_FEAT';
163 -- No valid combinations. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
164 CZ_FCE_W_COMPAT_NO_COMB CONSTANT VARCHAR2(30) := 'CZ_FCE_W_COMPAT_NO_COMB';
165 -- Invalid participant in compatibility rule. Valid participants are Option Feature or BOM Option Class nodes. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
166 CZ_FCE_W_CMR_INVALID_PART CONSTANT VARCHAR2(30) := 'CZ_FCE_W_CMR_INVALID_PART';
167 -- Unable to resolve Model node reference ^NODE_NAME because it is ambiguous. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
168 CZ_FCE_W_AMBIGUOUS_REFERENCE CONSTANT VARCHAR2(30) := 'CZ_FCE_W_AMBIGUOUS_REFERENCE';
169 -- Property ^PROP_NAME is only applicable to nodes that can contain instances. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
170 CZ_FCE_W_PROP_ONLY_ICOMP_REF CONSTANT VARCHAR2(30) := 'CZ_FCE_W_PROP_ONLY_ICOMP_REF';
171 -- Property ^PROP_NAME is invalid for the node ^NODE_NAME. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
172 CZ_FCE_W_INVALID_PROPERTY CONSTANT VARCHAR2(30) := 'CZ_FCE_W_INVALID_PROPERTY';
173 -- Only static System Properties are allowed in the WHERE clause of a COMPATIBLE or FORALL operator.
174 -- The value of the System Property ^PROPERTY_NAME can change at runtime, therefore it is invalid in
175 -- this context. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
176 CZ_FCE_W_PROPERTY_NOT_STATIC CONSTANT VARCHAR2(30) := 'CZ_FCE_W_PROPERTY_NOT_STATIC';
177 -- Rule participant ^NODE_NAME is not accessible. May be its model reference has been deleted. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
178 CZ_FCE_W_NODE_NOT_FOUND CONSTANT VARCHAR2(30) := 'CZ_FCE_W_NODE_NOT_FOUND';
179 -- Incorrect COLLECT or FOR ALL Rule: The conditional expression in the WHERE clause must be static. A dynamic source for
180 -- a value provided for iterator ^ITER was detected. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.
181 CZ_FCE_W_DYNAMIC_ITERATOR CONSTANT VARCHAR2(30) := 'CZ_FCE_W_DYNAMIC_ITERATOR';
182
183 -- Unknown Error:
184 CZ_FCE_UE_GENERIC_PREFIX CONSTANT VARCHAR2(30) := 'CZ_FCE_UE_GENERIC_PREFIX';
185 -- System Warning: Generally caused by environment or system issues.
186 CZ_FCE_SW_GENERIC_PREFIX CONSTANT VARCHAR2(30) := 'CZ_FCE_SW_GENERIC_PREFIX';
187 -- System Error: Generally caused by environment or system issues.
188 CZ_FCE_SE_GENERIC_PREFIX CONSTANT VARCHAR2(30) := 'CZ_FCE_SE_GENERIC_PREFIX';
189 -- Invalid problem definition: Option Feature with maximum quantity greater than 0 must have children. The Option Feature is ^NODE_NAME in the Model ^MODEL_NAME.
190 CZ_FCE_E_OPTION_MAXQ_NO_CHILD CONSTANT VARCHAR2(30) := 'CZ_FCE_E_OPTION_MAXQ_NO_CHILD';
191 -- Node ^NODE_NAME in Model ^MODEL_NAME is a Connector. In this release, Connectors are only supported in Orginal Configuration Engine type models.
192 CZ_FCE_E_CONNECTNOTSUPPORTED CONSTANT VARCHAR2(30) := 'CZ_FCE_E_CONNECTNOTSUPPORTED';
193
194 ---------------------------------------------------------------------------------------
195 -- Messages that do not need translations
196 ---------------------------------------------------------------------------------------
197 -- System Errors
198 CZ_FCE_SE_POINTER_TOO_LONG CONSTANT VARCHAR2(4000) :=
199 'Pointer too long in emit_ldc.';
200 CZ_FCE_SE_STRING_TOO_LONG CONSTANT VARCHAR2(4000) :=
201 'String constant is too long.';
202 CZ_FCE_SE_INTEGER_TOO_LONG CONSTANT VARCHAR2(4000) :=
203 'Integer constant is too long, value = ^VALUE.';
204 CZ_FCE_SE_LONG_TOO_LONG CONSTANT VARCHAR2(4000) :=
205 'Long constant is too long, value = ^VALUE.';
206 CZ_FCE_SE_METHODIX_OUTOFRANGE CONSTANT VARCHAR2(4000) :=
207 'Method descriptor index is out of range, value = ^VALUE.';
208 CZ_FCE_SE_UNKNOWN_OPERATION CONSTANT VARCHAR2(4000) :=
209 'Unknown register operation: ^OPERATION';
210 CZ_FCE_SE_INVALID_ACCESS_VAR CONSTANT VARCHAR2(4000) :=
211 '"^OPERATION" instruction can only access variables from 0 to 255, attempt to access variable #^VAR.';
212 CZ_FCE_SE_INVALID_ACCESS_VARW CONSTANT VARCHAR2(4000) :=
213 '"^OPERATION_w" instruction can only access variables from 0 to 65535, attempt to access variable #^VAR.';
214 CZ_FCE_SE_UNDEFINED_LOCAL_VAR CONSTANT VARCHAR2(4000) :=
215 'Local variable is not defined for key: "^KEY".';
216 CZ_FCE_SE_NO_MORE_REGISTERS CONSTANT VARCHAR2(4000) :=
217 'No registers available, all are allocated.';
218 CZ_FCE_SE_UNDEFINED_REGISTER CONSTANT VARCHAR2(4000) :=
219 'Register is not defined for key: "^KEY".';
220 CZ_FCE_SE_INCORRECT_IX CONSTANT VARCHAR2(4000) :=
221 'Incorrect index "^VALUE" to object type for array.';
222 CZ_FCE_SE_EXCEED_INTTABLESIZE CONSTANT VARCHAR2(4000) :=
223 'Exceeded maximum supported integer table, size of the current table is "^VALUE".';
224 CZ_FCE_SE_UNKNOWN_IN_RULE CONSTANT VARCHAR2(4000) :=
225 'In the rule ^RULE_NAME, unknown system error occurred.';
226 CZ_FCE_SE_REVCONNMODELNOTFOUND CONSTANT VARCHAR2(4000) :=
227 'Reverse Connector target model "^MODELNAME" not found in the repository.';
228 CZ_FCE_SE_OPTION_MAXQ_NOT_ZERO CONSTANT VARCHAR2(4000) :=
229 'Invalid problem definition: maximum quantity per option cannot be 0 for a "option quantities" enabled Option Feature "^NODE_NAME".';
230
231 -- System Warnings
232
233 CZ_FCE_SW_NO_VALID_CHILDREN CONSTANT VARCHAR2(4000) :=
234 'Node ^NODE_NAME has no children. Rule ^RULE_NAME in the Model ^MODEL_NAME" ignored.';
235 CZ_FCE_SW_UKNOWN_OP_IN_COMPAT CONSTANT VARCHAR2(4000) :=
236 'Unknown operator in the WHERE clause. Rule ^RULE_NAME in the Model ^MODEL_NAME ignored.';
237 CZ_FCE_SW_UNKNOWN_EXPR_TYPE CONSTANT VARCHAR2(4000) :=
238 'Unknown expression type in the rule. Rule ^RULE_NAME in the Model ^MODEL_NAME" ignored.';
239 CZ_FCE_SW_UNKNOWN_OP_TYPE CONSTANT VARCHAR2(4000) :=
240 'Unknown operator type "^OPERTYPE" in the rule. Rule ^RULE_NAME in the Model ^MODEL_NAME" ignored.';
241 CZ_FCE_SW_WRONG_OPER_IN_COMPAT CONSTANT VARCHAR2(4000) :=
242 'Invalid operator in compatibility rule. Rule ^RULE_NAME in the Model ^MODEL_NAME" ignored.';
243 CZ_FCE_SW_NODEINCORRECTEFFSET CONSTANT VARCHAR2(4000) :=
244 'Effectivity set, assigned to the node ^NODE_NAME in the Model ^MODEL_NAME, does not exist. Effectivity interval of the node will be used.';
245 CZ_FCE_SW_RULEINCORRECTEFFSET CONSTANT VARCHAR2(4000) :=
249 CZ_FCE_SW_BOM_INVAL_CHILD_TYP CONSTANT VARCHAR2(4000) :=
246 'Effectivity set, assigned to the rule ^RULE_NAME in the Model ^MODEL_NAME, does not exist. Effectivity interval of the rule will be used.';
247 CZ_FCE_SW_INCORRECT_EXPL_ID CONSTANT VARCHAR2(4000) :=
248 'Incorrect explosion_id "^EXPLOSION_ID" occurred. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
250 'Type ^TYPE is not a known BOM child node type. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
251 CZ_FCE_SW_UNKNOWN_TEMPLATE CONSTANT VARCHAR2(4000) :=
252 'Unknown property template "^TEMPLATE" found. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
253 CZ_FCE_SW_OPTIONS_PARENT_NULL CONSTANT VARCHAR2(4000) :=
254 'Parent is null for property Options() in logical context. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
255 CZ_FCE_SW_OPTIONS_PARENT_INVA CONSTANT VARCHAR2(4000) :=
256 'Invalid parent operator "^OPERATOR" for property options(). Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
257 CZ_FCE_SW_BOM_NUM_INVALPROP CONSTANT VARCHAR2(4000) :=
258 'In the numeric context invalid property applied to a BOM node. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
259 CZ_FCE_SW_UNKNOWN_CONTEXT CONSTANT VARCHAR2(4000) :=
260 'Unknown context occurred for options(). Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
261 CZ_FCE_SW_INVALID_LIT_DTYPE CONSTANT VARCHAR2(4000) :=
262 'Invalid literal data type "^TYPE" found for the expression with the id ^EXPR_ID. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
263 CZ_FCE_SW_INVAL_CONST_DTYPE CONSTANT VARCHAR2(4000) :=
264 'Invalid constant data type "^TYPE" found. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
265 CZ_FCE_SW_NULL_CONSTANT_VALUE CONSTANT VARCHAR2(4000) :=
266 'Null constant value occurred. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
267 CZ_FCE_SW_NO_PROP_ID_EXPR_ID CONSTANT VARCHAR2(4000) :=
268 'No property id found for the expression id "^EXPR_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
269 CZ_FCE_SW_NO_TYPE_FOR_PROP_ID CONSTANT VARCHAR2(4000) :=
270 'No property type foound for the property id "^PROP_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
271 CZ_FCE_SW_NOT_STATIC_PROPERTY CONSTANT VARCHAR2(4000) :=
272 'Property with the template id "^PROP_ID" is not static. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
273 CZ_FCE_SW_FAILED_NODE_PROP CONSTANT VARCHAR2(4000) :=
274 'Node ''^NODE_NAME'' property with the id "^PROP_ID" is failed. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
275 CZ_FCE_SW_NO_TEXT_PROP CONSTANT VARCHAR2(4000) :=
276 'Found property with the id "^PROP_ID" as text property. Rules cannot handle text properties. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
277 CZ_FCE_SW_CT_INCORRECT_SIZE CONSTANT VARCHAR2(4000) :=
278 'Incorrect size of a compatible combination occurred. Compatibility Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
279 CZ_FCE_SW_NO_VALUE_PARAMSTK CONSTANT VARCHAR2(4000) :=
280 'Value does not exist on parameter stack for parameter "^PARAM". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
281 CZ_FCE_SW_INVAL_VAL_PARAMSTK CONSTANT VARCHAR2(4000) :=
282 'In paramater stack invalid value type ^VALUE_TYPE associated with the parameter "^PARAM". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
283 CZ_FCE_SW_INVAL_E_ID_IN_WHERE CONSTANT VARCHAR2(4000) :=
284 'Unknown expression node type in the WHERE clause, expr_node_id "^EXPR_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
285 CZ_FCE_SW_INVALID_EXPR_NODE CONSTANT VARCHAR2(4000) :=
286 'Invalid expression node of type ''^EXPR_TYPE'' found in iterator definition. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
287 CZ_FCE_SW_INCOMPLETE_FOR_ALL CONSTANT VARCHAR2(4000) :=
288 'Incomplete forall rule, no iterator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
289 CZ_FCE_SW_NO_PROP_IN_WHERE CONSTANT VARCHAR2(4000) :=
290 'WHERE clause do not have property. Only "literal iterator" can have where clause without any property. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
291 CZ_FCE_SW_INVALID_IT_VALUE CONSTANT VARCHAR2(4000) :=
292 'Found invalid iterator value type "^VALUE". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
293 CZ_FCE_SW_NON_LIT_IN_COLLECT CONSTANT VARCHAR2(4000) :=
294 'Found non-literal value type in COLLECT DISTINCT. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
295 CZ_FCE_SW_INVALID_ARG_PARAM CONSTANT VARCHAR2(4000) :=
296 'Invalid parameter of type "^EXPR_TYPE" specified for the "^ARG_LOCATION" argument of the property-based compatibility template application. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
297 CZ_FCE_SW_PROP_NOT_DEFINED CONSTANT VARCHAR2(4000) :=
298 'Property is not defined. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
299 CZ_FCE_SW_INVALID_STRUCTURE CONSTANT VARCHAR2(4000) :=
300 'Invalid structure of a compatibility rule. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
301 CZ_FCE_SW_NO_ITERATOR CONSTANT VARCHAR2(4000) :=
302 'No iterator specified. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
303 CZ_FCE_SW_INVALID_NUMBER CONSTANT VARCHAR2(4000) :=
304 'Invalid number "^VALUE" found. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
305 CZ_FCE_SW_LR_MISSING_LHS_OP CONSTANT VARCHAR2(4000) :=
306 'Left-hand side operator is either not-specified or invalid. Logic rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
307 CZ_FCE_SW_LR_MISSING_LOGIC_OP CONSTANT VARCHAR2(4000) :=
308 'Logic operator is either not-specified or invalid. Logic rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
309 CZ_FCE_SW_LR_MISSING_RHS_OP CONSTANT VARCHAR2(4000) :=
310 'Right-hand side operator is either not-specified or invalid. Logic rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
311 CZ_FCE_SW_CR_NO_LHS_OPAND CONSTANT VARCHAR2(4000) :=
312 'Left-hand side operands to comparison operator is either not-specified or invalid. Comparison rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
313 CZ_FCE_SW_CR_NO_OPERATOR CONSTANT VARCHAR2(4000) :=
314 'Comparison operator is either not-specified or invalid. Comparison rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
315 CZ_FCE_SW_CR_NO_RHS_OPAND CONSTANT VARCHAR2(4000) :=
316 'Right-hand side operand to comparison operator is either not-specified or invalid. Comparison rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
320 'Right-hand side operator is either not-specified or invalid. Comparison rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
317 CZ_FCE_SW_CR_NO_LOGIC_OP CONSTANT VARCHAR2(4000) :=
318 'Logic operator is either not-specified or invalid. Comparison rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
319 CZ_FCE_SW_CR_NO_RHS_OP CONSTANT VARCHAR2(4000) :=
321 CZ_FCE_SW__NO_MATH_CONST CONSTANT VARCHAR2(4000) :=
322 'Mathematical constant is not implemented for template_id "^TEMPL_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
323 CZ_FCE_SW__NO_MATH_OP CONSTANT VARCHAR2(4000) :=
324 'Mathematical operator is not implemented for template_id "^TEMPL_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
325 CZ_FCE_SW_INVAL_SPROP_SELECT CONSTANT VARCHAR2(4000) :=
326 'Invalid system property is used with the "Selection()" operator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
327
328 -- Rule Expression(RE) level Warnings
329 CZ_FCE_SW_RE_ENODE_CHILDREN CONSTANT VARCHAR2(4000) :=
330 'The expression node with the id-^EXPR_ID must have child expression nodes. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
331 CZ_FCE_SW_RE_ENODE_ONE_CHILD CONSTANT VARCHAR2(4000) :=
332 'The expression node with the id-^EXPR_ID must have exactly one child. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
333 CZ_FCE_SW_RE_ENODE_TWO_CHILD CONSTANT VARCHAR2(4000) :=
334 'The expression node with the id-^EXPR_ID must have exactly one child. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
335 CZ_FCE_SW_RE_ENODE_NO_DTYPE CONSTANT VARCHAR2(4000) :=
336 'Unable to get context data type for expression node with the id "^EXPR_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
337 CZ_FCE_SW_RE_ENSARG_NO_DTYPE CONSTANT VARCHAR2(4000) :=
338 'Unable to get the data type of the argument "^ARG_IX" for signature "^SIGNATURE_ID". Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
339
340 CZ_FCE_SW_DEFPROP_INVAL_CTX CONSTANT VARCHAR2(4000) :=
341 'Invalid context found for applying default property. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
342
343 CZ_FCE_SW_INVALID_PROP_USAGE CONSTANT VARCHAR2(4000) :=
344 'In the rule ^RULE_NAME, found invalid usage of the property. Only structure nodes can have user or system properties. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
345
346 -- Simple accumulator rules (AR) related
347 CZ_FCE_SW_AR_NO_LHS_OPAND CONSTANT VARCHAR2(4000) :=
348 'Left-hand side operand to comparison operator is either not-specified or invalid. Accumulator Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
349 CZ_FCE_SW_AR_NO_MLTIPLIER CONSTANT VARCHAR2(4000) :=
350 'Multiplier not-specified. Accumulator Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
351 CZ_FCE_SW_AR_NO_OPERATOR CONSTANT VARCHAR2(4000) :=
352 'Accumulator operator is either not-specified or invalid. Accumulator Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
353 CZ_FCE_SW_AR_NO_ROUND_OP CONSTANT VARCHAR2(4000) :=
354 'Round operator is either not-specified or invalid. Accumulator Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
355 CZ_FCE_SW_AR_NO_RHS_OPAND VARCHAR2(4000) :=
356 'Right-hand side operand to accumulator operator is either not-specified or invalid. Accumulator Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
357
358 CZ_FCE_SW_INVAL_FEAT_TYPE_DC CONSTANT VARCHAR2(4000) :=
359 'Found invalid feature type "^FEAT_TYPE". Design Chart Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
360
361 -- Compile Constraints
362 CZ_FCE_SW_UNDEFINED_STRUC_NODE CONSTANT VARCHAR2(4000) :=
363 'Incomplete rule: structure node is undefined. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
364 CZ_FCE_SW_UNDEFINED_SYS_PROP CONSTANT VARCHAR2(4000) :=
365 'Incomplete rule: system property is undefined. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
366 CZ_FCE_SW_UNDEFINED_OPERATOR CONSTANT VARCHAR2(4000) :=
367 'Incomplete rule: operator is undefined. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
368 CZ_FCE_SW_UNDEFINED_OP_TEMPL CONSTANT VARCHAR2(4000) :=
369 'Incomplete rule: operator template is undefined. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
370 CZ_FCE_SW_UNDEFINED_OP_BY_NAME CONSTANT VARCHAR2(4000) :=
371 'Incomplete rule: operator by name is undefined. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
372 CZ_FCE_SW_NO_INTL_TEXT CONSTANT VARCHAR2(4000) :=
373 'Localized text record does not exist for reason_id. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
374
375 -- must have children
376 -- parse_where_clause
377 CZ_FCE_SW_SNODE_WHERE_LIMITS CONSTANT VARCHAR2(4000) :=
378 'Structure node can only participate in a WHERE clause of a Property-based Compatibility rule. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
379 -- generate_iterator
380 CZ_FCE_SW_INCOMPLETE_FORALL CONSTANT VARCHAR2(4000) :=
381 'Incomplete forall rule, empty iterator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
382 -- parse_template_application
383 -- generate_heuristics
384 CZ_FCE_SW_INCOMPLETE_SEARCH CONSTANT VARCHAR2(4000) :=
385 'Incomplete Default or Search Decision. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
386 -- generate_power
387 CZ_FCE_SW_INCOMPLETE_POWER CONSTANT VARCHAR2(4000) :=
388 'Incomplete power operator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
389 -- generate_mathrounding
390 CZ_FCE_SW_INCOMPLETE_MROUND CONSTANT VARCHAR2(4000) :=
391 'Incomplete math rounding operator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
392 -- generate_trigonometric
393 CZ_FCE_SW_INCOMPLETE_TRIG CONSTANT VARCHAR2(4000) :=
394 'Incomplete math trigonometric operator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
395 -- generate_aggregatesum
396 CZ_FCE_SW_INCOMPLETE_AGSUM CONSTANT VARCHAR2(4000) :=
397 'Incomplete AggregateSum operator. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
398 -- must_be_structure_node
399 CZ_FCE_SW_SD_OPAND_STRUCT_N CONSTANT VARCHAR2(4000) :=
400 'Invalid default or search decision is found. Here operand can only be a structure node. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
401 CZ_FCE_SW_AS_OPAND_STRUCT_N CONSTANT VARCHAR2(4000) :=
405 'Expression node expr_node_id ^EXPR_ID must represent a structure node. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
402 'Invalid AggregateSum operator is found. Here operand can only be a structure node. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
403
404 CZ_FCE_SW_EXPR_N_MUST_STRUC_N CONSTANT VARCHAR2(4000) :=
406 CZ_FCE_SW_EXP_PWR_MUST_BE_INT CONSTANT VARCHAR2(4000) :=
407 'The exponent of the power operaror must be an integer constant. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
408
409 -- node_must_be_port
410 CZ_FCE_SW_NODE_MUST_BE_PORT CONSTANT VARCHAR2(4000) :=
411 'Node ^NODE_NAME must be a component or model reference or connector. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
412 -- generate_expression
413 CZ_FCE_SW_AS_PORT_LIMITS CONSTANT VARCHAR2(4000) :=
414 'Only References and Components can participate in Union or SubsetOf operations. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
415 CZ_FCE_SW_COMPARE_TXPROP_TXLIT CONSTANT VARCHAR2(4000) :=
416 'Selection with text property can only be compared to a text literal. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
417 CZ_FCE_SW_SELECT_PROP_NOTALLOW CONSTANT VARCHAR2(4000) :=
418 '"Selection()" property is allowed only for Option Feature or BOM Option Class. Rule ^RULE_NAME in the model ^MODEL_NAME ignored.';
419
420 ---------------------------------------------------------------------------------------
421 --These tables are used in Property-based Compatibility and ForAll rule generation. The
422 --names are hard-coded in corresponding procedures, do not change just here.
423
424 c_ type_compat_table;
425 o_ type_iteratortable_table;
426 n_ type_numbervalue_table;
427 s_ type_integer_table;
428 t_ type_varchar4000value_table;
429 b_ type_integervalue_table;
430 ---------------------------------------------------------------------------------------
431
432 h_inst type_byte_table;
433
434 h_psntypes type_meta_hashtable;
435 h_instantiability type_meta_hashtable;
436 h_ruletypes type_meta_hashtable;
437 h_ruleclasses type_meta_hashtable;
438 h_designtypes type_meta_hashtable;
439 h_exprtypes type_meta_hashtable;
440 h_datatypes type_meta_hashtable;
441 h_templates type_meta_hashtable;
442 h_javatypes type_meta_hashtable;
443 h_mathconstants type_meta_hashtable;
444
445 h_operators_1 type_varchar4000_table;
446 h_operators_2 type_varchar4000_table;
447 h_operators_2_int type_varchar4000_table;
448 h_operators_2_double type_varchar4000_table;
449 h_operators_2_boolean type_varchar4000_table;
450 h_operators_2_text type_varchar4000_table;
451 h_operators_3 type_varchar4000_table;
452 h_operators_3_opt type_varchar4000_table;
453 h_heuristic_ops type_varchar4000_table;
454 h_template_tokens type_varchar4000_table;
455 h_quantities type_varchar4000_table;
456 h_mathrounding_ops type_varchar4000_table;
457
458 h_methoddescriptors type_data_hashtable;
459
460 h_accumulation_ops type_integer_table;
461 h_rounding_ops type_integer_table;
462 h_logical_ops type_integer_table;
463 h_numeric_ops type_integer_table;
464 h_trigonometric_ops type_integer_table;
465 h_runtime_properties type_integer_table;
466
467 const_string_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (1), 4);
468 const_integer_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (3), 4);
469 const_float_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (4), 4);
470 const_long_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (5), 4);
471 const_double_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (6), 4);
472 const_method_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (10), 4);
473 const_date_tag CONSTANT RAW(1) := UTL_RAW.SUBSTR (UTL_RAW.CAST_FROM_BINARY_INTEGER (20), 4);
474 ---------------------------------------------------------------------------------------
475 /*#
476 * Reporting procedure.
477 *
478 * @param p_message Message text.
479 * @param p_urgency Urgency level of the message.
480 * @param p_run_id Unique id of the compilation session.
481 */
482 /*
483 PROCEDURE report ( p_message IN VARCHAR2
484 , p_urgency IN PLS_INTEGER
485 , p_run_id IN NUMBER
486 );
487 */
488 ---------------------------------------------------------------------------------------
489 /*#
490 * Default method to generate logic for a model in the database in debug mode.
491 *
492 * @param p_object_id Database model id.
493 * @param x_run_id Unique id of the compilation session. If NULL value is passes, the
494 * id will be generated.
495 */
496
497 PROCEDURE debug_logic ( p_object_id IN NUMBER
498 , x_run_id IN OUT NOCOPY NUMBER
499 );
500 ---------------------------------------------------------------------------------------
501 /*#
502 * Default method to generate logic for a model in the database.
503 *
504 * @param p_object_id Database model id.
505 * @param x_run_id Unique id of the compilation session. If NULL value is passes, the
506 * id will be generated.
507 */
508
509 PROCEDURE compile_logic ( p_object_id IN NUMBER
510 , x_run_id IN OUT NOCOPY NUMBER
511 );
512 ---------------------------------------------------------------------------------------
513 /*#
514 * This method enables logic compiler to work remotely in a distributed transaction even
515 * if the model contains property-based compatibility rules - bug #2028790.
516 * DDL used in the property-based compatibility rules makes implicit commits and commits
517 * are not allowed in a distributed transaction when the remote procedure has parameters
518 * of type OUT.
519 *
520 * @param p_object_id Database model id.
521 * @param p_run_id Unique id of the compilation session, specified by the caller.
522 */
523
524 PROCEDURE compile_logic__ ( p_object_id IN NUMBER
525 , p_run_id IN NUMBER
526 );
527 ---------------------------------------------------------------------------------------
528 END;