/[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

Annotation of /trunk/obj_srvr.tables

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide 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 dpavlin 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