Project

General

Profile

ternary_really_returns_bdt_with_dynamic_function.p

Greg Shah, 03/21/2013 09:48 AM

Download (64.5 KB)

 
1
def temp-table tt1 field fi as int
2
                   field fd as dec
3
                   field fi64 as int64
4
                   field fda as date
5
                   field fdt as datetime
6
                   field fdtz as datetime-tz
7
                   field fbool as log
8
                   field fh as handle
9
                   field fch as char
10
                   field fr1 as recid
11
                   field fr2 as rowid
12
                   field fm2 as raw.
13

    
14
function funcChar returns char:
15
   return "".
16
end.
17

    
18
function funcCharYes returns char:
19
   return "yes".
20
end.
21

    
22
function funcRaw returns raw:
23
   return ?.
24
end.
25

    
26
function funcRecid returns recid:
27
   return ?.
28
end.
29

    
30
function funcRowid returns rowid:
31
   return ?.
32
end.
33

    
34
function bothIndeterminate returns int (input bogus as int) forward.
35
function op1Indeterminate returns int (input bogus as int) forward.
36
function op2Indeterminate returns int (input bogus as int) forward.
37

    
38
def var i as int init 14.
39
def var d as dec init 30.0.
40
def var i64 as int64 init 9.
41
def var da as date init today.
42
def var dt as datetime init ?. 
43
def var dtz as datetime-tz init ?.
44
def var bool as log init true.
45
def var h as handle.
46
def var h2 as handle.
47
def var ch as char init "99".
48
def var lch as longchar init "99999".
49
def var r1 as recid.
50
def var r2 as rowid.
51
def var m1 as memptr.
52
def var ptr as memptr.
53
def var m2 as raw.
54

    
55
def var bypass-runtime-error as logical init false.
56

    
57
create tt1.
58

    
59
set-size(ptr) = 128.
60

    
61
bothIndeterminate(?).
62
bothIndeterminate(14).
63
op1Indeterminate(?).
64
op1Indeterminate(14).
65
op2Indeterminate(?).
66
op2Indeterminate(14).
67

    
68
function bothIndeterminate returns int (input bogus as int):
69
   
70
   message "bothIndeterminate(" + (if bogus = ? then "?" else string(bogus)) + ")".
71
   
72
   /* both operands may be non-typable */
73
   /* all data types can be assigned but there can be runtime errors depending on the contents of the field */
74
   /* the example here is the use of a character field and "" empty string works for most types except logical and memptr */
75
   /* the type of the field is not known at compile time in the 4GL, failures occur at runtime */
76
   
77
   i         = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
78
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
79
   d         = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
80
   tt1.fd    = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
81
   i64       = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
82
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
83
   da        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
84
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
85
   dt        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
86
   tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
87
   dtz       = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
88
   tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
89
   
90
   /* both of these will generate a runtime error if the input string is not a valid logical */
91
   bool      = if bogus <> ? then dynamic-function("funcCharYes") else dynamic-function("funcCharYes"). 
92
   tt1.fbool = if bogus <> ? then dynamic-function("funcCharYes") else dynamic-function("funcCharYes").
93
   
94
   h2        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
95
   tt1.fh    = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
96
   ch        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
97
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
98
   lch       = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
99
   r1        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
100
   tt1.fr1   = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
101
   r2        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
102
   tt1.fr2   = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
103
   
104
   /* always a runtime error with a character field, so we use raw here, but the assigned to var will become broken */
105
   m1        = if bogus <> ? then dynamic-function("funcRaw") else dynamic-function("funcRaw").
106
   
107
   m2        = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
108
   tt1.fm2   = if bogus <> ? then dynamic-function("funcChar") else dynamic-function("funcChar").
109
   
110
   return bogus.
111
end.
112

    
113
function op1Indeterminate returns int (input bogus as int):
114

    
115
   message "op1Indeterminate(" + (if bogus = ? then "?" else string(bogus)) + ")".
116
   
117
   /* when op1 is non-typable, op2 will depend on the type being assigned to */
118
   
119
   set-size(ptr) = 128.
120
   put-long(ptr, 1) = 30.
121
   
122
   /* integer/int64 assignment can have op2 as int, int64, dec, handle, recid, memptr (runtime */
123
   /* error whether or not it is initialized) or unknown value literal */
124
   
125
   i         = if bogus <> ? then dynamic-function("funcChar") else ?.
126
   i         = if bogus <> ? then dynamic-function("funcChar") else 0.
127
   i         = if bogus <> ? then dynamic-function("funcChar") else i.
128
   i         = if bogus <> ? then dynamic-function("funcChar") else d.
129
   i         = if bogus <> ? then dynamic-function("funcChar") else i64.
130
   i         = if bogus <> ? then dynamic-function("funcChar") else h.
131
   i         = if bogus <> ? then dynamic-function("funcChar") else r1.
132
   
133
   /* compiles but always creates a runtime error */
134
   if bypass-runtime-error then
135
      i         = if bogus <> ? then dynamic-function("funcChar") else ptr.
136
   
137
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else ?.
138
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else 0.
139
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else i.
140
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else d.
141
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else i64.
142
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else h.
143
   tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else r1.
144
   
145
   /* compiles but always creates a runtime error */
146
   if bypass-runtime-error then
147
      tt1.fi    = if bogus <> ? then dynamic-function("funcChar") else ptr.
148
   
149
   i64       = if bogus <> ? then dynamic-function("funcChar") else ?.
150
   i64       = if bogus <> ? then dynamic-function("funcChar") else 0.
151
   i64       = if bogus <> ? then dynamic-function("funcChar") else i.
152
   i64       = if bogus <> ? then dynamic-function("funcChar") else d.
153
   i64       = if bogus <> ? then dynamic-function("funcChar") else i64.
154
   i64       = if bogus <> ? then dynamic-function("funcChar") else h.
155
   i64       = if bogus <> ? then dynamic-function("funcChar") else r1.
156
   
157
   /* compiles but always creates a runtime error */
158
   if bypass-runtime-error then
159
      i64       = if bogus <> ? then dynamic-function("funcChar") else ptr.
160
   
161
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else ?.
162
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else 0.
163
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else i.
164
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else d.
165
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else i64.
166
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else h.
167
   tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else r1.
168
   
169
   /* compiles but always creates a runtime error */
170
   if bypass-runtime-error then
171
      tt1.fi64  = if bogus <> ? then dynamic-function("funcChar") else ptr.
172
   
173
   /* decimal assignment can have op2 as int, int64, dec or unknown value literal */
174
   
175
   d         = if bogus <> ? then dynamic-function("funcChar") else ?.
176
   d         = if bogus <> ? then dynamic-function("funcChar") else 0.
177
   d         = if bogus <> ? then dynamic-function("funcChar") else i.
178
   d         = if bogus <> ? then dynamic-function("funcChar") else d.
179
   d         = if bogus <> ? then dynamic-function("funcChar") else i64.
180
   tt1.fd    = if bogus <> ? then dynamic-function("funcChar") else ?.
181
   tt1.fd    = if bogus <> ? then dynamic-function("funcChar") else 0.
182
   tt1.fd    = if bogus <> ? then dynamic-function("funcChar") else i.
183
   tt1.fd    = if bogus <> ? then dynamic-function("funcChar") else d.
184
   tt1.fd    = if bogus <> ? then dynamic-function("funcChar") else i64.
185
   
186
   /* date/datetime/datetime-tz assignment can have op2 as date, datetime, datetime-tz or unknown value literal */
187
   /* date can also have int, int64 as op2 */
188
   /* datetime/datetime-tz can compile with int, int64 as op2, but they generate runtime errors */  
189
   
190
   da        = if bogus <> ? then dynamic-function("funcChar") else ?.
191
   da        = if bogus <> ? then dynamic-function("funcChar") else 0.
192
   da        = if bogus <> ? then dynamic-function("funcChar") else i.
193
   da        = if bogus <> ? then dynamic-function("funcChar") else i64.
194
   da        = if bogus <> ? then dynamic-function("funcChar") else da.
195
   da        = if bogus <> ? then dynamic-function("funcChar") else dt.
196
   da        = if bogus <> ? then dynamic-function("funcChar") else dtz.
197
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else ?.
198
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else 0.
199
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else i.
200
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else i64.
201
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else da.
202
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else dt.
203
   tt1.fda   = if bogus <> ? then dynamic-function("funcChar") else dtz.
204
   dt        = if bogus <> ? then dynamic-function("funcChar") else ?.
205
   
206
   /* compiles but always creates a runtime error */
207
   if bypass-runtime-error then
208
   do:   
209
      dt        = if bogus <> ? then dynamic-function("funcChar") else 0.
210
      dt        = if bogus <> ? then dynamic-function("funcChar") else i.
211
      dt        = if bogus <> ? then dynamic-function("funcChar") else i64.
212
   end.
213
   
214
   dt        = if bogus <> ? then dynamic-function("funcChar") else da.
215
   dt        = if bogus <> ? then dynamic-function("funcChar") else dt.
