[Home] [Help]
PACKAGE BODY: APPS.CZ_FCE_DATA
Source
1 PACKAGE BODY CZ_FCE_DATA AS
2 /* $Header: czfcesdb.pls 120.34.12010000.2 2008/10/20 17:54:04 asiaston ship $ */
3 ---------------------------------------------------------------------------------------
4 PROCEDURE populate_fce_data IS
5 BEGIN
6
7 --Many of the following data is seeded and can be looked up every time logic gen starts.
8 --This may be an overhead when the seed data does not change often, so it may be a good
9 --idea to hardcode this data and have a special procedure that will re-populate it when
10 --necessary.
11
12 cz_fce_compile.h_psntypes('component') := 259;
13 cz_fce_compile.h_psntypes('root') := 2591;
14 cz_fce_compile.h_psntypes('singleton') := 2592;
15 cz_fce_compile.h_psntypes('feature') := 261;
16 cz_fce_compile.h_psntypes('optionfeature') := 0;
17 cz_fce_compile.h_psntypes('integerfeature') := 1;
18 cz_fce_compile.h_psntypes('decimalfeature') := 2;
19 cz_fce_compile.h_psntypes('booleanfeature') := 3;
20 cz_fce_compile.h_psntypes('option') := 262;
21 cz_fce_compile.h_psntypes('reference') := 263;
22 cz_fce_compile.h_psntypes('connector') := 264;
23 cz_fce_compile.h_psntypes('total') := 272;
24 cz_fce_compile.h_psntypes('resource') := 273;
25 cz_fce_compile.h_psntypes('integertotal') := 274;
26 cz_fce_compile.h_psntypes('integerresource') := 275;
27 cz_fce_compile.h_psntypes('bommodel') := 436;
28 cz_fce_compile.h_psntypes('bomoptionclass') := 437;
29 cz_fce_compile.h_psntypes('bomstandard') := 438;
30
31 cz_fce_compile.h_psntypes('beginport') := -1;
32 cz_fce_compile.h_psntypes('endport') := -2;
33 cz_fce_compile.h_psntypes('beginstructure') := -3;
34 cz_fce_compile.h_psntypes('endstructure') := -4;
35 cz_fce_compile.h_psntypes('beginrule') := -5;
36 cz_fce_compile.h_psntypes('endrule') := -6;
37
38 cz_fce_compile.h_instantiability('nonvirtual') := 0;
39 cz_fce_compile.h_instantiability('optional') := 1;
40 cz_fce_compile.h_instantiability('mandatory') := 2;
41 cz_fce_compile.h_instantiability('connector') := 3;
42 cz_fce_compile.h_instantiability('instantiable') := 4;
43
44 cz_fce_compile.h_ruletypes('statement') := 200;
45 cz_fce_compile.h_ruletypes('companion') := 300;
46 cz_fce_compile.h_ruletypes('explicitcompat') := 24;
47 cz_fce_compile.h_ruletypes('designchart') := 30;
48
49 cz_fce_compile.h_ruleclasses('constraint') := 0;
50 cz_fce_compile.h_ruleclasses('default') := 1;
51 cz_fce_compile.h_ruleclasses('search') := 2;
52
53 cz_fce_compile.h_designtypes('primary') := 5;
54 cz_fce_compile.h_designtypes('defining') := 1;
55 cz_fce_compile.h_designtypes('optional') := 3;
56
57 cz_fce_compile.h_mathconstants('e') := 0;
58 cz_fce_compile.h_mathconstants('pi') := 1;
59
60 --------------------------------------------------------
61 -- cz_exnexprtype_lkv --
62 --------------------------------------------------------
63 cz_fce_compile.h_exprtypes('operator') := 200;
64 cz_fce_compile.h_exprtypes('literal') := 201;
65 cz_fce_compile.h_exprtypes('node') := 205;
66 cz_fce_compile.h_exprtypes('property') := 207;
67 cz_fce_compile.h_exprtypes('punctuation') := 208;
68 cz_fce_compile.h_exprtypes('systemproperty') := 210;
69 cz_fce_compile.h_exprtypes('constant') := 211;
70 cz_fce_compile.h_exprtypes('argument') := 221;
71 cz_fce_compile.h_exprtypes('template') := 222;
72 cz_fce_compile.h_exprtypes('forall') := 223;
73 cz_fce_compile.h_exprtypes('iterator') := 224;
74 cz_fce_compile.h_exprtypes('where') := 225;
75 cz_fce_compile.h_exprtypes('compatible') := 226;
76 cz_fce_compile.h_exprtypes('operatorbyname') := 229;
77 cz_fce_compile.h_exprtypes('foralldistinct') := 231;
78 cz_fce_compile.h_exprtypes('nodebyname') := 232;
79 --------------------------------------------------------
80
81 cz_fce_compile.h_datatypes('integer') := 1;
82 cz_fce_compile.h_datatypes('decimal') := 2;
83 cz_fce_compile.h_datatypes('boolean') := 3;
84 cz_fce_compile.h_datatypes('text') := 4;
85 cz_fce_compile.h_datatypes('translatable') := 8;
86
87 cz_fce_compile.h_javatypes('Object') := 2;
88 cz_fce_compile.h_javatypes('IInstanceQuantifier') := 17;
89 cz_fce_compile.h_javatypes('IIntExprDef') := 18;
90 cz_fce_compile.h_javatypes('ILogicExprDef') := 19;
91 cz_fce_compile.h_javatypes('INumExprDef') := 21;
92
93 cz_fce_compile.h_templates('requires') := 1;
94 cz_fce_compile.h_templates('implies') := 2;
95 cz_fce_compile.h_templates('excludes') := 3;
96 cz_fce_compile.h_templates('negates') := 4;
97 cz_fce_compile.h_templates('logic') := 21;
98 cz_fce_compile.h_templates('numeric') := 22;
99 cz_fce_compile.h_templates('propertybased') := 23;
100 cz_fce_compile.h_templates('accumulator') := 25;
101 cz_fce_compile.h_templates('comparison') := 27;
102 cz_fce_compile.h_templates('name') := 31;
103 cz_fce_compile.h_templates('description') := 32;
104 cz_fce_compile.h_templates('options') := 35;
105 cz_fce_compile.h_templates('minvalue') := 37;
106 cz_fce_compile.h_templates('maxvalue') := 38;
107 cz_fce_compile.h_templates('minquantity') := 39;
108 cz_fce_compile.h_templates('maxquantity') := 40;
109 cz_fce_compile.h_templates('minselected') := 41;
110 cz_fce_compile.h_templates('maxselected') := 42;
111 cz_fce_compile.h_templates('selection') := 46;
112 cz_fce_compile.h_templates('state') := 47;
113 cz_fce_compile.h_templates('value') := 48;
114 cz_fce_compile.h_templates('quantity') := 49;
115 cz_fce_compile.h_templates('instancecount') := 50;
116 cz_fce_compile.h_templates('integervalue') := 51;
117 cz_fce_compile.h_templates('decimalvalue') := 52;
118 cz_fce_compile.h_templates('mininstances') := 53;
119 cz_fce_compile.h_templates('maxinstances') := 54;
120 cz_fce_compile.h_templates('decimalquantity') := 55;
121 cz_fce_compile.h_templates('selectioncount') := 57;
122 cz_fce_compile.h_templates('minconnections') := 58;
123 cz_fce_compile.h_templates('maxconnections') := 59;
124 cz_fce_compile.h_templates('connectioncount') := 60;
125 cz_fce_compile.h_templates('relativequantity') := 85;
126 cz_fce_compile.h_templates('assignquantity') := 86;
127 cz_fce_compile.h_templates('assigndecquantity') := 87;
128 cz_fce_compile.h_templates('relativedecquantity') := 88;
129 cz_fce_compile.h_templates('beginswith') := 300;
130 cz_fce_compile.h_templates('endswith') := 301;
131 cz_fce_compile.h_templates('contains') := 303;
132 cz_fce_compile.h_templates('like') := 304;
133 cz_fce_compile.h_templates('matches') := 305;
134 cz_fce_compile.h_templates('anytrue') := 306;
135 cz_fce_compile.h_templates('alltrue') := 307;
136 cz_fce_compile.h_templates('aggregatesum') := 308;
137 cz_fce_compile.h_templates('subsetof') := 309;
138 cz_fce_compile.h_templates('union') := 310;
139 cz_fce_compile.h_templates('and') := 316;
140 cz_fce_compile.h_templates('or') := 317;
141 cz_fce_compile.h_templates('equals') := 318;
142 cz_fce_compile.h_templates('notequals') := 320;
143 cz_fce_compile.h_templates('min') := 321;
144 cz_fce_compile.h_templates('max') := 322;
145 cz_fce_compile.h_templates('truncate') := 323;
146 cz_fce_compile.h_templates('optionsof') := 324;
147 cz_fce_compile.h_templates('gt') := 350;
148 cz_fce_compile.h_templates('lt') := 351;
149 cz_fce_compile.h_templates('ge') := 352;
150 cz_fce_compile.h_templates('le') := 353;
151 cz_fce_compile.h_templates('doesnotbeginwith') := 361;
152 cz_fce_compile.h_templates('doesnotendwith') := 362;
153 cz_fce_compile.h_templates('doesnotcontain') := 363;
154 cz_fce_compile.h_templates('notlike') := 364;
155 cz_fce_compile.h_templates('concatenate') := 365;
156 cz_fce_compile.h_templates('totext') := 366;
157 cz_fce_compile.h_templates('none') := 399;
158 cz_fce_compile.h_templates('add') := 401;
159 cz_fce_compile.h_templates('subtract') := 402;
160 cz_fce_compile.h_templates('neg') := 402;
161 cz_fce_compile.h_templates('multiply') := 403;
162 cz_fce_compile.h_templates('ceiling') := 405;
163 cz_fce_compile.h_templates('floor') := 406;
164 cz_fce_compile.h_templates('round') := 407;
165 cz_fce_compile.h_templates('div') := 408;
166 cz_fce_compile.h_templates('mod') := 409;
167 cz_fce_compile.h_templates('pow') := 410;
168 cz_fce_compile.h_templates('roundtonearest') := 411;
169 cz_fce_compile.h_templates('rounddowntonearest') := 412;
170 cz_fce_compile.h_templates('rounduptonearest') := 413;
171 cz_fce_compile.h_templates('ln') := 414;
172 cz_fce_compile.h_templates('log') := 415;
173 cz_fce_compile.h_templates('exp') := 416;
174 cz_fce_compile.h_templates('abs') := 417;
175 cz_fce_compile.h_templates('sqrt') := 418;
176 cz_fce_compile.h_templates('cos') := 431;
177 cz_fce_compile.h_templates('acos') := 432;
178 cz_fce_compile.h_templates('cosh') := 433;
179 cz_fce_compile.h_templates('sin') := 434;
180 cz_fce_compile.h_templates('asin') := 435;
181 cz_fce_compile.h_templates('sinh') := 436;
182 cz_fce_compile.h_templates('tan') := 437;
183 cz_fce_compile.h_templates('atan') := 438;
184 cz_fce_compile.h_templates('tanh') := 439;
185 cz_fce_compile.h_templates('integerpow') := 551;
186 cz_fce_compile.h_templates('not') := 552;
187 cz_fce_compile.h_templates('textequals') := 553;
188 cz_fce_compile.h_templates('textnotequals') := 554;
189 cz_fce_compile.h_templates('addsto') := 712;
190 cz_fce_compile.h_templates('subtractsfrom') := 714;
191 cz_fce_compile.h_templates('assign') := 451;
192 cz_fce_compile.h_templates('incmin') := 452;
193 cz_fce_compile.h_templates('decmax') := 453;
194 cz_fce_compile.h_templates('minfirst') := 454;
195 cz_fce_compile.h_templates('maxfirst') := 455;
196
197 cz_fce_compile.h_inst('nop') := cz_fce_compile_utils.unsigned_byte (0);
198 cz_fce_compile.h_inst('iconst_m1') := cz_fce_compile_utils.unsigned_byte (2);
199 cz_fce_compile.h_inst('iconst_0') := cz_fce_compile_utils.unsigned_byte (3);
200 cz_fce_compile.h_inst('iconst_1') := cz_fce_compile_utils.unsigned_byte (4);
201 cz_fce_compile.h_inst('iconst_2') := cz_fce_compile_utils.unsigned_byte (5);
202 cz_fce_compile.h_inst('iconst_3') := cz_fce_compile_utils.unsigned_byte (6);
203 cz_fce_compile.h_inst('iconst_4') := cz_fce_compile_utils.unsigned_byte (7);
204 cz_fce_compile.h_inst('iconst_5') := cz_fce_compile_utils.unsigned_byte (8);
205 cz_fce_compile.h_inst('bipush') := cz_fce_compile_utils.unsigned_byte (16);
206 cz_fce_compile.h_inst('sipush') := cz_fce_compile_utils.unsigned_byte (17);
207 cz_fce_compile.h_inst('ldc') := cz_fce_compile_utils.unsigned_byte (18);
208 cz_fce_compile.h_inst('ldc_w') := cz_fce_compile_utils.unsigned_byte (19);
209 cz_fce_compile.h_inst('aload') := cz_fce_compile_utils.unsigned_byte (25);
210 cz_fce_compile.h_inst('aload_0') := cz_fce_compile_utils.unsigned_byte (42);
211 cz_fce_compile.h_inst('aload_1') := cz_fce_compile_utils.unsigned_byte (43);
212 cz_fce_compile.h_inst('aload_2') := cz_fce_compile_utils.unsigned_byte (44);
213 cz_fce_compile.h_inst('aload_3') := cz_fce_compile_utils.unsigned_byte (45);
214 cz_fce_compile.h_inst('aaload') := cz_fce_compile_utils.unsigned_byte (50);
215 cz_fce_compile.h_inst('astore') := cz_fce_compile_utils.unsigned_byte (58);
216 cz_fce_compile.h_inst('astore_0') := cz_fce_compile_utils.unsigned_byte (75);
217 cz_fce_compile.h_inst('astore_1') := cz_fce_compile_utils.unsigned_byte (76);
218 cz_fce_compile.h_inst('astore_2') := cz_fce_compile_utils.unsigned_byte (77);
219 cz_fce_compile.h_inst('astore_3') := cz_fce_compile_utils.unsigned_byte (78);
220 cz_fce_compile.h_inst('aastore') := cz_fce_compile_utils.unsigned_byte (83);
221 cz_fce_compile.h_inst('pop') := cz_fce_compile_utils.unsigned_byte (87);
222 cz_fce_compile.h_inst('mpop') := cz_fce_compile_utils.unsigned_byte (88);
223 cz_fce_compile.h_inst('dup') := cz_fce_compile_utils.unsigned_byte (89);
224 cz_fce_compile.h_inst('swap') := cz_fce_compile_utils.unsigned_byte (95);
225 cz_fce_compile.h_inst('ret') := cz_fce_compile_utils.unsigned_byte (169);
226 cz_fce_compile.h_inst('areturn') := cz_fce_compile_utils.unsigned_byte (176);
227 cz_fce_compile.h_inst('invokevirtual') := cz_fce_compile_utils.unsigned_byte (182);
228 cz_fce_compile.h_inst('invokestatic') := cz_fce_compile_utils.unsigned_byte (184);
229 cz_fce_compile.h_inst('newarray') := cz_fce_compile_utils.unsigned_byte (188);
230 cz_fce_compile.h_inst('multinewarray') := cz_fce_compile_utils.unsigned_byte (202);
231 cz_fce_compile.h_inst('haload_0') := cz_fce_compile_utils.unsigned_byte (203);
232 cz_fce_compile.h_inst('hastore_0') := cz_fce_compile_utils.unsigned_byte (204);
233 cz_fce_compile.h_inst('bulkaastore') := cz_fce_compile_utils.unsigned_byte (205);
234 cz_fce_compile.h_inst('pushtrue') := cz_fce_compile_utils.unsigned_byte (206);
235 cz_fce_compile.h_inst('pushfalse') := cz_fce_compile_utils.unsigned_byte (207);
236 cz_fce_compile.h_inst('pushmath') := cz_fce_compile_utils.unsigned_byte (208);
237 cz_fce_compile.h_inst('haload_1') := cz_fce_compile_utils.unsigned_byte (209);
238 cz_fce_compile.h_inst('hastore_1') := cz_fce_compile_utils.unsigned_byte (210);
239 cz_fce_compile.h_inst('haload_2') := cz_fce_compile_utils.unsigned_byte (211);
240 cz_fce_compile.h_inst('copyto') := cz_fce_compile_utils.unsigned_byte (212);
241 cz_fce_compile.h_inst('copyto_0') := cz_fce_compile_utils.unsigned_byte (213);
242 cz_fce_compile.h_inst('copyto_1') := cz_fce_compile_utils.unsigned_byte (214);
243 cz_fce_compile.h_inst('copyto_2') := cz_fce_compile_utils.unsigned_byte (215);
244 cz_fce_compile.h_inst('copyto_3') := cz_fce_compile_utils.unsigned_byte (216);
245 cz_fce_compile.h_inst('aload_w') := cz_fce_compile_utils.unsigned_byte (217);
246 cz_fce_compile.h_inst('astore_w') := cz_fce_compile_utils.unsigned_byte (218);
247 cz_fce_compile.h_inst('copyto_w') := cz_fce_compile_utils.unsigned_byte (219);
248 cz_fce_compile.h_inst('comment') := cz_fce_compile_utils.unsigned_byte (220);
249
250 cz_fce_compile.h_methoddescriptors('Solver.createModelDef(String)') := 1;
251 cz_fce_compile.h_methoddescriptors('IModelDef.intVar(String, int, int)') := 2;
252 cz_fce_compile.h_methoddescriptors('IModelDef.logicVar(String)') := 3;
253 cz_fce_compile.h_methoddescriptors('IModelDef.floatVar(String, double, double)') := 5;
254 cz_fce_compile.h_methoddescriptors('IModelDef.bagVar(String, Object[], int, int, int, int, int)') := 6;
255 cz_fce_compile.h_methoddescriptors('IModelDef.setVar(String, Object[], int, int)') := 7;
256 cz_fce_compile.h_methoddescriptors('IModelDef.singletonVar(String, IModelDef)') := 8;
257 cz_fce_compile.h_methoddescriptors('IModelDef.instanceSetVar(String, IModelDef, int, int)') := 9;
258 cz_fce_compile.h_methoddescriptors('IModelDef.instanceVar(String, IModelDef)') := 10;
259 cz_fce_compile.h_methoddescriptors('IModelDef.connectorSetVar(String, IModelDef, int, int)') := 11;
260 cz_fce_compile.h_methoddescriptors('Solver.createBomModelDef(String, boolean)') := 12;
261 cz_fce_compile.h_methoddescriptors('IModelDef.bomModelVar(String, IBomModelDef, boolean, double, double, double, int, int, Date, Date, long)') := 13;
262 cz_fce_compile.h_methoddescriptors('IModelDef.bomModelVar(String, IBomModelDef, boolean, int, int, int, int, int, Date, Date, long)') := 14;
263 cz_fce_compile.h_methoddescriptors('Solver.createBomOCDef(String, boolean)') := 15;
264 cz_fce_compile.h_methoddescriptors('IBomDef.bomOptionClassVar(String, IBomOCDef, boolean, double, double, double, int, int, Date, Date, long)') := 16;
265 cz_fce_compile.h_methoddescriptors('IBomDef.bomOptionClassVar(String, IBomOCDef, boolean, int, int, int, int, int, Date, Date, long)') := 17;
266 cz_fce_compile.h_methoddescriptors('IBomDef.bomStandardItemVar(String, boolean, double, double, double, Date, Date, long)') := 18;
267 cz_fce_compile.h_methoddescriptors('IBomDef.bomStandardItemVar(String, boolean, int, int, int, Date, Date, long)') := 19;
268 cz_fce_compile.h_methoddescriptors('IIntExprDef.setDomOrderMinFirst()') := 20;
269 cz_fce_compile.h_methoddescriptors('IIntExprDef.setDomOrderMaxFirst()') := 21;
270 cz_fce_compile.h_methoddescriptors('IIntExprDef.setDomOrderDecMax()') := 22;
271 cz_fce_compile.h_methoddescriptors('IIntExprDef.setDomOrderIncMin()') := 23;
272 cz_fce_compile.h_methoddescriptors('IPortExprDef.setReversePort(IPortExprDef)') := 24;
273 cz_fce_compile.h_methoddescriptors('IModelDef.addConstraint(ILogicExprDef)') := 25;
274 cz_fce_compile.h_methoddescriptors('IModelDef.addConstraint(IForAllDef)') := 26;
275 cz_fce_compile.h_methoddescriptors('IModelDef.addDefaultDecision(ILogicExprDef)') := 27;
276 cz_fce_compile.h_methoddescriptors('IModelDef.addDefaultDecision(IForAllDef)') := 28;
277 cz_fce_compile.h_methoddescriptors('IModelDef.addSearchDecision(ILogicExprDef)') := 29;
278 cz_fce_compile.h_methoddescriptors('IModelDef.addSearchDecision(IForAllDef)') := 30;
279 cz_fce_compile.h_methoddescriptors('INumExprDef.sum(INumExprDef)') := 31;
280 cz_fce_compile.h_methoddescriptors('INumExprDef.diff(INumExprDef)') := 32;
281 cz_fce_compile.h_methoddescriptors('INumExprDef.prod(INumExprDef)') := 33;
282 cz_fce_compile.h_methoddescriptors('INumExprDef.ceil()') := 34;
283 cz_fce_compile.h_methoddescriptors('INumExprDef.floor()') := 35;
284 cz_fce_compile.h_methoddescriptors('INumExprDef.round()') := 36;
285 cz_fce_compile.h_methoddescriptors('INumExprDef.div(INumExprDef)') := 37;
286 cz_fce_compile.h_methoddescriptors('INumExprDef.eq(INumExprDef)') := 38;
287 cz_fce_compile.h_methoddescriptors('INumExprDef.neq(INumExprDef)') := 39;
288 cz_fce_compile.h_methoddescriptors('INumExprDef.gt(INumExprDef)') := 40;
289 cz_fce_compile.h_methoddescriptors('INumExprDef.lt(INumExprDef)') := 41;
290 cz_fce_compile.h_methoddescriptors('INumExprDef.ge(INumExprDef)') := 42;
291 cz_fce_compile.h_methoddescriptors('INumExprDef.le(INumExprDef)') := 43;
292 cz_fce_compile.h_methoddescriptors('ILogicExprDef.equiv(ILogicExprDef)') := 44;
293 cz_fce_compile.h_methoddescriptors('ILogicExprDef.implies(ILogicExprDef)') := 45;
294 cz_fce_compile.h_methoddescriptors('ILogicExprDef.excludes(ILogicExprDef)') := 46;
295 cz_fce_compile.h_methoddescriptors('ILogicExprDef.notequiv(ILogicExprDef)') := 47;
296 cz_fce_compile.h_methoddescriptors('ILogicExprDef.and(ILogicExprDef)') := 48;
297 cz_fce_compile.h_methoddescriptors('ILogicExprDef.or(ILogicExprDef)') := 49;
298 cz_fce_compile.h_methoddescriptors('INumExprDef.trunc()') := 50;
299 cz_fce_compile.h_methoddescriptors('INumExprDef.pow(int)') := 51;
300 cz_fce_compile.h_methoddescriptors('INumExprDef.log()') := 52;
301 cz_fce_compile.h_methoddescriptors('INumExprDef.exp()') := 53;
302 cz_fce_compile.h_methoddescriptors('INumExprDef.abs()') := 54;
303 cz_fce_compile.h_methoddescriptors('INumExprDef.sqrt()') := 55;
304 cz_fce_compile.h_methoddescriptors('INumExprDef.cos()') := 56;
305 cz_fce_compile.h_methoddescriptors('INumExprDef.acos()') := 57;
306 cz_fce_compile.h_methoddescriptors('INumExprDef.asin()') := 58;
307 cz_fce_compile.h_methoddescriptors('INumExprDef.atan()') := 59;
308 cz_fce_compile.h_methoddescriptors('IExprDef.assign()') := 60;
309 cz_fce_compile.h_methoddescriptors('IIntExprDef.minFirst()') := 61;
310 cz_fce_compile.h_methoddescriptors('IIntExprDef.maxFirst()') := 62;
311 cz_fce_compile.h_methoddescriptors('INumExprDef.incMin()') := 63;
312 cz_fce_compile.h_methoddescriptors('INumExprDef.decMax()') := 64;
313 cz_fce_compile.h_methoddescriptors('ILogicExprDef.not()') := 65;
314 cz_fce_compile.h_methoddescriptors('IModelDef.any(ILogicExprDef[])') := 66;
315 cz_fce_compile.h_methoddescriptors('IModelDef.all(ILogicExprDef[])') := 67;
316 cz_fce_compile.h_methoddescriptors('IModelDef.min(INumExprDef[])') := 68;
317 cz_fce_compile.h_methoddescriptors('IModelDef.max(INumExprDef[])') := 69;
318 cz_fce_compile.h_methoddescriptors('IPortExprDef.card()') := 70;
319 cz_fce_compile.h_methoddescriptors('ISetExprDef.card()') := 71;
320 cz_fce_compile.h_methoddescriptors('IModelDef.literal(int)') := 72;
321 cz_fce_compile.h_methoddescriptors('IModelDef.literal(double)') := 73;
322 cz_fce_compile.h_methoddescriptors('INumExprDef.sum(int)') := 74;
323 cz_fce_compile.h_methoddescriptors('INumExprDef.diff(int)') := 75;
324 cz_fce_compile.h_methoddescriptors('INumExprDef.prod(int)') := 76;
325 cz_fce_compile.h_methoddescriptors('INumExprDef.div(int)') := 77;
326 cz_fce_compile.h_methoddescriptors('INumExprDef.eq(int)') := 78;
327 cz_fce_compile.h_methoddescriptors('INumExprDef.neq(int)') := 79;
328 cz_fce_compile.h_methoddescriptors('INumExprDef.gt(int)') := 80;
329 cz_fce_compile.h_methoddescriptors('INumExprDef.lt(int)') := 81;
330 cz_fce_compile.h_methoddescriptors('INumExprDef.ge(int)') := 82;
331 cz_fce_compile.h_methoddescriptors('INumExprDef.le(int)') := 83;
332 cz_fce_compile.h_methoddescriptors('INumExprDef.sum(double)') := 84;
333 cz_fce_compile.h_methoddescriptors('INumExprDef.diff(double)') := 85;
334 cz_fce_compile.h_methoddescriptors('INumExprDef.prod(double)') := 86;
335 cz_fce_compile.h_methoddescriptors('INumExprDef.div(double)') := 87;
336 cz_fce_compile.h_methoddescriptors('INumExprDef.eq(double)') := 88;
337 cz_fce_compile.h_methoddescriptors('INumExprDef.neq(double)') := 89;
338 cz_fce_compile.h_methoddescriptors('INumExprDef.gt(double)') := 90;
339 cz_fce_compile.h_methoddescriptors('INumExprDef.lt(double)') := 91;
340 cz_fce_compile.h_methoddescriptors('INumExprDef.ge(double)') := 92;
341 cz_fce_compile.h_methoddescriptors('INumExprDef.le(double)') := 93;
342 cz_fce_compile.h_methoddescriptors('IExprDef.setId(long)') := 94;
343 cz_fce_compile.h_methoddescriptors('IModelDef.getVar(String)') := 95;
344 cz_fce_compile.h_methoddescriptors('IInstanceQuantifier.getType()') := 96;
345 cz_fce_compile.h_methoddescriptors('ISingletonExprDef.getType()') := 97;
346 cz_fce_compile.h_methoddescriptors('ISingletonExprDef.getVarRef(IExprDef)') := 98;
347 cz_fce_compile.h_methoddescriptors('IInstanceQuantifier.getExprFromInstance(IExprDef)') := 99;
348 cz_fce_compile.h_methoddescriptors('IModelDef.instancesOf(IPortExprDef)') := 100;
349 cz_fce_compile.h_methoddescriptors('IInstanceQuantifier.instancesOf(IPortExprDef)') := 101;
350 cz_fce_compile.h_methoddescriptors('IModelDef.forAll(IInstanceQuantifier, ILogicExprDef)') := 102;
351 cz_fce_compile.h_methoddescriptors('IModelDef.forAll(IInstanceQuantifier, IInstanceQuantifier, ILogicExprDef)') := 103;
352 cz_fce_compile.h_methoddescriptors('IModelDef.forAll(IInstanceQuantifier[], ILogicExprDef)') := 104;
353 cz_fce_compile.h_methoddescriptors('IIntExprDef.getMin()') := 105;
354 cz_fce_compile.h_methoddescriptors('IIntExprDef.getMax()') := 106;
355 cz_fce_compile.h_methoddescriptors('IBomDef.absQty()') := 107;
356 cz_fce_compile.h_methoddescriptors('IBomDef.relQty()') := 108;
357 cz_fce_compile.h_methoddescriptors('IBomDef.selected()') := 109;
358 cz_fce_compile.h_methoddescriptors('ISetExprDef.contains(Object)') := 110;
359 cz_fce_compile.h_methoddescriptors('IModelDef.literal(boolean)') := 111;
360 cz_fce_compile.h_methoddescriptors('ILogicExprDef.equiv(boolean)') := 112;
361 cz_fce_compile.h_methoddescriptors('ILogicExprDef.implies(boolean)') := 113;
362 cz_fce_compile.h_methoddescriptors('ILogicExprDef.excludes(boolean)') := 114;
363 cz_fce_compile.h_methoddescriptors('ILogicExprDef.notequiv(boolean)') := 115;
364 cz_fce_compile.h_methoddescriptors('ILogicExprDef.and(boolean)') := 116;
365 cz_fce_compile.h_methoddescriptors('ILogicExprDef.or(boolean)') := 117;
366 cz_fce_compile.h_methoddescriptors('IModelDef.sum(INumExprDef[])') := 118;
367 cz_fce_compile.h_methoddescriptors('IPortExprDef.hierarchicalUnion(IPortExprDef)') := 119;
368 cz_fce_compile.h_methoddescriptors('IPortExprDef.sum(INumExprDef)') := 120;
369 cz_fce_compile.h_methoddescriptors('IPortExprDef.getType()') := 121;
370 cz_fce_compile.h_methoddescriptors('INumExprDef.neg()') := 122;
371 cz_fce_compile.h_methoddescriptors('IBagExprDef.elementCount(Object)') := 123;
372 cz_fce_compile.h_methoddescriptors('IModelDef.compat(Object[], Object[][])') := 124;
373 cz_fce_compile.h_methoddescriptors('ISetExprDef.intersects(Object[])') := 125;
374 cz_fce_compile.h_methoddescriptors('IPortExprDef.getCardMin()') := 126;
375 cz_fce_compile.h_methoddescriptors('IPortExprDef.getCardMax()') := 127;
376 cz_fce_compile.h_methoddescriptors('IBomDef.getOCCardSet()') := 128;
377 cz_fce_compile.h_methoddescriptors('IModelDef.addDefaultDecision(IDecisionExprDef)') := 129;
378 cz_fce_compile.h_methoddescriptors('IModelDef.addSearchDecision(IDecisionExprDef)') := 130;
379 cz_fce_compile.h_methoddescriptors('IBagExprDef.count()') := 131;
380 cz_fce_compile.h_methoddescriptors('ISetExprDef.elementCount(Object)') := 132;
381 cz_fce_compile.h_methoddescriptors('IPortExprDef.subsetEq(IPortExprDef)') := 133;
382 cz_fce_compile.h_methoddescriptors('IPortExprDef.union(IPortExprDef)') := 134;
383 cz_fce_compile.h_methoddescriptors('ILogicExprDef.setEffectiveFrom(Date)') := 135;
384 cz_fce_compile.h_methoddescriptors('ILogicExprDef.setEffectiveUntil(Date)') := 136;
385 cz_fce_compile.h_methoddescriptors('ILogicExprDef.setEffectiveUsages(long)') := 137;
386 cz_fce_compile.h_methoddescriptors('ISetExprDef.setEffectiveFrom(Date)') := 138;
387 cz_fce_compile.h_methoddescriptors('ISetExprDef.setEffectiveUntil(Date)') := 139;
388 cz_fce_compile.h_methoddescriptors('ISetExprDef.setEffectiveUsages(long)') := 140;
389 cz_fce_compile.h_methoddescriptors('IPortExprDef.setEffectiveFrom(Date)') := 141;
390 cz_fce_compile.h_methoddescriptors('IPortExprDef.setEffectiveUntil(Date)') := 142;
391 cz_fce_compile.h_methoddescriptors('IPortExprDef.setEffectiveUsages(long)') := 143;
392 cz_fce_compile.h_methoddescriptors('ILogicExprDef.setEffectiveFrom(Date)') := 144;
393 cz_fce_compile.h_methoddescriptors('ILogicExprDef.setEffectiveUntil(Date)') := 145;
394 cz_fce_compile.h_methoddescriptors('ILogicExprDef.setEffectiveUsages(long)') := 146;
395 cz_fce_compile.h_methoddescriptors('IDecisionDef.setEffectiveFrom(Date)') := 147;
396 cz_fce_compile.h_methoddescriptors('IDecisionDef.setEffectiveUntil(Date)') := 148;
397 cz_fce_compile.h_methoddescriptors('IDecisionDef.setEffectiveUsages(long)') := 149;
398
399 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('add')) := 'INumExprDef.sum(INumExprDef)';
400 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('subtract')) := 'INumExprDef.diff(INumExprDef)';
401 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('multiply')) := 'INumExprDef.prod(INumExprDef)';
402 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('div')) := 'INumExprDef.div(INumExprDef)';
403 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('equals')) := 'INumExprDef.eq(INumExprDef)';
404 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('notequals')) := 'INumExprDef.neq(INumExprDef)';
405 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('gt')) := 'INumExprDef.gt(INumExprDef)';
406 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('lt')) := 'INumExprDef.lt(INumExprDef)';
407 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('ge')) := 'INumExprDef.ge(INumExprDef)';
408 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('le')) := 'INumExprDef.le(INumExprDef)';
409
410 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('add')) := 'INumExprDef.sum(int)';
411 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('subtract')) := 'INumExprDef.diff(int)';
412 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('multiply')) := 'INumExprDef.prod(int)';
413 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('div')) := 'INumExprDef.div(int)';
414 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('equals')) := 'INumExprDef.eq(int)';
415 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('notequals')) := 'INumExprDef.neq(int)';
416 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('gt')) := 'INumExprDef.gt(int)';
417 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('lt')) := 'INumExprDef.lt(int)';
418 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('ge')) := 'INumExprDef.ge(int)';
419 cz_fce_compile.h_operators_2_int ( cz_fce_compile.h_templates('le')) := 'INumExprDef.le(int)';
420
421 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('add')) := 'INumExprDef.sum(double)';
422 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('subtract')) := 'INumExprDef.diff(double)';
423 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('multiply')) := 'INumExprDef.prod(double)';
424 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('div')) := 'INumExprDef.div(double)';
425 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('equals')) := 'INumExprDef.eq(double)';
426 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('notequals')) := 'INumExprDef.neq(double)';
427 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('gt')) := 'INumExprDef.gt(double)';
428 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('lt')) := 'INumExprDef.lt(double)';
429 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('ge')) := 'INumExprDef.ge(double)';
430 cz_fce_compile.h_operators_2_double ( cz_fce_compile.h_templates('le')) := 'INumExprDef.le(double)';
431
432 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('requires')) := 'ILogicExprDef.equiv(ILogicExprDef)';
433 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('implies')) := 'ILogicExprDef.implies(ILogicExprDef)';
434 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('excludes')) := 'ILogicExprDef.excludes(ILogicExprDef)';
435 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('negates')) := 'ILogicExprDef.notequiv(ILogicExprDef)';
436 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('and')) := 'ILogicExprDef.and(ILogicExprDef)';
437 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('or')) := 'ILogicExprDef.or(ILogicExprDef)';
438 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('subsetof')) := 'IPortExprDef.subsetEq(IPortExprDef)';
439 cz_fce_compile.h_operators_2 ( cz_fce_compile.h_templates('union')) := 'IPortExprDef.union(IPortExprDef)';
440
441 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('requires')) := 'ILogicExprDef.equiv(boolean)';
442 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('implies')) := 'ILogicExprDef.implies(boolean)';
443 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('excludes')) := 'ILogicExprDef.excludes(boolean)';
444 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('negates')) := 'ILogicExprDef.notequiv(boolean)';
445 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('and')) := 'ILogicExprDef.and(boolean)';
446 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('or')) := 'ILogicExprDef.or(boolean)';
447 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('equals')) := 'ILogicExprDef.equiv(boolean)';
448 cz_fce_compile.h_operators_2_boolean ( cz_fce_compile.h_templates('notequals')) := 'ILogicExprDef.notequiv(boolean)';
449
450 --These operators are only allowed to be used in the Where clause of a Forall or with Selection()
451 --for text properties. In all cases Compiler evaluates such expressions at compile time, and
452 --there is no corresponding Solver methods.
453
454 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('doesnotbeginwith')) := NULL;
455 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('doesnotendwith')) := NULL;
456 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('doesnotcontain')) := NULL;
457 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('notlike')) := NULL;
458 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('concatenate')) := NULL;
459 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('beginswith')) := NULL;
460 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('endswith')) := NULL;
461 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('contains')) := NULL;
462 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('like')) := NULL;
463 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('matches')) := NULL;
464 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('textequals')) := NULL;
465 cz_fce_compile.h_operators_2_text ( cz_fce_compile.h_templates ('textnotequals')) := NULL;
466
467 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('truncate')) := 'INumExprDef.trunc()';
468 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('ceiling')) := 'INumExprDef.ceil()';
469 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('floor')) := 'INumExprDef.floor()';
470 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('round')) := 'INumExprDef.round()';
471 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('ln')) := 'INumExprDef.log()';
472 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('exp')) := 'INumExprDef.exp()';
473 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('abs')) := 'INumExprDef.abs()';
474 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('neg')) := 'INumExprDef.neg()';
475 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('sqrt')) := 'INumExprDef.sqrt()';
476 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('cos')) := 'INumExprDef.cos()';
477 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('acos')) := 'INumExprDef.acos()';
478 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('asin')) := 'INumExprDef.asin()';
479 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('atan')) := 'INumExprDef.atan()';
480 cz_fce_compile.h_operators_1 ( cz_fce_compile.h_templates('not')) := 'ILogicExprDef.not()';
481
482 cz_fce_compile.h_operators_3 ( cz_fce_compile.h_templates('anytrue')) := 'IModelDef.any(ILogicExprDef[])';
483 cz_fce_compile.h_operators_3 ( cz_fce_compile.h_templates('alltrue')) := 'IModelDef.all(ILogicExprDef[])';
484 cz_fce_compile.h_operators_3 ( cz_fce_compile.h_templates('min')) := 'IModelDef.min(INumExprDef[])';
485 cz_fce_compile.h_operators_3 ( cz_fce_compile.h_templates('max')) := 'IModelDef.max(INumExprDef[])';
486
487 cz_fce_compile.h_operators_3_opt ( cz_fce_compile.h_templates('anytrue')) := 'ILogicExprDef.or(ILogicExprDef)';
488 cz_fce_compile.h_operators_3_opt ( cz_fce_compile.h_templates('alltrue')) := 'ILogicExprDef.and(ILogicExprDef)';
489
490 cz_fce_compile.h_heuristic_ops ( cz_fce_compile.h_templates('assign')) := 'IExprDef.assign()';
491 cz_fce_compile.h_heuristic_ops ( cz_fce_compile.h_templates('minfirst')) := 'IIntExprDef.minFirst()';
492 cz_fce_compile.h_heuristic_ops ( cz_fce_compile.h_templates('maxfirst')) := 'IIntExprDef.maxFirst()';
493 cz_fce_compile.h_heuristic_ops ( cz_fce_compile.h_templates('incmin')) := 'INumExprDef.incMin()';
494 cz_fce_compile.h_heuristic_ops ( cz_fce_compile.h_templates('decmax')) := 'INumExprDef.decMax()';
495
496 cz_fce_compile.h_mathrounding_ops ( cz_fce_compile.h_templates('mod')) := 'INumExprDef.floor()';
497 cz_fce_compile.h_mathrounding_ops ( cz_fce_compile.h_templates('roundtonearest')) := 'INumExprDef.round()';
498 cz_fce_compile.h_mathrounding_ops ( cz_fce_compile.h_templates('rounddowntonearest')) := 'INumExprDef.floor()';
499 cz_fce_compile.h_mathrounding_ops ( cz_fce_compile.h_templates('rounduptonearest')) := 'INumExprDef.ceil()';
500
501 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('anytrue')) := 1;
502 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('alltrue')) := 1;
503 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('requires')) := 1;
504 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('implies')) := 1;
505 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('excludes')) := 1;
506 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('negates')) := 1;
507 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('and')) := 1;
508 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('or')) := 1;
509 cz_fce_compile.h_logical_ops ( cz_fce_compile.h_templates('not')) := 1;
510
511 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('equals')) := 1;
512 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('notequals')) := 1;
513 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('min')) := 1;
514 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('max')) := 1;
515 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('gt')) := 1;
516 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('lt')) := 1;
517 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('ge')) := 1;
518 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('le')) := 1;
519 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('add')) := 1;
520 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('subtract')) := 1;
521 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('neg')) := 1;
522 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('multiply')) := 1;
523 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('ceiling')) := 1;
524 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('floor')) := 1;
525 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('round')) := 1;
526 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('div')) := 1;
527 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('pow')) := 1;
528 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('integerpow')) := 1;
529 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('ln')) := 1;
530 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('exp')) := 1;
531 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('abs')) := 1;
532 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('sqrt')) := 1;
533 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('cos')) := 1;
534 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('acos')) := 1;
535 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('asin')) := 1;
536 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('atan')) := 1;
537 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('addsto')) := 1;
538 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('subtractsfrom')) := 1;
539 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('log')) := 1;
540 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('cosh')) := 1;
541 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('sin')) := 1;
542 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('sinh')) := 1;
543 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('tan')) := 1;
544 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('tanh')) := 1;
545 cz_fce_compile.h_numeric_ops ( cz_fce_compile.h_templates('aggregatesum')) := 1;
546
547 --These operators are allowed as rounding operators in a simple accumulation template.
548
549 cz_fce_compile.h_rounding_ops ( cz_fce_compile.h_templates('truncate')) := 1;
550 cz_fce_compile.h_rounding_ops ( cz_fce_compile.h_templates('ceiling')) := 1;
551 cz_fce_compile.h_rounding_ops ( cz_fce_compile.h_templates('floor')) := 1;
552 cz_fce_compile.h_rounding_ops ( cz_fce_compile.h_templates('round')) := 1;
553 cz_fce_compile.h_rounding_ops ( cz_fce_compile.h_templates('none')) := 1;
554
555 --These operators are allowed as accumulation operators in a simple accumulation template.
556
557 cz_fce_compile.h_accumulation_ops ( cz_fce_compile.h_templates('addsto')) := 1;
558 cz_fce_compile.h_accumulation_ops ( cz_fce_compile.h_templates('subtractsfrom')) := 1;
559
560 cz_fce_compile.h_trigonometric_ops ( cz_fce_compile.h_templates('log')) := 1;
561 cz_fce_compile.h_trigonometric_ops ( cz_fce_compile.h_templates('cosh')) := 1;
562 cz_fce_compile.h_trigonometric_ops ( cz_fce_compile.h_templates('sin')) := 1;
563 cz_fce_compile.h_trigonometric_ops ( cz_fce_compile.h_templates('sinh')) := 1;
564 cz_fce_compile.h_trigonometric_ops ( cz_fce_compile.h_templates('tan')) := 1;
565 cz_fce_compile.h_trigonometric_ops ( cz_fce_compile.h_templates('tanh')) := 1;
566
567 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('equals')) := '=';
568 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('notequals')) := '<>';
569 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('gt')) := '>';
570 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('lt')) := '<';
571 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('ge')) := '>=';
572 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('le')) := '<=';
573 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('and')) := 'AND';
574 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('or')) := 'OR';
575 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('not')) := 'NOT';
576 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('add')) := '+';
577 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('subtract')) := '-';
578 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('multiply')) := '*';
579 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('div')) := '/';
580 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('totext')) := 'TO_CHAR';
581 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('neg')) := '-';
582 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('textequals')) := '=';
583 cz_fce_compile.h_template_tokens ( cz_fce_compile.h_templates('textnotequals')) := '<>';
584
585 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('quantity')) := 1;
586 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('state')) := 1;
587 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('value')) := 1;
588 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('instancecount')) := 1;
589 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('integervalue')) := 1;
590 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('decimalvalue')) := 1;
591 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('decimalquantity')) := 1;
592 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('relativequantity')) := 1;
593 cz_fce_compile.h_runtime_properties ( cz_fce_compile.h_templates('relativedecquantity')) := 1;
594
595 --These tables contain methods that should be called for bom case. If a property is not
596 --applicable for bom, the value does not matter.
597
598 cz_fce_compile.h_quantities ( cz_fce_compile.h_templates('quantity')) := 'IBomDef.absQty()';
599 cz_fce_compile.h_quantities ( cz_fce_compile.h_templates('decimalquantity')) := 'IBomDef.absQty()';
600 cz_fce_compile.h_quantities ( cz_fce_compile.h_templates('relativequantity')) := 'IBomDef.relQty()';
601 cz_fce_compile.h_quantities ( cz_fce_compile.h_templates('relativedecquantity')) := 'IBomDef.relQty()';
602 cz_fce_compile.h_quantities ( cz_fce_compile.h_templates('assignquantity')) := 'IBomDef.absQty()';
603 cz_fce_compile.h_quantities ( cz_fce_compile.h_templates('assigndecquantity')) := 'IBomDef.absQty()';
604
605 END populate_fce_data;
606 ---------------------------------------------------------------------------------------
607 END;