Mapper
rateint.c
Go to the documentation of this file.
1 #include <sqlhdr.h>
2 extern _SQCURSOR *_iqnprep();
3 static char *_Cn2 = "ratecursor"; static _SQCURSOR *_SQ2 = 0;
4 static char *_Cn1 = "shiftcursor"; static _SQCURSOR *_SQ1 = 0;
5 #line 1 "rateint.ec"
6 #include "rate_table.h"
7 #include <math.h>
8 /*
9  * EXEC SQL include sqlca.h;
10  */
11 #line 3 "rateint.ec"
12 #line 1 "/usr/informix/incl/esql/sqlca.h"
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 #ifndef SQLCA_INCL
39 
40 #define SQLCA_INCL
41 
42 struct sqlca_s
43  {
44  long sqlcode;
45  char sqlerrm[72];
46  char sqlerrp[8];
47  long sqlerrd[6];
48 
49 
50 
51 
52 
53 
54  struct sqlcaw_s
55  {
56  char sqlwarn0;
57  char sqlwarn1;
58 
59  char sqlwarn2;
60 
61  char sqlwarn3;
62 
63  char sqlwarn4;
64 
65  char sqlwarn5;
66  char sqlwarn6;
67  char sqlwarn7;
68  } sqlwarn;
69  };
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 #ifdef VMS
80 noshare
81 #endif
82 extern struct sqlca_s sqlca;
83 
84 extern long SQLCODE;
85 
86 #define SQLNOTFOUND 100
87 
88 #endif
89 #line 4 "rateint.ec"
90 
91 static char savehb5[10];
95 int max;
96 double Val[10],Sh[10];
97 
98 
99 int get_rate(char *hb5in,int zdate)
100 
101 {
102 
103 int i,j;
104 
105 /*
106  * EXEC SQL BEGIN DECLARE SECTION;
107  */
108 #line 19 "rateint.ec"
109 
110 char hb5[6];
111 int table_version;
112 struct table
113  {
114  char id[6];
115  int tbl;
116  int valid_date;
117  int gs;
118  int src;
119  int fix;
120  int datacol;
121  int ver5;
122  double fld;
123  double wrn;
124  double hist_stg;
125  int hist_q;
126  int hist_date;
127  int spil;
128  int ded;
129  int cap;
130  double stg001;
131  double stg002;
132  double stg003;
133  double stg004;
134  double stg005;
135  double stg006;
136  double stg007;
137  double stg008;
138  double stg009;
139  double stg010;
140  double stg011;
141  double stg012;
142  double stg013;
143  double stg014;
144  double stg015;
145  double stg016;
146  double stg017;
147  double stg018;
148  double stg019;
149  double stg020;
150  double stg021;
151  double stg022;
152  double stg023;
153  double stg024;
154  double stg025;
155  double stg026;
156  double stg027;
157  double stg028;
158  double stg029;
159  double stg030;
160  double stg031;
161  double stg032;
162  double stg033;
163  double stg034;
164  double stg035;
165  double stg036;
166  double stg037;
167  double stg038;
168  double stg039;
169  double stg040;
170  double stg041;
171  double stg042;
172  double stg043;
173  double stg044;
174  double stg045;
175  double stg046;
176  double stg047;
177  double stg048;
178  double stg049;
179  double stg050;
180  double stg051;
181  double stg052;
182  double stg053;
183  double stg054;
184  double stg055;
185  double stg056;
186  double stg057;
187  double stg058;
188  double stg059;
189  double stg060;
190  double stg061;
191  double stg062;
192  double stg063;
193  double stg064;
194  double stg065;
195  double stg066;
196  double stg067;
197  double stg068;
198  double stg069;
199  double stg070;
200  double stg071;
201  double stg072;
202  double stg073;
203  double stg074;
204  double stg075;
205  double stg076;
206  double stg077;
207  double stg078;
208  double stg079;
209  double stg080;
210  double stg081;
211  double stg082;
212  double stg083;
213  double stg084;
214  double stg085;
215  double stg086;
216  double stg087;
217  double stg088;
218  double stg089;
219  double stg090;
220  double stg091;
221  double stg092;
222  double stg093;
223  double stg094;
224  double stg095;
225  double stg096;
226  double stg097;
227  double stg098;
228  double stg099;
229  double stg100;
230  int q001;
231  int q002;
232  int q003;
233  int q004;
234  int q005;
235  int q006;
236  int q007;
237  int q008;
238  int q009;
239  int q010;
240  int q011;
241  int q012;
242  int q013;
243  int q014;
244  int q015;
245  int q016;
246  int q017;
247  int q018;
248  int q019;
249  int q020;
250  int q021;
251  int q022;
252  int q023;
253  int q024;
254  int q025;
255  int q026;
256  int q027;
257  int q028;
258  int q029;
259  int q030;
260  int q031;
261  int q032;
262  int q033;
263  int q034;
264  int q035;
265  int q036;
266  int q037;
267  int q038;
268  int q039;
269  int q040;
270  int q041;
271  int q042;
272  int q043;
273  int q044;
274  int q045;
275  int q046;
276  int q047;
277  int q048;
278  int q049;
279  int q050;
280  int q051;
281  int q052;
282  int q053;
283  int q054;
284  int q055;
285  int q056;
286  int q057;
287  int q058;
288  int q059;
289  int q060;
290  int q061;
291  int q062;
292  int q063;
293  int q064;
294  int q065;
295  int q066;
296  int q067;
297  int q068;
298  int q069;
299  int q070;
300  int q071;
301  int q072;
302  int q073;
303  int q074;
304  int q075;
305  int q076;
306  int q077;
307  int q078;
308  int q079;
309  int q080;
310  int q081;
311  int q082;
312  int q083;
313  int q084;
314  int q085;
315  int q086;
316  int q087;
317  int q088;
318  int q089;
319  int q090;
320  int q091;
321  int q092;
322  int q093;
323  int q094;
324  int q095;
325  int q096;
326  int q097;
327  int q098;
328  int q099;
329  int q100;
330  } table;
331 struct shtable
332  {
333  char id[6];
334  int begin_date;
335  int tbl_ver;
336  double val_a;
337  double sh_a;
338  double val_b;
339  double sh_b;
340  double val_c;
341  double sh_c;
342  double val_d;
343  double sh_d;
344  } shtable;
345 /*
346  * EXEC SQL END DECLARE SECTION;
347  */
348 #line 255 "rateint.ec"
349 
350 
351 strcpy(hb5,hb5in);
352 
353 /*
354  * EXEC SQL open shiftcursor using :hb5;
355  */
356 #line 259 "rateint.ec"
357  {
358 #line 259 "rateint.ec"
359  static struct sqlvar_struct _sqibind[] =
360  {
361  { 100, 6, 0, 0, 0, 0, 0, 0, 0 },
362 #line 259 "rateint.ec"
363  };
364  static struct sqlda _SD0 = { 1, _sqibind, 0, 1, 0 };
365 #line 259 "rateint.ec"
366  _sqibind[0].sqldata = hb5;
367 #line 259 "rateint.ec"
368  if (!_SQ1) _SQ1 = _iqlocate_cursor(_Cn1, 0, 1, 0);
369 #line 259 "rateint.ec"
370  _iqdcopen(_SQ1, &_SD0, (char *)0, (char *)0, 1);
371 #line 259 "rateint.ec"
372  }
373 
374 if(sqlca.sqlcode != 0)
375  return(sqlca.sqlcode);
376 
377 
378 
379 for(i = 0; i < 100; i++)
380 {
381 /*
382  * EXEC SQL fetch shiftcursor into: shtable;
383  */
384 #line 268 "rateint.ec"
385  {
386 #line 268 "rateint.ec"
387  static struct sqlvar_struct _sqobind[] =
388  {
389  { 100, 6, 0, 0, 0, 0, 0, 0, 0 },
390  { 102, sizeof((shtable).begin_date), 0, 0, 0, 0, 0, 0, 0 },
391  { 102, sizeof((shtable).tbl_ver), 0, 0, 0, 0, 0, 0, 0 },
392  { 105, sizeof((shtable).val_a), 0, 0, 0, 0, 0, 0, 0 },
393  { 105, sizeof((shtable).sh_a), 0, 0, 0, 0, 0, 0, 0 },
394  { 105, sizeof((shtable).val_b), 0, 0, 0, 0, 0, 0, 0 },
395  { 105, sizeof((shtable).sh_b), 0, 0, 0, 0, 0, 0, 0 },
396  { 105, sizeof((shtable).val_c), 0, 0, 0, 0, 0, 0, 0 },
397  { 105, sizeof((shtable).sh_c), 0, 0, 0, 0, 0, 0, 0 },
398  { 105, sizeof((shtable).val_d), 0, 0, 0, 0, 0, 0, 0 },
399  { 105, sizeof((shtable).sh_d), 0, 0, 0, 0, 0, 0, 0 },
400 #line 268 "rateint.ec"
401  };
402  static struct sqlda _SD0 = { 11, _sqobind, 0, 11, 0 };
403  static _FetchSpec _FS1 = { 0, 1, 0 };
404 #line 268 "rateint.ec"
405  _sqobind[0].sqldata = (shtable).id;
406 #line 268 "rateint.ec"
407  _sqobind[1].sqldata = (char *) &(shtable).begin_date;
408 #line 268 "rateint.ec"
409  _sqobind[2].sqldata = (char *) &(shtable).tbl_ver;
410 #line 268 "rateint.ec"
411  _sqobind[3].sqldata = (char *) &(shtable).val_a;
412 #line 268 "rateint.ec"
413  _sqobind[4].sqldata = (char *) &(shtable).sh_a;
414 #line 268 "rateint.ec"
415  _sqobind[5].sqldata = (char *) &(shtable).val_b;
416 #line 268 "rateint.ec"
417  _sqobind[6].sqldata = (char *) &(shtable).sh_b;
418 #line 268 "rateint.ec"
419  _sqobind[7].sqldata = (char *) &(shtable).val_c;
420 #line 268 "rateint.ec"
421  _sqobind[8].sqldata = (char *) &(shtable).sh_c;
422 #line 268 "rateint.ec"
423  _sqobind[9].sqldata = (char *) &(shtable).val_d;
424 #line 268 "rateint.ec"
425  _sqobind[10].sqldata = (char *) &(shtable).sh_d;
426 #line 268 "rateint.ec"
427  if (!_SQ1) _SQ1 = _iqlocate_cursor(_Cn1, 0, 1, 0);
428 #line 268 "rateint.ec"
429  _iqcftch(_SQ1, (struct sqlda *)0, &_SD0, (char *)0, &_FS1);
430 #line 268 "rateint.ec"
431  }
432 
433 if(sqlca.sqlcode < 0)
434  return(sqlca.sqlcode);
435 
436 if(sqlca.sqlcode == 100)
437  return(-1);
438 
439 if(zdate >= shtable.begin_date)
440  break;
441 
442 rate_table.edate=shtable.begin_date;
443 
444 }
445 
446 
447 rate_table.tbl_ver = shtable.tbl_ver;
448 
449 if(i==0)
450  rate_table.edate=-1;
451 
452 rate_table.Shift.Val[0] = shtable.val_a;
453 rate_table.Shift.Val[1] = shtable.val_b;
454 rate_table.Shift.Val[2] = shtable.val_c;
455 rate_table.Shift.Val[3] = shtable.val_d;
456 rate_table.Shift.Sh[0] = shtable.sh_a;
457 rate_table.Shift.Sh[1] = shtable.sh_b;
458 rate_table.Shift.Sh[2] = shtable.sh_c;
459 rate_table.Shift.Sh[3] = shtable.sh_d;
460 
461 rate_table.bdate=shtable.begin_date;
462 
463 /*
464  * EXEC SQL close shiftcursor;
465  */
466 #line 300 "rateint.ec"
467  {
468 #line 300 "rateint.ec"
469 #line 300 "rateint.ec"
470  if (!_SQ1) _SQ1 = _iqlocate_cursor(_Cn1, 0, 1, 0);
471 #line 300 "rateint.ec"
472  _iqclose(_SQ1);
473 #line 300 "rateint.ec"
474  }
475 
476 strcpy(hb5,hb5in);
477 table_version=shtable.tbl_ver;
478 
479 /*
480  * EXEC SQL open ratecursor using :hb5, :table_version;
481  */
482 #line 305 "rateint.ec"
483  {
484 #line 305 "rateint.ec"
485  static struct sqlvar_struct _sqibind[] =
486  {
487  { 100, 6, 0, 0, 0, 0, 0, 0, 0 },
488  { 102, sizeof(table_version), 0, 0, 0, 0, 0, 0, 0 },
489 #line 305 "rateint.ec"
490  };
491  static struct sqlda _SD0 = { 2, _sqibind, 0, 2, 0 };
492 #line 305 "rateint.ec"
493  _sqibind[0].sqldata = hb5;
494 #line 305 "rateint.ec"
495  _sqibind[1].sqldata = (char *) &table_version;
496 #line 305 "rateint.ec"
497  if (!_SQ2) _SQ2 = _iqlocate_cursor(_Cn2, 0, 1, 0);
498 #line 305 "rateint.ec"
499  _iqdcopen(_SQ2, &_SD0, (char *)0, (char *)0, 1);
500 #line 305 "rateint.ec"
501  }
502 
503 if(sqlca.sqlcode != 0)
504  return(sqlca.sqlcode);
505 
506 /*
507  * EXEC SQL fetch ratecursor into: table;
508  */
509 #line 310 "rateint.ec"
510  {
511 #line 310 "rateint.ec"
512  static struct sqlvar_struct _sqobind[] =
513  {
514  { 100, 6, 0, 0, 0, 0, 0, 0, 0 },
515  { 102, sizeof((table).tbl), 0, 0, 0, 0, 0, 0, 0 },
516  { 102, sizeof((table).valid_date), 0, 0, 0, 0, 0, 0, 0 },
517  { 102, sizeof((table).gs), 0, 0, 0, 0, 0, 0, 0 },
518  { 102, sizeof((table).src), 0, 0, 0, 0, 0, 0, 0 },
519  { 102, sizeof((table).fix), 0, 0, 0, 0, 0, 0, 0 },
520  { 102, sizeof((table).datacol), 0, 0, 0, 0, 0, 0, 0 },
521  { 102, sizeof((table).ver5), 0, 0, 0, 0, 0, 0, 0 },
522  { 105, sizeof((table).fld), 0, 0, 0, 0, 0, 0, 0 },
523  { 105, sizeof((table).wrn), 0, 0, 0, 0, 0, 0, 0 },
524  { 105, sizeof((table).hist_stg), 0, 0, 0, 0, 0, 0, 0 },
525  { 102, sizeof((table).hist_q), 0, 0, 0, 0, 0, 0, 0 },
526  { 102, sizeof((table).hist_date), 0, 0, 0, 0, 0, 0, 0 },
527  { 102, sizeof((table).spil), 0, 0, 0, 0, 0, 0, 0 },
528  { 102, sizeof((table).ded), 0, 0, 0, 0, 0, 0, 0 },
529  { 102, sizeof((table).cap), 0, 0, 0, 0, 0, 0, 0 },
530  { 105, sizeof((table).stg001), 0, 0, 0, 0, 0, 0, 0 },
531  { 105, sizeof((table).stg002), 0, 0, 0, 0, 0, 0, 0 },
532  { 105, sizeof((table).stg003), 0, 0, 0, 0, 0, 0, 0 },
533  { 105, sizeof((table).stg004), 0, 0, 0, 0, 0, 0, 0 },
534  { 105, sizeof((table).stg005), 0, 0, 0, 0, 0, 0, 0 },
535  { 105, sizeof((table).stg006), 0, 0, 0, 0, 0, 0, 0 },
536  { 105, sizeof((table).stg007), 0, 0, 0, 0, 0, 0, 0 },
537  { 105, sizeof((table).stg008), 0, 0, 0, 0, 0, 0, 0 },
538  { 105, sizeof((table).stg009), 0, 0, 0, 0, 0, 0, 0 },
539  { 105, sizeof((table).stg010), 0, 0, 0, 0, 0, 0, 0 },
540  { 105, sizeof((table).stg011), 0, 0, 0, 0, 0, 0, 0 },
541  { 105, sizeof((table).stg012), 0, 0, 0, 0, 0, 0, 0 },
542  { 105, sizeof((table).stg013), 0, 0, 0, 0, 0, 0, 0 },
543  { 105, sizeof((table).stg014), 0, 0, 0, 0, 0, 0, 0 },
544  { 105, sizeof((table).stg015), 0, 0, 0, 0, 0, 0, 0 },
545  { 105, sizeof((table).stg016), 0, 0, 0, 0, 0, 0, 0 },
546  { 105, sizeof((table).stg017), 0, 0, 0, 0, 0, 0, 0 },
547  { 105, sizeof((table).stg018), 0, 0, 0, 0, 0, 0, 0 },
548  { 105, sizeof((table).stg019), 0, 0, 0, 0, 0, 0, 0 },
549  { 105, sizeof((table).stg020), 0, 0, 0, 0, 0, 0, 0 },
550  { 105, sizeof((table).stg021), 0, 0, 0, 0, 0, 0, 0 },
551  { 105, sizeof((table).stg022), 0, 0, 0, 0, 0, 0, 0 },
552  { 105, sizeof((table).stg023), 0, 0, 0, 0, 0, 0, 0 },
553  { 105, sizeof((table).stg024), 0, 0, 0, 0, 0, 0, 0 },
554  { 105, sizeof((table).stg025), 0, 0, 0, 0, 0, 0, 0 },
555  { 105, sizeof((table).stg026), 0, 0, 0, 0, 0, 0, 0 },
556  { 105, sizeof((table).stg027), 0, 0, 0, 0, 0, 0, 0 },
557  { 105, sizeof((table).stg028), 0, 0, 0, 0, 0, 0, 0 },
558  { 105, sizeof((table).stg029), 0, 0, 0, 0, 0, 0, 0 },
559  { 105, sizeof((table).stg030), 0, 0, 0, 0, 0, 0, 0 },
560  { 105, sizeof((table).stg031), 0, 0, 0, 0, 0, 0, 0 },
561  { 105, sizeof((table).stg032), 0, 0, 0, 0, 0, 0, 0 },
562  { 105, sizeof((table).stg033), 0, 0, 0, 0, 0, 0, 0 },
563  { 105, sizeof((table).stg034), 0, 0, 0, 0, 0, 0, 0 },
564  { 105, sizeof((table).stg035), 0, 0, 0, 0, 0, 0, 0 },
565  { 105, sizeof((table).stg036), 0, 0, 0, 0, 0, 0, 0 },
566  { 105, sizeof((table).stg037), 0, 0, 0, 0, 0, 0, 0 },
567  { 105, sizeof((table).stg038), 0, 0, 0, 0, 0, 0, 0 },
568  { 105, sizeof((table).stg039), 0, 0, 0, 0, 0, 0, 0 },
569  { 105, sizeof((table).stg040), 0, 0, 0, 0, 0, 0, 0 },
570  { 105, sizeof((table).stg041), 0, 0, 0, 0, 0, 0, 0 },
571  { 105, sizeof((table).stg042), 0, 0, 0, 0, 0, 0, 0 },
572  { 105, sizeof((table).stg043), 0, 0, 0, 0, 0, 0, 0 },
573  { 105, sizeof((table).stg044), 0, 0, 0, 0, 0, 0, 0 },
574  { 105, sizeof((table).stg045), 0, 0, 0, 0, 0, 0, 0 },
575  { 105, sizeof((table).stg046), 0, 0, 0, 0, 0, 0, 0 },
576  { 105, sizeof((table).stg047), 0, 0, 0, 0, 0, 0, 0 },
577  { 105, sizeof((table).stg048), 0, 0, 0, 0, 0, 0, 0 },
578  { 105, sizeof((table).stg049), 0, 0, 0, 0, 0, 0, 0 },
579  { 105, sizeof((table).stg050), 0, 0, 0, 0, 0, 0, 0 },
580  { 105, sizeof((table).stg051), 0, 0, 0, 0, 0, 0, 0 },
581  { 105, sizeof((table).stg052), 0, 0, 0, 0, 0, 0, 0 },
582  { 105, sizeof((table).stg053), 0, 0, 0, 0, 0, 0, 0 },
583  { 105, sizeof((table).stg054), 0, 0, 0, 0, 0, 0, 0 },
584  { 105, sizeof((table).stg055), 0, 0, 0, 0, 0, 0, 0 },
585  { 105, sizeof((table).stg056), 0, 0, 0, 0, 0, 0, 0 },
586  { 105, sizeof((table).stg057), 0, 0, 0, 0, 0, 0, 0 },
587  { 105, sizeof((table).stg058), 0, 0, 0, 0, 0, 0, 0 },
588  { 105, sizeof((table).stg059), 0, 0, 0, 0, 0, 0, 0 },
589  { 105, sizeof((table).stg060), 0, 0, 0, 0, 0, 0, 0 },
590  { 105, sizeof((table).stg061), 0, 0, 0, 0, 0, 0, 0 },
591  { 105, sizeof((table).stg062), 0, 0, 0, 0, 0, 0, 0 },
592  { 105, sizeof((table).stg063), 0, 0, 0, 0, 0, 0, 0 },
593  { 105, sizeof((table).stg064), 0, 0, 0, 0, 0, 0, 0 },
594  { 105, sizeof((table).stg065), 0, 0, 0, 0, 0, 0, 0 },
595  { 105, sizeof((table).stg066), 0, 0, 0, 0, 0, 0, 0 },
596  { 105, sizeof((table).stg067), 0, 0, 0, 0, 0, 0, 0 },
597  { 105, sizeof((table).stg068), 0, 0, 0, 0, 0, 0, 0 },
598  { 105, sizeof((table).stg069), 0, 0, 0, 0, 0, 0, 0 },
599  { 105, sizeof((table).stg070), 0, 0, 0, 0, 0, 0, 0 },
600  { 105, sizeof((table).stg071), 0, 0, 0, 0, 0, 0, 0 },
601  { 105, sizeof((table).stg072), 0, 0, 0, 0, 0, 0, 0 },
602  { 105, sizeof((table).stg073), 0, 0, 0, 0, 0, 0, 0 },
603  { 105, sizeof((table).stg074), 0, 0, 0, 0, 0, 0, 0 },
604  { 105, sizeof((table).stg075), 0, 0, 0, 0, 0, 0, 0 },
605  { 105, sizeof((table).stg076), 0, 0, 0, 0, 0, 0, 0 },
606  { 105, sizeof((table).stg077), 0, 0, 0, 0, 0, 0, 0 },
607  { 105, sizeof((table).stg078), 0, 0, 0, 0, 0, 0, 0 },
608  { 105, sizeof((table).stg079), 0, 0, 0, 0, 0, 0, 0 },
609  { 105, sizeof((table).stg080), 0, 0, 0, 0, 0, 0, 0 },
610  { 105, sizeof((table).stg081), 0, 0, 0, 0, 0, 0, 0 },
611  { 105, sizeof((table).stg082), 0, 0, 0, 0, 0, 0, 0 },
612  { 105, sizeof((table).stg083), 0, 0, 0, 0, 0, 0, 0 },
613  { 105, sizeof((table).stg084), 0, 0, 0, 0, 0, 0, 0 },
614  { 105, sizeof((table).stg085), 0, 0, 0, 0, 0, 0, 0 },
615  { 105, sizeof((table).stg086), 0, 0, 0, 0, 0, 0, 0 },
616  { 105, sizeof((table).stg087), 0, 0, 0, 0, 0, 0, 0 },
617  { 105, sizeof((table).stg088), 0, 0, 0, 0, 0, 0, 0 },
618  { 105, sizeof((table).stg089), 0, 0, 0, 0, 0, 0, 0 },
619  { 105, sizeof((table).stg090), 0, 0, 0, 0, 0, 0, 0 },
620  { 105, sizeof((table).stg091), 0, 0, 0, 0, 0, 0, 0 },
621  { 105, sizeof((table).stg092), 0, 0, 0, 0, 0, 0, 0 },
622  { 105, sizeof((table).stg093), 0, 0, 0, 0, 0, 0, 0 },
623  { 105, sizeof((table).stg094), 0, 0, 0, 0, 0, 0, 0 },
624  { 105, sizeof((table).stg095), 0, 0, 0, 0, 0, 0, 0 },
625  { 105, sizeof((table).stg096), 0, 0, 0, 0, 0, 0, 0 },
626  { 105, sizeof((table).stg097), 0, 0, 0, 0, 0, 0, 0 },
627  { 105, sizeof((table).stg098), 0, 0, 0, 0, 0, 0, 0 },
628  { 105, sizeof((table).stg099), 0, 0, 0, 0, 0, 0, 0 },
629  { 105, sizeof((table).stg100), 0, 0, 0, 0, 0, 0, 0 },
630  { 102, sizeof((table).q001), 0, 0, 0, 0, 0, 0, 0 },
631  { 102, sizeof((table).q002), 0, 0, 0, 0, 0, 0, 0 },
632  { 102, sizeof((table).q003), 0, 0, 0, 0, 0, 0, 0 },
633  { 102, sizeof((table).q004), 0, 0, 0, 0, 0, 0, 0 },
634  { 102, sizeof((table).q005), 0, 0, 0, 0, 0, 0, 0 },
635  { 102, sizeof((table).q006), 0, 0, 0, 0, 0, 0, 0 },
636  { 102, sizeof((table).q007), 0, 0, 0, 0, 0, 0, 0 },
637  { 102, sizeof((table).q008), 0, 0, 0, 0, 0, 0, 0 },
638  { 102, sizeof((table).q009), 0, 0, 0, 0, 0, 0, 0 },
639  { 102, sizeof((table).q010), 0, 0, 0, 0, 0, 0, 0 },
640  { 102, sizeof((table).q011), 0, 0, 0, 0, 0, 0, 0 },
641  { 102, sizeof((table).q012), 0, 0, 0, 0, 0, 0, 0 },
642  { 102, sizeof((table).q013), 0, 0, 0, 0, 0, 0, 0 },
643  { 102, sizeof((table).q014), 0, 0, 0, 0, 0, 0, 0 },
644  { 102, sizeof((table).q015), 0, 0, 0, 0, 0, 0, 0 },
645  { 102, sizeof((table).q016), 0, 0, 0, 0, 0, 0, 0 },
646  { 102, sizeof((table).q017), 0, 0, 0, 0, 0, 0, 0 },
647  { 102, sizeof((table).q018), 0, 0, 0, 0, 0, 0, 0 },
648  { 102, sizeof((table).q019), 0, 0, 0, 0, 0, 0, 0 },
649  { 102, sizeof((table).q020), 0, 0, 0, 0, 0, 0, 0 },
650  { 102, sizeof((table).q021), 0, 0, 0, 0, 0, 0, 0 },
651  { 102, sizeof((table).q022), 0, 0, 0, 0, 0, 0, 0 },
652  { 102, sizeof((table).q023), 0, 0, 0, 0, 0, 0, 0 },
653  { 102, sizeof((table).q024), 0, 0, 0, 0, 0, 0, 0 },
654  { 102, sizeof((table).q025), 0, 0, 0, 0, 0, 0, 0 },
655  { 102, sizeof((table).q026), 0, 0, 0, 0, 0, 0, 0 },
656  { 102, sizeof((table).q027), 0, 0, 0, 0, 0, 0, 0 },
657  { 102, sizeof((table).q028), 0, 0, 0, 0, 0, 0, 0 },
658  { 102, sizeof((table).q029), 0, 0, 0, 0, 0, 0, 0 },
659  { 102, sizeof((table).q030), 0, 0, 0, 0, 0, 0, 0 },
660  { 102, sizeof((table).q031), 0, 0, 0, 0, 0, 0, 0 },
661  { 102, sizeof((table).q032), 0, 0, 0, 0, 0, 0, 0 },
662  { 102, sizeof((table).q033), 0, 0, 0, 0, 0, 0, 0 },
663  { 102, sizeof((table).q034), 0, 0, 0, 0, 0, 0, 0 },
664  { 102, sizeof((table).q035), 0, 0, 0, 0, 0, 0, 0 },
665  { 102, sizeof((table).q036), 0, 0, 0, 0, 0, 0, 0 },
666  { 102, sizeof((table).q037), 0, 0, 0, 0, 0, 0, 0 },
667  { 102, sizeof((table).q038), 0, 0, 0, 0, 0, 0, 0 },
668  { 102, sizeof((table).q039), 0, 0, 0, 0, 0, 0, 0 },
669  { 102, sizeof((table).q040), 0, 0, 0, 0, 0, 0, 0 },
670  { 102, sizeof((table).q041), 0, 0, 0, 0, 0, 0, 0 },
671  { 102, sizeof((table).q042), 0, 0, 0, 0, 0, 0, 0 },
672  { 102, sizeof((table).q043), 0, 0, 0, 0, 0, 0, 0 },
673  { 102, sizeof((table).q044), 0, 0, 0, 0, 0, 0, 0 },
674  { 102, sizeof((table).q045), 0, 0, 0, 0, 0, 0, 0 },
675  { 102, sizeof((table).q046), 0, 0, 0, 0, 0, 0, 0 },
676  { 102, sizeof((table).q047), 0, 0, 0, 0, 0, 0, 0 },
677  { 102, sizeof((table).q048), 0, 0, 0, 0, 0, 0, 0 },
678  { 102, sizeof((table).q049), 0, 0, 0, 0, 0, 0, 0 },
679  { 102, sizeof((table).q050), 0, 0, 0, 0, 0, 0, 0 },
680  { 102, sizeof((table).q051), 0, 0, 0, 0, 0, 0, 0 },
681  { 102, sizeof((table).q052), 0, 0, 0, 0, 0, 0, 0 },
682  { 102, sizeof((table).q053), 0, 0, 0, 0, 0, 0, 0 },
683  { 102, sizeof((table).q054), 0, 0, 0, 0, 0, 0, 0 },
684  { 102, sizeof((table).q055), 0, 0, 0, 0, 0, 0, 0 },
685  { 102, sizeof((table).q056), 0, 0, 0, 0, 0, 0, 0 },
686  { 102, sizeof((table).q057), 0, 0, 0, 0, 0, 0, 0 },
687  { 102, sizeof((table).q058), 0, 0, 0, 0, 0, 0, 0 },
688  { 102, sizeof((table).q059), 0, 0, 0, 0, 0, 0, 0 },
689  { 102, sizeof((table).q060), 0, 0, 0, 0, 0, 0, 0 },
690  { 102, sizeof((table).q061), 0, 0, 0, 0, 0, 0, 0 },
691  { 102, sizeof((table).q062), 0, 0, 0, 0, 0, 0, 0 },
692  { 102, sizeof((table).q063), 0, 0, 0, 0, 0, 0, 0 },
693  { 102, sizeof((table).q064), 0, 0, 0, 0, 0, 0, 0 },
694  { 102, sizeof((table).q065), 0, 0, 0, 0, 0, 0, 0 },
695  { 102, sizeof((table).q066), 0, 0, 0, 0, 0, 0, 0 },
696  { 102, sizeof((table).q067), 0, 0, 0, 0, 0, 0, 0 },
697  { 102, sizeof((table).q068), 0, 0, 0, 0, 0, 0, 0 },
698  { 102, sizeof((table).q069), 0, 0, 0, 0, 0, 0, 0 },
699  { 102, sizeof((table).q070), 0, 0, 0, 0, 0, 0, 0 },
700  { 102, sizeof((table).q071), 0, 0, 0, 0, 0, 0, 0 },
701  { 102, sizeof((table).q072), 0, 0, 0, 0, 0, 0, 0 },
702  { 102, sizeof((table).q073), 0, 0, 0, 0, 0, 0, 0 },
703  { 102, sizeof((table).q074), 0, 0, 0, 0, 0, 0, 0 },
704  { 102, sizeof((table).q075), 0, 0, 0, 0, 0, 0, 0 },
705  { 102, sizeof((table).q076), 0, 0, 0, 0, 0, 0, 0 },
706  { 102, sizeof((table).q077), 0, 0, 0, 0, 0, 0, 0 },
707  { 102, sizeof((table).q078), 0, 0, 0, 0, 0, 0, 0 },
708  { 102, sizeof((table).q079), 0, 0, 0, 0, 0, 0, 0 },
709  { 102, sizeof((table).q080), 0, 0, 0, 0, 0, 0, 0 },
710  { 102, sizeof((table).q081), 0, 0, 0, 0, 0, 0, 0 },
711  { 102, sizeof((table).q082), 0, 0, 0, 0, 0, 0, 0 },
712  { 102, sizeof((table).q083), 0, 0, 0, 0, 0, 0, 0 },
713  { 102, sizeof((table).q084), 0, 0, 0, 0, 0, 0, 0 },
714  { 102, sizeof((table).q085), 0, 0, 0, 0, 0, 0, 0 },
715  { 102, sizeof((table).q086), 0, 0, 0, 0, 0, 0, 0 },
716  { 102, sizeof((table).q087), 0, 0, 0, 0, 0, 0, 0 },
717  { 102, sizeof((table).q088), 0, 0, 0, 0, 0, 0, 0 },
718  { 102, sizeof((table).q089), 0, 0, 0, 0, 0, 0, 0 },
719  { 102, sizeof((table).q090), 0, 0, 0, 0, 0, 0, 0 },
720  { 102, sizeof((table).q091), 0, 0, 0, 0, 0, 0, 0 },
721  { 102, sizeof((table).q092), 0, 0, 0, 0, 0, 0, 0 },
722  { 102, sizeof((table).q093), 0, 0, 0, 0, 0, 0, 0 },
723  { 102, sizeof((table).q094), 0, 0, 0, 0, 0, 0, 0 },
724  { 102, sizeof((table).q095), 0, 0, 0, 0, 0, 0, 0 },
725  { 102, sizeof((table).q096), 0, 0, 0, 0, 0, 0, 0 },
726  { 102, sizeof((table).q097), 0, 0, 0, 0, 0, 0, 0 },
727  { 102, sizeof((table).q098), 0, 0, 0, 0, 0, 0, 0 },
728  { 102, sizeof((table).q099), 0, 0, 0, 0, 0, 0, 0 },
729  { 102, sizeof((table).q100), 0, 0, 0, 0, 0, 0, 0 },
730 #line 310 "rateint.ec"
731  };
732  static struct sqlda _SD0 = { 216, _sqobind, 0, 216, 0 };
733  static _FetchSpec _FS1 = { 0, 1, 0 };
734 #line 310 "rateint.ec"
735  _sqobind[0].sqldata = (table).id;
736 #line 310 "rateint.ec"
737  _sqobind[1].sqldata = (char *) &(table).tbl;
738 #line 310 "rateint.ec"
739  _sqobind[2].sqldata = (char *) &(table).valid_date;
740 #line 310 "rateint.ec"
741  _sqobind[3].sqldata = (char *) &(table).gs;
742 #line 310 "rateint.ec"
743  _sqobind[4].sqldata = (char *) &(table).src;
744 #line 310 "rateint.ec"
745  _sqobind[5].sqldata = (char *) &(table).fix;
746 #line 310 "rateint.ec"
747  _sqobind[6].sqldata = (char *) &(table).datacol;
748 #line 310 "rateint.ec"
749  _sqobind[7].sqldata = (char *) &(table).ver5;
750 #line 310 "rateint.ec"
751  _sqobind[8].sqldata = (char *) &(table).fld;
752 #line 310 "rateint.ec"
753  _sqobind[9].sqldata = (char *) &(table).wrn;
754 #line 310 "rateint.ec"
755  _sqobind[10].sqldata = (char *) &(table).hist_stg;
756 #line 310 "rateint.ec"
757  _sqobind[11].sqldata = (char *) &(table).hist_q;
758 #line 310 "rateint.ec"
759  _sqobind[12].sqldata = (char *) &(table).hist_date;
760 #line 310 "rateint.ec"
761  _sqobind[13].sqldata = (char *) &(table).spil;
762 #line 310 "rateint.ec"
763  _sqobind[14].sqldata = (char *) &(table).ded;
764 #line 310 "rateint.ec"
765  _sqobind[15].sqldata = (char *) &(table).cap;
766 #line 310 "rateint.ec"
767  _sqobind[16].sqldata = (char *) &(table).stg001;
768 #line 310 "rateint.ec"
769  _sqobind[17].sqldata = (char *) &(table).stg002;
770 #line 310 "rateint.ec"
771  _sqobind[18].sqldata = (char *) &(table).stg003;
772 #line 310 "rateint.ec"
773  _sqobind[19].sqldata = (char *) &(table).stg004;
774 #line 310 "rateint.ec"
775  _sqobind[20].sqldata = (char *) &(table).stg005;
776 #line 310 "rateint.ec"
777  _sqobind[21].sqldata = (char *) &(table).stg006;
778 #line 310 "rateint.ec"
779  _sqobind[22].sqldata = (char *) &(table).stg007;
780 #line 310 "rateint.ec"
781  _sqobind[23].sqldata = (char *) &(table).stg008;
782 #line 310 "rateint.ec"
783  _sqobind[24].sqldata = (char *) &(table).stg009;
784 #line 310 "rateint.ec"
785  _sqobind[25].sqldata = (char *) &(table).stg010;
786 #line 310 "rateint.ec"
787  _sqobind[26].sqldata = (char *) &(table).stg011;
788 #line 310 "rateint.ec"
789  _sqobind[27].sqldata = (char *) &(table).stg012;
790 #line 310 "rateint.ec"
791  _sqobind[28].sqldata = (char *) &(table).stg013;
792 #line 310 "rateint.ec"
793  _sqobind[29].sqldata = (char *) &(table).stg014;
794 #line 310 "rateint.ec"
795  _sqobind[30].sqldata = (char *) &(table).stg015;
796 #line 310 "rateint.ec"
797  _sqobind[31].sqldata = (char *) &(table).stg016;
798 #line 310 "rateint.ec"
799  _sqobind[32].sqldata = (char *) &(table).stg017;
800 #line 310 "rateint.ec"
801  _sqobind[33].sqldata = (char *) &(table).stg018;
802 #line 310 "rateint.ec"
803  _sqobind[34].sqldata = (char *) &(table).stg019;
804 #line 310 "rateint.ec"
805  _sqobind[35].sqldata = (char *) &(table).stg020;
806 #line 310 "rateint.ec"
807  _sqobind[36].sqldata = (char *) &(table).stg021;
808 #line 310 "rateint.ec"
809  _sqobind[37].sqldata = (char *) &(table).stg022;
810 #line 310 "rateint.ec"
811  _sqobind[38].sqldata = (char *) &(table).stg023;
812 #line 310 "rateint.ec"
813  _sqobind[39].sqldata = (char *) &(table).stg024;
814 #line 310 "rateint.ec"
815  _sqobind[40].sqldata = (char *) &(table).stg025;
816 #line 310 "rateint.ec"
817  _sqobind[41].sqldata = (char *) &(table).stg026;
818 #line 310 "rateint.ec"
819  _sqobind[42].sqldata = (char *) &(table).stg027;
820 #line 310 "rateint.ec"
821  _sqobind[43].sqldata = (char *) &(table).stg028;
822 #line 310 "rateint.ec"
823  _sqobind[44].sqldata = (char *) &(table).stg029;
824 #line 310 "rateint.ec"
825  _sqobind[45].sqldata = (char *) &(table).stg030;
826 #line 310 "rateint.ec"
827  _sqobind[46].sqldata = (char *) &(table).stg031;
828 #line 310 "rateint.ec"
829  _sqobind[47].sqldata = (char *) &(table).stg032;
830 #line 310 "rateint.ec"
831  _sqobind[48].sqldata = (char *) &(table).stg033;
832 #line 310 "rateint.ec"
833  _sqobind[49].sqldata = (char *) &(table).stg034;
834 #line 310 "rateint.ec"
835  _sqobind[50].sqldata = (char *) &(table).stg035;
836 #line 310 "rateint.ec"
837  _sqobind[51].sqldata = (char *) &(table).stg036;
838 #line 310 "rateint.ec"
839  _sqobind[52].sqldata = (char *) &(table).stg037;
840 #line 310 "rateint.ec"
841  _sqobind[53].sqldata = (char *) &(table).stg038;
842 #line 310 "rateint.ec"
843  _sqobind[54].sqldata = (char *) &(table).stg039;
844 #line 310 "rateint.ec"
845  _sqobind[55].sqldata = (char *) &(table).stg040;
846 #line 310 "rateint.ec"
847  _sqobind[56].sqldata = (char *) &(table).stg041;
848 #line 310 "rateint.ec"
849  _sqobind[57].sqldata = (char *) &(table).stg042;
850 #line 310 "rateint.ec"
851  _sqobind[58].sqldata = (char *) &(table).stg043;
852 #line 310 "rateint.ec"
853  _sqobind[59].sqldata = (char *) &(table).stg044;
854 #line 310 "rateint.ec"
855  _sqobind[60].sqldata = (char *) &(table).stg045;
856 #line 310 "rateint.ec"
857  _sqobind[61].sqldata = (char *) &(table).stg046;
858 #line 310 "rateint.ec"
859  _sqobind[62].sqldata = (char *) &(table).stg047;
860 #line 310 "rateint.ec"
861  _sqobind[63].sqldata = (char *) &(table).stg048;
862 #line 310 "rateint.ec"
863  _sqobind[64].sqldata = (char *) &(table).stg049;
864 #line 310 "rateint.ec"
865  _sqobind[65].sqldata = (char *) &(table).stg050;
866 #line 310 "rateint.ec"
867  _sqobind[66].sqldata = (char *) &(table).stg051;
868 #line 310 "rateint.ec"
869  _sqobind[67].sqldata = (char *) &(table).stg052;
870 #line 310 "rateint.ec"
871  _sqobind[68].sqldata = (char *) &(table).stg053;
872 #line 310 "rateint.ec"
873  _sqobind[69].sqldata = (char *) &(table).stg054;
874 #line 310 "rateint.ec"
875  _sqobind[70].sqldata = (char *) &(table).stg055;
876 #line 310 "rateint.ec"
877  _sqobind[71].sqldata = (char *) &(table).stg056;
878 #line 310 "rateint.ec"
879  _sqobind[72].sqldata = (char *) &(table).stg057;
880 #line 310 "rateint.ec"
881  _sqobind[73].sqldata = (char *) &(table).stg058;
882 #line 310 "rateint.ec"
883  _sqobind[74].sqldata = (char *) &(table).stg059;
884 #line 310 "rateint.ec"
885  _sqobind[75].sqldata = (char *) &(table).stg060;
886 #line 310 "rateint.ec"
887  _sqobind[76].sqldata = (char *) &(table).stg061;
888 #line 310 "rateint.ec"
889  _sqobind[77].sqldata = (char *) &(table).stg062;
890 #line 310 "rateint.ec"
891  _sqobind[78].sqldata = (char *) &(table).stg063;
892 #line 310 "rateint.ec"
893  _sqobind[79].sqldata = (char *) &(table).stg064;
894 #line 310 "rateint.ec"
895  _sqobind[80].sqldata = (char *) &(table).stg065;
896 #line 310 "rateint.ec"
897  _sqobind[81].sqldata = (char *) &(table).stg066;
898 #line 310 "rateint.ec"
899  _sqobind[82].sqldata = (char *) &(table).stg067;
900 #line 310 "rateint.ec"
901  _sqobind[83].sqldata = (char *) &(table).stg068;
902 #line 310 "rateint.ec"
903  _sqobind[84].sqldata = (char *) &(table).stg069;
904 #line 310 "rateint.ec"
905  _sqobind[85].sqldata = (char *) &(table).stg070;
906 #line 310 "rateint.ec"
907  _sqobind[86].sqldata = (char *) &(table).stg071;
908 #line 310 "rateint.ec"
909  _sqobind[87].sqldata = (char *) &(table).stg072;
910 #line 310 "rateint.ec"
911  _sqobind[88].sqldata = (char *) &(table).stg073;
912 #line 310 "rateint.ec"
913  _sqobind[89].sqldata = (char *) &(table).stg074;
914 #line 310 "rateint.ec"
915  _sqobind[90].sqldata = (char *) &(table).stg075;
916 #line 310 "rateint.ec"
917  _sqobind[91].sqldata = (char *) &(table).stg076;
918 #line 310 "rateint.ec"
919  _sqobind[92].sqldata = (char *) &(table).stg077;
920 #line 310 "rateint.ec"
921  _sqobind[93].sqldata = (char *) &(table).stg078;
922 #line 310 "rateint.ec"
923  _sqobind[94].sqldata = (char *) &(table).stg079;
924 #line 310 "rateint.ec"
925  _sqobind[95].sqldata = (char *) &(table).stg080;
926 #line 310 "rateint.ec"
927  _sqobind[96].sqldata = (char *) &(table).stg081;
928 #line 310 "rateint.ec"
929  _sqobind[97].sqldata = (char *) &(table).stg082;
930 #line 310 "rateint.ec"
931  _sqobind[98].sqldata = (char *) &(table).stg083;
932 #line 310 "rateint.ec"
933  _sqobind[99].sqldata = (char *) &(table).stg084;
934 #line 310 "rateint.ec"
935  _sqobind[100].sqldata = (char *) &(table).stg085;
936 #line 310 "rateint.ec"
937  _sqobind[101].sqldata = (char *) &(table).stg086;
938 #line 310 "rateint.ec"
939  _sqobind[102].sqldata = (char *) &(table).stg087;
940 #line 310 "rateint.ec"
941  _sqobind[103].sqldata = (char *) &(table).stg088;
942 #line 310 "rateint.ec"
943  _sqobind[104].sqldata = (char *) &(table).stg089;
944 #line 310 "rateint.ec"
945  _sqobind[105].sqldata = (char *) &(table).stg090;
946 #line 310 "rateint.ec"
947  _sqobind[106].sqldata = (char *) &(table).stg091;
948 #line 310 "rateint.ec"
949  _sqobind[107].sqldata = (char *) &(table).stg092;
950 #line 310 "rateint.ec"
951  _sqobind[108].sqldata = (char *) &(table).stg093;
952 #line 310 "rateint.ec"
953  _sqobind[109].sqldata = (char *) &(table).stg094;
954 #line 310 "rateint.ec"
955  _sqobind[110].sqldata = (char *) &(table).stg095;
956 #line 310 "rateint.ec"
957  _sqobind[111].sqldata = (char *) &(table).stg096;
958 #line 310 "rateint.ec"
959  _sqobind[112].sqldata = (char *) &(table).stg097;
960 #line 310 "rateint.ec"
961  _sqobind[113].sqldata = (char *) &(table).stg098;
962 #line 310 "rateint.ec"
963  _sqobind[114].sqldata = (char *) &(table).stg099;
964 #line 310 "rateint.ec"
965  _sqobind[115].sqldata = (char *) &(table).stg100;
966 #line 310 "rateint.ec"
967  _sqobind[116].sqldata = (char *) &(table).q001;
968 #line 310 "rateint.ec"
969  _sqobind[117].sqldata = (char *) &(table).q002;
970 #line 310 "rateint.ec"
971  _sqobind[118].sqldata = (char *) &(table).q003;
972 #line 310 "rateint.ec"
973  _sqobind[119].sqldata = (char *) &(table).q004;
974 #line 310 "rateint.ec"
975  _sqobind[120].sqldata = (char *) &(table).q005;
976 #line 310 "rateint.ec"
977  _sqobind[121].sqldata = (char *) &(table).q006;
978 #line 310 "rateint.ec"
979  _sqobind[122].sqldata = (char *) &(table).q007;
980 #line 310 "rateint.ec"
981  _sqobind[123].sqldata = (char *) &(table).q008;
982 #line 310 "rateint.ec"
983  _sqobind[124].sqldata = (char *) &(table).q009;
984 #line 310 "rateint.ec"
985  _sqobind[125].sqldata = (char *) &(table).q010;
986 #line 310 "rateint.ec"
987  _sqobind[126].sqldata = (char *) &(table).q011;
988 #line 310 "rateint.ec"
989  _sqobind[127].sqldata = (char *) &(table).q012;
990 #line 310 "rateint.ec"
991  _sqobind[128].sqldata = (char *) &(table).q013;
992 #line 310 "rateint.ec"
993  _sqobind[129].sqldata = (char *) &(table).q014;
994 #line 310 "rateint.ec"
995  _sqobind[130].sqldata = (char *) &(table).q015;
996 #line 310 "rateint.ec"
997  _sqobind[131].sqldata = (char *) &(table).q016;
998 #line 310 "rateint.ec"
999  _sqobind[132].sqldata = (char *) &(table).q017;
1000 #line 310 "rateint.ec"
1001  _sqobind[133].sqldata = (char *) &(table).q018;
1002 #line 310 "rateint.ec"
1003  _sqobind[134].sqldata = (char *) &(table).q019;
1004 #line 310 "rateint.ec"
1005  _sqobind[135].sqldata = (char *) &(table).q020;
1006 #line 310 "rateint.ec"
1007  _sqobind[136].sqldata = (char *) &(table).q021;
1008 #line 310 "rateint.ec"
1009  _sqobind[137].sqldata = (char *) &(table).q022;
1010 #line 310 "rateint.ec"
1011  _sqobind[138].sqldata = (char *) &(table).q023;
1012 #line 310 "rateint.ec"
1013  _sqobind[139].sqldata = (char *) &(table).q024;
1014 #line 310 "rateint.ec"
1015  _sqobind[140].sqldata = (char *) &(table).q025;
1016 #line 310 "rateint.ec"
1017  _sqobind[141].sqldata = (char *) &(table).q026;
1018 #line 310 "rateint.ec"
1019  _sqobind[142].sqldata = (char *) &(table).q027;
1020 #line 310 "rateint.ec"
1021  _sqobind[143].sqldata = (char *) &(table).q028;
1022 #line 310 "rateint.ec"
1023  _sqobind[144].sqldata = (char *) &(table).q029;
1024 #line 310 "rateint.ec"
1025  _sqobind[145].sqldata = (char *) &(table).q030;
1026 #line 310 "rateint.ec"
1027  _sqobind[146].sqldata = (char *) &(table).q031;
1028 #line 310 "rateint.ec"
1029  _sqobind[147].sqldata = (char *) &(table).q032;
1030 #line 310 "rateint.ec"
1031  _sqobind[148].sqldata = (char *) &(table).q033;
1032 #line 310 "rateint.ec"
1033  _sqobind[149].sqldata = (char *) &(table).q034;
1034 #line 310 "rateint.ec"
1035  _sqobind[150].sqldata = (char *) &(table).q035;
1036 #line 310 "rateint.ec"
1037  _sqobind[151].sqldata = (char *) &(table).q036;
1038 #line 310 "rateint.ec"
1039  _sqobind[152].sqldata = (char *) &(table).q037;
1040 #line 310 "rateint.ec"
1041  _sqobind[153].sqldata = (char *) &(table).q038;
1042 #line 310 "rateint.ec"
1043  _sqobind[154].sqldata = (char *) &(table).q039;
1044 #line 310 "rateint.ec"
1045  _sqobind[155].sqldata = (char *) &(table).q040;
1046 #line 310 "rateint.ec"
1047  _sqobind[156].sqldata = (char *) &(table).q041;
1048 #line 310 "rateint.ec"
1049  _sqobind[157].sqldata = (char *) &(table).q042;
1050 #line 310 "rateint.ec"
1051  _sqobind[158].sqldata = (char *) &(table).q043;
1052 #line 310 "rateint.ec"
1053  _sqobind[159].sqldata = (char *) &(table).q044;
1054 #line 310 "rateint.ec"
1055  _sqobind[160].sqldata = (char *) &(table).q045;
1056 #line 310 "rateint.ec"
1057  _sqobind[161].sqldata = (char *) &(table).q046;
1058 #line 310 "rateint.ec"
1059  _sqobind[162].sqldata = (char *) &(table).q047;
1060 #line 310 "rateint.ec"
1061  _sqobind[163].sqldata = (char *) &(table).q048;
1062 #line 310 "rateint.ec"
1063  _sqobind[164].sqldata = (char *) &(table).q049;
1064 #line 310 "rateint.ec"
1065  _sqobind[165].sqldata = (char *) &(table).q050;
1066 #line 310 "rateint.ec"
1067  _sqobind[166].sqldata = (char *) &(table).q051;
1068 #line 310 "rateint.ec"
1069  _sqobind[167].sqldata = (char *) &(table).q052;
1070 #line 310 "rateint.ec"
1071  _sqobind[168].sqldata = (char *) &(table).q053;
1072 #line 310 "rateint.ec"
1073  _sqobind[169].sqldata = (char *) &(table).q054;
1074 #line 310 "rateint.ec"
1075  _sqobind[170].sqldata = (char *) &(table).q055;
1076 #line 310 "rateint.ec"
1077  _sqobind[171].sqldata = (char *) &(table).q056;
1078 #line 310 "rateint.ec"
1079  _sqobind[172].sqldata = (char *) &(table).q057;
1080 #line 310 "rateint.ec"
1081  _sqobind[173].sqldata = (char *) &(table).q058;
1082 #line 310 "rateint.ec"
1083  _sqobind[174].sqldata = (char *) &(table).q059;
1084 #line 310 "rateint.ec"
1085  _sqobind[175].sqldata = (char *) &(table).q060;
1086 #line 310 "rateint.ec"
1087  _sqobind[176].sqldata = (char *) &(table).q061;
1088 #line 310 "rateint.ec"
1089  _sqobind[177].sqldata = (char *) &(table).q062;
1090 #line 310 "rateint.ec"
1091  _sqobind[178].sqldata = (char *) &(table).q063;
1092 #line 310 "rateint.ec"
1093  _sqobind[179].sqldata = (char *) &(table).q064;
1094 #line 310 "rateint.ec"
1095  _sqobind[180].sqldata = (char *) &(table).q065;
1096 #line 310 "rateint.ec"
1097  _sqobind[181].sqldata = (char *) &(table).q066;
1098 #line 310 "rateint.ec"
1099  _sqobind[182].sqldata = (char *) &(table).q067;
1100 #line 310 "rateint.ec"
1101  _sqobind[183].sqldata = (char *) &(table).q068;
1102 #line 310 "rateint.ec"
1103  _sqobind[184].sqldata = (char *) &(table).q069;
1104 #line 310 "rateint.ec"
1105  _sqobind[185].sqldata = (char *) &(table).q070;
1106 #line 310 "rateint.ec"
1107  _sqobind[186].sqldata = (char *) &(table).q071;
1108 #line 310 "rateint.ec"
1109  _sqobind[187].sqldata = (char *) &(table).q072;
1110 #line 310 "rateint.ec"
1111  _sqobind[188].sqldata = (char *) &(table).q073;
1112 #line 310 "rateint.ec"
1113  _sqobind[189].sqldata = (char *) &(table).q074;
1114 #line 310 "rateint.ec"
1115  _sqobind[190].sqldata = (char *) &(table).q075;
1116 #line 310 "rateint.ec"
1117  _sqobind[191].sqldata = (char *) &(table).q076;
1118 #line 310 "rateint.ec"
1119  _sqobind[192].sqldata = (char *) &(table).q077;
1120 #line 310 "rateint.ec"
1121  _sqobind[193].sqldata = (char *) &(table).q078;
1122 #line 310 "rateint.ec"
1123  _sqobind[194].sqldata = (char *) &(table).q079;
1124 #line 310 "rateint.ec"
1125  _sqobind[195].sqldata = (char *) &(table).q080;
1126 #line 310 "rateint.ec"
1127  _sqobind[196].sqldata = (char *) &(table).q081;
1128 #line 310 "rateint.ec"
1129  _sqobind[197].sqldata = (char *) &(table).q082;
1130 #line 310 "rateint.ec"
1131  _sqobind[198].sqldata = (char *) &(table).q083;
1132 #line 310 "rateint.ec"
1133  _sqobind[199].sqldata = (char *) &(table).q084;
1134 #line 310 "rateint.ec"
1135  _sqobind[200].sqldata = (char *) &(table).q085;
1136 #line 310 "rateint.ec"
1137  _sqobind[201].sqldata = (char *) &(table).q086;
1138 #line 310 "rateint.ec"
1139  _sqobind[202].sqldata = (char *) &(table).q087;
1140 #line 310 "rateint.ec"
1141  _sqobind[203].sqldata = (char *) &(table).q088;
1142 #line 310 "rateint.ec"
1143  _sqobind[204].sqldata = (char *) &(table).q089;
1144 #line 310 "rateint.ec"
1145  _sqobind[205].sqldata = (char *) &(table).q090;
1146 #line 310 "rateint.ec"
1147  _sqobind[206].sqldata = (char *) &(table).q091;
1148 #line 310 "rateint.ec"
1149  _sqobind[207].sqldata = (char *) &(table).q092;
1150 #line 310 "rateint.ec"
1151  _sqobind[208].sqldata = (char *) &(table).q093;
1152 #line 310 "rateint.ec"
1153  _sqobind[209].sqldata = (char *) &(table).q094;
1154 #line 310 "rateint.ec"
1155  _sqobind[210].sqldata = (char *) &(table).q095;
1156 #line 310 "rateint.ec"
1157  _sqobind[211].sqldata = (char *) &(table).q096;
1158 #line 310 "rateint.ec"
1159  _sqobind[212].sqldata = (char *) &(table).q097;
1160 #line 310 "rateint.ec"
1161  _sqobind[213].sqldata = (char *) &(table).q098;
1162 #line 310 "rateint.ec"
1163  _sqobind[214].sqldata = (char *) &(table).q099;
1164 #line 310 "rateint.ec"
1165  _sqobind[215].sqldata = (char *) &(table).q100;
1166 #line 310 "rateint.ec"
1167  if (!_SQ2) _SQ2 = _iqlocate_cursor(_Cn2, 0, 1, 0);
1168 #line 310 "rateint.ec"
1169  _iqcftch(_SQ2, (struct sqlda *)0, &_SD0, (char *)0, &_FS1);
1170 #line 310 "rateint.ec"
1171  }
1172 
1173 if(sqlca.sqlcode < 0)
1174  return(sqlca.sqlcode);
1175 
1176 if(sqlca.sqlcode == 100)
1177  return(-1);
1178 
1179 /*
1180  * EXEC SQL close ratecursor;
1181  */
1182 #line 318 "rateint.ec"
1183  {
1184 #line 318 "rateint.ec"
1185 #line 318 "rateint.ec"
1186  if (!_SQ2) _SQ2 = _iqlocate_cursor(_Cn2, 0, 1, 0);
1187 #line 318 "rateint.ec"
1188  _iqclose(_SQ2);
1189 #line 318 "rateint.ec"
1190  }
1191 
1192 rate_table.RatStg[0] = table.stg001;
1193 rate_table.RatStg[1] = table.stg002;
1194 rate_table.RatStg[2] = table.stg003;
1195 rate_table.RatStg[3] = table.stg004;
1196 rate_table.RatStg[4] = table.stg005;
1197 rate_table.RatStg[5] = table.stg006;
1198 rate_table.RatStg[6] = table.stg007;
1199 rate_table.RatStg[7] = table.stg008;
1200 rate_table.RatStg[8] = table.stg009;
1201 rate_table.RatStg[9] = table.stg010;
1202 rate_table.RatStg[10] = table.stg011;
1203 rate_table.RatStg[11] = table.stg012;
1204 rate_table.RatStg[12] = table.stg013;
1205 rate_table.RatStg[13] = table.stg014;
1206 rate_table.RatStg[14] = table.stg015;
1207 rate_table.RatStg[15] = table.stg016;
1208 rate_table.RatStg[16] = table.stg017;
1209 rate_table.RatStg[17] = table.stg018;
1210 rate_table.RatStg[18] = table.stg019;
1211 rate_table.RatStg[19] = table.stg020;
1212 rate_table.RatStg[20] = table.stg021;
1213 rate_table.RatStg[21] = table.stg022;
1214 rate_table.RatStg[22] = table.stg023;
1215 rate_table.RatStg[23] = table.stg024;
1216 rate_table.RatStg[24] = table.stg025;
1217 rate_table.RatStg[25] = table.stg026;
1218 rate_table.RatStg[26] = table.stg027;
1219 rate_table.RatStg[27] = table.stg028;
1220 rate_table.RatStg[28] = table.stg029;
1221 rate_table.RatStg[29] = table.stg030;
1222 rate_table.RatStg[30] = table.stg031;
1223 rate_table.RatStg[31] = table.stg032;
1224 rate_table.RatStg[32] = table.stg033;
1225 rate_table.RatStg[33] = table.stg034;
1226 rate_table.RatStg[34] = table.stg035;
1227 rate_table.RatStg[35] = table.stg036;
1228 rate_table.RatStg[36] = table.stg037;
1229 rate_table.RatStg[37] = table.stg038;
1230 rate_table.RatStg[38] = table.stg039;
1231 rate_table.RatStg[39] = table.stg040;
1232 rate_table.RatStg[40] = table.stg041;
1233 rate_table.RatStg[41] = table.stg042;
1234 rate_table.RatStg[42] = table.stg043;
1235 rate_table.RatStg[43] = table.stg044;
1236 rate_table.RatStg[44] = table.stg045;
1237 rate_table.RatStg[45] = table.stg046;
1238 rate_table.RatStg[46] = table.stg047;
1239 rate_table.RatStg[47] = table.stg048;
1240 rate_table.RatStg[48] = table.stg049;
1241 rate_table.RatStg[49] = table.stg050;
1242 rate_table.RatStg[50] = table.stg051;
1243 rate_table.RatStg[51] = table.stg052;
1244 rate_table.RatStg[52] = table.stg053;
1245 rate_table.RatStg[53] = table.stg054;
1246 rate_table.RatStg[54] = table.stg055;
1247 rate_table.RatStg[55] = table.stg056;
1248 rate_table.RatStg[56] = table.stg057;
1249 rate_table.RatStg[57] = table.stg058;
1250 rate_table.RatStg[58] = table.stg059;
1251 rate_table.RatStg[59] = table.stg060;
1252 rate_table.RatStg[60] = table.stg061;
1253 rate_table.RatStg[61] = table.stg062;
1254 rate_table.RatStg[62] = table.stg063;
1255 rate_table.RatStg[63] = table.stg064;
1256 rate_table.RatStg[64] = table.stg065;
1257 rate_table.RatStg[65] = table.stg066;
1258 rate_table.RatStg[66] = table.stg067;
1259 rate_table.RatStg[67] = table.stg068;
1260 rate_table.RatStg[68] = table.stg069;
1261 rate_table.RatStg[69] = table.stg070;
1262 rate_table.RatStg[70] = table.stg071;
1263 rate_table.RatStg[71] = table.stg072;
1264 rate_table.RatStg[72] = table.stg073;
1265 rate_table.RatStg[73] = table.stg074;
1266 rate_table.RatStg[74] = table.stg075;
1267 rate_table.RatStg[75] = table.stg076;
1268 rate_table.RatStg[76] = table.stg077;
1269 rate_table.RatStg[77] = table.stg078;
1270 rate_table.RatStg[78] = table.stg079;
1271 rate_table.RatStg[79] = table.stg080;
1272 rate_table.RatStg[80] = table.stg081;
1273 rate_table.RatStg[81] = table.stg082;
1274 rate_table.RatStg[82] = table.stg083;
1275 rate_table.RatStg[83] = table.stg084;
1276 rate_table.RatStg[84] = table.stg085;
1277 rate_table.RatStg[85] = table.stg086;
1278 rate_table.RatStg[86] = table.stg087;
1279 rate_table.RatStg[87] = table.stg088;
1280 rate_table.RatStg[88] = table.stg089;
1281 rate_table.RatStg[89] = table.stg090;
1282 rate_table.RatStg[90] = table.stg091;
1283 rate_table.RatStg[91] = table.stg092;
1284 rate_table.RatStg[92] = table.stg093;
1285 rate_table.RatStg[93] = table.stg094;
1286 rate_table.RatStg[94] = table.stg095;
1287 rate_table.RatStg[95] = table.stg096;
1288 rate_table.RatStg[96] = table.stg097;
1289 rate_table.RatStg[97] = table.stg098;
1290 rate_table.RatStg[98] = table.stg099;
1291 rate_table.RatStg[99] = table.stg100;
1292 
1293 rate_table.RatQ[0] = table.q001;
1294 rate_table.RatQ[1] = table.q002;
1295 rate_table.RatQ[2] = table.q003;
1296 rate_table.RatQ[3] = table.q004;
1297 rate_table.RatQ[4] = table.q005;
1298 rate_table.RatQ[5] = table.q006;
1299 rate_table.RatQ[6] = table.q007;
1300 rate_table.RatQ[7] = table.q008;
1301 rate_table.RatQ[8] = table.q009;
1302 rate_table.RatQ[9] = table.q010;
1303 rate_table.RatQ[10] = table.q011;
1304 rate_table.RatQ[11] = table.q012;
1305 rate_table.RatQ[12] = table.q013;
1306 rate_table.RatQ[13] = table.q014;
1307 rate_table.RatQ[14] = table.q015;
1308 rate_table.RatQ[15] = table.q016;
1309 rate_table.RatQ[16] = table.q017;
1310 rate_table.RatQ[17] = table.q018;
1311 rate_table.RatQ[18] = table.q019;
1312 rate_table.RatQ[19] = table.q020;
1313 rate_table.RatQ[20] = table.q021;
1314 rate_table.RatQ[21] = table.q022;
1315 rate_table.RatQ[22] = table.q023;
1316 rate_table.RatQ[23] = table.q024;
1317 rate_table.RatQ[24] = table.q025;
1318 rate_table.RatQ[25] = table.q026;
1319 rate_table.RatQ[26] = table.q027;
1320 rate_table.RatQ[27] = table.q028;
1321 rate_table.RatQ[28] = table.q029;
1322 rate_table.RatQ[29] = table.q030;
1323 rate_table.RatQ[30] = table.q031;
1324 rate_table.RatQ[31] = table.q032;
1325 rate_table.RatQ[32] = table.q033;
1326 rate_table.RatQ[33] = table.q034;
1327 rate_table.RatQ[34] = table.q035;
1328 rate_table.RatQ[35] = table.q036;
1329 rate_table.RatQ[36] = table.q037;
1330 rate_table.RatQ[37] = table.q038;
1331 rate_table.RatQ[38] = table.q039;
1332 rate_table.RatQ[39] = table.q040;
1333 rate_table.RatQ[40] = table.q041;
1334 rate_table.RatQ[41] = table.q042;
1335 rate_table.RatQ[42] = table.q043;
1336 rate_table.RatQ[43] = table.q044;
1337 rate_table.RatQ[44] = table.q045;
1338 rate_table.RatQ[45] = table.q046;
1339 rate_table.RatQ[46] = table.q047;
1340 rate_table.RatQ[47] = table.q048;
1341 rate_table.RatQ[48] = table.q049;
1342 rate_table.RatQ[49] = table.q050;
1343 rate_table.RatQ[50] = table.q051;
1344 rate_table.RatQ[51] = table.q052;
1345 rate_table.RatQ[52] = table.q053;
1346 rate_table.RatQ[53] = table.q054;
1347 rate_table.RatQ[54] = table.q055;
1348 rate_table.RatQ[55] = table.q056;
1349 rate_table.RatQ[56] = table.q057;
1350 rate_table.RatQ[57] = table.q058;
1351 rate_table.RatQ[58] = table.q059;
1352 rate_table.RatQ[59] = table.q060;
1353 rate_table.RatQ[60] = table.q061;
1354 rate_table.RatQ[61] = table.q062;
1355 rate_table.RatQ[62] = table.q063;
1356 rate_table.RatQ[63] = table.q064;
1357 rate_table.RatQ[64] = table.q065;
1358 rate_table.RatQ[65] = table.q066;
1359 rate_table.RatQ[66] = table.q067;
1360 rate_table.RatQ[67] = table.q068;
1361 rate_table.RatQ[68] = table.q069;
1362 rate_table.RatQ[69] = table.q070;
1363 rate_table.RatQ[70] = table.q071;
1364 rate_table.RatQ[71] = table.q072;
1365 rate_table.RatQ[72] = table.q073;
1366 rate_table.RatQ[73] = table.q074;
1367 rate_table.RatQ[74] = table.q075;
1368 rate_table.RatQ[75] = table.q076;
1369 rate_table.RatQ[76] = table.q077;
1370 rate_table.RatQ[77] = table.q078;
1371 rate_table.RatQ[78] = table.q079;
1372 rate_table.RatQ[79] = table.q080;
1373 rate_table.RatQ[80] = table.q081;
1374 rate_table.RatQ[81] = table.q082;
1375 rate_table.RatQ[82] = table.q083;
1376 rate_table.RatQ[83] = table.q084;
1377 rate_table.RatQ[84] = table.q085;
1378 rate_table.RatQ[85] = table.q086;
1379 rate_table.RatQ[86] = table.q087;
1380 rate_table.RatQ[87] = table.q088;
1381 rate_table.RatQ[88] = table.q089;
1382 rate_table.RatQ[89] = table.q090;
1383 rate_table.RatQ[90] = table.q091;
1384 rate_table.RatQ[91] = table.q092;
1385 rate_table.RatQ[92] = table.q093;
1386 rate_table.RatQ[93] = table.q094;
1387 rate_table.RatQ[94] = table.q095;
1388 rate_table.RatQ[95] = table.q096;
1389 rate_table.RatQ[96] = table.q097;
1390 rate_table.RatQ[97] = table.q098;
1391 rate_table.RatQ[98] = table.q099;
1392 rate_table.RatQ[99] = table.q100;
1393 
1394 rate_table.hist_stg = table.hist_stg;
1395 rate_table.hist_q = table.hist_q;
1396 rate_table.hist_date = table.hist_date;
1397 rate_table.ver5 = table.ver5;
1398 rate_table.wrn = table.wrn;
1399 rate_table.fld = table.fld;
1400 
1403 
1404 
1405 for(i = 0; i < 100; i++)
1406 {
1407 
1408 
1409  if((rate_table.RatStg[i] == 0.00) && (rate_table.RatStg[i+1] == 0.00))
1410  {
1413  rate_table.AryMax = i;
1414  break;
1415  }
1416 }
1417 
1418 if(i==100)
1419 {
1422  rate_table.AryMax = i;
1423 
1424 }
1425 if(rate_table.AryMax == 1)
1426 {
1427  printf("\n**ERROR: Only one pair of (stage,flow)values**\n");
1428  return (-1);
1429 }
1430 
1431 
1432 
1433  j=0;
1434  for(i = 0; i < 4; i++)
1435  {
1436  if(rate_table.Shift.Val[i] != 0)
1437  {
1438  if(i==0) {
1439 
1440  if(rate_table.QMin == 0)
1441  Val[j]= rate_table.HMin;
1442 
1443  else
1444  Val[j] = 0;
1445 
1446  Sh[j++]=0;
1447  Val[j]=rate_table.Shift.Val[i];
1448  Sh[j++]=rate_table.Shift.Sh[i];
1449 
1450  }
1451 
1452  else {
1453 
1454  Val[j]=rate_table.Shift.Val[i];
1455  Sh[j++]=rate_table.Shift.Sh[i];
1456 
1457  }
1458  }
1459 
1460  else {
1461 
1462  if(i!=0)
1463  break;
1464 
1465  else {
1466 
1467 
1468 
1469  Val[j]=rate_table.Shift.Val[i];
1470  Sh[j++]=rate_table.Shift.Sh[i];
1471 
1472  }
1473  }
1474  }
1475 
1476 
1477 
1478 
1479 
1480 max=j;
1481 Val[max] = -1;
1482 
1483 
1484 
1485 
1486 
1487 strcpy(savehb5,hb5in);
1488 
1489 return (1);
1490 }
1491 
1492 
1493 
1494 
1495 
1496 
1497 
1498 
1499 
1500 
1501 
1502 
1503 int GetFlow(char *ihb5, int zdate, double Stage, int *Warning)
1504 {
1505  int Flow, temp, err,i;
1506 
1507  double
1508  ShiftStage,Level;
1509 
1510 
1511  temp = strcmp(ihb5, savehb5);
1512 
1513 
1514 
1515  if(rate_table.edate != -1)
1516  {
1517  if((temp != 0) || ((zdate < rate_table.bdate) ||
1518  (zdate >= rate_table.edate)))
1519  {
1520  err = get_rate(ihb5,zdate);
1521  if(err != 1)
1522  return -1;
1523  }
1524  }
1525 
1526  else if(rate_table.edate == -1)
1527  {
1528  if((temp != 0) || (zdate < rate_table.bdate))
1529  {
1530  err = get_rate(ihb5,zdate);
1531  if(err != 1)
1532  return -1;
1533  }
1534  }
1535 
1536 
1537 if(max==1)
1538  ShiftStage = Stage;
1539 
1540 else {
1541  for(i=0; i<max; i++) {
1542 
1543  if((Stage >= Val[i]) && (Stage < Val[i+1])){
1544 
1545  ShiftStage = Stage + Sh[i] + (Stage-Val[i]) * (Sh[i+1]-Sh[i])/
1546  (Val[i+1]-Val[i]);
1547  break;
1548  }
1549  else
1550  ShiftStage = Stage + Sh[i];
1551  }
1552 
1553  }
1554 
1555 
1556 
1557 
1558 
1559  if( ShiftStage < rate_table.HMin)
1560  {
1561  Flow = BelowStage2Flow( rate_table, ShiftStage);
1562  *Warning = 1;
1563  return Flow;
1564  }
1565 
1566  else if( ShiftStage > rate_table.HMax)
1567  {
1568  Flow = AboveStage2Flow( rate_table, ShiftStage);
1569  if (Flow == -1)
1570  {
1571  *Warning = 3;
1572  return Flow;
1573  }
1574  else
1575  {
1576  *Warning = 2;
1577  return Flow;
1578  }
1579  }
1580 
1581  for( i = 0; i <= rate_table.AryMax; i++)
1582  {
1583  Level = rate_table.RatStg[i] - ShiftStage;
1584  if( Level == 0)
1585  {
1586  Flow = ExactStage2Flow( rate_table, i);
1587  *Warning = 0;
1588  return Flow;
1589  }
1590 
1591  if( Level > 0)
1592  {
1593  Flow=InterpolateStage2Flow( rate_table, ShiftStage, i);
1594  *Warning = 0;
1595  return Flow;
1596  }
1597  }
1598 }
1599 
1600 
1601 
1602 
1603 
1604 
1605 int BelowStage2Flow( RatingTable rate_table, double ShiftStage)
1606 {
1607  int Flow;
1608  double flow,Slope;
1609 
1610  if(rate_table.HMin == 0)
1611  Flow = 0;
1612  else
1613  {
1615  flow = ShiftStage * Slope;
1616  Flow = flow;
1617  }
1618  return Flow;
1619 }
1620 
1621 
1622 
1623 
1624 
1625 
1626 int AboveStage2Flow( RatingTable rate_table, double ShiftStage)
1627 {
1628 
1629  double
1630  flow,
1631  Del,
1632  Slope,
1633  Var1;
1634  int
1635  Flow;
1636 
1637 
1638  Del = log10(rate_table.HMax) -
1639  log10(rate_table.RatStg[rate_table.AryMax - 2]);
1640 
1641  Slope = (log10(rate_table.QMax) -
1642  log10(rate_table.RatQ[rate_table.AryMax - 2])) / Del;
1643 
1644  Var1 = log10(rate_table.QMax);
1645  flow = Var1 + (Slope * (log10(ShiftStage) -
1646  log10(rate_table.HMax)));
1647 
1648 
1649  if(flow > 8.3)
1650  {
1651  printf("\n**ERROR: Given stage is too large**\n");
1652  return -1;
1653  }
1654 
1655  else
1656  {
1657  flow = pow(10.0,flow);
1658  Flow = flow;
1659  return Flow;
1660  }
1661 }
1662 
1663 
1664 
1665 
1666 
1667 
1669 {
1670  double flow = rate_table.RatQ[i];
1671  int Flow = flow;
1672  return Flow;
1673 }
1674 
1675 
1676 
1677 
1678 
1679 
1680 int InterpolateStage2Flow( RatingTable rate_table, double ShiftStage, int i)
1681 {
1682 
1683  double
1684  flow,
1685  Del,
1686  Slope,
1687  Var2;
1688  int
1689  Flow,
1690  High = i,
1691  Low = i - 1;
1692 
1693 
1694  if((rate_table.RatStg[Low] == 0)&&(rate_table.RatQ[Low] == 0))
1695  {
1696  Flow = 0;
1697  return Flow;
1698  }
1699 
1700  else if(rate_table.RatQ[Low] == 0)
1701  rate_table.RatQ[Low] = 1;
1702 
1703  Del = log10(rate_table.RatStg[High]) - log10(rate_table.RatStg[Low]);
1704  Slope = (log10(rate_table.RatQ[High]) -
1705  log10(rate_table.RatQ[Low])) / Del;
1706 
1707  Var2 = log10(rate_table.RatQ[Low]);
1708  flow = Var2 + (Slope * (log10(ShiftStage) -
1709  log10(rate_table.RatStg[Low])));
1710 
1711  flow = pow(10.0,flow);
1712  Flow = flow;
1713 
1714  return Flow;
1715 }
1716 
1717 
1718 
1719 
1720 
1721 
1722 
1723 
1724 
1725 
1726 
1727 
1728 double GetStage(char *ihb5, int zdate, int Flow, int *Warning)
1729 
1730 {
1731  int i, temp2, err2, Round;
1732 
1733  double Stage, Level, ShiftStage, Round_ShiftStage;
1734 
1735 
1736 
1737  temp2 = strcmp(savehb5, ihb5);
1738 
1739 
1740 
1741  if(rate_table.edate != -1)
1742  {
1743  if((temp2 != 0) || ((zdate < rate_table.bdate) ||
1744  (zdate >= rate_table.edate)))
1745  {
1746  err2 = get_rate(ihb5,zdate);
1747  if(err2 != 1)
1748  return -1;
1749  }
1750  }
1751 
1752  else if(rate_table.edate == -1)
1753  {
1754  if((temp2 != 0) || (zdate < rate_table.bdate))
1755  {
1756  err2 = get_rate(ihb5,zdate);
1757  if(err2 != 1)
1758  return -1;
1759  }
1760  }
1761 
1762 
1763 
1764  if( Flow < rate_table.QMin)
1765  Stage = BelowFlow2Stage( rate_table, Flow);
1766 
1767  else if( Flow > rate_table.QMax)
1768  Stage = AboveFlow2Stage( rate_table, Flow);
1769 
1770  else{
1771  for( i = 0; i <= rate_table.AryMax; i++)
1772  {
1773  Level = rate_table.RatQ[i] - Flow;
1774  if( Level == 0)
1775  {
1776  Stage = ExactFlow2Stage( rate_table, i);
1777  break;
1778  }
1779 
1780  if( Level > 0)
1781  {
1782  Stage = InterpolateFlow2Stage( rate_table, Flow, i);
1783  break;
1784  }
1785  }
1786  }
1787 
1788 
1789 if(max==1)
1790  ShiftStage = Stage;
1791 
1792 else {
1793  for(i=0; i<max; i++) {
1794 
1795  if((Stage >= Val[i]) && (Stage < Val[i+1])){
1796 
1797  ShiftStage = Stage - Sh[i] - (Stage-Val[i]) * (Sh[i+1]-Sh[i])/
1798  (Val[i+1]-Val[i]);
1799  break;
1800  }
1801  else
1802  ShiftStage = Stage - Sh[i];
1803  }
1804 
1805  }
1806 
1807 
1808 
1809  Round = (ShiftStage*100) + .5;
1810  Round_ShiftStage = (double)Round/100;
1811 
1812 printf("Stage = %lf\nShiftStage = %lf\nRound = %d\nRound_ShiftStage =%lf\n",
1813  Stage, ShiftStage, Round, Round_ShiftStage);
1814 
1815  if((Round_ShiftStage < rate_table.HMin) && (Round_ShiftStage >= 0))
1816  *Warning = 1;
1817 
1818  else if(Round_ShiftStage > rate_table.HMax)
1819  *Warning = 2;
1820 
1821  else if(Round_ShiftStage < 0)
1822  *Warning = 3;
1823 
1824  else
1825  *Warning = 0;
1826 
1827 return Round_ShiftStage;
1828 
1829 }
1830 
1831 
1832 
1833 
1834 
1835 
1836 
1838 {
1839  double flow = Flow;
1840  double Slope = rate_table.HMin / rate_table.QMin;
1841  double Stage = flow * Slope;
1842 printf("Hmin is %lf\nQmin is %d\n",rate_table.HMin, rate_table.QMin);
1843 
1844  return Stage;
1845 }
1846 
1847 
1848 
1849 
1850 
1851 
1852 
1854 {
1855  double
1856  flow,
1857  Del,
1858  Slope,
1859  Var1,
1860  Stage;
1861 
1862  flow = Flow;
1863 
1864  if(Flow == 200000000)
1865  return Stage = -10;
1866  else{
1867 
1868  Del = log10((double)rate_table.QMax) -
1869  log10((double)rate_table.RatQ[rate_table.AryMax - 2]);
1870 
1871  Slope = (log10(rate_table.HMax) -
1872  log10(rate_table.RatStg[rate_table.AryMax - 2])) /Del;
1873 
1874  Var1 = log10(rate_table.HMax);
1875  Stage = Var1 + (Slope * (log10(flow) -
1876  log10((double)rate_table.QMax)));
1877  Stage = pow(10.0,Stage);
1878 
1879  return Stage;
1880  }
1881 }
1882 
1883 
1884 
1885 
1886 
1887 
1889 {
1890  double Stage = rate_table.RatStg[i];
1891  return Stage;
1892 }
1893 
1894 
1895 
1896 
1897 
1898 
1899 
1901 {
1902  double
1903  flow,
1904  Del,
1905  Slope,
1906  Var2,
1907  Stage;
1908  int
1909  High = i,
1910  Low = i - 1;
1911  flow = Flow;
1912 printf("i is %d\n", i);
1913 
1914  if(rate_table.RatQ[Low] == 0)
1915  rate_table.RatQ[Low] = 1;
1916 
1917  Del = log10((double)rate_table.RatQ[High]) -
1918  log10((double)rate_table.RatQ[Low]);
1919 
1920  Slope = (log10(rate_table.RatStg[High]) -
1921  log10(rate_table.RatStg[Low])) / Del;
1922 
1923  Var2 = log10(rate_table.RatStg[Low]);
1924  Stage = Var2 + (Slope * (log10(flow) -
1925  log10((double)rate_table.RatQ[Low])));
1926  Stage = pow(10.0,Stage);
1927 
1928  return Stage;
1929 }
1930 
1931 
1932 
1933 
1934 
1935 RatingTable getrc(char *ihb5, int zdate, int *Warning)
1936 {
1937 int err;
1938 
1939 err = get_rate(ihb5, zdate);
1940 *Warning = err;
1941 
1942 return rate_table;
1943 
1944 }
1945 
1946 
1947 
static int i
static double Slope
Definition: rat.c:135
printf("fbuf is %s\n", fbuf)
int j
Definition: mapp2h.h:48
char temp[9]
Definition: mapp2h.h:66
static _SQCURSOR * _SQ2
Definition: rateint.c:3
long SQLCODE
static RatingTable rate_table
Definition: rateint.c:92
int AboveStage2Flow(RatingTable rate_table, double ShiftStage)
Definition: rateint.c:1626
double InterpolateFlow2Stage(RatingTable rate_table, int Flow, int i)
Definition: rateint.c:1900
static char * _Cn2
Definition: rateint.c:3
double GetStage(char *ihb5, int zdate, int Flow, int *Warning)
Definition: rateint.c:1728
int BelowStage2Flow(RatingTable rate_table, double ShiftStage)
Definition: rateint.c:1605
int get_rate(char *hb5in, int zdate)
Definition: rateint.c:99
int begin_year
Definition: rateint.c:94
int begin_day
Definition: rateint.c:94
RatingTable getrc(char *ihb5, int zdate, int *Warning)
Definition: rateint.c:1935
double ExactFlow2Stage(RatingTable rate_table, int i)
Definition: rateint.c:1888
static _SQCURSOR * _SQ1
Definition: rateint.c:4
int begin_month
Definition: rateint.c:94
int InterpolateStage2Flow(RatingTable rate_table, double ShiftStage, int i)
Definition: rateint.c:1680
struct sqlca_s sqlca
double Val[10]
Definition: rateint.c:96
static ShiftTable shift_table
Definition: rateint.c:93
double BelowFlow2Stage(RatingTable rate_table, int Flow)
Definition: rateint.c:1837
double AboveFlow2Stage(RatingTable rate_table, int Flow)
Definition: rateint.c:1853
static char * _Cn1
Definition: rateint.c:4
double Sh[10]
Definition: rateint.c:96
int ExactStage2Flow(RatingTable rate_table, int i)
Definition: rateint.c:1668
_SQCURSOR * _iqnprep()
int max
Definition: rateint.c:95
static char savehb5[10]
Definition: rateint.c:91
int GetFlow(char *ihb5, int zdate, double Stage, int *Warning)
Definition: rateint.c:1503
double hist_stg
Definition: rate_table.h:26
ShiftTable Shift
Definition: rate_table.h:14
int RatQ[100]
Definition: rate_table.h:13
double HMax
Definition: rate_table.h:16
int hist_date
Definition: rate_table.h:28
double HMin
Definition: rate_table.h:15
double RatStg[100]
Definition: rate_table.h:12
double wrn
Definition: rate_table.h:20
double fld
Definition: rate_table.h:21
double Sh[4]
Definition: rate_table.h:4
double Val[4]
Definition: rate_table.h:3
char sqlwarn5
Definition: db.c:65
char sqlwarn3
Definition: db.c:61
char sqlwarn4
Definition: db.c:63
char sqlwarn7
Definition: db.c:67
char sqlwarn1
Definition: db.c:57
char sqlwarn6
Definition: db.c:66
char sqlwarn2
Definition: db.c:59
char sqlwarn0
Definition: db.c:56
Definition: db.c:43
long sqlerrd[6]
Definition: db.c:47
struct sqlca_s::sqlcaw_s sqlwarn
long sqlcode
Definition: db.c:44
char sqlerrm[72]
Definition: db.c:45
char sqlerrp[8]
Definition: db.c:46