216
   dt        = if bogus <> ? then dynamic-function("funcChar") else dtz.
217
   tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else ?.
218
   
219
   /* compiles but always creates a runtime error */
220
   if bypass-runtime-error then
221
   do:   
222
      tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else 0.
223
      tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else i.
224
      tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else i64.
225
   end.
226
   
227
   tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else da.
228
   tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else dt.
229
   tt1.fdt   = if bogus <> ? then dynamic-function("funcChar") else dtz.
230
   dtz       = if bogus <> ? then dynamic-function("funcChar") else ?.
231
   
232
   /* compiles but always creates a runtime error */
233
   if bypass-runtime-error then
234
   do:   
235
      dtz       = if bogus <> ? then dynamic-function("funcChar") else 0.
236
      dtz       = if bogus <> ? then dynamic-function("funcChar") else i.
237
      dtz       = if bogus <> ? then dynamic-function("funcChar") else i64.
238
   end.
239
   
240
   dtz       = if bogus <> ? then dynamic-function("funcChar") else da.
241
   dtz       = if bogus <> ? then dynamic-function("funcChar") else dt.
242
   dtz       = if bogus <> ? then dynamic-function("funcChar") else dtz.
243
   tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else ?.
244
   
245
   /* compiles but always creates a runtime error */
246
   if bypass-runtime-error then
247
   do:   
248
      tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else 0.
249
      tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else i.
250
      tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else i64.
251
   end.
252
   
253
   tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else da.
254
   tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else dt.
255
   tt1.fdtz  = if bogus <> ? then dynamic-function("funcChar") else dtz.
256
   
257
   /* logical assignment can have op2 as logical, integer, int64 or unknown value literal */
258
   
259
   bool      = if bogus <> ? then dynamic-function("funcCharYes") else ?.
260
   bool      = if bogus <> ? then dynamic-function("funcCharYes") else 0.
261
   bool      = if bogus <> ? then dynamic-function("funcCharYes") else i.
262
   bool      = if bogus <> ? then dynamic-function("funcCharYes") else i64.
263
   bool      = if bogus <> ? then dynamic-function("funcCharYes") else bool.
264
   tt1.fbool = if bogus <> ? then dynamic-function("funcCharYes") else ?.
265
   tt1.fbool = if bogus <> ? then dynamic-function("funcCharYes") else 0.
266
   tt1.fbool = if bogus <> ? then dynamic-function("funcCharYes") else i.
267
   tt1.fbool = if bogus <> ? then dynamic-function("funcCharYes") else i64.
268
   tt1.fbool = if bogus <> ? then dynamic-function("funcCharYes") else bool.
269
   
270
   /* handle assignment can have op2 as handle, integer, int64 or unknown value literal */
271
   
272
   h2        = if bogus <> ? then dynamic-function("funcChar") else ?.
273
   h2        = if bogus <> ? then dynamic-function("funcChar") else 0.
274
   h2        = if bogus <> ? then dynamic-function("funcChar") else i.
275
   h2        = if bogus <> ? then dynamic-function("funcChar") else i64.
276
   h2        = if bogus <> ? then dynamic-function("funcChar") else h.
277
   tt1.fh    = if bogus <> ? then dynamic-function("funcChar") else ?.
278
   tt1.fh    = if bogus <> ? then dynamic-function("funcChar") else 0.
279
   tt1.fh    = if bogus <> ? then dynamic-function("funcChar") else i.
280
   tt1.fh    = if bogus <> ? then dynamic-function("funcChar") else i64.
281
   tt1.fh    = if bogus <> ? then dynamic-function("funcChar") else h.
282
   
283
   /* character assignment can have op2 as character, longchar, integer, int64 or unknown value literal */
284
   
285
   ch        = if bogus <> ? then dynamic-function("funcChar") else ?.
286
   ch        = if bogus <> ? then dynamic-function("funcChar") else 0.
287
   ch        = if bogus <> ? then dynamic-function("funcChar") else i.
288
   ch        = if bogus <> ? then dynamic-function("funcChar") else i64.
289
   ch        = if bogus <> ? then dynamic-function("funcChar") else ch.
290
   ch        = if bogus <> ? then dynamic-function("funcChar") else lch.
291
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else ?.
292
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else 0.
293
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else i.
294
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else i64.
295
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else ch.
296
   tt1.fch   = if bogus <> ? then dynamic-function("funcChar") else lch.
297
   
298
   /* longchar assignment can have op2 as character, longchar, integer, int64 (the numerics cause a runtime error) or unknown value literal */
299
   
300
   lch       = if bogus <> ? then dynamic-function("funcChar") else ?.
301
   
302
   /* compiles but creates a runtime error */
303
   if bypass-runtime-error then
304
   do:   
305
      lch       = if bogus <> ? then dynamic-function("funcChar") else 0.
306
      lch       = if bogus <> ? then dynamic-function("funcChar") else i.
307
      lch       = if bogus <> ? then dynamic-function("funcChar") else i64.
308
   end.
309
   
310
   lch       = if bogus <> ? then dynamic-function("funcChar") else ch.
311
   lch       = if bogus <> ? then dynamic-function("funcChar") else lch.
312
   
313
   /* memptr assignment can have op2 as memptr, raw, integer, int64 or unknown value literal */
314
   /* the numerics and the unknown value literal cause runtime errors */
315
   
316
   /* compiles but creates a runtime error */
317
   if bypass-runtime-error then
318
   do:
319
      m1        = if bogus <> ? then dynamic-function("funcRaw") else ?.
320
      m1        = if bogus <> ? then dynamic-function("funcRaw") else 0.
321
      m1        = if bogus <> ? then dynamic-function("funcRaw") else i.
322
      m1        = if bogus <> ? then dynamic-function("funcRaw") else i64.
323
   end.
324
   
325
   m1        = if bogus <> ? then dynamic-function("funcRaw") else ptr.
326
   m1        = if bogus <> ? then dynamic-function("funcRaw") else m2.
327
   
328
   /* raw assignment can have op2 as memptr, raw, integer, int64 or unknown value literal */
329
   /* the numerics cause runtime errors */
330
   
331
   m2        = if bogus <> ? then dynamic-function("funcRaw") else ?.
332
   
333
   /* compiles but creates a runtime error */
334
   if bypass-runtime-error then
335
   do:
336
      m2        = if bogus <> ? then dynamic-function("funcRaw") else 0.
337
      m2        = if bogus <> ? then dynamic-function("funcRaw") else i.
338
      m2        = if bogus <> ? then dynamic-function("funcRaw") else i64.
339
   end.
340
   
341
   m2        = if bogus <> ? then dynamic-function("funcRaw") else ptr.
342
   m2        = if bogus <> ? then dynamic-function("funcRaw") else m2.
343
   
344
   tt1.fm2   = if bogus <> ? then dynamic-function("funcRaw") else ?.
345
   
346
   /* compiles but creates a runtime error */
347
   if bypass-runtime-error then
348
   do:   
349
      tt1.fm2   = if bogus <> ? then dynamic-function("funcRaw") else 0.
350
      tt1.fm2   = if bogus <> ? then dynamic-function("funcRaw") else i.
351
      tt1.fm2   = if bogus <> ? then dynamic-function("funcRaw") else i64.
352
   end.
353
   
354
   tt1.fm2   = if bogus <> ? then dynamic-function("funcRaw") else ptr.
355
   tt1.fm2   = if bogus <> ? then dynamic-function("funcRaw") else m2.
356
   
357
   /* recid assignment can have op2 as recid, integer, int64 or unknown value literal */
358
   
359
   r1        = if bogus <> ? then dynamic-function("funcRecid") else ?.
360
   r1        = if bogus <> ? then dynamic-function("funcRecid") else 0.
361
   r1        = if bogus <> ? then dynamic-function("funcRecid") else i.
362
   r1        = if bogus <> ? then dynamic-function("funcRecid") else i64.
363
   r1        = if bogus <> ? then dynamic-function("funcRecid") else r1.
364
   
365
   tt1.fr1   = if bogus <> ? then dynamic-function("funcRecid") else ?.
366
   tt1.fr1   = if bogus <> ? then dynamic-function("funcRecid") else 0.
367
   tt1.fr1   = if bogus <> ? then dynamic-function("funcRecid") else i.
368
   tt1.fr1   = if bogus <> ? then dynamic-function("funcRecid") else i64.
369
   tt1.fr1   = if bogus <> ? then dynamic-function("funcRecid") else r1.
370
      
371
   /* rowid assignment can have op2 as rowid, integer, int64 or unknown value literal */
372
   /* the numerics cause runtime errors */
373
   
374
   r2        = if bogus <> ? then dynamic-function("funcRowid") else ?.
375
   
376
   /* compiles but creates a runtime error */
377
   if bypass-runtime-error then
378
   do:
379
      r2        = if bogus <> ? then dynamic-function("funcRowid") else 0.
380
      r2        = if bogus <> ? then dynamic-function("funcRowid") else i.
381
      r2        = if bogus <> ? then dynamic-function("funcRowid") else i64.
382
   end.
383
   
