/[vdw]/trunk/obj_srvr.tables
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/obj_srvr.tables

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations)
Sun Feb 6 05:28:38 2005 UTC (19 years, 2 months ago) by dpavlin
File size: 54530 byte(s)
initial import into svn

1 # ==============================================================================
2 # obj_srvr.tables
3 #
4 # This file contains the layout and associated subroutine referencess for the
5 # virtual tables served by Obj_Srvr.pm.
6 #
7 # Driver routines must return reference to an array of hash refs (records).
8 # All supporting routines must return only 1 record per driver routine
9 # record. To use supporting routines that return an array of records (like
10 # schedule() ), create a wrapper driver routine that adds in the supporting
11 # records and returns an expanded array (see stu_schedule for an example).
12 #
13 # These will be included in Obj_Srvr.pm at the package level.
14 # ==============================================================================
15
16 # ==========================
17 # Table Driver Subroutines
18 # ==========================
19 # note: could be multiple subs for a table name
20 #
21 # table name driver sub name driver sub ref
22 %table_objs = ( "term_students" => { "subname" => "term_students",
23 "subref" => \&term_students },
24
25 "stu_schedule" => { "subname" => "stu_schedule",
26 "subref" => \&stu_schedule },
27
28 "term_graduates" => { "subname" => "term_graduates",
29 "subref" => \&term_graduates },
30
31 "term_appls" => { "subname" => "term_appls",
32 "subref" => \&appls_for_term },
33
34 "term_admits" => { "subname" => "term_admits",
35 "subref" => \&term_admits },
36
37 "new_fr" => { "subname" => "new_fr",
38 "subref" => \&new_fr },
39
40 "new_tr" => { "subname" => "new_tr",
41 "subref" => \&new_tr },
42
43 "new_fr_tr" => { "subname" => "new_fr_tr",
44 "subref" => \&new_fr_tr },
45
46 "new_fr_sched" => { "subname" => "new_fr_sched",
47 "subref" => \&new_fr_sched },
48
49 "new_tr_sched" => { "subname" => "new_tr_sched",
50 "subref" => \&new_tr_sched },
51
52 "new_fr_tr_sched" => { "subname" => "new_fr_tr_sched",
53 "subref" => \&new_fr_tr_sched },
54
55 "term_balances" => { "subname" => "term_balances",
56 "subref" => \&term_balances },
57
58 "term_faculty" => { "subname" => "term_fac_sched",
59 "subref" => \&term_fac_sched },
60
61 "term_schedule" => { "subname" => "term_schedule",
62 "subref" => \&term_schedule },
63
64 "term_recruits" => { "subname" => "term_recruits",
65 "subref" => \&term_recruits }
66 );
67
68
69 # ===================
70 # Table Definitions
71 # ===================
72 %obj_accessor = ( "term_students" => {
73 "term" => { "subname" => "SELF",
74 "size" => 6 },
75 "level" => { "subname" => "SELF",
76 "size" => 2 },
77 "confidential" => { "subname" => "SELF",
78 "size" => 1 },
79 "dead" => { "subname" => "SELF",
80 "size" => 1 },
81 "majr_code" => { "subname" => "SELF",
82 "size" => 4 },
83 "minr_code" => { "subname" => "SELF",
84 "size" => 4 },
85 "con1_code" => { "subname" => "SELF",
86 "size" => 4 },
87 "con2_code" => { "subname" => "SELF",
88 "size" => 4 },
89 "con3_code" => { "subname" => "SELF",
90 "size" => 4 },
91 "major" => { "subname" => "SELF",
92 "size" => 30 },
93 "minor" => { "subname" => "SELF",
94 "size" => 30 },
95 "conc1" => { "subname" => "SELF",
96 "size" => 30 },
97 "conc2" => { "subname" => "SELF",
98 "size" => 30 },
99 "conc3" => { "subname" => "SELF",
100 "size" => 30 },
101 "resident" => { "subname" => "SELF",
102 "size" => 1 },
103 "deg_plan" => { "subname" => "SELF",
104 "size" => 3 },
105 "admt_code" => { "subname" => "SELF",
106 "size" => 2 },
107 "admit_term" => { "subname" => "SELF",
108 "size" => 6 },
109 "styp_code" => { "subname" => "SELF",
110 "size" => 1 },
111 "orsn_code" => { "subname" => "SELF",
112 "size" => 1 },
113 "rate_code" => { "subname" => "SELF",
114 "size" => 5 },
115 "coll_code" => { "subname" => "SELF",
116 "size" => 2 },
117
118 "academic_level" => { "subname" => "academic_level",
119 "subref" => \&academic_level,
120 "field" => "academic_level",
121 "size" => 30 },
122
123
124 "advisor_lname" => { "subname" => "advisor",
125 "subref" => \&advisor,
126 "field" => "adv_lname",
127 "size" => 60 },
128
129 "advisor_fname" => { "subname" => "advisor",
130 "subref" => \&advisor,
131 "field" => "adv_fname",
132 "size" => 15 },
133
134 "advisor_mi" => { "subname" => "advisor",
135 "subref" => \&advisor,
136 "field" => "adv_mi",
137 "size" => 15 },
138
139 "advisor_vnum" => { "subname" => "advisor",
140 "subref" => \&advisor,
141 "field" => "adv_vnum",
142 "size" => 9 },
143
144 "cum_gpa" => { "subname" => "all_gpa_o",
145 "subref" => \&all_gpa,
146 "field" => "gpa",
147 "size" => 4,
148 "datatype" => "numeric" },
149
150 "total_hrs" => { "subname" => "all_gpa_o",
151 "subref" => \&all_gpa,
152 "field" => "total_hrs",
153 "size" => 7,
154 "datatype" => "numeric" },
155
156 "term_hrs" => { "subname" => "term_hrs",
157 "subref" => \&term_hrs,
158 "field" => "term_hrs",
159 "size" => 5,
160 "datatype" => "numeric" },
161
162 "class" => { "subname" => "class",
163 "subref" => \&class_by_pidm,
164 "field" => "class",
165 "size" => 2 },
166
167 "sat" => { "subname" => "SAT",
168 "subref" => \&SAT,
169 "field" => "SAT",
170 "size" => 5,
171 "datatype" => "numeric" },
172
173 "satm" => { "subname" => "SAT",
174 "subref" => \&SAT,
175 "field" => "SATM",
176 "size" => 5,
177 "datatype" => "numeric" },
178
179 "satv" => { "subname" => "SAT",
180 "subref" => \&SAT,
181 "field" => "SATV",
182 "size" => 5,
183 "datatype" => "numeric" },
184
185 "act" => { "subname" => "ACT",
186 "subref" => \&ACT,
187 "field" => "ACT",
188 "size" => 5,
189 "datatype" => "numeric" },
190
191 "acte" => { "subname" => "ACT",
192 "subref" => \&ACT,
193 "field" => "ACTE",
194 "size" => 5,
195 "datatype" => "numeric" },
196
197 "actm" => { "subname" => "ACT",
198 "subref" => \&ACT,
199 "field" => "ACTM",
200 "size" => 5,
201 "datatype" => "numeric" },
202
203 "actn" => { "subname" => "ACT",
204 "subref" => \&ACT,
205 "field" => "ACTN",
206 "size" => 5,
207 "datatype" => "numeric" },
208
209 "acts" => { "subname" => "ACT",
210 "subref" => \&ACT,
211 "field" => "ACTS",
212 "size" => 5,
213 "datatype" => "numeric" },
214
215 "last_tr_coll" => { "subname" => "last_tr_coll",
216 "subref" => \&last_tr_coll,
217 "field" => "coll_desc",
218 "size" => 30 },
219
220 "last_tr_coll_code" => { "subname" => "last_tr_coll",
221 "subref" => \&last_tr_coll,
222 "field" => "prior_coll",
223 "size" => 6 },
224
225 "fr_cohort" => { "subname" => "fr_cohort",
226 "subref" => \&fr_cohort,
227 "field" => "fr_cohort",
228 "size" => 10 },
229
230 "hs_code" => { "subname" => "hs_gpa",
231 "subref" => \&hs_gpa,
232 "field" => "hs_code",
233 "size" => 6 },
234
235 "high_school" => { "subname" => "hs_gpa",
236 "subref" => \&hs_gpa,
237 "field" => "hs_desc",
238 "size" => 30 }
239 },
240
241 "term_faculty" => {
242 "term" => { "subname" => "SELF",
243 "size" => 6 },
244 "gender" => { "subname" => "SELF",
245 "size" => 1 },
246 "ethnicity" => { "subname" => "SELF",
247 "size" => 30 },
248 "dept" => { "subname" => "SELF",
249 "size" => 30 },
250 "divs" => { "subname" => "SELF",
251 "size" => 30 },
252 "crn" => { "subname" => "SELF",
253 "size" => 5 },
254 "subject" => { "subname" => "SELF",
255 "size" => 4 },
256 "course" => { "subname" => "SELF",
257 "size" => 5 },
258 "title" => { "subname" => "SELF",
259 "size" => 30 },
260 "sched_code" => { "subname" => "SELF",
261 "size" => 3 },
262 "enrolled" => { "subname" => "SELF",
263 "size" => 4,
264 "datatype" => "numeric" },
265 "credit_hrs" => { "subname" => "SELF",
266 "size" => 5,
267 "datatype" => "numeric" },
268
269 # Note: we can provide ID fields from SIS using %id_addr
270 # further below without overwriting ethnicity above
271 # which came from HR, because add2hash won't replace
272 # a hash key that already exists.
273
274 },
275
276 "term_balances" => {
277 "term" => { "subname" => "SELF",
278 "size" => 6 },
279
280 "category" => { "subname" => "SELF",
281 "size" => 3 },
282
283 "balance" => { "subname" => "SELF",
284 "size" => 14,
285 "datatype" => "numeric" },
286
287 "ssn" => { "subname" => "SELF",
288 "size" => 9 },
289
290 "academic_level" => { "subname" => "academic_level",
291 "subref" => \&academic_level,
292 "field" => "academic_level",
293 "size" => 30 },
294
295 "advisor_lname" => { "subname" => "advisor",
296 "subref" => \&advisor,
297 "field" => "adv_lname",
298 "size" => 60 },
299
300 "advisor_fname" => { "subname" => "advisor",
301 "subref" => \&advisor,
302 "field" => "adv_fname",
303 "size" => 15 },
304
305 "advisor_mi" => { "subname" => "advisor",
306 "subref" => \&advisor,
307 "field" => "adv_mi",
308 "size" => 15 },
309
310 "advisor_vnum" => { "subname" => "advisor",
311 "subref" => \&advisor,
312 "field" => "adv_vnum",
313 "size" => 9 },
314
315 "term_hrs" => { "subname" => "term_hrs",
316 "subref" => \&term_hrs,
317 "field" => "term_hrs",
318 "size" => 5,
319 "datatype" => "numeric" } },
320
321 "term_recruits" => {
322 "term" => { "subname" => "SELF",
323 "size" => 6 },
324 "level" => { "subname" => "SELF",
325 "size" => 2 },
326 "major" => { "subname" => "SELF",
327 "size" => 30 },
328 "confidential" => { "subname" => "SELF",
329 "size" => 1 },
330 "hs_code" => { "subname" => "SELF",
331 "size" => 6 },
332 "high_school" => { "subname" => "SELF",
333 "size" => 30 },
334 "ethnicity" => { "subname" => "SELF",
335 "size" => 30 },
336 "hs_gpa" => { "subname" => "SELF",
337 "size" => 4,
338 "datatype" => "numeric" },
339 "recruit_type" => { "subname" => "SELF",
340 "size" => 30 },
341 "level_of_interest" => { "subname" => "SELF",
342 "size" => 30 },
343 "recr_status" => { "subname" => "recr_status",
344 "subref" => \&recr_status,
345 "field" => "recr_status",
346 "size" => 30 },
347 "last_tr_coll" => { "subname" => "coll_info",
348 "subref" => \&coll_info,
349 "field" => "coll_desc",
350 "size" => 30 },
351 "last_tr_coll_code" => { "subname" => "coll_info",
352 "subref" => \&coll_info,
353 "field" => "prior_coll",
354 "size" => 6 },
355 "college_state" => { "subname" => "coll_info",
356 "subref" => \&coll_info,
357 "field" => "sbgi_state",
358 "size" => 3 },
359 "college_county" => { "subname" => "coll_info",
360 "subref" => \&coll_info,
361 "field" => "sbgi_county",
362 "size" => 30 },
363 "college_city" => { "subname" => "coll_info",
364 "subref" => \&coll_info,
365 "field" => "sbgi_city",
366 "size" => 20 },
367 "hs_state" => { "subname" => "hs_info",
368 "subref" => \&sbgi_info,
369 "field" => "sbgi_state",
370 "size" => 3 },
371 "hs_county" => { "subname" => "hs_info",
372 "subref" => \&sbgi_info,
373 "field" => "sbgi_county",
374 "size" => 30 },
375 "hs_city" => { "subname" => "hs_info",
376 "subref" => \&sbgi_info,
377 "field" => "sbgi_city",
378 "size" => 20 } },
379
380 "term_appls" => {
381 "term" => { "subname" => "SELF",
382 "size" => 6 },
383
384 "level" => { "subname" => "SELF",
385 "size" => 2 },
386
387 "residence" => { "subname" => "SELF",
388 "size" => 1 },
389
390 "appl_date" => { "subname" => "SELF",
391 "size" => 10,
392 "datatype" => "date" },
393
394 "admt_code" => { "subname" => "SELF",
395 "size" => 2 },
396
397 "major" => { "subname" => "SELF",
398 "size" => 30 },
399
400 "college_code" => { "subname" => "SELF",
401 "size" => 6 },
402
403 "college" => { "subname" => "SELF",
404 "size" => 30 },
405
406 "college_state" => { "subname" => "SELF",
407 "size" => 3 },
408
409 "decision" => { "subname" => "app_decsn",
410 "subref" => \&app_decsn,
411 "field" => "decision",
412 "size" => 2 },
413
414 "accepted" => { "subname" => "app_decsn",
415 "subref" => \&app_decsn,
416 "field" => "accepted",
417 "size" => 1 } },
418
419 "term_admits" => {
420 "term" => { "subname" => "SELF",
421 "size" => 6 },
422
423 "level" => { "subname" => "SELF",
424 "size" => 2 },
425 "decision" => { "subname" => "SELF",
426 "size" => 2 },
427
428 "decision_date" => { "subname" => "SELF",
429 "size" => 10,
430 "datatype" => "date" },
431
432 "appl_date" => { "subname" => "SELF",
433 "size" => 10,
434 "datatype" => "date" },
435
436 "admt_code" => { "subname" => "SELF",
437 "size" => 2 },
438
439 "accepted_flg" => { "subname" => "SELF",
440 "size" => 1 },
441
442 "resident" => { "subname" => "SELF",
443 "size" => 1 },
444
445 "enrolled" => { "subname" => "enrolled_yn",
446 "subref" => \&enrolled_yn,
447 "field" => "enrolled",
448 "size" => 1 },
449
450 "major" => { "subname" => "student",
451 "subref" => \&student2,
452 "field" => "major",
453 "size" => 30 },
454
455 "hs_code" => { "subname" => "hs_gpa",
456 "subref" => \&hs_gpa,
457 "field" => "hs_code",
458 "size" => 6 },
459
460 "high_school" => { "subname" => "hs_gpa",
461 "subref" => \&hs_gpa,
462 "field" => "hs_desc",
463 "size" => 30 },
464
465 "hs_gpa" => { "subname" => "hs_gpa",
466 "subref" => \&hs_gpa,
467 "field" => "gpa",
468 "size" => 4,
469 "datatype" => "numeric" },
470
471 "hs_rank" => { "subname" => "hs_gpa",
472 "subref" => \&hs_gpa,
473 "field" => "rank",
474 "size" => 4,
475 "datatype" => "numeric" },
476
477 "hs_percentile" => { "subname" => "hs_gpa",
478 "subref" => \&hs_gpa,
479 "field" => "percentile",
480 "size" => 5,
481 "datatype" => "numeric" },
482
483 "hs_grad_date" => { "subname" => "hs_gpa",
484 "subref" => \&hs_gpa,
485 "field" => "grad_date",
486 "size" => 10,
487 "datatype" => "date" },
488
489 "level_of_interest" => { "subname" => "recruit",
490 "subref" => \&recruit,
491 "field" => "level_of_interest",
492 "size" => 30 },
493
494 "contact" => { "subname" => "contact",
495 "subref" => \&contact,
496 "field" => "contact",
497 "size" => 30 } },
498
499 "term_schedule" => {
500 "term" => { "subname" => "SELF",
501 "size" => 6 },
502 "crn" => { "subname" => "SELF",
503 "size" => 5 },
504 "subj" => { "subname" => "SELF",
505 "size" => 4 },
506 "crse" => { "subname" => "SELF",
507 "size" => 5 },
508 "crse_title" => { "subname" => "SELF",
509 "size" => 30 },
510 "schd_code" => { "subname" => "SELF",
511 "size" => 3 },
512 "enrl" => { "subname" => "SELF",
513 "size" => 4,
514 "datatype" => "numeric" },
515 "max_enrl" => { "subname" => "SELF",
516 "size" => 4,
517 "datatype" => "numeric" },
518 "seats_avail" => { "subname" => "SELF",
519 "size" => 4,
520 "datatype" => "numeric" },
521 "credit_hrs" => { "subname" => "SELF",
522 "size" => 5,
523 "datatype" => "numeric" },
524 "bldg" => { "subname" => "SELF",
525 "size" => 6 },
526 "room" => { "subname" => "SELF",
527 "size" => 10 },
528 "time" => { "subname" => "SELF",
529 "size" => 9 },
530 "days" => { "subname" => "SELF",
531 "size" => 7 },
532 "capacity" => { "subname" => "SELF",
533 "size" => 4,
534 "datatype" => "numeric" },
535
536 "instructor_lname" => { "subname" => "primary_instructor",
537 "subref" => \&primary_instructor,
538 "field" => "lname",
539 "size" => 60 },
540
541 "instructor_fname" => { "subname" => "primary_instructor",
542 "subref" => \&primary_instructor,
543 "field" => "fname",
544 "size" => 15 },
545
546 "instructor_mname" => { "subname" => "primary_instructor",
547 "subref" => \&primary_instructor,
548 "field" => "full_mname",
549 "size" => 15 },
550
551 "instructor_vnum" => { "subname" => "primary_instructor",
552 "subref" => \&primary_instructor,
553 "field" => "vnum",
554 "size" => 9 } }
555
556 );
557
558 my %id_addr = (
559 "lname" => { "subname" => "id",
560 "subref" => \&id,
561 "field" => "lname",
562 "size" => 60 },
563
564 "fname" => { "subname" => "id",
565 "subref" => \&id,
566 "field" => "fname",
567 "size" => 15 },
568
569 "mname" => { "subname" => "id",
570 "subref" => \&id,
571 "field" => "full_mname",
572 "size" => 15 },
573
574 "vnum" => { "subname" => "id",
575 "subref" => \&id,
576 "field" => "vnum",
577 "size" => 9 },
578
579 "confidential" => { "subname" => "id",
580 "subref" => \&id,
581 "field" => "confidential",
582 "size" => 1 },
583
584 "deceased" => { "subname" => "id",
585 "subref" => \&id,
586 "field" => "dead",
587 "size" => 1 },
588
589 "citizen" => { "subname" => "id",
590 "subref" => \&id,
591 "field" => "citz",
592 "size" => 2 },
593
594 "gender" => { "subname" => "id",
595 "subref" => \&id,
596 "field" => "gender",
597 "size" => 1 },
598
599 "ethn_code" => { "subname" => "id",
600 "subref" => \&id,
601 "field" => "ethn_code",
602 "size" => 2 },
603
604 "ethnicity" => { "subname" => "id",
605 "subref" => \&id,
606 "field" => "ethnicity",
607 "size" => 30 },
608
609 "birthdate" => { "subname" => "id",
610 "subref" => \&id,
611 "field" => "birth_date",
612 "size" => 10,
613 "datatype" => "date" },
614
615 "age" => { "subname" => "id",
616 "subref" => \&id,
617 "field" => "age",
618 "size" => 3,
619 "datatype" => "numeric" },
620
621 "email" => { "subname" => "stu_email",
622 "subref" => \&stu_email,
623 "field" => "email_address",
624 "size" => 90 },
625
626 "street1" => { "subname" => "get_addr_pr",
627 "subref" => \&get_addr,
628 "field" => "street",
629 "size" => 30 },
630
631 "street2" => { "subname" => "get_addr_pr",
632 "subref" => \&get_addr,
633 "field" => "street2",
634 "size" => 30 },
635
636 "street3" => { "subname" => "get_addr_pr",
637 "subref" => \&get_addr,
638 "field" => "street2",
639 "size" => 30 },
640
641 "city" => { "subname" => "get_addr_pr",
642 "subref" => \&get_addr,
643 "field" => "city",
644 "size" => 30 },
645
646 "state" => { "subname" => "get_addr_pr",
647 "subref" => \&get_addr,
648 "field" => "state",
649 "size" => 3 },
650
651 "zip" => { "subname" => "get_addr_pr",
652 "subref" => \&get_addr,
653 "field" => "zip",
654 "size" => 10 },
655
656 "nation" => { "subname" => "get_addr_pr",
657 "subref" => \&get_addr,
658 "field" => "nation",
659 "size" => 30 },
660
661 "natn" => { "subname" => "get_addr_pr",
662 "subref" => \&get_addr,
663 "field" => "natn_code",
664 "size" => 5 },
665
666 "county" => { "subname" => "get_addr_pr",
667 "subref" => \&get_addr,
668 "field" => "county",
669 "size" => 30 },
670
671 "atyp" => { "subname" => "get_addr_pr",
672 "subref" => \&get_addr,
673 "field" => "atyp",
674 "size" => 2 },
675
676 "phone" => { "subname" => "get_addr_pr",
677 "subref" => \&get_addr,
678 "field" => "phone",
679 "size" => 13 },
680
681 "street1_lo" => { "subname" => "get_addr_lo",
682 "subref" => \&get_addr,
683 "field" => "street",
684 "size" => 30 },
685
686 "street2_lo" => { "subname" => "get_addr_lo",
687 "subref" => \&get_addr,
688 "field" => "street2",
689 "size" => 30 },
690
691 "street3_lo" => { "subname" => "get_addr_lo",
692 "subref" => \&get_addr,
693 "field" => "street2",
694 "size" => 30 },
695
696 "city_lo" => { "subname" => "get_addr_lo",
697 "subref" => \&get_addr,
698 "field" => "city",
699 "size" => 30 },
700
701 "state_lo" => { "subname" => "get_addr_lo",
702 "subref" => \&get_addr,
703 "field" => "state",
704 "size" => 3 },
705
706 "zip_lo" => { "subname" => "get_addr_lo",
707 "subref" => \&get_addr,
708 "field" => "zip",
709 "size" => 10 },
710
711 "nation_lo" => { "subname" => "get_addr_lo",
712 "subref" => \&get_addr,
713 "field" => "nation",
714 "size" => 30 },
715
716 "natn_lo" => { "subname" => "get_addr_lo",
717 "subref" => \&get_addr,
718 "field" => "natn_code",
719 "size" => 5 },
720
721 "county_lo" => { "subname" => "get_addr_lo",
722 "subref" => \&get_addr,
723 "field" => "county",
724 "size" => 30 },
725
726 "atyp_lo" => { "subname" => "get_addr_lo",
727 "subref" => \&get_addr,
728 "field" => "atyp",
729 "size" => 2 },
730
731 "phone_lo" => { "subname" => "get_addr_lo",
732 "subref" => \&get_addr,
733 "field" => "phone",
734 "size" => 13 } );
735
736 add2hash( $obj_accessor{term_students}, \%id_addr );
737 add2hash( $obj_accessor{term_faculty}, \%id_addr );
738 add2hash( $obj_accessor{term_balances}, \%id_addr );
739 add2hash( $obj_accessor{term_recruits}, \%id_addr );
740 add2hash( $obj_accessor{term_appls}, $obj_accessor{term_students} );
741 add2hash( $obj_accessor{term_admits}, $obj_accessor{term_students} );
742
743 # ====================================================================
744 # Dependent Table Definitions (dependent on table definitions above)
745 # ====================================================================
746 # term_students_id
747 # ----------------
748 # Note: not used as a table for "queries", but needed as a table definition
749 # for building other tables
750 $obj_accessor{"term_students_id"} = { };
751 add2hash( $obj_accessor{term_students_id}, $obj_accessor{term_students} );
752
753 # for performance in one-to-many joins, the term_students_id sub returns the id()
754 # fields, unlike the term_students sub
755
756 $obj_accessor{term_students_id}->{"lname"} = { "subname" => "SELF",
757 "size" => 60 };
758
759 $obj_accessor{term_students_id}->{"fname"} = { "subname" => "SELF",
760 "size" => 15 };
761
762 $obj_accessor{term_students_id}->{"mname"} = { "subname" => "SELF",
763 "size" => 15 };
764
765 $obj_accessor{term_students_id}->{"vnum"} = { "subname" => "SELF",
766 "size" => 9 };
767
768 $obj_accessor{term_students_id}->{"confidential"} = { "subname" => "SELF",
769 "size" => 1 };
770
771 $obj_accessor{term_students_id}->{"deceased"} = { "subname" => "SELF",
772 "size" => 1 };
773
774 $obj_accessor{term_students_id}->{"citizen"} = { "subname" => "SELF",
775 "size" => 2 };
776
777 $obj_accessor{term_students_id}->{"gender"} = { "subname" => "SELF",
778 "size" => 1 };
779
780 $obj_accessor{term_students_id}->{"ethn_code"} = { "subname" => "SELF",
781 "size" => 2 };
782
783 $obj_accessor{term_students_id}->{"ethnicity"} = { "subname" => "SELF",
784 "size" => 30 };
785
786 $obj_accessor{term_students_id}->{"birthdate"} = { "subname" => "SELF",
787 "size" => 10,
788 "datatype" => "date" };
789
790 $obj_accessor{term_students_id}->{"age"} = { "subname" => "SELF",
791 "size" => 3 };
792
793 # stu_schedule
794 # ------------
795 $obj_accessor{"stu_schedule"} = { };
796 add2hash( $obj_accessor{stu_schedule}, $obj_accessor{term_students_id} );
797 # different population with same fields as term_students_id plus
798 # additional fields (SELF refers to &stu_schedule at run time)
799
800 # stu_schedule fields not in term_students_id
801 add2hash( $obj_accessor{stu_schedule},
802 { "crn" => { "subname" => "SELF",
803 "size" => 5 },
804 "crse_level" => { "subname" => "SELF",
805 "size" => 2 },
806 "subject" => { "subname" => "SELF",
807 "size" => 4 },
808 "course" => { "subname" => "SELF",
809 "size" => 5 },
810 "credit_hrs" => { "subname" => "SELF",
811 "size" => 5,
812 "datatype" => "numeric" },
813 "add_date" => { "subname" => "SELF",
814 "size" => 10,
815 "datatype" => "date" },
816 "grade" => { "subname" => "grade",
817 "subref" => \&grade,
818 "field" => "grade",
819 "size" => 6 },
820 "instructor_lname" => { "subname" => "primary_instructor",
821 "subref" => \&primary_instructor,
822 "field" => "lname",
823 "size" => 60 },
824
825 "instructor_fname" => { "subname" => "primary_instructor",
826 "subref" => \&primary_instructor,
827 "field" => "fname",
828 "size" => 15 },
829
830 "instructor_mname" => { "subname" => "primary_instructor",
831 "subref" => \&primary_instructor,
832 "field" => "full_mname",
833 "size" => 15 },
834
835 "instructor_vnum" => { "subname" => "primary_instructor",
836 "subref" => \&primary_instructor,
837 "field" => "vnum",
838 "size" => 9 } } );
839
840 # term_graduates
841 # --------------
842 $obj_accessor{"term_graduates"} = { };
843 add2hash( $obj_accessor{term_graduates}, $obj_accessor{term_students} );
844
845 delete $obj_accessor{term_graduates}->{resident}; # will replace below
846
847 add2hash( $obj_accessor{term_graduates},
848 { "grad_year" => { "subname" => "SELF",
849 "size" => 30 },
850 "grad_date" => { "subname" => "SELF",
851 "size" => 10,
852 "datatype" => "date" },
853 "degr_code" => { "subname" => "SELF",
854 "size" => 6 },
855 "degree" => { "subname" => "SELF",
856 "size" => 30 },
857 "college" => { "subname" => "SELF",
858 "size" => 30 },
859 "dept" => { "subname" => "SELF",
860 "size" => 30 },
861 "honors" => { "subname" => "SELF",
862 "size" => 30 },
863 "major2" => { "subname" => "SELF",
864 "size" => 30 },
865 "conc1_1" => { "subname" => "SELF",
866 "size" => 30 },
867 "conc1_2" => { "subname" => "SELF",
868 "size" => 30 },
869 "conc1_3" => { "subname" => "SELF",
870 "size" => 30 },
871 "conc2_1" => { "subname" => "SELF",
872 "size" => 30 },
873 "conc2_2" => { "subname" => "SELF",
874 "size" => 30 },
875 "conc2_3" => { "subname" => "SELF",
876 "size" => 30 },
877 "minor2" => { "subname" => "SELF",
878 "size" => 30 },
879 "resident" => { "subname" => "first_student",
880 "subref" => \&first_student,
881 "field" => "resident",
882 "size" => 1 } } );
883
884 # new_fr
885 # ------
886 $obj_accessor{"new_fr"} = { };
887 add2hash( $obj_accessor{new_fr}, $obj_accessor{term_students} );
888
889 # new_tr
890 # ------
891 $obj_accessor{"new_tr"} = { };
892 add2hash( $obj_accessor{new_tr}, $obj_accessor{term_students} );
893
894 # new_fr_tr
895 # ---------
896 $obj_accessor{"new_fr_tr"} = { };
897 add2hash( $obj_accessor{new_fr_tr}, $obj_accessor{term_students} );
898
899 # new_fr_sched
900 # ------
901 $obj_accessor{"new_fr_sched"} = { };
902 add2hash( $obj_accessor{new_fr_sched}, $obj_accessor{stu_schedule} );
903
904 # new_tr_sched
905 # ------
906 $obj_accessor{"new_tr_sched"} = { };
907 add2hash( $obj_accessor{new_tr_sched}, $obj_accessor{stu_schedule} );
908
909 # new_fr_tr_sched
910 # ---------
911 $obj_accessor{"new_fr_tr_sched"} = { };
912 add2hash( $obj_accessor{new_fr_tr_sched}, $obj_accessor{stu_schedule} );
913
914
915 # ===================
916 # Subroutine Params
917 # ===================
918 # driver subs
919 %methods = ( "term_students" => { "parms" => [ "dbh",
920 "term",
921 "level" ] },
922
923 "stu_schedule" => { "parms" => [ "dbh",
924 "term",
925 "level" ] },
926
927 "term_appls" => { "parms" => [ "dbh",
928 "term",
929 "level" ] },
930
931 "term_admits" => { "parms" => [ "dbh",
932 "term",
933 "level" ] },
934
935 "term_graduates" => { "parms" => [ "dbh",
936 "term",
937 "level" ] },
938
939 "term_balances" => { "parms" => [ "dbh",
940 "term",
941 "dcat_code" ] },
942
943 "term_recruits" => { "parms" => [ "dbh",
944 "term",
945 "level" ] },
946
947 "term_fac_sched" => { "parms" => [ "dbh",
948 "term" ] },
949
950 "term_schedule" => { "parms" => [ "dbh",
951 "term" ] },
952
953 "new_fr" => { "parms" => [ "dbh",
954 "term" ] },
955
956 "new_tr" => { "parms" => [ "dbh",
957 "term" ] },
958
959 "new_fr_tr" => { "parms" => [ "dbh",
960 "term" ] },
961
962 "new_fr_sched" => { "parms" => [ "dbh",
963 "term" ] },
964
965 "new_tr_sched" => { "parms" => [ "dbh",
966 "term" ] },
967
968 "new_fr_tr_sched" => { "parms" => [ "dbh",
969 "term" ] },
970
971 # supporting subs
972 "id" => { "parms" => [ "dbh",
973 "\$pidm" ] },
974
975 "get_addr_lo" => { "parms" => [ "dbh",
976 "\$pidm",
977 "DO",
978 "LO",
979 "CU" ] },
980
981 "get_addr_pr" => { "parms" => [ "dbh",
982 "\$pidm",
983 "PR",
984 "CU",
985 "LO" ] },
986
987 "academic_level" => { "parms" => [ "dbh",
988 "\$pidm",
989 "\$level" ] },
990
991 "stu_email" => { "parms" => [ "dbh",
992 "\$pidm" ] },
993
994 "advisor" => { "parms" => [ "dbh",
995 "\$pidm",
996 "\$term" ] },
997
998 "all_gpa_o" => { "parms" => [ "dbh",
999 "\$pidm",
1000 "\$level" ] },
1001
1002 "term_hrs" => { "parms" => [ "dbh",
1003 "\$pidm",
1004 "\$term" ] },
1005
1006 "grade" => { "parms" => [ "dbh",
1007 "\$pidm",
1008 "\$term",
1009 "\$crn" ] },
1010
1011 "class" => { "parms" => [ "dbh",
1012 "\$pidm",
1013 "\$level" ] },
1014
1015 "enrolled_yn" => { "parms" => [ "dbh",
1016 "\$pidm",
1017 "\$term" ] },
1018
1019 "student" => { "parms" => [ "dbh",
1020 "\$pidm",
1021 "\$term" ] },
1022
1023 "first_student" => { "parms" => [ "dbh",
1024 "\$pidm" ] },
1025
1026 "hs_gpa" => { "parms" => [ "dbh",
1027 "\$pidm" ] },
1028
1029 "SAT" => { "parms" => [ "dbh",
1030 "\$pidm" ] },
1031
1032 "ACT" => { "parms" => [ "dbh",
1033 "\$pidm" ] },
1034
1035 "fac_sched" => { "parms" => [ "dbh",
1036 "\$pidm",
1037 "\$term" ] },
1038
1039 "last_tr_coll" => { "parms" => [ "dbh",
1040 "\$pidm" ] },
1041
1042 "fr_cohort" => { "parms" => [ "dbh",
1043 "\$pidm" ] },
1044
1045 "primary_instructor" => { "parms" => [ "dbh",
1046 "\$term",
1047 "\$crn" ] },
1048
1049 "section_meet" => { "parms" => [ "dbh",
1050 "\$term",
1051 "\$crn" ] },
1052
1053 "recr_status" => { "parms" => [ "dbh",
1054 "\$term",
1055 "\$crn" ] },
1056
1057 "coll_info" => { "parms" => [ "dbh",
1058 "\$pidm" ] },
1059
1060 "hs_info" => { "parms" => [ "dbh",
1061 "\$hs_code" ] },
1062
1063 "recruit" => { "parms" => [ "dbh",
1064 "\$pidm",
1065 "\$term",
1066 "\$level" ] },
1067
1068 "contact" => { "parms" => [ "dbh",
1069 "\$pidm" ] },
1070
1071 "app_decsn" => { "parms" => [ "dbh",
1072 "\$pidm",
1073 "\$term",
1074 "\$appl_no",
1075 "12/31/2199" ] }
1076 );
1077

  ViewVC Help
Powered by ViewVC 1.1.26