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