384
   r2        = if bogus <> ? then dynamic-function("funcRowid") else r2.
385
   
386
   tt1.fr2   = if bogus <> ? then dynamic-function("funcRowid") else ?.
387
   
388
   /* compiles but creates a runtime error */
389
   if bypass-runtime-error then
390
   do:
391
      tt1.fr2   = if bogus <> ? then dynamic-function("funcRowid") else 0.
392
      tt1.fr2   = if bogus <> ? then dynamic-function("funcRowid") else i.
393
      tt1.fr2   = if bogus <> ? then dynamic-function("funcRowid") else i64.
394
   end.
395
   
396
   tt1.fr2   = if bogus <> ? then dynamic-function("funcRowid") else r2.
397
   
398
   return bogus.
399
end.
400

    
401
function op2Indeterminate returns int (input bogus as int):
402

    
403
   message "op2Indeterminate(" + (if bogus = ? then "?" else string(bogus)) + ")".
404
   
405
   /* when op2 is non-typable, op1 can be anything but there can be runtime errors depending in the types and contents */
406
   /* some assignments cannot occur without runtime errors */
407
   
408
   /* integer/int64 can take all types but longchar, rowid, memptr and raw cause runtime errors */
409
   
410
   i         = if bogus <> ? then ?     else dynamic-function("funcChar").
411
   i         = if bogus <> ? then 0     else dynamic-function("funcChar").
412
   i         = if bogus <> ? then i     else dynamic-function("funcChar").
413
   i         = if bogus <> ? then d     else dynamic-function("funcChar").
414
   i         = if bogus <> ? then i64   else dynamic-function("funcChar").
415
   i         = if bogus <> ? then da    else dynamic-function("funcChar").
416
   i         = if bogus <> ? then dt    else dynamic-function("funcChar").
417
   i         = if bogus <> ? then dtz   else dynamic-function("funcChar").
418
   i         = if bogus <> ? then bool  else dynamic-function("funcChar").
419
   i         = if bogus <> ? then true  else dynamic-function("funcChar").
420
   i         = if bogus <> ? then false else dynamic-function("funcChar").
421
   i         = if bogus <> ? then h     else dynamic-function("funcChar").
422
   i         = if bogus <> ? then ch    else dynamic-function("funcChar").
423
   
424
   /* compiles but always creates a runtime error */
425
   if bypass-runtime-error then
426
      i         = if bogus <> ? then lch   else dynamic-function("funcChar").
427
   
428
   i         = if bogus <> ? then "14"  else dynamic-function("funcChar").
429
   i         = if bogus <> ? then r1    else dynamic-function("funcChar").
430
   
431
   /* compiles but always creates a runtime error */
432
   if bypass-runtime-error then
433
   do:   
434
      i         = if bogus <> ? then r2    else dynamic-function("funcChar").
435
      i         = if bogus <> ? then m1    else dynamic-function("funcChar").
436
      i         = if bogus <> ? then m2    else dynamic-function("funcChar").
437
   end.
438
   
439
   tt1.fi    = if bogus <> ? then ?     else dynamic-function("funcChar").
440
   tt1.fi    = if bogus <> ? then 0     else dynamic-function("funcChar").
441
   tt1.fi    = if bogus <> ? then i     else dynamic-function("funcChar").
442
   tt1.fi    = if bogus <> ? then d     else dynamic-function("funcChar").
443
   tt1.fi    = if bogus <> ? then i64   else dynamic-function("funcChar").
444
   tt1.fi    = if bogus <> ? then da    else dynamic-function("funcChar").
445
   tt1.fi    = if bogus <> ? then dt    else dynamic-function("funcChar").
446
   tt1.fi    = if bogus <> ? then dtz   else dynamic-function("funcChar").
447
   tt1.fi    = if bogus <> ? then bool  else dynamic-function("funcChar").
448
   tt1.fi    = if bogus <> ? then true  else dynamic-function("funcChar").
449
   tt1.fi    = if bogus <> ? then false else dynamic-function("funcChar").
450
   tt1.fi    = if bogus <> ? then h     else dynamic-function("funcChar").
451
   tt1.fi    = if bogus <> ? then ch    else dynamic-function("funcChar").
452
   
453
   /* compiles but always creates a runtime error */
454
   if bypass-runtime-error then
455
      tt1.fi    = if bogus <> ? then lch   else dynamic-function("funcChar").
456
   
457
   tt1.fi    = if bogus <> ? then "14"  else dynamic-function("funcChar").
458
   tt1.fi    = if bogus <> ? then r1    else dynamic-function("funcChar").
459
   
460
   /* compiles but always creates a runtime error */
461
   if bypass-runtime-error then
462
   do:   
463
      tt1.fi    = if bogus <> ? then r2    else dynamic-function("funcChar").
464
      tt1.fi    = if bogus <> ? then m1    else dynamic-function("funcChar").
465
      tt1.fi    = if bogus <> ? then m2    else dynamic-function("funcChar").
466
   end.
467
   
468
   i64       = if bogus <> ? then ?     else dynamic-function("funcChar").
469
   i64       = if bogus <> ? then 0     else dynamic-function("funcChar").
470
   i64       = if bogus <> ? then i     else dynamic-function("funcChar").
471
   i64       = if bogus <> ? then d     else dynamic-function("funcChar").
472
   i64       = if bogus <> ? then i64   else dynamic-function("funcChar").
473
   i64       = if bogus <> ? then da    else dynamic-function("funcChar").
474
   i64       = if bogus <> ? then dt    else dynamic-function("funcChar").
475
   i64       = if bogus <> ? then dtz   else dynamic-function("funcChar").
476
   i64       = if bogus <> ? then bool  else dynamic-function("funcChar").
477
   i64       = if bogus <> ? then true  else dynamic-function("funcChar").
478
   i64       = if bogus <> ? then false else dynamic-function("funcChar").
479
   i64       = if bogus <> ? then h     else dynamic-function("funcChar").
480
   i64       = if bogus <> ? then ch    else dynamic-function("funcChar").
481
   
482
   
483
   /* compiles but always creates a runtime error */
484
   if bypass-runtime-error then
485
      i64       = if bogus <> ? then lch   else dynamic-function("funcChar").
486
   
487
   i64       = if bogus <> ? then "14"  else dynamic-function("funcChar").
488
   i64       = if bogus <> ? then r1    else dynamic-function("funcChar").
489
   
490
   /* compiles but always creates a runtime error */
491
   if bypass-runtime-error then
492
   do:   
493
      i64       = if bogus <> ? then r2    else dynamic-function("funcChar").
494
      i64       = if bogus <> ? then m1    else dynamic-function("funcChar").
495
      i64       = if bogus <> ? then m2    else dynamic-function("funcChar").
496
   end.
497
   
498
   tt1.fi64  = if bogus <> ? then ?     else dynamic-function("funcChar").
499
   tt1.fi64  = if bogus <> ? then 0     else dynamic-function("funcChar").
500
   tt1.fi64  = if bogus <> ? then i     else dynamic-function("funcChar").
501
   tt1.fi64  = if bogus <> ? then d     else dynamic-function("funcChar").
502
   tt1.fi64  = if bogus <> ? then i64   else dynamic-function("funcChar").
503
   tt1.fi64  = if bogus <> ? then da    else dynamic-function("funcChar").
504
   tt1.fi64  = if bogus <> ? then dt    else dynamic-function("funcChar").
505
   tt1.fi64  = if bogus <> ? then dtz   else dynamic-function("funcChar").
506
   tt1.fi64  = if bogus <> ? then bool  else dynamic-function("funcChar").
507
   tt1.fi64  = if bogus <> ? then true  else dynamic-function("funcChar").
508
   tt1.fi64  = if bogus <> ? then false else dynamic-function("funcChar").
509
   tt1.fi64  = if bogus <> ? then h     else dynamic-function("funcChar").
510
   tt1.fi64  = if bogus <> ? then ch    else dynamic-function("funcChar").
511
   
512
   /* compiles but always creates a runtime error */
513
   if bypass-runtime-error then
514
      tt1.fi64  = if bogus <> ? then lch   else dynamic-function("funcChar").
515
   
516
   tt1.fi64  = if bogus <> ? then "14"  else dynamic-function("funcChar").
517
   tt1.fi64  = if bogus <> ? then r1    else dynamic-function("funcChar").
518
   
519
   /* compiles but always creates a runtime error */
520
   if bypass-runtime-error then
521
   do:   
522
      tt1.fi64  = if bogus <> ? then r2    else dynamic-function("funcChar").
523
      tt1.fi64  = if bogus <> ? then m1    else dynamic-function("funcChar").
524
      tt1.fi64  = if bogus <> ? then m2    else dynamic-function("funcChar").
525
   end.
526
   
527
   /* decimal can take all types but longchar, rowid, memptr and raw cause runtime errors */
528
   
529
   d         = if bogus <> ? then ?     else dynamic-function("funcChar").
530
   d         = if bogus <> ? then 0     else dynamic-function("funcChar").
531
   d         = if bogus <> ? then i     else dynamic-function("funcChar").
