DBA Data[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;