Mapper
rat.c
Go to the documentation of this file.
1 #include <sqlhdr.h>
2 #include <sqliapi.h>
3 static const char _Cn1[] = "loop";
4 #line 1 "rat.ec"
5 #include "rat.h"
6 #include <math.h>
7 #include <stdio.h>
8 #include <string.h>
10 static int max;
11 static double Val[10],Sh[10],Slope, b,stg_int;
12 
13 
14 /*-----------------------------------------------------------------------
15  get_rate: given a hb5 id, the pedstep parameters ,and the date,
16  queries database for the rating table and shift table,
17  and fetches it into the stuctures table and shtable.
18  Then assigns data from those structures to the structure
19  rate_table defined in the file rate_table.h
20 -------------------------------------------------------------------*/
21 int get_rate(char *hb5,char *shef)
22 {
23 int i,j, zero_flow = 0;
24 int Q[200];
25 double Stg[200];
26 
27 /*
28  * EXEC SQL BEGIN DECLARE SECTION;
29  */
30 #line 23 "rat.ec"
31 #line 24 "rat.ec"
32  char id[6];
33  char pe1[2];
34  char pe2[2];
35 struct table
36  {
37  char id[6];
38  char pe1[2];
39  char pe2[2];
40  int tbl;
41  int valid_date;
42  int gs;
43  int src;
44  int fix;
45  int datacol;
46  int ver5;
47  double fld;
48  double wrn;
49  double hist_stg;
50  int hist_q;
51  int hist_date;
52  int spil;
53  int ded;
54  int cap;
55  double stg001;
56  double stg002;
57  double stg003;
58  double stg004;
59  double stg005;
60  double stg006;
61  double stg007;
62  double stg008;
63  double stg009;
64  double stg010;
65  double stg011;
66  double stg012;
67  double stg013;
68  double stg014;
69  double stg015;
70  double stg016;
71  double stg017;
72  double stg018;
73  double stg019;
74  double stg020;
75  double stg021;
76  double stg022;
77  double stg023;
78  double stg024;
79  double stg025;
80  double stg026;
81  double stg027;
82  double stg028;
83  double stg029;
84  double stg030;
85  double stg031;
86  double stg032;
87  double stg033;
88  double stg034;
89  double stg035;
90  double stg036;
91  double stg037;
92  double stg038;
93  double stg039;
94  double stg040;
95  double stg041;
96  double stg042;
97  double stg043;
98  double stg044;
99  double stg045;
100  double stg046;
101  double stg047;
102  double stg048;
103  double stg049;
104  double stg050;
105  double stg051;
106  double stg052;
107  double stg053;
108  double stg054;
109  double stg055;
110  double stg056;
111  double stg057;
112  double stg058;
113  double stg059;
114  double stg060;
115  double stg061;
116  double stg062;
117  double stg063;
118  double stg064;
119  double stg065;
120  double stg066;
121  double stg067;
122  double stg068;
123  double stg069;
124  double stg070;
125  double stg071;
126  double stg072;
127  double stg073;
128  double stg074;
129  double stg075;
130  double stg076;
131  double stg077;
132  double stg078;
133  double stg079;
134  double stg080;
135  double stg081;
136  double stg082;
137  double stg083;
138  double stg084;
139  double stg085;
140  double stg086;
141  double stg087;
142  double stg088;
143  double stg089;
144  double stg090;
145  double stg091;
146  double stg092;
147  double stg093;
148  double stg094;
149  double stg095;
150  double stg096;
151  double stg097;
152  double stg098;
153  double stg099;
154  double stg100;
155  int q001;
156  int q002;
157  int q003;
158  int q004;
159  int q005;
160  int q006;
161  int q007;
162  int q008;
163  int q009;
164  int q010;
165  int q011;
166  int q012;
167  int q013;
168  int q014;
169  int q015;
170  int q016;
171  int q017;
172  int q018;
173  int q019;
174  int q020;
175  int q021;
176  int q022;
177  int q023;
178  int q024;
179  int q025;
180  int q026;
181  int q027;
182  int q028;
183  int q029;
184  int q030;
185  int q031;
186  int q032;
187  int q033;
188  int q034;
189  int q035;
190  int q036;
191  int q037;
192  int q038;
193  int q039;
194  int q040;
195  int q041;
196  int q042;
197  int q043;
198  int q044;
199  int q045;
200  int q046;
201  int q047;
202  int q048;
203  int q049;
204  int q050;
205  int q051;
206  int q052;
207  int q053;
208  int q054;
209  int q055;
210  int q056;
211  int q057;
212  int q058;
213  int q059;
214  int q060;
215  int q061;
216  int q062;
217  int q063;
218  int q064;
219  int q065;
220  int q066;
221  int q067;
222  int q068;
223  int q069;
224  int q070;
225  int q071;
226  int q072;
227  int q073;
228  int q074;
229  int q075;
230  int q076;
231  int q077;
232  int q078;
233  int q079;
234  int q080;
235  int q081;
236  int q082;
237  int q083;
238  int q084;
239  int q085;
240  int q086;
241  int q087;
242  int q088;
243  int q089;
244  int q090;
245  int q091;
246  int q092;
247  int q093;
248  int q094;
249  int q095;
250  int q096;
251  int q097;
252  int q098;
253  int q099;
254  int q100;
255  } table;
256 /*
257  * EXEC SQL END DECLARE SECTION;
258  */
259 #line 249 "rat.ec"
260 
261 
262 /*
263  * exec sql set isolation to dirty read;
264  */
265 #line 251 "rat.ec"
266  {
267 #line 251 "rat.ec"
268  static const char *sqlcmdtxt[] =
269 #line 251 "rat.ec"
270  {
271 #line 251 "rat.ec"
272  "set isolation to dirty read",
273  0
274  };
275 #line 251 "rat.ec"
276  static ifx_statement_t _SQ0 = {0};
277 #line 251 "rat.ec"
278  sqli_stmt(ESQLINTVERSION, &_SQ0, sqlcmdtxt, 0, (ifx_sqlvar_t *)0, (struct value *)0, (ifx_literal_t *)0, (ifx_namelist_t *)0, (ifx_cursor_t *)0, -1, 0, 0);
279 #line 251 "rat.ec"
280  }
281 
282  strncpy(pe1,shef,1);
283  *(pe1+1)='\0';
284  strncpy(pe2,shef+1,1);
285  *(pe2+1)='\0';
286  strcpy(id,hb5);
287 
288 /*
289  * $declare loop cursor for select * from rattbl
290  * where id=$id and pe1=$pe1 and pe2=$pe2
291  * order by valid_date desc;
292  */
293 #line 259 "rat.ec"
294  {
295 #line 261 "rat.ec"
296  static const char *sqlcmdtxt[] =
297 #line 261 "rat.ec"
298  {
299 #line 261 "rat.ec"
300  "select * from rattbl where id = ? and pe1 = ? and pe2 = ? order by valid_date desc",
301  0
302  };
303 #line 261 "rat.ec"
304  static ifx_sqlvar_t _sqibind[] =
305  {
306  { 100, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
307  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
308  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
309 #line 261 "rat.ec"
310  };
311  static ifx_sqlda_t _SD0 = { 3, _sqibind, {0}, 3, 0 };
312 #line 261 "rat.ec"
313  _sqibind[0].sqldata = id;
314 #line 261 "rat.ec"
315  _sqibind[1].sqldata = pe1;
316 #line 261 "rat.ec"
317  _sqibind[2].sqldata = pe2;
318 #line 261 "rat.ec"
319 sqli_curs_decl_stat(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, _Cn1, 512), _Cn1, sqlcmdtxt, &_SD0, (ifx_sqlda_t *)0, 0, (ifx_literal_t *)0, (ifx_namelist_t *)0, 2, 0, 0);
320 #line 261 "rat.ec"
321  }
322 /*
323  * $open loop;
324  */
325 #line 262 "rat.ec"
326  {
327 #line 262 "rat.ec"
328  sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, _Cn1, 768), (ifx_sqlda_t *)0, (char *)0, (struct value *)0, 0, 0);
329 #line 262 "rat.ec"
330  }
331 /*
332  * $fetch next loop into $table;
333  */
334 #line 263 "rat.ec"
335  {
336 #line 263 "rat.ec"
337  static ifx_sqlvar_t _sqobind[] =
338  {
339  { 100, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
340  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
341  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
342  { 102, sizeof((table).tbl), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
343  { 102, sizeof((table).valid_date), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
344  { 102, sizeof((table).gs), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
345  { 102, sizeof((table).src), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
346  { 102, sizeof((table).fix), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
347  { 102, sizeof((table).datacol), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
348  { 102, sizeof((table).ver5), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
349  { 105, sizeof((table).fld), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
350  { 105, sizeof((table).wrn), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
351  { 105, sizeof((table).hist_stg), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
352  { 102, sizeof((table).hist_q), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
353  { 102, sizeof((table).hist_date), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
354  { 102, sizeof((table).spil), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
355  { 102, sizeof((table).ded), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
356  { 102, sizeof((table).cap), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
357  { 105, sizeof((table).stg001), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
358  { 105, sizeof((table).stg002), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
359  { 105, sizeof((table).stg003), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
360  { 105, sizeof((table).stg004), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
361  { 105, sizeof((table).stg005), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
362  { 105, sizeof((table).stg006), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
363  { 105, sizeof((table).stg007), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
364  { 105, sizeof((table).stg008), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
365  { 105, sizeof((table).stg009), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
366  { 105, sizeof((table).stg010), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
367  { 105, sizeof((table).stg011), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
368  { 105, sizeof((table).stg012), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
369  { 105, sizeof((table).stg013), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
370  { 105, sizeof((table).stg014), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
371  { 105, sizeof((table).stg015), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
372  { 105, sizeof((table).stg016), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
373  { 105, sizeof((table).stg017), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
374  { 105, sizeof((table).stg018), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
375  { 105, sizeof((table).stg019), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
376  { 105, sizeof((table).stg020), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
377  { 105, sizeof((table).stg021), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
378  { 105, sizeof((table).stg022), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
379  { 105, sizeof((table).stg023), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
380  { 105, sizeof((table).stg024), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
381  { 105, sizeof((table).stg025), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
382  { 105, sizeof((table).stg026), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
383  { 105, sizeof((table).stg027), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
384  { 105, sizeof((table).stg028), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
385  { 105, sizeof((table).stg029), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
386  { 105, sizeof((table).stg030), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
387  { 105, sizeof((table).stg031), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
388  { 105, sizeof((table).stg032), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
389  { 105, sizeof((table).stg033), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
390  { 105, sizeof((table).stg034), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
391  { 105, sizeof((table).stg035), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
392  { 105, sizeof((table).stg036), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
393  { 105, sizeof((table).stg037), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
394  { 105, sizeof((table).stg038), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
395  { 105, sizeof((table).stg039), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
396  { 105, sizeof((table).stg040), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
397  { 105, sizeof((table).stg041), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
398  { 105, sizeof((table).stg042), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
399  { 105, sizeof((table).stg043), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
400  { 105, sizeof((table).stg044), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
401  { 105, sizeof((table).stg045), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
402  { 105, sizeof((table).stg046), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
403  { 105, sizeof((table).stg047), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
404  { 105, sizeof((table).stg048), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
405  { 105, sizeof((table).stg049), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
406  { 105, sizeof((table).stg050), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
407  { 105, sizeof((table).stg051), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
408  { 105, sizeof((table).stg052), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
409  { 105, sizeof((table).stg053), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
410  { 105, sizeof((table).stg054), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
411  { 105, sizeof((table).stg055), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
412  { 105, sizeof((table).stg056), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
413  { 105, sizeof((table).stg057), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
414  { 105, sizeof((table).stg058), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
415  { 105, sizeof((table).stg059), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
416  { 105, sizeof((table).stg060), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
417  { 105, sizeof((table).stg061), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
418  { 105, sizeof((table).stg062), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
419  { 105, sizeof((table).stg063), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
420  { 105, sizeof((table).stg064), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
421  { 105, sizeof((table).stg065), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
422  { 105, sizeof((table).stg066), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
423  { 105, sizeof((table).stg067), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
424  { 105, sizeof((table).stg068), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
425  { 105, sizeof((table).stg069), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
426  { 105, sizeof((table).stg070), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
427  { 105, sizeof((table).stg071), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
428  { 105, sizeof((table).stg072), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
429  { 105, sizeof((table).stg073), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
430  { 105, sizeof((table).stg074), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
431  { 105, sizeof((table).stg075), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
432  { 105, sizeof((table).stg076), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
433  { 105, sizeof((table).stg077), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
434  { 105, sizeof((table).stg078), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
435  { 105, sizeof((table).stg079), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
436  { 105, sizeof((table).stg080), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
437  { 105, sizeof((table).stg081), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
438  { 105, sizeof((table).stg082), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
439  { 105, sizeof((table).stg083), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
440  { 105, sizeof((table).stg084), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
441  { 105, sizeof((table).stg085), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
442  { 105, sizeof((table).stg086), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
443  { 105, sizeof((table).stg087), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
444  { 105, sizeof((table).stg088), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
445  { 105, sizeof((table).stg089), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
446  { 105, sizeof((table).stg090), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
447  { 105, sizeof((table).stg091), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
448  { 105, sizeof((table).stg092), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
449  { 105, sizeof((table).stg093), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
450  { 105, sizeof((table).stg094), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
451  { 105, sizeof((table).stg095), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
452  { 105, sizeof((table).stg096), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
453  { 105, sizeof((table).stg097), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
454  { 105, sizeof((table).stg098), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
455  { 105, sizeof((table).stg099), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
456  { 105, sizeof((table).stg100), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
457  { 102, sizeof((table).q001), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
458  { 102, sizeof((table).q002), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
459  { 102, sizeof((table).q003), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
460  { 102, sizeof((table).q004), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
461  { 102, sizeof((table).q005), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
462  { 102, sizeof((table).q006), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
463  { 102, sizeof((table).q007), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
464  { 102, sizeof((table).q008), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
465  { 102, sizeof((table).q009), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
466  { 102, sizeof((table).q010), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
467  { 102, sizeof((table).q011), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
468  { 102, sizeof((table).q012), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
469  { 102, sizeof((table).q013), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
470  { 102, sizeof((table).q014), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
471  { 102, sizeof((table).q015), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
472  { 102, sizeof((table).q016), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
473  { 102, sizeof((table).q017), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
474  { 102, sizeof((table).q018), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
475  { 102, sizeof((table).q019), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
476  { 102, sizeof((table).q020), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
477  { 102, sizeof((table).q021), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
478  { 102, sizeof((table).q022), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
479  { 102, sizeof((table).q023), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
480  { 102, sizeof((table).q024), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
481  { 102, sizeof((table).q025), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
482  { 102, sizeof((table).q026), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
483  { 102, sizeof((table).q027), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
484  { 102, sizeof((table).q028), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
485  { 102, sizeof((table).q029), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
486  { 102, sizeof((table).q030), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
487  { 102, sizeof((table).q031), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
488  { 102, sizeof((table).q032), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
489  { 102, sizeof((table).q033), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
490  { 102, sizeof((table).q034), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
491  { 102, sizeof((table).q035), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
492  { 102, sizeof((table).q036), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
493  { 102, sizeof((table).q037), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
494  { 102, sizeof((table).q038), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
495  { 102, sizeof((table).q039), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
496  { 102, sizeof((table).q040), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
497  { 102, sizeof((table).q041), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
498  { 102, sizeof((table).q042), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
499  { 102, sizeof((table).q043), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
500  { 102, sizeof((table).q044), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
501  { 102, sizeof((table).q045), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
502  { 102, sizeof((table).q046), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
503  { 102, sizeof((table).q047), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
504  { 102, sizeof((table).q048), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
505  { 102, sizeof((table).q049), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
506  { 102, sizeof((table).q050), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
507  { 102, sizeof((table).q051), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
508  { 102, sizeof((table).q052), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
509  { 102, sizeof((table).q053), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
510  { 102, sizeof((table).q054), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
511  { 102, sizeof((table).q055), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
512  { 102, sizeof((table).q056), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
513  { 102, sizeof((table).q057), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
514  { 102, sizeof((table).q058), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
515  { 102, sizeof((table).q059), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
516  { 102, sizeof((table).q060), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
517  { 102, sizeof((table).q061), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
518  { 102, sizeof((table).q062), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
519  { 102, sizeof((table).q063), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
520  { 102, sizeof((table).q064), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
521  { 102, sizeof((table).q065), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
522  { 102, sizeof((table).q066), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
523  { 102, sizeof((table).q067), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
524  { 102, sizeof((table).q068), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
525  { 102, sizeof((table).q069), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
526  { 102, sizeof((table).q070), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
527  { 102, sizeof((table).q071), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
528  { 102, sizeof((table).q072), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
529  { 102, sizeof((table).q073), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
530  { 102, sizeof((table).q074), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
531  { 102, sizeof((table).q075), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
532  { 102, sizeof((table).q076), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
533  { 102, sizeof((table).q077), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
534  { 102, sizeof((table).q078), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
535  { 102, sizeof((table).q079), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
536  { 102, sizeof((table).q080), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
537  { 102, sizeof((table).q081), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
538  { 102, sizeof((table).q082), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
539  { 102, sizeof((table).q083), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
540  { 102, sizeof((table).q084), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
541  { 102, sizeof((table).q085), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
542  { 102, sizeof((table).q086), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
543  { 102, sizeof((table).q087), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
544  { 102, sizeof((table).q088), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
545  { 102, sizeof((table).q089), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
546  { 102, sizeof((table).q090), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
547  { 102, sizeof((table).q091), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
548  { 102, sizeof((table).q092), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
549  { 102, sizeof((table).q093), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
550  { 102, sizeof((table).q094), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
551  { 102, sizeof((table).q095), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
552  { 102, sizeof((table).q096), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
553  { 102, sizeof((table).q097), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
554  { 102, sizeof((table).q098), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
555  { 102, sizeof((table).q099), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
556  { 102, sizeof((table).q100), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
557 #line 263 "rat.ec"
558  };
559  static ifx_sqlda_t _SD0 = { 218, _sqobind, {0}, 218, 0 };
560  static _FetchSpec _FS1 = { 0, 1, 0 };
561 #line 263 "rat.ec"
562  _sqobind[0].sqldata = (table).id;
563 #line 263 "rat.ec"
564  _sqobind[1].sqldata = (table).pe1;
565 #line 263 "rat.ec"
566  _sqobind[2].sqldata = (table).pe2;
567 #line 263 "rat.ec"
568  _sqobind[3].sqldata = (char *) &(table).tbl;
569 #line 263 "rat.ec"
570  _sqobind[4].sqldata = (char *) &(table).valid_date;
571 #line 263 "rat.ec"
572  _sqobind[5].sqldata = (char *) &(table).gs;
573 #line 263 "rat.ec"
574  _sqobind[6].sqldata = (char *) &(table).src;
575 #line 263 "rat.ec"
576  _sqobind[7].sqldata = (char *) &(table).fix;
577 #line 263 "rat.ec"
578  _sqobind[8].sqldata = (char *) &(table).datacol;
579 #line 263 "rat.ec"
580  _sqobind[9].sqldata = (char *) &(table).ver5;
581 #line 263 "rat.ec"
582  _sqobind[10].sqldata = (char *) &(table).fld;
583 #line 263 "rat.ec"
584  _sqobind[11].sqldata = (char *) &(table).wrn;
585 #line 263 "rat.ec"
586  _sqobind[12].sqldata = (char *) &(table).hist_stg;
587 #line 263 "rat.ec"
588  _sqobind[13].sqldata = (char *) &(table).hist_q;
589 #line 263 "rat.ec"
590  _sqobind[14].sqldata = (char *) &(table).hist_date;
591 #line 263 "rat.ec"
592  _sqobind[15].sqldata = (char *) &(table).spil;
593 #line 263 "rat.ec"
594  _sqobind[16].sqldata = (char *) &(table).ded;
595 #line 263 "rat.ec"
596  _sqobind[17].sqldata = (char *) &(table).cap;
597 #line 263 "rat.ec"
598  _sqobind[18].sqldata = (char *) &(table).stg001;
599 #line 263 "rat.ec"
600  _sqobind[19].sqldata = (char *) &(table).stg002;
601 #line 263 "rat.ec"
602  _sqobind[20].sqldata = (char *) &(table).stg003;
603 #line 263 "rat.ec"
604  _sqobind[21].sqldata = (char *) &(table).stg004;
605 #line 263 "rat.ec"
606  _sqobind[22].sqldata = (char *) &(table).stg005;
607 #line 263 "rat.ec"
608  _sqobind[23].sqldata = (char *) &(table).stg006;
609 #line 263 "rat.ec"
610  _sqobind[24].sqldata = (char *) &(table).stg007;
611 #line 263 "rat.ec"
612  _sqobind[25].sqldata = (char *) &(table).stg008;
613 #line 263 "rat.ec"
614  _sqobind[26].sqldata = (char *) &(table).stg009;
615 #line 263 "rat.ec"
616  _sqobind[27].sqldata = (char *) &(table).stg010;
617 #line 263 "rat.ec"
618  _sqobind[28].sqldata = (char *) &(table).stg011;
619 #line 263 "rat.ec"
620  _sqobind[29].sqldata = (char *) &(table).stg012;
621 #line 263 "rat.ec"
622  _sqobind[30].sqldata = (char *) &(table).stg013;
623 #line 263 "rat.ec"
624  _sqobind[31].sqldata = (char *) &(table).stg014;
625 #line 263 "rat.ec"
626  _sqobind[32].sqldata = (char *) &(table).stg015;
627 #line 263 "rat.ec"
628  _sqobind[33].sqldata = (char *) &(table).stg016;
629 #line 263 "rat.ec"
630  _sqobind[34].sqldata = (char *) &(table).stg017;
631 #line 263 "rat.ec"
632  _sqobind[35].sqldata = (char *) &(table).stg018;
633 #line 263 "rat.ec"
634  _sqobind[36].sqldata = (char *) &(table).stg019;
635 #line 263 "rat.ec"
636  _sqobind[37].sqldata = (char *) &(table).stg020;
637 #line 263 "rat.ec"
638  _sqobind[38].sqldata = (char *) &(table).stg021;
639 #line 263 "rat.ec"
640  _sqobind[39].sqldata = (char *) &(table).stg022;
641 #line 263 "rat.ec"
642  _sqobind[40].sqldata = (char *) &(table).stg023;
643 #line 263 "rat.ec"
644  _sqobind[41].sqldata = (char *) &(table).stg024;
645 #line 263 "rat.ec"
646  _sqobind[42].sqldata = (char *) &(table).stg025;
647 #line 263 "rat.ec"
648  _sqobind[43].sqldata = (char *) &(table).stg026;
649 #line 263 "rat.ec"
650  _sqobind[44].sqldata = (char *) &(table).stg027;
651 #line 263 "rat.ec"
652  _sqobind[45].sqldata = (char *) &(table).stg028;
653 #line 263 "rat.ec"
654  _sqobind[46].sqldata = (char *) &(table).stg029;
655 #line 263 "rat.ec"
656  _sqobind[47].sqldata = (char *) &(table).stg030;
657 #line 263 "rat.ec"
658  _sqobind[48].sqldata = (char *) &(table).stg031;
659 #line 263 "rat.ec"
660  _sqobind[49].sqldata = (char *) &(table).stg032;
661 #line 263 "rat.ec"
662  _sqobind[50].sqldata = (char *) &(table).stg033;
663 #line 263 "rat.ec"
664  _sqobind[51].sqldata = (char *) &(table).stg034;
665 #line 263 "rat.ec"
666  _sqobind[52].sqldata = (char *) &(table).stg035;
667 #line 263 "rat.ec"
668  _sqobind[53].sqldata = (char *) &(table).stg036;
669 #line 263 "rat.ec"
670  _sqobind[54].sqldata = (char *) &(table).stg037;
671 #line 263 "rat.ec"
672  _sqobind[55].sqldata = (char *) &(table).stg038;
673 #line 263 "rat.ec"
674  _sqobind[56].sqldata = (char *) &(table).stg039;
675 #line 263 "rat.ec"
676  _sqobind[57].sqldata = (char *) &(table).stg040;
677 #line 263 "rat.ec"
678  _sqobind[58].sqldata = (char *) &(table).stg041;
679 #line 263 "rat.ec"
680  _sqobind[59].sqldata = (char *) &(table).stg042;
681 #line 263 "rat.ec"
682  _sqobind[60].sqldata = (char *) &(table).stg043;
683 #line 263 "rat.ec"
684  _sqobind[61].sqldata = (char *) &(table).stg044;
685 #line 263 "rat.ec"
686  _sqobind[62].sqldata = (char *) &(table).stg045;
687 #line 263 "rat.ec"
688  _sqobind[63].sqldata = (char *) &(table).stg046;
689 #line 263 "rat.ec"
690  _sqobind[64].sqldata = (char *) &(table).stg047;
691 #line 263 "rat.ec"
692  _sqobind[65].sqldata = (char *) &(table).stg048;
693 #line 263 "rat.ec"
694  _sqobind[66].sqldata = (char *) &(table).stg049;
695 #line 263 "rat.ec"
696  _sqobind[67].sqldata = (char *) &(table).stg050;
697 #line 263 "rat.ec"
698  _sqobind[68].sqldata = (char *) &(table).stg051;
699 #line 263 "rat.ec"
700  _sqobind[69].sqldata = (char *) &(table).stg052;
701 #line 263 "rat.ec"
702  _sqobind[70].sqldata = (char *) &(table).stg053;
703 #line 263 "rat.ec"
704  _sqobind[71].sqldata = (char *) &(table).stg054;
705 #line 263 "rat.ec"
706  _sqobind[72].sqldata = (char *) &(table).stg055;
707 #line 263 "rat.ec"
708  _sqobind[73].sqldata = (char *) &(table).stg056;
709 #line 263 "rat.ec"
710  _sqobind[74].sqldata = (char *) &(table).stg057;
711 #line 263 "rat.ec"
712  _sqobind[75].sqldata = (char *) &(table).stg058;
713 #line 263 "rat.ec"
714  _sqobind[76].sqldata = (char *) &(table).stg059;
715 #line 263 "rat.ec"
716  _sqobind[77].sqldata = (char *) &(table).stg060;
717 #line 263 "rat.ec"
718  _sqobind[78].sqldata = (char *) &(table).stg061;
719 #line 263 "rat.ec"
720  _sqobind[79].sqldata = (char *) &(table).stg062;
721 #line 263 "rat.ec"
722  _sqobind[80].sqldata = (char *) &(table).stg063;
723 #line 263 "rat.ec"
724  _sqobind[81].sqldata = (char *) &(table).stg064;
725 #line 263 "rat.ec"
726  _sqobind[82].sqldata = (char *) &(table).stg065;
727 #line 263 "rat.ec"
728  _sqobind[83].sqldata = (char *) &(table).stg066;
729 #line 263 "rat.ec"
730  _sqobind[84].sqldata = (char *) &(table).stg067;
731 #line 263 "rat.ec"
732  _sqobind[85].sqldata = (char *) &(table).stg068;
733 #line 263 "rat.ec"
734  _sqobind[86].sqldata = (char *) &(table).stg069;
735 #line 263 "rat.ec"
736  _sqobind[87].sqldata = (char *) &(table).stg070;
737 #line 263 "rat.ec"
738  _sqobind[88].sqldata = (char *) &(table).stg071;
739 #line 263 "rat.ec"
740  _sqobind[89].sqldata = (char *) &(table).stg072;
741 #line 263 "rat.ec"
742  _sqobind[90].sqldata = (char *) &(table).stg073;
743 #line 263 "rat.ec"
744  _sqobind[91].sqldata = (char *) &(table).stg074;
745 #line 263 "rat.ec"
746  _sqobind[92].sqldata = (char *) &(table).stg075;
747 #line 263 "rat.ec"
748  _sqobind[93].sqldata = (char *) &(table).stg076;
749 #line 263 "rat.ec"
750  _sqobind[94].sqldata = (char *) &(table).stg077;
751 #line 263 "rat.ec"
752  _sqobind[95].sqldata = (char *) &(table).stg078;
753 #line 263 "rat.ec"
754  _sqobind[96].sqldata = (char *) &(table).stg079;
755 #line 263 "rat.ec"
756  _sqobind[97].sqldata = (char *) &(table).stg080;
757 #line 263 "rat.ec"
758  _sqobind[98].sqldata = (char *) &(table).stg081;
759 #line 263 "rat.ec"
760  _sqobind[99].sqldata = (char *) &(table).stg082;
761 #line 263 "rat.ec"
762  _sqobind[100].sqldata = (char *) &(table).stg083;
763 #line 263 "rat.ec"
764  _sqobind[101].sqldata = (char *) &(table).stg084;
765 #line 263 "rat.ec"
766  _sqobind[102].sqldata = (char *) &(table).stg085;
767 #line 263 "rat.ec"
768  _sqobind[103].sqldata = (char *) &(table).stg086;
769 #line 263 "rat.ec"
770  _sqobind[104].sqldata = (char *) &(table).stg087;
771 #line 263 "rat.ec"
772  _sqobind[105].sqldata = (char *) &(table).stg088;
773 #line 263 "rat.ec"
774  _sqobind[106].sqldata = (char *) &(table).stg089;
775 #line 263 "rat.ec"
776  _sqobind[107].sqldata = (char *) &(table).stg090;
777 #line 263 "rat.ec"
778  _sqobind[108].sqldata = (char *) &(table).stg091;
779 #line 263 "rat.ec"
780  _sqobind[109].sqldata = (char *) &(table).stg092;
781 #line 263 "rat.ec"
782  _sqobind[110].sqldata = (char *) &(table).stg093;
783 #line 263 "rat.ec"
784  _sqobind[111].sqldata = (char *) &(table).stg094;
785 #line 263 "rat.ec"
786  _sqobind[112].sqldata = (char *) &(table).stg095;
787 #line 263 "rat.ec"
788  _sqobind[113].sqldata = (char *) &(table).stg096;
789 #line 263 "rat.ec"
790  _sqobind[114].sqldata = (char *) &(table).stg097;
791 #line 263 "rat.ec"
792  _sqobind[115].sqldata = (char *) &(table).stg098;
793 #line 263 "rat.ec"
794  _sqobind[116].sqldata = (char *) &(table).stg099;
795 #line 263 "rat.ec"
796  _sqobind[117].sqldata = (char *) &(table).stg100;
797 #line 263 "rat.ec"
798  _sqobind[118].sqldata = (char *) &(table).q001;
799 #line 263 "rat.ec"
800  _sqobind[119].sqldata = (char *) &(table).q002;
801 #line 263 "rat.ec"
802  _sqobind[120].sqldata = (char *) &(table).q003;
803 #line 263 "rat.ec"
804  _sqobind[121].sqldata = (char *) &(table).q004;
805 #line 263 "rat.ec"
806  _sqobind[122].sqldata = (char *) &(table).q005;
807 #line 263 "rat.ec"
808  _sqobind[123].sqldata = (char *) &(table).q006;
809 #line 263 "rat.ec"
810  _sqobind[124].sqldata = (char *) &(table).q007;
811 #line 263 "rat.ec"
812  _sqobind[125].sqldata = (char *) &(table).q008;
813 #line 263 "rat.ec"
814  _sqobind[126].sqldata = (char *) &(table).q009;
815 #line 263 "rat.ec"
816  _sqobind[127].sqldata = (char *) &(table).q010;
817 #line 263 "rat.ec"
818  _sqobind[128].sqldata = (char *) &(table).q011;
819 #line 263 "rat.ec"
820  _sqobind[129].sqldata = (char *) &(table).q012;
821 #line 263 "rat.ec"
822  _sqobind[130].sqldata = (char *) &(table).q013;
823 #line 263 "rat.ec"
824  _sqobind[131].sqldata = (char *) &(table).q014;
825 #line 263 "rat.ec"
826  _sqobind[132].sqldata = (char *) &(table).q015;
827 #line 263 "rat.ec"
828  _sqobind[133].sqldata = (char *) &(table).q016;
829 #line 263 "rat.ec"
830  _sqobind[134].sqldata = (char *) &(table).q017;
831 #line 263 "rat.ec"
832  _sqobind[135].sqldata = (char *) &(table).q018;
833 #line 263 "rat.ec"
834  _sqobind[136].sqldata = (char *) &(table).q019;
835 #line 263 "rat.ec"
836  _sqobind[137].sqldata = (char *) &(table).q020;
837 #line 263 "rat.ec"
838  _sqobind[138].sqldata = (char *) &(table).q021;
839 #line 263 "rat.ec"
840  _sqobind[139].sqldata = (char *) &(table).q022;
841 #line 263 "rat.ec"
842  _sqobind[140].sqldata = (char *) &(table).q023;
843 #line 263 "rat.ec"
844  _sqobind[141].sqldata = (char *) &(table).q024;
845 #line 263 "rat.ec"
846  _sqobind[142].sqldata = (char *) &(table).q025;
847 #line 263 "rat.ec"
848  _sqobind[143].sqldata = (char *) &(table).q026;
849 #line 263 "rat.ec"
850  _sqobind[144].sqldata = (char *) &(table).q027;
851 #line 263 "rat.ec"
852  _sqobind[145].sqldata = (char *) &(table).q028;
853 #line 263 "rat.ec"
854  _sqobind[146].sqldata = (char *) &(table).q029;
855 #line 263 "rat.ec"
856  _sqobind[147].sqldata = (char *) &(table).q030;
857 #line 263 "rat.ec"
858  _sqobind[148].sqldata = (char *) &(table).q031;
859 #line 263 "rat.ec"
860  _sqobind[149].sqldata = (char *) &(table).q032;
861 #line 263 "rat.ec"
862  _sqobind[150].sqldata = (char *) &(table).q033;
863 #line 263 "rat.ec"
864  _sqobind[151].sqldata = (char *) &(table).q034;
865 #line 263 "rat.ec"
866  _sqobind[152].sqldata = (char *) &(table).q035;
867 #line 263 "rat.ec"
868  _sqobind[153].sqldata = (char *) &(table).q036;
869 #line 263 "rat.ec"
870  _sqobind[154].sqldata = (char *) &(table).q037;
871 #line 263 "rat.ec"
872  _sqobind[155].sqldata = (char *) &(table).q038;
873 #line 263 "rat.ec"
874  _sqobind[156].sqldata = (char *) &(table).q039;
875 #line 263 "rat.ec"
876  _sqobind[157].sqldata = (char *) &(table).q040;
877 #line 263 "rat.ec"
878  _sqobind[158].sqldata = (char *) &(table).q041;
879 #line 263 "rat.ec"
880  _sqobind[159].sqldata = (char *) &(table).q042;
881 #line 263 "rat.ec"
882  _sqobind[160].sqldata = (char *) &(table).q043;
883 #line 263 "rat.ec"
884  _sqobind[161].sqldata = (char *) &(table).q044;
885 #line 263 "rat.ec"
886  _sqobind[162].sqldata = (char *) &(table).q045;
887 #line 263 "rat.ec"
888  _sqobind[163].sqldata = (char *) &(table).q046;
889 #line 263 "rat.ec"
890  _sqobind[164].sqldata = (char *) &(table).q047;
891 #line 263 "rat.ec"
892  _sqobind[165].sqldata = (char *) &(table).q048;
893 #line 263 "rat.ec"
894  _sqobind[166].sqldata = (char *) &(table).q049;
895 #line 263 "rat.ec"
896  _sqobind[167].sqldata = (char *) &(table).q050;
897 #line 263 "rat.ec"
898  _sqobind[168].sqldata = (char *) &(table).q051;
899 #line 263 "rat.ec"
900  _sqobind[169].sqldata = (char *) &(table).q052;
901 #line 263 "rat.ec"
902  _sqobind[170].sqldata = (char *) &(table).q053;
903 #line 263 "rat.ec"
904  _sqobind[171].sqldata = (char *) &(table).q054;
905 #line 263 "rat.ec"
906  _sqobind[172].sqldata = (char *) &(table).q055;
907 #line 263 "rat.ec"
908  _sqobind[173].sqldata = (char *) &(table).q056;
909 #line 263 "rat.ec"
910  _sqobind[174].sqldata = (char *) &(table).q057;
911 #line 263 "rat.ec"
912  _sqobind[175].sqldata = (char *) &(table).q058;
913 #line 263 "rat.ec"
914  _sqobind[176].sqldata = (char *) &(table).q059;
915 #line 263 "rat.ec"
916  _sqobind[177].sqldata = (char *) &(table).q060;
917 #line 263 "rat.ec"
918  _sqobind[178].sqldata = (char *) &(table).q061;
919 #line 263 "rat.ec"
920  _sqobind[179].sqldata = (char *) &(table).q062;
921 #line 263 "rat.ec"
922  _sqobind[180].sqldata = (char *) &(table).q063;
923 #line 263 "rat.ec"
924  _sqobind[181].sqldata = (char *) &(table).q064;
925 #line 263 "rat.ec"
926  _sqobind[182].sqldata = (char *) &(table).q065;
927 #line 263 "rat.ec"
928  _sqobind[183].sqldata = (char *) &(table).q066;
929 #line 263 "rat.ec"
930  _sqobind[184].sqldata = (char *) &(table).q067;
931 #line 263 "rat.ec"
932  _sqobind[185].sqldata = (char *) &(table).q068;
933 #line 263 "rat.ec"
934  _sqobind[186].sqldata = (char *) &(table).q069;
935 #line 263 "rat.ec"
936  _sqobind[187].sqldata = (char *) &(table).q070;
937 #line 263 "rat.ec"
938  _sqobind[188].sqldata = (char *) &(table).q071;
939 #line 263 "rat.ec"
940  _sqobind[189].sqldata = (char *) &(table).q072;
941 #line 263 "rat.ec"
942  _sqobind[190].sqldata = (char *) &(table).q073;
943 #line 263 "rat.ec"
944  _sqobind[191].sqldata = (char *) &(table).q074;
945 #line 263 "rat.ec"
946  _sqobind[192].sqldata = (char *) &(table).q075;
947 #line 263 "rat.ec"
948  _sqobind[193].sqldata = (char *) &(table).q076;
949 #line 263 "rat.ec"
950  _sqobind[194].sqldata = (char *) &(table).q077;
951 #line 263 "rat.ec"
952  _sqobind[195].sqldata = (char *) &(table).q078;
953 #line 263 "rat.ec"
954  _sqobind[196].sqldata = (char *) &(table).q079;
955 #line 263 "rat.ec"
956  _sqobind[197].sqldata = (char *) &(table).q080;
957 #line 263 "rat.ec"
958  _sqobind[198].sqldata = (char *) &(table).q081;
959 #line 263 "rat.ec"
960  _sqobind[199].sqldata = (char *) &(table).q082;
961 #line 263 "rat.ec"
962  _sqobind[200].sqldata = (char *) &(table).q083;
963 #line 263 "rat.ec"
964  _sqobind[201].sqldata = (char *) &(table).q084;
965 #line 263 "rat.ec"
966  _sqobind[202].sqldata = (char *) &(table).q085;
967 #line 263 "rat.ec"
968  _sqobind[203].sqldata = (char *) &(table).q086;
969 #line 263 "rat.ec"
970  _sqobind[204].sqldata = (char *) &(table).q087;
971 #line 263 "rat.ec"
972  _sqobind[205].sqldata = (char *) &(table).q088;
973 #line 263 "rat.ec"
974  _sqobind[206].sqldata = (char *) &(table).q089;
975 #line 263 "rat.ec"
976  _sqobind[207].sqldata = (char *) &(table).q090;
977 #line 263 "rat.ec"
978  _sqobind[208].sqldata = (char *) &(table).q091;
979 #line 263 "rat.ec"
980  _sqobind[209].sqldata = (char *) &(table).q092;
981 #line 263 "rat.ec"
982  _sqobind[210].sqldata = (char *) &(table).q093;
983 #line 263 "rat.ec"
984  _sqobind[211].sqldata = (char *) &(table).q094;
985 #line 263 "rat.ec"
986  _sqobind[212].sqldata = (char *) &(table).q095;
987 #line 263 "rat.ec"
988  _sqobind[213].sqldata = (char *) &(table).q096;
989 #line 263 "rat.ec"
990  _sqobind[214].sqldata = (char *) &(table).q097;
991 #line 263 "rat.ec"
992  _sqobind[215].sqldata = (char *) &(table).q098;
993 #line 263 "rat.ec"
994  _sqobind[216].sqldata = (char *) &(table).q099;
995 #line 263 "rat.ec"
996  _sqobind[217].sqldata = (char *) &(table).q100;
997  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, _Cn1, 768), (ifx_sqlda_t *)0, &_SD0, (char *)0, &_FS1);
998 #line 263 "rat.ec"
999  }
1000  if(sqlca.sqlcode)
1001  return(-2);
1002 
1003 Stg[0] = table.stg001;
1004 Stg[1] = table.stg002;
1005 Stg[2] = table.stg003;
1006 Stg[3] = table.stg004;
1007 Stg[4] = table.stg005;
1008 Stg[5] = table.stg006;
1009 Stg[6] = table.stg007;
1010 Stg[7] = table.stg008;
1011 Stg[8] = table.stg009;
1012 Stg[9] = table.stg010;
1013 Stg[10] = table.stg011;
1014 Stg[11] = table.stg012;
1015 Stg[12] = table.stg013;
1016 Stg[13] = table.stg014;
1017 Stg[14] = table.stg015;
1018 Stg[15] = table.stg016;
1019 Stg[16] = table.stg017;
1020 Stg[17] = table.stg018;
1021 Stg[18] = table.stg019;
1022 Stg[19] = table.stg020;
1023 Stg[20] = table.stg021;
1024 Stg[21] = table.stg022;
1025 Stg[22] = table.stg023;
1026 Stg[23] = table.stg024;
1027 Stg[24] = table.stg025;
1028 Stg[25] = table.stg026;
1029 Stg[26] = table.stg027;
1030 Stg[27] = table.stg028;
1031 Stg[28] = table.stg029;
1032 Stg[29] = table.stg030;
1033 Stg[30] = table.stg031;
1034 Stg[31] = table.stg032;
1035 Stg[32] = table.stg033;
1036 Stg[33] = table.stg034;
1037 Stg[34] = table.stg035;
1038 Stg[35] = table.stg036;
1039 Stg[36] = table.stg037;
1040 Stg[37] = table.stg038;
1041 Stg[38] = table.stg039;
1042 Stg[39] = table.stg040;
1043 Stg[40] = table.stg041;
1044 Stg[41] = table.stg042;
1045 Stg[42] = table.stg043;
1046 Stg[43] = table.stg044;
1047 Stg[44] = table.stg045;
1048 Stg[45] = table.stg046;
1049 Stg[46] = table.stg047;
1050 Stg[47] = table.stg048;
1051 Stg[48] = table.stg049;
1052 Stg[49] = table.stg050;
1053 Stg[50] = table.stg051;
1054 Stg[51] = table.stg052;
1055 Stg[52] = table.stg053;
1056 Stg[53] = table.stg054;
1057 Stg[54] = table.stg055;
1058 Stg[55] = table.stg056;
1059 Stg[56] = table.stg057;
1060 Stg[57] = table.stg058;
1061 Stg[58] = table.stg059;
1062 Stg[59] = table.stg060;
1063 Stg[60] = table.stg061;
1064 Stg[61] = table.stg062;
1065 Stg[62] = table.stg063;
1066 Stg[63] = table.stg064;
1067 Stg[64] = table.stg065;
1068 Stg[65] = table.stg066;
1069 Stg[66] = table.stg067;
1070 Stg[67] = table.stg068;
1071 Stg[68] = table.stg069;
1072 Stg[69] = table.stg070;
1073 Stg[70] = table.stg071;
1074 Stg[71] = table.stg072;
1075 Stg[72] = table.stg073;
1076 Stg[73] = table.stg074;
1077 Stg[74] = table.stg075;
1078 Stg[75] = table.stg076;
1079 Stg[76] = table.stg077;
1080 Stg[77] = table.stg078;
1081 Stg[78] = table.stg079;
1082 Stg[79] = table.stg080;
1083 Stg[80] = table.stg081;
1084 Stg[81] = table.stg082;
1085 Stg[82] = table.stg083;
1086 Stg[83] = table.stg084;
1087 Stg[84] = table.stg085;
1088 Stg[85] = table.stg086;
1089 Stg[86] = table.stg087;
1090 Stg[87] = table.stg088;
1091 Stg[88] = table.stg089;
1092 Stg[89] = table.stg090;
1093 Stg[90] = table.stg091;
1094 Stg[91] = table.stg092;
1095 Stg[92] = table.stg093;
1096 Stg[93] = table.stg094;
1097 Stg[94] = table.stg095;
1098 Stg[95] = table.stg096;
1099 Stg[96] = table.stg097;
1100 Stg[97] = table.stg098;
1101 Stg[98] = table.stg099;
1102 Stg[99] = table.stg100;
1103 
1104 Q[0] = table.q001;
1105 Q[1] = table.q002;
1106 Q[2] = table.q003;
1107 Q[3] = table.q004;
1108 Q[4] = table.q005;
1109 Q[5] = table.q006;
1110 Q[6] = table.q007;
1111 Q[7] = table.q008;
1112 Q[8] = table.q009;
1113 Q[9] = table.q010;
1114 Q[10] = table.q011;
1115 Q[11] = table.q012;
1116 Q[12] = table.q013;
1117 Q[13] = table.q014;
1118 Q[14] = table.q015;
1119 Q[15] = table.q016;
1120 Q[16] = table.q017;
1121 Q[17] = table.q018;
1122 Q[18] = table.q019;
1123 Q[19] = table.q020;
1124 Q[20] = table.q021;
1125 Q[21] = table.q022;
1126 Q[22] = table.q023;
1127 Q[23] = table.q024;
1128 Q[24] = table.q025;
1129 Q[25] = table.q026;
1130 Q[26] = table.q027;
1131 Q[27] = table.q028;
1132 Q[28] = table.q029;
1133 Q[29] = table.q030;
1134 Q[30] = table.q031;
1135 Q[31] = table.q032;
1136 Q[32] = table.q033;
1137 Q[33] = table.q034;
1138 Q[34] = table.q035;
1139 Q[35] = table.q036;
1140 Q[36] = table.q037;
1141 Q[37] = table.q038;
1142 Q[38] = table.q039;
1143 Q[39] = table.q040;
1144 Q[40] = table.q041;
1145 Q[41] = table.q042;
1146 Q[42] = table.q043;
1147 Q[43] = table.q044;
1148 Q[44] = table.q045;
1149 Q[45] = table.q046;
1150 Q[46] = table.q047;
1151 Q[47] = table.q048;
1152 Q[48] = table.q049;
1153 Q[49] = table.q050;
1154 Q[50] = table.q051;
1155 Q[51] = table.q052;
1156 Q[52] = table.q053;
1157 Q[53] = table.q054;
1158 Q[54] = table.q055;
1159 Q[55] = table.q056;
1160 Q[56] = table.q057;
1161 Q[57] = table.q058;
1162 Q[58] = table.q059;
1163 Q[59] = table.q060;
1164 Q[60] = table.q061;
1165 Q[61] = table.q062;
1166 Q[62] = table.q063;
1167 Q[63] = table.q064;
1168 Q[64] = table.q065;
1169 Q[65] = table.q066;
1170 Q[66] = table.q067;
1171 Q[67] = table.q068;
1172 Q[68] = table.q069;
1173 Q[69] = table.q070;
1174 Q[70] = table.q071;
1175 Q[71] = table.q072;
1176 Q[72] = table.q073;
1177 Q[73] = table.q074;
1178 Q[74] = table.q075;
1179 Q[75] = table.q076;
1180 Q[76] = table.q077;
1181 Q[77] = table.q078;
1182 Q[78] = table.q079;
1183 Q[79] = table.q080;
1184 Q[80] = table.q081;
1185 Q[81] = table.q082;
1186 Q[82] = table.q083;
1187 Q[83] = table.q084;
1188 Q[84] = table.q085;
1189 Q[85] = table.q086;
1190 Q[86] = table.q087;
1191 Q[87] = table.q088;
1192 Q[88] = table.q089;
1193 Q[89] = table.q090;
1194 Q[90] = table.q091;
1195 Q[91] = table.q092;
1196 Q[92] = table.q093;
1197 Q[93] = table.q094;
1198 Q[94] = table.q095;
1199 Q[95] = table.q096;
1200 Q[96] = table.q097;
1201 Q[97] = table.q098;
1202 Q[98] = table.q099;
1203 Q[99] = table.q100;
1204 
1205  /* if all flows are zero, will get huge negative numbers when
1206  calling GetFlow. So return an error of -2 */
1207 
1208  for(i = 0; i <100; i++)
1209  {
1210  if(Q[i] == 0)
1211  zero_flow++;
1212  }
1213 
1214  if(zero_flow == 100)
1215  return(-2);
1216 
1217  strcpy(rate_table.id,id);
1218  strcpy(rate_table.shef,shef);
1219  rate_table.wrn = table.wrn;
1220  rate_table.fld = table.fld;
1221 
1222  if(Q[0]==0)
1223  Q[0]=1;
1224 
1225  if(Stg[0]==0)
1226  Stg[0]=.0001;
1227 
1228  rate_table.HMin = Stg[0];
1229  rate_table.QMin = Q[0];
1230  rate_table.RatStg[0]=Stg[0];
1231  rate_table.RatQ[0]=Q[0];
1232 
1233  j=1;
1234  for(i=1;i<100;i++)
1235  {
1236  if((Stg[i] == 0.00) && i)
1237  break;
1238 
1239  if(Q[i]==0)
1240  Q[i]=1;
1241 
1242  if(Stg[i]==0)
1243  Stg[i]=.0001;
1244 
1245  if(Stg[i]==Stg[j-1] || Q[i]==Q[j-1])
1246  {
1247  /*printf("identical %s %d %d %d %f %f\n",
1248  hb5,i,Q[i],Q[i-1],Stg[i],Stg[i-1]);*/
1249  continue;
1250  }
1251  rate_table.RatStg[j]=Stg[i];
1252  rate_table.RatQ[j]=Q[i];
1253  j++;
1254  }
1255 
1256  if(j < 100)
1257  {
1258  rate_table.RatStg[j]=0;
1259  rate_table.RatQ[j]=0;
1260  }
1261 
1262  for(i=0;i<100;i++)
1263  {
1264  if((rate_table.RatStg[i] == 0.00) && i)
1265  {
1268  rate_table.AryMax = i;
1269  break;
1270  }
1271  }
1272 
1273  if(i==100)
1274  {
1277  rate_table.AryMax = i;
1278  }
1279 
1280  if(rate_table.AryMax == 1)
1281  {
1282  /*printf("\n**ERROR: Only one pair of (stage,flow)values**\n");*/
1283  return (-1);
1284  }
1285 
1286  /* calculate slope, flow(y axis) intercept and stage(x axis) intercept*/
1289 
1290  b = rate_table.RatQ[0] - Slope*rate_table.RatStg[0];
1291  stg_int = -(b/Slope);
1292  return (1);
1293 }
1294 
1295 /*****************************STAGE TO FLOW*********************************/
1296 int getflow(char *hb5,char *shef,double Stage, int *Warning)
1297 {
1298 int Flow, temp, err,i;
1299 double ShiftStage,Level;
1300 
1301  /* check to see if table needs to be loaded */
1302  if(strcmp(hb5,rate_table.id) ||
1303  strncmp(shef,rate_table.shef,2))
1304  {
1305  err = get_rate(hb5,shef);
1306  if(err != 1)
1307  {
1308  *Warning = -1;
1309  return -1;
1310  }
1311  }
1312 
1313  if( Stage < rate_table.HMin)
1314  {
1315  Flow = belows2f(Stage);
1316  *Warning = 1;
1317  return Flow;
1318  }
1319  else if( Stage > rate_table.HMax)
1320  {
1321  Flow = aboves2f(Stage);
1322  if (Flow == -1)
1323  {
1324  *Warning = 3;
1325  return Flow;
1326  }
1327  else
1328  {
1329  *Warning = 2;
1330  return Flow;
1331  }
1332  }
1333 
1334  for(i=0;i<=rate_table.AryMax;i++)
1335  {
1336  Level = rate_table.RatStg[i] - Stage;
1337  if( Level == 0)
1338  {
1339  Flow = exacts2f(i);
1340  *Warning = 0;
1341  return Flow;
1342  }
1343 
1344  if( Level > 0)
1345  {
1346  Flow=interps2f(Stage, i);
1347  *Warning = 0;
1348  return Flow;
1349  }
1350  }
1351 }
1352 
1353 int belows2f(double ShiftStage)
1354 {
1355 int Flow;
1356 double flow;
1357 
1358  if(rate_table.HMin == 0)
1359  Flow = 0;
1360 
1361  else /* calculate flow using y = mx + b(where y=flow,x=stg) */
1362  {
1363  flow = Slope*ShiftStage + b;
1364  Flow = flow;
1365 
1366  if(Flow < 0)
1367  Flow = 0;
1368  }
1369  return Flow;
1370 }
1371 
1372 int aboves2f(double ShiftStage)
1373 {
1374 double flow,Del,Slope,Var1;
1375 int Flow;
1376 
1377  Del = log10(rate_table.HMax) -
1378  log10(rate_table.RatStg[rate_table.AryMax - 2]);
1379 
1380  Slope = (log10(rate_table.QMax) -
1381  log10(rate_table.RatQ[rate_table.AryMax - 2])) / Del;
1382 
1383  Var1 = log10(rate_table.QMax);
1384  flow = Var1 + (Slope * (log10(ShiftStage) -
1385  log10(rate_table.HMax)));
1386 
1387  if(flow > 8.3)
1388  return -1;
1389  else
1390  {
1391  flow = pow(10.0,flow);
1392  Flow = flow;
1393  return Flow;
1394  }
1395 }
1396 
1397 int exacts2f(int i)
1398 {
1399  double flow = rate_table.RatQ[i];
1400  int Flow = flow;
1401  return Flow;
1402 }
1403 
1404 int interps2f(double ShiftStage, int i)
1405 {
1406 double flow,Del,Slope,Var2;
1407 int Flow,High=i,Low=i-1;
1408 
1409  if((rate_table.RatStg[Low] == 0)&&(rate_table.RatQ[Low] == 0))
1410  {
1411  Flow = 0;
1412  return Flow;
1413  }
1414 
1415  if(ShiftStage ==0)
1416  ShiftStage=.00001;
1417 
1418  Del = log10(rate_table.RatStg[High]) - log10(rate_table.RatStg[Low]);
1419 
1420  if(Del==0)
1421  Del=.000001;
1422 
1423  Slope = (log10(rate_table.RatQ[High]) -
1424  log10(rate_table.RatQ[Low])) / Del;
1425 
1426  Var2 = log10(rate_table.RatQ[Low]);
1427  flow = Var2 + (Slope * (log10(ShiftStage) -
1428  log10(rate_table.RatStg[Low])));
1429  if(flow > 20000000)
1430  flow=20000000;
1431 
1432  flow = pow(10.0,flow);
1433  Flow = (int)flow;
1434 
1435  return Flow;
1436 }
1437 
1438 /********************************FLOW TO STAGE*****************************/
1439 double getstage(char *hb5, char *shef, int Flow, int *Warning)
1440 {
1441 int i;
1442 int err;
1443 double Stage;
1444 double Level;
1445 
1446  /* check to see if table needs to be loaded */
1447  if(strcmp(hb5,rate_table.id) ||
1448  strncmp(shef,rate_table.shef,2))
1449  {
1450  err = get_rate(hb5,shef);
1451  if(err != 1)
1452  {
1453  *Warning = -1;
1454  return -1;
1455  }
1456  }
1457 
1458  if( Flow < rate_table.QMin)
1459  {
1460  Stage=belowf2s(Flow);
1461  *Warning = 1;
1462  return Stage;
1463  }
1464 
1465  if( Flow > rate_table.QMax)
1466  {
1467  Stage = abovef2s(Flow);
1468  *Warning = 1;
1469  return Stage;
1470  }
1471 
1472  for( i = 0; i <= rate_table.AryMax; i++)
1473  {
1474  Level = rate_table.RatQ[i] - Flow;
1475  if(!Level)
1476  {
1477  Stage = exactf2s(i);
1478  *Warning = 0;
1479  return Stage;
1480  }
1481 
1482  if( Level > 0)
1483  {
1484  Stage = interpf2s(Flow, i);
1485  *Warning = 0;
1486  return Stage;
1487  }
1488  }
1489 }
1490 
1491 double belowf2s(int Flow)
1492 {
1493  double flow = (double)Flow;
1494  double Slope = rate_table.HMin / rate_table.QMin;
1495  double Stage = flow * Slope;
1496  double ShiftStage = Stage;
1497  return ShiftStage;
1498 }
1499 
1500 double abovef2s(int Flow)
1501 {
1502 double flow,Del,Slope,Var1,Stage,ShiftStage;
1503 
1504  flow = Flow;
1505  Del = log10(rate_table.QMax) -
1506  log10(rate_table.RatQ[rate_table.AryMax - 1]);
1507  Slope = (log10(rate_table.HMax) -
1508  log10(rate_table.RatStg[rate_table.AryMax - 1])) / Del;
1509  Var1 = log10(rate_table.HMax);
1510  Stage = Var1 + (Slope * (log10(flow) - log10(rate_table.QMax)));
1511  ShiftStage = pow(10.0,Stage);
1512  return ShiftStage;
1513 }
1514 
1515 double exactf2s(int i)
1516 {
1517  double Stage = rate_table.RatStg[i];
1518  double ShiftStage = Stage;
1519  return ShiftStage;
1520 }
1521 
1522 double interpf2s(int Flow, int i)
1523 {
1524 double flow,Del,Slope,Var2,Stage;
1525 int High;
1526 int Low;
1527 
1528  High=i;
1529  Low= i-1;
1530 
1531  flow = Flow;
1532 
1533  if(rate_table.RatQ[Low] == 0)
1534  rate_table.RatQ[Low] = 1;
1535 
1536  Del = log10((double)rate_table.RatQ[High]) -
1537  log10((double)rate_table.RatQ[Low]);
1538 
1539  Slope = (log10(rate_table.RatStg[High]) -
1540  log10(rate_table.RatStg[Low])) / Del;
1541 
1542  Var2 = log10(rate_table.RatStg[Low]);
1543  Stage = Var2 + (Slope * (log10(flow) -
1544  log10((double)rate_table.RatQ[Low])));
1545  Stage = pow(10.0,Stage);
1546 
1547  return Stage;
1548 }
1549 
1550 /*------------------------------------------------------------------------
1551  This function gets all the rating curve information and then returns it.
1552 -------------------------------------------------------------------------*/
1553 RatingTable getrc(char *hb5,char *shef,int *Warning)
1554 {
1555 int err;
1556  err = get_rate(hb5,shef);
1557  *Warning = err;
1558  return rate_table;
1559 }
1560 
1561 #line 823 "rat.ec"
static int i
RatingTable getrc(char *ihb5, char pe1, char pe2, int zdate, int *Warning)
Definition: rat.c:2343
int get_rate(char *hb5in, char pe1, char pe2, int zdate)
Definition: rat.c:145
struct sqlca_s sqlca
int j
Definition: mapp2h.h:48
char temp[9]
Definition: mapp2h.h:66
float value
int aboves2f(double ShiftStage)
Definition: rat.c:1372
static double b
Definition: rat.c:11
double getstage(char *hb5, char *shef, int Flow, int *Warning)
Definition: rat.c:1439
double exactf2s(int i)
Definition: rat.c:1515
static double stg_int
Definition: rat.c:11
int interps2f(double ShiftStage, int i)
Definition: rat.c:1404
static RatingTable rate_table
Definition: rat.c:9
int belows2f(double ShiftStage)
Definition: rat.c:1353
static double Slope
Definition: rat.c:11
double interpf2s(int Flow, int i)
Definition: rat.c:1522
double belowf2s(int Flow)
Definition: rat.c:1491
static const char _Cn1[]
Definition: rat.c:3
int getflow(char *hb5, char *shef, double Stage, int *Warning)
Definition: rat.c:1296
static double Val[10]
Definition: rat.c:11
static double Sh[10]
Definition: rat.c:11
int exacts2f(int i)
Definition: rat.c:1397
static int max
Definition: rat.c:10
double abovef2s(int Flow)
Definition: rat.c:1500
char id[6]
Definition: rat.h:3
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
char shef[8]
Definition: rat.h:4
double fld
Definition: rate_table.h:21
long sqlcode
Definition: db.c:44