532
   d         = if bogus <> ? then d     else dynamic-function("funcChar").
533
   d         = if bogus <> ? then i64   else dynamic-function("funcChar").
534
   d         = if bogus <> ? then da    else dynamic-function("funcChar").
535
   d         = if bogus <> ? then dt    else dynamic-function("funcChar").
536
   d         = if bogus <> ? then dtz   else dynamic-function("funcChar").
537
   d         = if bogus <> ? then bool  else dynamic-function("funcChar").
538
   d         = if bogus <> ? then true  else dynamic-function("funcChar").
539
   d         = if bogus <> ? then false else dynamic-function("funcChar").
540
   d         = if bogus <> ? then h     else dynamic-function("funcChar").
541
   d         = if bogus <> ? then ch    else dynamic-function("funcChar").
542
   
543
   /* compiles but always creates a runtime error */
544
   if bypass-runtime-error then
545
      d         = if bogus <> ? then lch   else dynamic-function("funcChar").
546
      
547
   d         = if bogus <> ? then "14"  else dynamic-function("funcChar").
548
   d         = if bogus <> ? then r1    else dynamic-function("funcChar").
549
   
550
   /* compiles but always creates a runtime error */
551
   if bypass-runtime-error then
552
   do:   
553
      d         = if bogus <> ? then r2    else dynamic-function("funcChar").
554
      d         = if bogus <> ? then m1    else dynamic-function("funcChar").
555
      d         = if bogus <> ? then m2    else dynamic-function("funcChar").
556
   end.
557
   
558
   tt1.fd    = if bogus <> ? then ?     else dynamic-function("funcChar").
559
   tt1.fd    = if bogus <> ? then 0     else dynamic-function("funcChar").
560
   tt1.fd    = if bogus <> ? then i     else dynamic-function("funcChar").
561
   tt1.fd    = if bogus <> ? then d     else dynamic-function("funcChar").
562
   tt1.fd    = if bogus <> ? then i64   else dynamic-function("funcChar").
563
   tt1.fd    = if bogus <> ? then da    else dynamic-function("funcChar").
564
   tt1.fd    = if bogus <> ? then dt    else dynamic-function("funcChar").
565
   tt1.fd    = if bogus <> ? then dtz   else dynamic-function("funcChar").
566
   tt1.fd    = if bogus <> ? then bool  else dynamic-function("funcChar").
567
   tt1.fd    = if bogus <> ? then true  else dynamic-function("funcChar").
568
   tt1.fd    = if bogus <> ? then false else dynamic-function("funcChar").
569
   tt1.fd    = if bogus <> ? then h     else dynamic-function("funcChar").
570
   tt1.fd    = if bogus <> ? then ch    else dynamic-function("funcChar").
571
   
572
   /* compiles but always creates a runtime error */
573
   if bypass-runtime-error then
574
      tt1.fd    = if bogus <> ? then lch   else dynamic-function("funcChar").
575
   
576
   tt1.fd    = if bogus <> ? then "14"  else dynamic-function("funcChar").
577
   tt1.fd    = if bogus <> ? then r1    else dynamic-function("funcChar").
578
   
579
   /* compiles but always creates a runtime error */
580
   if bypass-runtime-error then
581
   do:   
582
      tt1.fd    = if bogus <> ? then r2    else dynamic-function("funcChar").
583
      tt1.fd    = if bogus <> ? then m1    else dynamic-function("funcChar").
584
      tt1.fd    = if bogus <> ? then m2    else dynamic-function("funcChar").
585
   end.
586
   
587
   /* date can take all types but longchar, rowid, memptr and raw cause runtime errors */
588
   
589
   da        = if bogus <> ? then ?     else dynamic-function("funcChar").
590
   da        = if bogus <> ? then 0     else dynamic-function("funcChar").
591
   da        = if bogus <> ? then i     else dynamic-function("funcChar").
592
   da        = if bogus <> ? then d     else dynamic-function("funcChar").
593
   da        = if bogus <> ? then i64   else dynamic-function("funcChar").
594
   da        = if bogus <> ? then da    else dynamic-function("funcChar").
595
   da        = if bogus <> ? then dt    else dynamic-function("funcChar").
596
   da        = if bogus <> ? then dtz   else dynamic-function("funcChar").
597
   da        = if bogus <> ? then bool  else dynamic-function("funcChar").
598
   da        = if bogus <> ? then true  else dynamic-function("funcChar").
599
   da        = if bogus <> ? then false else dynamic-function("funcChar").
600
   da        = if bogus <> ? then h     else dynamic-function("funcChar").
601
   da        = if bogus <> ? then ch    else dynamic-function("funcChar").
602
   
603
   /* compiles but always creates a runtime error */
604
   if bypass-runtime-error then
605
      da        = if bogus <> ? then lch   else dynamic-function("funcChar").
606
   
607
   da        = if bogus <> ? then ""    else dynamic-function("funcChar").
608
   da        = if bogus <> ? then r1    else dynamic-function("funcChar").
609
   
610
   /* compiles but always creates a runtime error */
611
   if bypass-runtime-error then
612
   do:   
613
      da        = if bogus <> ? then r2    else dynamic-function("funcChar").
614
      da        = if bogus <> ? then m1    else dynamic-function("funcChar").
615
      da        = if bogus <> ? then m2    else dynamic-function("funcChar").
616
   end.
617
   
618
   tt1.fda   = if bogus <> ? then ?     else dynamic-function("funcChar").
619
   tt1.fda   = if bogus <> ? then 0     else dynamic-function("funcChar").
620
   tt1.fda   = if bogus <> ? then i     else dynamic-function("funcChar").
621
   tt1.fda   = if bogus <> ? then d     else dynamic-function("funcChar").
622
   tt1.fda   = if bogus <> ? then i64   else dynamic-function("funcChar").
623
   tt1.fda   = if bogus <> ? then da    else dynamic-function("funcChar").
624
   tt1.fda   = if bogus <> ? then dt    else dynamic-function("funcChar").
625
   tt1.fda   = if bogus <> ? then dtz   else dynamic-function("funcChar").
626
   tt1.fda   = if bogus <> ? then bool  else dynamic-function("funcChar").
627
   tt1.fda   = if bogus <> ? then true  else dynamic-function("funcChar").
628
   tt1.fda   = if bogus <> ? then false else dynamic-function("funcChar").
629
   tt1.fda   = if bogus <> ? then h     else dynamic-function("funcChar").
630
   tt1.fda   = if bogus <> ? then ch    else dynamic-function("funcChar").
631
   
632
   /* compiles but always creates a runtime error */
633
   if bypass-runtime-error then
634
      tt1.fda   = if bogus <> ? then lch   else dynamic-function("funcChar").
635
   
636
   tt1.fda   = if bogus <> ? then ""    else dynamic-function("funcChar").
637
   tt1.fda   = if bogus <> ? then r1    else dynamic-function("funcChar").
638
   
639
   /* compiles but always creates a runtime error */
640
   if bypass-runtime-error then
641
   do:   
642
      tt1.fda   = if bogus <> ? then r2    else dynamic-function("funcChar").
643
      tt1.fda   = if bogus <> ? then m1    else dynamic-function("funcChar").
644
      tt1.fda   = if bogus <> ? then m2    else dynamic-function("funcChar").
645
   end.
646
      
647
   /* datetime/datetime-tz can take all types but integer, int64, logical, handle, */
648
   /* longchar, recid, rowid, memptr and raw cause runtime errors; only the date types, */
649
   /* character and unknown value literals don't cause runtime errors */
650
   
651
   dt        = if bogus <> ? then ?     else dynamic-function("funcChar").
652
      
653
   /* compiles but always creates a runtime error */
654
   if bypass-runtime-error then
655
   do:   
656
      dt        = if bogus <> ? then 0     else dynamic-function("funcChar").
657
      dt        = if bogus <> ? then i     else dynamic-function("funcChar").
658
      dt        = if bogus <> ? then d     else dynamic-function("funcChar").
659
      dt        = if bogus <> ? then i64   else dynamic-function("funcChar").
660
   end.
661
   
662
   dt        = if bogus <> ? then da    else dynamic-function("funcChar").
663
   dt        = if bogus <> ? then dt    else dynamic-function("funcChar").
664
   dt        = if bogus <> ? then dtz   else dynamic-function("funcChar").
665
   
666
   /* compiles but always creates a runtime error */
667
   if bypass-runtime-error then
668
   do:   
669
      dt        = if bogus <> ? then bool  else dynamic-function("funcChar").
670
      dt        = if bogus <> ? then true  else dynamic-function("funcChar").
671
      dt        = if bogus <> ? then false else dynamic-function("funcChar").
672
      dt        = if bogus <> ? then h     else dynamic-function("funcChar").
673
   end.
674
   
675
   dt        = if bogus <> ? then ch    else dynamic-function("funcChar").
676
   
677
   /* compiles but always creates a runtime error */
678
   if bypass-runtime-error then
679
      dt        = if bogus <> ? then lch   else dynamic-function("funcChar").
680
   
681
   dt        = if bogus <> ? then ""    else dynamic-function("funcChar").
682
   
683
   /* compiles but always creates a runtime error */
684
   if bypass-runtime-error then
685
   do:   
686
      dt        = if bogus <> ? then r1    else dynamic-function("funcChar").
687
      dt        = if bogus <> ? then r2    else dynamic-function("funcChar").
688
      dt        = if bogus <> ? then m1    else dynamic-function("funcChar").
689
      dt        = if bogus <> ? then m2    else dynamic-function("funcChar").
690
   end.
691
      
692
   tt1.fdt   = if bogus <> ? then ?     else dynamic-function("funcChar").
693
      
694
   /* compiles but always creates a runtime error */
695
   if bypass-runtime-error then
696
   do:   
697
      tt1.fdt   = if bogus <> ? then 0     else dynamic-function("funcChar").
698
      tt1.fdt   = if bogus <> ? then i     else dynamic-function("funcChar").
699
      tt1.fdt   = if bogus <> ? then d     else dynamic-function("funcChar").
700
      tt1.fdt   = if bogus <> ? then i64   else dynamic-function("funcChar").
701
   end.
702
   
703
   tt1.fdt   = if bogus <> ? then da    else dynamic-function("funcChar").
704
   tt1.fdt   = if bogus <> ? then dt    else dynamic-function("funcChar").
705
   tt1.fdt   = if bogus <> ? then dtz   else dynamic-function("funcChar").
706
   
707
   /* compiles but always creates a runtime error */
708
   if bypass-runtime-error then
709
   do:   
710
      tt1.fdt   = if bogus <> ? then bool  else dynamic-function("funcChar").
711
      tt1.fdt   = if bogus <> ? then true  else dynamic-function("funcChar").
712
      tt1.fdt   = if bogus <> ? then false else dynamic-function("funcChar").
713
      tt1.fdt   = if bogus <> ? then h     else dynamic-function("funcChar").
714
   end.
715
   
716
   tt1.fdt   = if bogus <> ? then ch    else dynamic-function("funcChar").
717
   
718
   /* compiles but always creates a runtime error */
719
   if bypass-runtime-error then
720
      tt1.fdt   = if bogus <> ? then lch   else dynamic-function("funcChar").
721
   
722
   tt1.fdt   = if bogus <> ? then ""    else dynamic-function("funcChar").
723
   
724
   /* compiles but always creates a runtime error */
725
   if bypass-runtime-error then
726
   do:   
727
      tt1.fdt   = if bogus <> ? then r1    else dynamic-function("funcChar").
728
      tt1.fdt   = if bogus <> ? then r2    else dynamic-function("funcChar").
729
      tt1.fdt   = if bogus <> ? then m1    else dynamic-function("funcChar").
730
      tt1.fdt   = if bogus <> ? then m2    else dynamic-function("funcChar").
731
   end.
732
   
733
   dtz       = if bogus <> ? then ?     else dynamic-function("funcChar").
734
   
735
   /* compiles but always creates a runtime error */
736
   if bypass-runtime-error then
737
   do:   
738
      dtz       = if bogus <> ? then 0     else dynamic-function("funcChar").
739
      dtz       = if bogus <> ? then i     else dynamic-function("funcChar").
740
      dtz       = if bogus <> ? then d     else dynamic-function("funcChar").
741
      dtz       = if bogus <> ? then i64   else dynamic-function("funcChar").
742
   end.
743
   
744
   dtz       = if bogus <> ? then da    else dynamic-function("funcChar").
745
   dtz       = if bogus <> ? then dt    else dynamic-function("funcChar").
746
   dtz       = if bogus <> ? then dtz   else dynamic-function("funcChar").
747
   
748
   /* compiles but always creates a runtime error */
749
   if bypass-runtime-error then
750
   do:   
751
      dtz       = if bogus <> ? then bool  else dynamic-function("funcChar").
752
      dtz       = if bogus <> ? then true  else dynamic-function("funcChar").
753
      dtz       = if bogus <> ? then false else dynamic-function("funcChar").
754
      dtz       = if bogus <> ? then h     else dynamic-function("funcChar").
755
   end.
756
   
757
   dtz       = if bogus <> ? then ch    else dynamic-function("funcChar").
758
   
759
   /* compiles but always creates a runtime error */
760
   if bypass-runtime-error then
761
      dtz       = if bogus <> ? then lch   else dynamic-function("funcChar").
762
   
763
   dtz       = if bogus <> ? then ""    else dynamic-function("funcChar").
764
   
765
   /* compiles but always creates a runtime error */
766
   if bypass-runtime-error then
767
   do:   
768
      dtz       = if bogus <> ? then r1    else dynamic-function("funcChar").
769
      dtz       = if bogus <> ? then r2    else dynamic-function("funcChar").
770
      dtz       = if bogus <> ? then m1    else dynamic-function("funcChar").
771
      dtz       = if bogus <> ? then m2    else dynamic-function("funcChar").
772
   end.
773
   
774
   tt1.fdtz  = if bogus <> ? then ?     else dynamic-function("funcChar").
775
      
776
   /* compiles but always creates a runtime error */
777
   if bypass-runtime-error then
778
   do:   
779
      tt1.fdtz  = if bogus <> ? then 0     else dynamic-function("funcChar").
780
      tt1.fdtz  = if bogus <> ? then i     else dynamic-function("funcChar").
781
      tt1.fdtz  = if bogus <> ? then d     else dynamic-function("funcChar").
782
      tt1.fdtz  = if bogus <> ? then i64   else dynamic-function("funcChar").
783
   end.
784
   
785
   tt1.fdtz  = if bogus <> ? then da    else dynamic-function("funcChar").
786
   tt1.fdtz  = if bogus <> ? then dt    else dynamic-function("funcChar").
787
   tt1.fdtz  = if bogus <> ? then dtz   else dynamic-function("funcChar").
788
   
789
   /* compiles but always creates a runtime error */
790
   if bypass-runtime-error then
791
   do:   
792
      tt1.fdtz  = if bogus <> ? then bool  else dynamic-function("funcChar").
793
      tt1.fdtz  = if bogus <> ? then true  else dynamic-function("funcChar").
794
      tt1.fdtz  = if bogus <> ? then false else dynamic-function("funcChar").
795
      tt1.fdtz  = if bogus <> ? then h     else dynamic-function("funcChar").
796
   end.
797
   
798
   tt1.fdtz  = if bogus <> ? then ch    else dynamic-function("funcChar").
799
   
800
   /* compiles but always creates a runtime error */
801
   if bypass-runtime-error then
802
      tt1.fdtz  = if bogus <> ? then lch   else dynamic-function("funcChar").
803
   
804
   tt1.fdtz  = if bogus <> ? then ""    else dynamic-function("funcChar").
805
   
806
   /* compiles but always creates a runtime error */
807
   if bypass-runtime-error then
808
   do:   
809
      tt1.fdtz  = if bogus <> ? then r1    else dynamic-function("funcChar").
810
      tt1.fdtz  = if bogus <> ? then r2    else dynamic-function("funcChar").
811
      tt1.fdtz  = if bogus <> ? then m1    else dynamic-function("funcChar").
812
      tt1.fdtz  = if bogus <> ? then m2    else dynamic-function("funcChar").
813
   end.
814
   
815
   /* logical can take all types but longchar, rowid, memptr and raw cause runtime errors */
816
   
817
   ch = "yes".
818
   bool      = if bogus <> ? then ?     else dynamic-function("funcCharYes").
819
   bool      = if bogus <> ? then 0     else dynamic-function("funcCharYes").
820
   bool      = if bogus <> ? then i     else dynamic-function("funcCharYes").
821
   bool      = if bogus <> ? then d     else dynamic-function("funcCharYes").
822
   bool      = if bogus <> ? then i64   else dynamic-function("funcCharYes").
823
   bool      = if bogus <> ? then da    else dynamic-function("funcCharYes").
824
   bool      = if bogus <> ? then dt    else dynamic-function("funcCharYes").
825
   bool      = if bogus <> ? then dtz   else dynamic-function("funcCharYes").
826
   bool      = if bogus <> ? then bool  else dynamic-function("funcCharYes").
827
   bool      = if bogus <> ? then true  else dynamic-function("funcCharYes").
828
   bool      = if bogus <> ? then false else dynamic-function("funcCharYes").
829
   bool      = if bogus <> ? then h     else dynamic-function("funcCharYes").
830
   bool      = if bogus <> ? then ch    else dynamic-function("funcCharYes").
831
   
832
   /* compiles but always creates a runtime error */
833
   if bypass-runtime-error then
834
      bool      = if bogus <> ? then lch   else dynamic-function("funcChar").
835
   
836
   bool      = if bogus <> ? then "yes" else dynamic-function("funcCharYes").
837
   bool      = if bogus <> ? then r1    else dynamic-function("funcCharYes").
838
   
839
   /* compiles but always creates a runtime error */
840
   if bypass-runtime-error then
841
   do:   
842
      bool      = if bogus <> ? then r2    else dynamic-function("funcCharYes").
843
      bool      = if bogus <> ? then m1    else dynamic-function("funcCharYes").
844
      bool      = if bogus <> ? then m2    else dynamic-function("funcCharYes").
845
   end.
846
   
847
   tt1.fbool = if bogus <> ? then ?     else dynamic-function("funcCharYes").
848
   tt1.fbool = if bogus <> ? then 0     else dynamic-function("funcCharYes").
849
   tt1.fbool = if bogus <> ? then i     else dynamic-function("funcCharYes").
850
   tt1.fbool = if bogus <> ? then d     else dynamic-function("funcCharYes").
851
   tt1.fbool = if bogus <> ? then i64   else dynamic-function("funcCharYes").
852
   tt1.fbool = if bogus <> ? then da    else dynamic-function("funcCharYes").
853
   tt1.fbool = if bogus <> ? then dt    else dynamic-function("funcCharYes").
854
   tt1.fbool = if bogus <> ? then dtz   else dynamic-function("funcCharYes").
855
   tt1.fbool = if bogus <> ? then bool  else dynamic-function("funcCharYes").
856
   tt1.fbool = if bogus <> ? then true  else dynamic-function("funcCharYes").
857
   tt1.fbool = if bogus <> ? then false else dynamic-function("funcCharYes").
858
   tt1.fbool = if bogus <> ? then h     else dynamic-function("funcCharYes").
859
   tt1.fbool = if bogus <> ? then ch    else dynamic-function("funcCharYes").
860
   
861
   /* compiles but always creates a runtime error */
862
   if bypass-runtime-error then
863
      tt1.fbool = if bogus <> ? then lch   else dynamic-function("funcCharYes").
864
   
865
   tt1.fbool = if bogus <> ? then "yes" else dynamic-function("funcCharYes").
866
   tt1.fbool = if bogus <> ? then r1    else dynamic-function("funcCharYes").
867
   
868
   /* compiles but always creates a runtime error */
869
   if bypass-runtime-error then
870
   do:   
871
      tt1.fbool = if bogus <> ? then r2    else dynamic-function("funcCharYes").
872
      tt1.fbool = if bogus <> ? then m1    else dynamic-function("funcCharYes").
873
      tt1.fbool = if bogus <> ? then m2    else dynamic-function("funcCharYes").
874
   end.
875
   ch = "".
876
   
877
   /* handle can take all types but longchar, rowid, memptr and raw cause runtime errors */
878
   
879
   h2        = if bogus <> ? then ?     else dynamic-function("funcChar").
880
   h2        = if bogus <> ? then 0     else dynamic-function("funcChar").
881
   h2        = if bogus <> ? then i     else dynamic-function("funcChar").
882
   h2        = if bogus <> ? then d     else dynamic-function("funcChar").
883
   h2        = if bogus <> ? then i64   else dynamic-function("funcChar").
884
   h2        = if bogus <> ? then da    else dynamic-function("funcChar").
885
   h2        = if bogus <> ? then dt    else dynamic-function("funcChar").
886
   h2        = if bogus <> ? then dtz   else dynamic-function("funcChar").
887
   h2        = if bogus <> ? then bool  else dynamic-function("funcChar").
888
   h2        = if bogus <> ? then true  else dynamic-function("funcChar").
889
   h2        = if bogus <> ? then false else dynamic-function("funcChar").
890
   h2        = if bogus <> ? then h     else dynamic-function("funcChar").
891
   h2        = if bogus <> ? then ch    else dynamic-function("funcChar").
892
   
893
   /* compiles but always creates a runtime error */
894
   if bypass-runtime-error then
895
      h2        = if bogus <> ? then lch   else dynamic-function("funcChar").
896
   
897
   h2        = if bogus <> ? then "14"  else dynamic-function("funcChar").
898
   h2        = if bogus <> ? then r1    else dynamic-function("funcChar").
899
   
900
   /* compiles but always creates a runtime error */
901
   if bypass-runtime-error then
902
   do:   
903
      h2        = if bogus <> ? then r2    else dynamic-function("funcChar").
904
      h2        = if bogus <> ? then m1    else dynamic-function("funcChar").
905
      h2        = if bogus <> ? then m2    else dynamic-function("funcChar").
906
   end.
907
   
908
   tt1.fh    = if bogus <> ? then ?     else dynamic-function("funcChar").
909
   tt1.fh    = if bogus <> ? then 0     else dynamic-function("funcChar").
910
   tt1.fh    = if bogus <> ? then i     else dynamic-function("funcChar").
911
   tt1.fh    = if bogus <> ? then d     else dynamic-function("funcChar").
912
   tt1.fh    = if bogus <> ? then i64   else dynamic-function("funcChar").
913
   tt1.fh    = if bogus <> ? then da    else dynamic-function("funcChar").
914
   tt1.fh    = if bogus <> ? then dt    else dynamic-function("funcChar").
915
   tt1.fh    = if bogus <> ? then dtz   else dynamic-function("funcChar").
916
   tt1.fh    = if bogus <> ? then bool  else dynamic-function("funcChar").
917
   tt1.fh    = if bogus <> ? then true  else dynamic-function("funcChar").
918
   tt1.fh    = if bogus <> ? then false else dynamic-function("funcChar").
919
   tt1.fh    = if bogus <> ? then h     else dynamic-function("funcChar").
920
   tt1.fh    = if bogus <> ? then ch    else dynamic-function("funcChar").
921
   
922
   /* compiles but always creates a runtime error */
923
   if bypass-runtime-error then
924
   do:   
925
      tt1.fh    = if bogus <> ? then lch   else dynamic-function("funcChar").
926
   end.
927
   
928
   tt1.fh    = if bogus <> ? then "14"  else dynamic-function("funcChar").
929
   tt1.fh    = if bogus <> ? then r1    else dynamic-function("funcChar").
930
   
931
   /* compiles but always creates a runtime error */
932
   if bypass-runtime-error then
933
   do:   
934
      tt1.fh    = if bogus <> ? then r2    else dynamic-function("funcChar").
935
      tt1.fh    = if bogus <> ? then m1    else dynamic-function("funcChar").
936
      tt1.fh    = if bogus <> ? then m2    else dynamic-function("funcChar").
937
   end.
938
   
939
   /* character can take all types but rowid, memptr and raw cause runtime errors */
940
   
941
   ch        = if bogus <> ? then ?     else dynamic-function("funcChar").
942
   ch        = if bogus <> ? then 0     else dynamic-function("funcChar").
943
   ch        = if bogus <> ? then i     else dynamic-function("funcChar").
944
   ch        = if bogus <> ? then d     else dynamic-function("funcChar").
945
   ch        = if bogus <> ? then i64   else dynamic-function("funcChar").
946
   ch        = if bogus <> ? then da    else dynamic-function("funcChar").
947
   ch        = if bogus <> ? then dt    else dynamic-function("funcChar").
948
   ch        = if bogus <> ? then dtz   else dynamic-function("funcChar").
949
   ch        = if bogus <> ? then bool  else dynamic-function("funcChar").
950
   ch        = if bogus <> ? then true  else dynamic-function("funcChar").
951
   ch        = if bogus <> ? then false else dynamic-function("funcChar").
952
   ch        = if bogus <> ? then h     else dynamic-function("funcChar").
953
   ch        = if bogus <> ? then ch    else dynamic-function("funcChar").
954
   ch        = if bogus <> ? then lch   else dynamic-function("funcChar").
955
   ch        = if bogus <> ? then "14"  else dynamic-function("funcChar").
956
   ch        = if bogus <> ? then r1    else dynamic-function("funcChar").
957
   
958
   /* compiles but always creates a runtime error */
959
   if bypass-runtime-error then
960
   do:   
961
      ch        = if bogus <> ? then r2    else dynamic-function("funcChar").
962
      ch        = if bogus <> ? then m1    else dynamic-function("funcChar").
963
      ch        = if bogus <> ? then m2    else dynamic-function("funcChar").
964
   end.
965
   
966
   tt1.fch   = if bogus <> ? then ?     else dynamic-function("funcChar").
967
   tt1.fch   = if bogus <> ? then 0     else dynamic-function("funcChar").
968
   tt1.fch   = if bogus <> ? then i     else dynamic-function("funcChar").
969
   tt1.fch   = if bogus <> ? then d     else dynamic-function("funcChar").
970
   tt1.fch   = if bogus <> ? then i64   else dynamic-function("funcChar").
971
   tt1.fch   = if bogus <> ? then da    else dynamic-function("funcChar").
972
   tt1.fch   = if bogus <> ? then dt    else dynamic-function("funcChar").
973
   tt1.fch   = if bogus <> ? then dtz   else dynamic-function("funcChar").
974
   tt1.fch   = if bogus <> ? then bool  else dynamic-function("funcChar").
975
   tt1.fch   = if bogus <> ? then true  else dynamic-function("funcChar").
976
   tt1.fch   = if bogus <> ? then false else dynamic-function("funcChar").
977
   tt1.fch   = if bogus <> ? then h     else dynamic-function("funcChar").
978
   tt1.fch   = if bogus <> ? then ch    else dynamic-function("funcChar").
979
   tt1.fch   = if bogus <> ? then lch   else dynamic-function("funcChar").
980
   tt1.fch   = if bogus <> ? then "14"  else dynamic-function("funcChar").
981
   tt1.fch   = if bogus <> ? then r1    else dynamic-function("funcChar").
982
   
983
   /* compiles but always creates a runtime error */
984
   if bypass-runtime-error then
985
   do:   
986
      tt1.fch   = if bogus <> ? then r2    else dynamic-function("funcChar").
987
      tt1.fch   = if bogus <> ? then m1    else dynamic-function("funcChar").
988
      tt1.fch   = if bogus <> ? then m2    else dynamic-function("funcChar").
989
   end.
990
   
991
   /* longchar can take all types but anyting except character, longchar and unknown */
992
   /* value literal cause runtime errors */
993
      
994
   lch       = if bogus <> ? then ?     else dynamic-function("funcChar").
995
   
996
   /* compiles but always creates a runtime error */
997
   if bypass-runtime-error then
998
   do:   
999
      lch       = if bogus <> ? then 0     else dynamic-function("funcChar").
1000
      lch       = if bogus <> ? then i     else dynamic-function("funcChar").
1001
      lch       = if bogus <> ? then d     else dynamic-function("funcChar").
1002
      lch       = if bogus <> ? then i64   else dynamic-function("funcChar").
1003
      lch       = if bogus <> ? then da    else dynamic-function("funcChar").
1004
      lch       = if bogus <> ? then dt    else dynamic-function("funcChar").
1005
      lch       = if bogus <> ? then dtz   else dynamic-function("funcChar").
1006
      lch       = if bogus <> ? then bool  else dynamic-function("funcChar").
1007
      lch       = if bogus <> ? then true  else dynamic-function("funcChar").
1008
      lch       = if bogus <> ? then false else dynamic-function("funcChar").
1009
      lch       = if bogus <> ? then h     else dynamic-function("funcChar").
1010
   end.
1011
   
1012
   lch       = if bogus <> ? then ch    else dynamic-function("funcChar").
1013
   lch       = if bogus <> ? then lch   else dynamic-function("funcChar").
1014
   lch       = if bogus <> ? then "14"  else dynamic-function("funcChar").
1015
   
1016
   /* compiles but always creates a runtime error */
1017
   if bypass-runtime-error then
1018
   do:
1019
      lch       = if bogus <> ? then r1    else dynamic-function("funcChar").
1020
      lch       = if bogus <> ? then r2    else dynamic-function("funcChar").
1021
      lch       = if bogus <> ? then m1    else dynamic-function("funcChar").
1022
      lch       = if bogus <> ? then m2    else dynamic-function("funcChar").
1023
   end.
1024
   
1025
   /* memptr can take all types but anyting except memptr, raw and unknown value literal */
1026
   /* cause runtime errors */
1027
   
1028
   m1        = if bogus <> ? then ?     else dynamic-function("funcRaw").
1029
   
1030
   /* compiles but always creates a runtime error */
1031
   if bypass-runtime-error then
1032
   do:   
1033
      m1        = if bogus <> ? then 0     else dynamic-function("funcRaw").
1034
      m1        = if bogus <> ? then i     else dynamic-function("funcRaw").
1035
      m1        = if bogus <> ? then d     else dynamic-function("funcRaw").
1036
      m1        = if bogus <> ? then i64   else dynamic-function("funcRaw").
1037
      m1        = if bogus <> ? then da    else dynamic-function("funcRaw").
1038
      m1        = if bogus <> ? then dt    else dynamic-function("funcRaw").
1039
      m1        = if bogus <> ? then dtz   else dynamic-function("funcRaw").
1040
      m1        = if bogus <> ? then bool  else dynamic-function("funcRaw").
1041
      m1        = if bogus <> ? then true  else dynamic-function("funcRaw").
1042
      m1        = if bogus <> ? then false else dynamic-function("funcRaw").
1043
      m1        = if bogus <> ? then h     else dynamic-function("funcRaw").
1044
      m1        = if bogus <> ? then ch    else dynamic-function("funcRaw").
1045
      m1        = if bogus <> ? then lch   else dynamic-function("funcRaw").
1046
      m1        = if bogus <> ? then "14"  else dynamic-function("funcRaw").
1047
      m1        = if bogus <> ? then r1    else dynamic-function("funcRaw").
1048
      m1        = if bogus <> ? then r2    else dynamic-function("funcRaw").
1049
   end.
1050

    
1051
   m1        = if bogus <> ? then ptr   else dynamic-function("funcRaw").
1052
   m1        = if bogus <> ? then m2    else dynamic-function("funcRaw").
1053
   
1054
   /* raw can take all types but anyting except memptr, raw and unknown value literal */
1055
   /* cause runtime errors */
1056
   
1057
   m2        = if bogus <> ? then ?     else dynamic-function("funcRaw").
1058
   
1059
   /* compiles but always creates a runtime error */
1060
   if bypass-runtime-error then
1061
   do:   
1062
      m2        = if bogus <> ? then 0     else dynamic-function("funcRaw").
1063
      m2        = if bogus <> ? then i     else dynamic-function("funcRaw").
1064
      m2        = if bogus <> ? then d     else dynamic-function("funcRaw").
1065
      m2        = if bogus <> ? then i64   else dynamic-function("funcRaw").
1066
      m2        = if bogus <> ? then da    else dynamic-function("funcRaw").
1067
      m2        = if bogus <> ? then dt    else dynamic-function("funcRaw").
1068
      m2        = if bogus <> ? then dtz   else dynamic-function("funcRaw").
1069
      m2        = if bogus <> ? then bool  else dynamic-function("funcRaw").
1070
      m2        = if bogus <> ? then true  else dynamic-function("funcRaw").
1071
      m2        = if bogus <> ? then false else dynamic-function("funcRaw").
1072
      m2        = if bogus <> ? then h     else dynamic-function("funcRaw").
1073
      m2        = if bogus <> ? then ch    else dynamic-function("funcRaw").
1074
      m2        = if bogus <> ? then lch   else dynamic-function("funcRaw").
1075
      m2        = if bogus <> ? then "14"  else dynamic-function("funcRaw").
1076
      m2        = if bogus <> ? then r1    else dynamic-function("funcRaw").
1077
      m2        = if bogus <> ? then r2    else dynamic-function("funcRaw").
1078
   end.
1079

    
1080
   m2        = if bogus <> ? then ptr   else dynamic-function("funcRaw").
1081
   m2        = if bogus <> ? then m2    else dynamic-function("funcRaw").
1082
   
1083
   tt1.fm2   = if bogus <> ? then ?     else dynamic-function("funcRaw").
1084
   
1085
   /* compiles but always creates a runtime error */
1086
   if bypass-runtime-error then
1087
   do:   
1088
      tt1.fm2   = if bogus <> ? then 0     else dynamic-function("funcRaw").
1089
      tt1.fm2   = if bogus <> ? then i     else dynamic-function("funcRaw").
1090
      tt1.fm2   = if bogus <> ? then d     else dynamic-function("funcRaw").
1091
      tt1.fm2   = if bogus <> ? then i64   else dynamic-function("funcRaw").
1092
      tt1.fm2   = if bogus <> ? then da    else dynamic-function("funcRaw").
1093
      tt1.fm2   = if bogus <> ? then dt    else dynamic-function("funcRaw").
1094
      tt1.fm2   = if bogus <> ? then dtz   else dynamic-function("funcRaw").
1095
      tt1.fm2   = if bogus <> ? then bool  else dynamic-function("funcRaw").
1096
      tt1.fm2   = if bogus <> ? then true  else dynamic-function("funcRaw").
1097
      tt1.fm2   = if bogus <> ? then false else dynamic-function("funcRaw").
1098
      tt1.fm2   = if bogus <> ? then h     else dynamic-function("funcRaw").
1099
      tt1.fm2   = if bogus <> ? then ch    else dynamic-function("funcRaw").
1100
      tt1.fm2   = if bogus <> ? then lch   else dynamic-function("funcRaw").
1101
      tt1.fm2   = if bogus <> ? then "14"  else dynamic-function("funcRaw").
1102
      tt1.fm2   = if bogus <> ? then r1    else dynamic-function("funcRaw").
1103
      tt1.fm2   = if bogus <> ? then r2    else dynamic-function("funcRaw").
1104
   end.
1105

    
1106
   tt1.fm2    = if bogus <> ? then ptr   else dynamic-function("funcRaw").
1107
   tt1.fm2    = if bogus <> ? then m2    else dynamic-function("funcRaw").
1108
   
1109
   /* recid can take all types but longchar, memptr, raw and unknown value literal */
1110
   /* cause runtime errors */
1111
   
1112
   r1        = if bogus <> ? then ?     else dynamic-function("funcRecid").
1113
   r1        = if bogus <> ? then 0     else dynamic-function("funcRecid").
1114
   r1        = if bogus <> ? then i     else dynamic-function("funcRecid").
1115
   r1        = if bogus <> ? then d     else dynamic-function("funcRecid").
1116
   r1        = if bogus <> ? then i64   else dynamic-function("funcRecid").
1117
   r1        = if bogus <> ? then da    else dynamic-function("funcRecid").
1118
   r1        = if bogus <> ? then dt    else dynamic-function("funcRecid").
1119
   r1        = if bogus <> ? then dtz   else dynamic-function("funcRecid").
1120
   r1        = if bogus <> ? then bool  else dynamic-function("funcRecid").
1121
   r1        = if bogus <> ? then true  else dynamic-function("funcRecid").
1122
   r1        = if bogus <> ? then false else dynamic-function("funcRecid").
1123
   r1        = if bogus <> ? then h     else dynamic-function("funcRecid").
1124
   r1        = if bogus <> ? then ch    else dynamic-function("funcRecid").
1125
   
1126
   /* compiles but always creates a runtime error */
1127
   if bypass-runtime-error then
1128
      r1        = if bogus <> ? then lch   else dynamic-function("funcRecid").
1129
   
1130
   r1        = if bogus <> ? then "14"  else dynamic-function("funcRecid").
1131
   r1        = if bogus <> ? then r1    else dynamic-function("funcRecid").
1132
   r1        = if bogus <> ? then r2    else dynamic-function("funcRecid").
1133
   
1134
   /* compiles but always creates a runtime error */
1135
   if bypass-runtime-error then
1136
   do:   
1137
      r1        = if bogus <> ? then ptr   else dynamic-function("funcRecid").
1138
      r1        = if bogus <> ? then m2    else dynamic-function("funcRecid").
1139
   end.
1140
   
1141
   tt1.fr1    = if bogus <> ? then ?     else dynamic-function("funcRecid").
1142
   tt1.fr1    = if bogus <> ? then 0     else dynamic-function("funcRecid").
1143
   tt1.fr1    = if bogus <> ? then i     else dynamic-function("funcRecid").
1144
   tt1.fr1    = if bogus <> ? then d     else dynamic-function("funcRecid").
1145
   tt1.fr1    = if bogus <> ? then i64   else dynamic-function("funcRecid").
1146
   tt1.fr1    = if bogus <> ? then da    else dynamic-function("funcRecid").
1147
   tt1.fr1    = if bogus <> ? then dt    else dynamic-function("funcRecid").
1148
   tt1.fr1    = if bogus <> ? then dtz   else dynamic-function("funcRecid").
1149
   tt1.fr1    = if bogus <> ? then bool  else dynamic-function("funcRecid").
1150
   tt1.fr1    = if bogus <> ? then true  else dynamic-function("funcRecid").
1151
   tt1.fr1    = if bogus <> ? then false else dynamic-function("funcRecid").
1152
   tt1.fr1    = if bogus <> ? then h     else dynamic-function("funcRecid").
1153
   tt1.fr1    = if bogus <> ? then ch    else dynamic-function("funcRecid").
1154
   
1155
   /* compiles but always creates a runtime error */
1156
   if bypass-runtime-error then
1157
      tt1.fr1    = if bogus <> ? then lch   else dynamic-function("funcRecid").
1158
   
1159
   tt1.fr1    = if bogus <> ? then "14"  else dynamic-function("funcRecid").
1160
   tt1.fr1    = if bogus <> ? then r1    else dynamic-function("funcRecid").
1161
   tt1.fr1    = if bogus <> ? then r2    else dynamic-function("funcRecid").
1162
   
1163
   /* compiles but always creates a runtime error */
1164
   if bypass-runtime-error then
1165
   do:   
1166
      tt1.fr1    = if bogus <> ? then ptr   else dynamic-function("funcRecid").
1167
      tt1.fr1    = if bogus <> ? then m2    else dynamic-function("funcRecid").
1168
   end.
1169
   
1170
   /* rowid can take all types but everything except datetime, datetime-tz, */
1171
   /* character, recid, rowid and unknown value literal cause runtime errors */
1172
   
1173
   r2        = if bogus <> ? then ?     else dynamic-function("funcRowid").
1174
   
1175
   /* compiles but always creates a runtime error */
1176
   if bypass-runtime-error then
1177
   do:
1178
      r2        = if bogus <> ? then 0     else dynamic-function("funcRowid").
1179
      r2        = if bogus <> ? then i     else dynamic-function("funcRowid").
1180
      r2        = if bogus <> ? then d     else dynamic-function("funcRowid").
1181
      r2        = if bogus <> ? then i64   else dynamic-function("funcRowid").
1182
      r2        = if bogus <> ? then da    else dynamic-function("funcRowid").
1183
   end.
1184
   
1185
   r2        = if bogus <> ? then dt    else dynamic-function("funcRowid").
1186
   r2        = if bogus <> ? then dtz   else dynamic-function("funcRowid").
1187
   
1188
   /* compiles but always creates a runtime error */
1189
   if bypass-runtime-error then
1190
   do:
1191
      r2        = if bogus <> ? then bool  else dynamic-function("funcRowid").
1192
      r2        = if bogus <> ? then true  else dynamic-function("funcRowid").
1193
      r2        = if bogus <> ? then false else dynamic-function("funcRowid").
1194
      r2        = if bogus <> ? then h     else dynamic-function("funcRowid").
1195
   end.
1196
   
1197
   r2        = if bogus <> ? then ch    else dynamic-function("funcRowid").
1198
   
1199
   /* compiles but always creates a runtime error */
1200
   if bypass-runtime-error then
1201
      r2        = if bogus <> ? then lch   else dynamic-function("funcRowid").
1202
   
1203
   r2        = if bogus <> ? then "14"  else dynamic-function("funcRowid").
1204
   r2        = if bogus <> ? then r1    else dynamic-function("funcRowid").
1205
   r2        = if bogus <> ? then r2    else dynamic-function("funcRowid").
1206
   
1207
   /* compiles but always creates a runtime error */
1208
   if bypass-runtime-error then
1209
   do:   
1210
      r2        = if bogus <> ? then ptr   else dynamic-function("funcRowid").
1211
      r2        = if bogus <> ? then m2    else dynamic-function("funcRowid").
1212
   end.
1213
   
1214
   tt1.fr2    = if bogus <> ? then ?     else dynamic-function("funcRowid").
1215
   
1216
   /* compiles but always creates a runtime error */
1217
   if bypass-runtime-error then
1218
   do:
1219
      tt1.fr2    = if bogus <> ? then 0     else dynamic-function("funcRowid").
1220
      tt1.fr2    = if bogus <> ? then i     else dynamic-function("funcRowid").
1221
      tt1.fr2    = if bogus <> ? then d     else dynamic-function("funcRowid").
1222
      tt1.fr2    = if bogus <> ? then i64   else dynamic-function("funcRowid").
1223
      tt1.fr2    = if bogus <> ? then da    else dynamic-function("funcRowid").
1224
   end.
1225
   
1226
   tt1.fr2    = if bogus <> ? then dt    else dynamic-function("funcRowid").
1227
   tt1.fr2    = if bogus <> ? then dtz   else dynamic-function("funcRowid").
1228
   
1229
   /* compiles but always creates a runtime error */
1230
   if bypass-runtime-error then
1231
   do:
1232
      tt1.fr2    = if bogus <> ? then bool  else dynamic-function("funcRowid").
1233
      tt1.fr2    = if bogus <> ? then true  else dynamic-function("funcRowid").
1234
      tt1.fr2    = if bogus <> ? then false else dynamic-function("funcRowid").
1235
      tt1.fr2    = if bogus <> ? then h     else dynamic-function("funcRowid").
1236
   end.
1237
   
1238
   tt1.fr2    = if bogus <> ? then ch    else dynamic-function("funcRowid").
1239
   
1240
   /* compiles but always creates a runtime error */
1241
   if bypass-runtime-error then
1242
      tt1.fr2    = if bogus <> ? then lch   else dynamic-function("funcRowid").
1243
   
1244
   tt1.fr2    = if bogus <> ? then "14"  else dynamic-function("funcRowid").
1245
   tt1.fr2    = if bogus <> ? then r1    else dynamic-function("funcRowid").
1246
   tt1.fr2    = if bogus <> ? then r2    else dynamic-function("funcRowid").
1247
   
1248
   /* compiles but always creates a runtime error */
1249
   if bypass-runtime-error then
1250
   do:   
1251
      tt1.fr2    = if bogus <> ? then ptr   else dynamic-function("funcRowid").
1252
      tt1.fr2    = if bogus <> ? then m2    else dynamic-function("funcRowid").
1253
   end.
1254
   
1255
   return bogus.
1256
end.
1257

    
1258
/*
1259
i      = if bogus <> ? then dynamic-function("funcChar") else 0.
1260
ch1    = if bogus <> ? then dynamic-function("funcChar") else 0.
1261

    
1262
tt1.f1 = if bogus <> ? then dynamic-function("funcChar") else 0.
1263
tt1.f2 = if bogus <> ? then dynamic-function("funcChar") else 0.
1264
*/