General 80300 TRM
General 80300 TRM
General 80300 TRM
Documentation Feedback
http://education.sungardhe.com/survey/documentation.html
Summary
New version that supports Banner General 8.3 software. Revised version to address multiple documentation defects.
Contents
Chapter 1
Banner Standards
Naming Banner Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Naming Client-Developed Items . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Column Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Database Programming Object Naming Standards . . . . . . . . . . . . . . . 1-3 The dbprocs Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Banner Constraint Naming Convention . . . . . . . . . . . . . . . . . . . . . 1-8 Primary Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Check Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Unique Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 Data Format Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 SunGard-Delivered User IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 BASELINE and LOCAL User IDs . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 COBOL Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22 Style. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 C Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
July 2010
iii
Chapter 2
Banner Forms
Banner Forms Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 The Logical View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Implementation View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 Case View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29 Standards for Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35 Visual Cues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-36 Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38 Scroll Bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38 Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 Text Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 Check Boxes, Radio Groups, Pull Down Lists . . . . . . . . . . . . . . . . . . . 2-40 Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-42 Creating Custom Banner Forms . . . . . . . . . . . . . . . . . . . . . . . . . 2-45 Guidelines for Updating Forms for Banner 8.0 . . . . . . . . . . . . . . . . . . . 2-45
Chapter 3
iv
July 2010
GOQRPLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 GOQCLIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Workflow Banner Adapter Library (GOQWFLW) . . . . . . . . . . . . . . . . . . 3-18 Oracle Advanced Queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Large Object Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 Considerations for Building Custom Applications . . . . . . . . . . . . . . . . . . 3-20
Chapter 4
Upgrade Assistance
Upgrade Modification History/Maintenance (GUASMOD). . . . . . . . . . . . 4-1 Stage Modification History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Stage Modification Maintenance Header/Detail. . . . . . . . . . . . . . . . . . . 4-3 Stage Modification History Details Window . . . . . . . . . . . . . . . . . . . . . 4-4
Chapter 5
Banner Integration
Common Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Common Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Ethnicity Codes in Banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13 Ethnic Distinctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 New Race and Ethnicity Categories . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Nonresident Aliens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Chapter 6
July 2010
7.1 Changes for Forms that Call Oracle Reports . . . . . . . . . . . . . . . . . . 6-11 7.1 Changes for Oracle Reports RDF Files . . . . . . . . . . . . . . . . . . . . . 6-12 General PL/SQL Oracle*Reports Library (GOQOREP). . . . . . . . . . . . . . . 6-15 Dynamic Procedure Library (GOQRPLS) . . . . . . . . . . . . . . . . . . . . . . 6-18 Reports in Banner General . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19 Perl Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19 Report and Process Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20 Trace Mode (Debug) for General COBOL Programs . . . . . . . . . . . . . . 6-21 SQL*Plus Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 Sleep/Wake Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 Method One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 Method Two . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32 Operating Systems Without Sleep/Wake-up Commands . . . . . . . . . . . . . . 6-33 Job Submission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 Jobs Submitted from GJAPCTL . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 Jobs Submitted from Application Forms . . . . . . . . . . . . . . . . . . . . . . 6-35 The GUQINTF Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36 UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38 OpenVMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40 Windows Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-42 Batch Java Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-43 Job Submission Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-44 GURJOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-47 Managing Job Submission on Windows . . . . . . . . . . . . . . . . . . . . . . 6-49 Managing Job Submission on VMS. . . . . . . . . . . . . . . . . . . . . . . . . 6-50 Managing Job Submission on UNIX . . . . . . . . . . . . . . . . . . . . . . . . 6-52 Managing Job Submission on Non-Database Server. . . . . . . . . . . . . . . . 6-54 Viewing Job Submission Output . . . . . . . . . . . . . . . . . . . . . . . . . . 6-55 Data Extract Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56 Data Extract Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-57
vi
July 2010
Chapter 7
APIs
APIs Used in Banner General . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 APIs Used in Banner General with Student Forms and Tables . . . . . . . . . 7-5 APIs for Internal Banner Operations . . . . . . . . . . . . . . . . . . . . . . . 7-7
Chapter 8
Interfaces
Interfaces with External User Systems. . . . . . . . . . . . . . . . . . . . . . 8-1 Interfaces within Banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Chapter 9
July 2010
vii
Installing Desktop Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Updating Security Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Compiling GODSINF.DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Registering GODSINF.DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Quick Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 Install Desktop Tools Application on a Client System . . . . . . . . . . . . . 10-9 Setting up Desktop Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 Installing Desktop Tools in Other Environments . . . . . . . . . . . . . . . . 10-11 Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Citrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Troubleshooting
SQL Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T-1 Starting a SQL Trace in GUAINIT. . . . . . . . . . . . . . . . . . . . . . . . . . T-2 Capturing Runtime Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . T-2
Index
viii
July 2010
Banner Standards
July 2010
1-1
For client-developed reports used within a Banner application, the SunGard system identifier must be used as the first character (for example, G for General and so forth), and W, Y, or Z should be used as the second character. For client-developed tables used within a Banner application, the SunGard system identifier must be used as the first character (for example, G for General and so forth), and W, Y, or Z should be used as the second character. For client-developed programs used within a Banner application, the SunGard system identifier must be used as the first character (for example, G for General and so forth), and W, Y, or Z should be used as the second character.
Column Names
Application Tables (Base/Repeating)
Column names start with the seven-character table name, followed by an underscore and an expression that uniquely identifies the column within the table. For example:
GJBJOBS_NAME APBCONS_PIDM
Column names that correspond to a validation table must contain the seven-character application table name followed by an underscore, the four-character validation table identifier, an underscore, and CODE. For example:
GJBJOBS_PRNT_CODE APRCATG_DONR_CODE
If multiple columns are needed for the same validation table identifier, column names are made unique by appending a number or a unique name to the end of the name of the column. For example:
GURFEED_PAYT_CODE GURFEED_PAYT_CODE_TRANSCRIPT APBCONS_ATYP_CODE_PREF APBCONS_ATYP_CODE_CM
The name of the last activity date column begins with the seven-character table name followed by an underscore and ACTIVITY_DATE. For example:
GTVLETR_ACTIVITY_DATE APBCONS_ACTIVITY_DATE
The name of the updating user ID column begins with the seven-character table name followed by an underscore and USER_ID. For example:
GURAPAY_USER_ID
1-2
July 2010
Validation Tables
The validation table and corresponding form have the same name. Both start with GTV followed by a unique four-character identifier. For example: GTVCALL The name of the key column begins with the seven-character table name followed by an underscore and CODE. For example:
GTVCALL_CODE
The name of the description column begins with the seven-character table name followed by an underscore and DESC. For example:
GTVCALL_DESC
The name of columns that are used as indicators begins with the seven-character table name and end with an underscore and IND. For example:
GTVCALL_DUPL_IND
The name of the last activity date column begins with the seven-character table name followed by an underscore and ACTIVITY_DATE. For example:
GTVCALL_ACTIVITY_DATE
A unique index is created for the validation table using the key columns to prevent duplicates from being added to the system.
July 2010
1-3
a= Product identifier (S)tudent, (P)ayroll etc. b= Module (E)mployee, (B)udget etc. c= (T)rigger dddd = Table identifier such as PERS, IDEN, EMPL etc. e= Number 0 through 9, letters a through z
Note This becomes aabcddde.sql for those products that have a double character identifier. They sacrifice one of the table identifier letters: dddd becomes ddd.
The script has the same name as the table except that the third position is replaced with the letter t to denote a trigger. Each script ends with a number so the programming logic can have multiple triggers for the same table. If there are more than 10 triggers for a table, each script ends in a letter. For example:
sptpers0.sql sptiden7.sql petemplc.sql
- First database trigger for the SPBPERS table - Eighth database trigger for the SPRIDEN table - Thirteenth database trigger for the PEBEMPL table
Duplicate Names
The standards for script names could potentially lead to duplicate names from time to time. For example, if a trigger is created for both the NBBJOBS table and the NBRJOBS table you end up with two create scripts that should be named nbtjobs0.sql. This will not occur often, but when it does a small modification to one or both of the script names is suggested to make them unique. For example, nbtjobs0.sql for the NBBJOBS trigger and nbtjob20.sql for the NBRJOBS trigger.
a = Product identifier (S)tudent, (P)ayroll, etc. b = Module (E)mployee, (B)udget, etc. c = Pac(K)age, (P)rocedure, (F)unction dddd = Four-character mnemonic which uniquely identifies the object
Note If the product identifier is two characters, the standard becomes aabcddd.sql.
1-4
July 2010
gefcmnt.sql shkgpac.sql
(G)eneral (E)vent (F)unction for (CMNT) comments (S)tudent Academic (H)istory Pac(K)age for (G)rade (P)oint (A)verage (C)alculation. Positio(N) Control (B)udget Pac(K)age for (Enc)umbrance (C)alculation. Positio(N) Control (O)verall (F)unction for (Org) (C)harting.
nbkencc.sql
noforgc.sql
The same 7-character name will be used to name the package object within the database.
Line Extension Products
Line extension products use zzacbddd (the c before the b is intentional) where: zz= Line extension product. a= Baseline product identifier. c= Pac(K)age, (P)rocedure, (F)unction b= Module name. ddd= Table identifier For example:
hwpkeinf
hw = Self-Service line extension product p =Human Resources baseline product k = Pac(K)age e = (E)mployee module. inf = (Inf)ormation At the discretion of the programmer/project leader, the specification for the package may or may not, be separated from the body. They are typically separate unless they are very small packages. When split, the two scripts would be named the same except for a 1 appended to the body script name. For example, shkgpac.sql would be the script to create the specification and shkgpac1.sql would be the script to create the body. You can use all eight characters for the specification script, for example, sckgpac0.sql would be the script to create the specification and shkgpac1.sql would be the script to create the body.
Triggers
Database trigger objects within the database are named as follows:
at_abcdddd_xxxxxxxxxxxxxxxxxx
(a total of 29 characters)
July 2010
1-5
where: a = Product identifier (S)tudent, (P)ayroll etc. t = (T)rigger abcdddd = Table name xxxxxxxxxx.... = Meaningful trigger name up to 18 characters in length For example:
gt_spriden_name_compress pt_pebempl_audit_trail_upd
Packages
Packages should contain their functions, procedures, etc. in alphabetical order by object name. Procedures and functions can be created as stand-alone objects or contained within a package. There are a number of factors that contribute to this decision; therefore, it is determined by the programmer/technical project leader. The database objects that are procedures or functions will be named as follows:
p_xxxxxxxxxxxxxxxxxxxxxxxxxxx f_xxxxxxxxxxxxxxxxxxxxxxxxxxx
(a total of 29 characters)
where p = (P)rocedure f = (F)unction xxxxxxxxxx.... = Meaningful name up to 27 characters in length For example:
p_grade_point_avg_calc f_fund_override p_salary_enc_calc f_check_for_event_comments
For Oracle to execute a SQL statement that calls a packaged function, you must assert its purity level by coding the pragma RESTRICT_REFERENCES directive in the package specification. The pragma RESTRICT_REFERENCES directive is not required to execute a packaged function in procedural statements. Please refer to the Oracle 9i Application Developers Guide - Fundamentals, Release 2 for more information. Although, based on this standard, the names of functions and procedures can be up to 29 characters in length, it is strongly recommended that the names be kept shorter where possible. Many products outside of Banner have size limitations for these names; therefore, a shorter name is safer.
1-6
July 2010
Cursors
Cursors are named as follows:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxC
(a total of 29 characters)
Where: C = (C)ursor xxxxxxxxxx.... = Meaningful name up to 28 characters in length. It is strongly recommended that the C be preceded by an underscore. For example:
ytd_benefit_values_C students_who_are_employees_C delinquent_accounts_C
If the cursor returns all the columns for one table it is recommended that the cursor name = tablename_C (i.e., Spbpers_C, Stvterm_C).
User-Defined Types
User-defined types are named as follows in the database: a_xxxxxxxxxxxx[_nt] (up to 29 characters) Where: a = product identifier xxxxxxxx... = mnemonic that uniquely identifies the object _nt literal is added to the end if the object is a nested type For example:
g_idname_search g_idname_search_nt
A synonym must be created for all packages for the objects within those packages to be accessed by all Oracle Tools. For example, you cannot invoke baninst1.nbkencc.p_count_days_fisc_yr from Oracle Forms because of the two periods (i.e., owner.package_name.procedure_name). A synonym must be created for the package by stripping off the BANINST1 owner. In our example we end up with a synonym named nbkencc and so we can then invoke the procedure by referencing it as nbkencc.p_count_days_fisc_yr. Using the synonym to mask the BANINST1 owner in this fashion is also consistent with how we handle the table names. A synonym must be created for all packages. The synonym name is the same as the package except that the BANINST1 owner designation is stripped from the front. For example:
July 2010
1-7
Indexes
The unique index on each table is named as follows:
7-character table name_key_index
Each additional index is numbered numerically, starting with 2 after indexes, as follows:
7-character table name_key_index2 7-character table name_key_index3
etc.
rows do not exist, and to prevent the deletion of parent rows if children rows do exist
3. Check constraints to enforce integrity issues specified by the check condition 4. Unique constraints designates a column or a combination of columns as a unique
Primary Keys
Primary keys must be defined in the following fashion:
PK_ + ppppppp where PK for Primary Key, ppppppp = primary key table name
1-8
July 2010
Foreign Keys
Foreign keys can be defined in the following two situations: Defining referential integrity constraints referencing the validation tables Defining referential integrity constraints for application hierarchy
Example: The foreign key name for column SCBCDEP_TERM_CODE_START should be FK1_SCBCDEP_INV_STVTERM_CODE. The foreign key name for column SCBCDEP_TERM_CODE_END should be FK2_SCBCDEP_INV_STVTERM_CODE.
Check Constraints
SunGard recommends the following two possible standards:
1. CC + n + _ + ccccccc
where CC for Check Constraint n = an one-up number to distinguish potential duplicate check constraint key names in a given table ccccccc = column name
July 2010
1-9
Example: The check constraint name for checking the range of SCRSCHD_WORKLOAD would be CC1_SCRSCHD_WORKLOAD.
2. CC + x + _ + ttttttt + _ + mmmmmmm
where CC = Check Constraint x = a checking category code
Example: The check constraint name for checking the range of SCRSCHD_WORKLOAD would be CCR_SCRSCHD_outside_0_and_999.
Unique Constraints
Unique constraints must be defined in the following fashion:
uk +n+_ppppppp +_+ ddddddd where UK for unique constraint n= an one-up number to distinguish potential duplicate unique constraints in a given table. ddddddd= descriptive name
Example 1
To illustrate the situation where referential integrity is to be defined for the application hierarchy, let us assume there are three parent-child tables in the system:
XXXXXXX, YYYYYYY and ZZZZZZZ. 12:14:40 SQL> desc XXXXXXX; Name Null? Type
------------------------------- -------- ---A 12:14:47 SQL> desc YYYYYYY; Name Null? Type CHAR(1)
------------------------------- -------- ---A B 12:14:51 SQL> desc ZZZZZZZ; Name Null? Type CHAR(1) CHAR(1)
1-10
July 2010
B C
CHAR(1) CHAR(1)
Table YYYYYYY is the child of table XXXXXXX and table ZZZZZZZ is the child of table YYYYYYY. The following statement defines primary key for table XXXXXXX to enforce a unique, not null value:
12:14:56 SQL> alter table XXXXXXX 12:15:03 12:15:12 2 3 add constraint PK_XXXXXXX primary key ( A );
Table altered.
The following statement defines foreign key for table YYYYYYY referencing the primary key of table XXXXXXX to ensure the value of A exists in XXXXXX before allowing inserts/updates to YYYYYY. Deletes of A from XXXXXX only when the value of A does not exist in YYYYYY:
12:15:23 SQL> alter table YYYYYYY 12:15:28 12:15:43 12:15:51 2 3 4 add constraint FK1_YYYYYYY_INV_XXXXXXX_KEY foreign key ( A ) references XXXXXXX ( A );
Table altered.
Table altered.
The following statement defines foreign key for table ZZZZZZZ referencing the primary key of table YYYYYYY:
12:16:38 SQL> alter table ZZZZZZZ 12:16:43 12:16:57 12:17:09 2 3 4 add constraint FK1_ZZZZZZZ_INV_YYYYYYY_KEY foreign key ( A, B ) references YYYYYYY ( A, B );
Table altered.
Example 2
Using the sample defined above, the following error messages are generated when constraints are violated: The following statement inserted a row into table XXXXXXX successfully:
12:18:03 SQL> insert into XXXXXXX values ( '1' ); 1 row created.
July 2010
1-11
The following statement failed the PK_XXXXXXX primary key constraint, because a primary key must have unique value:
12:18:14 SQL> insert into XXXXXXX values ( '1' ); insert into XXXXXXX values ( '1' ) * ERROR at line 1: ORA-00001: unique constraint (SATURN.PK_XXXXXXX) violated
The following statement passed FK1_YYYYYYY_INV_XXXXXXX_KEY constraint checking and added a row into table YYYYYYY;
12:18:26 SQL> insert into YYYYYYY values ( '1', '1' ); 1 row created.
The following statement caused foreign key violation, because there is not a primary key value ( '2', '2' ) in table YYYYYYY yet:
12:18:53 SQL> insert into ZZZZZZZ values ( '2', '2', '1'); insert into ZZZZZZZ values ( '2', '2', '1' ) * ERROR at line 1: ORA-02291: integrity constraint (SATURN.FK1_ZZZZZZZ_INV_YYYYYYY_KEY) violated - parent key not found
1-12
July 2010
The following are sample user accounts for role-level security, etc.
USR IDs Description
Sample user account for role-level security, etc., for Advancement. Sample user account for Financial Aid. Sample user account for Finance. jdbc.user identified in the efc.ear deployment. Sample user account for Human Resources. Obsolete. Sample user account for Student. User account used for the administration of Streams processes. Kiosk Banner product owner.
ADISPRD FAISPRD FIMSPRD GENLPRD HRISPRD LIMSPRD MICRPRD POSNPRD SAISPRD TAISPRD
Sample and seed data owner for Advancement. Sample and seed data owner for Financial Aid. Sample and seed data owner for Finance. Sample and seed data owner for General. Sample and seed data owner for Human Resources. Obsolete. Obsolete. Sample and seed data owner for Position Control. Sample and seed data owner for Student. Sample and seed data owner for Accounts Receivable.
Advancement data user. Advancement schema owner. Banner Document Management Suite schema owner. Owner of most product packages, functions and procedures.
July 2010
1-13
Other IDs
Description
BANSECR BASELINE BWAMGR BWFMGR BWGMGR BWLMGR BWPMGR BWSMGR FAISDAT FAISMGR FIMSARC FIMSDAT FIMSMGR GENERAL HRISDAT ICMGR INFMGR MICROFA MICRPRD NLSUSR PAYROLL POSNCTL SAISDAT SATURN TAISMGR VRSMGR WFAUTO WFEVENT WFQUERY WTAILOR
Advancement Self-Service schema owner. Finance Self-Service schema owner. Web General schema owner. Faculty Self-Service schema owner. Employee Self-Service schema owner. Student Self-Service schema owner. Financial Aid data user. Financial Aid schema owner. Finance archive user. Finance data user. Finance schema owner. General schema owner. Human Resources data user. Integration components schema owner. Kiosk Banner product owner. Obsolete. Obsolete. Integration Manager schema owner. Payroll schema owner. Position Control schema owner. Student data owner. Student schema owner. Accounts Receivable schema owner. Voice Response Student and Financial Aid schema owner. Automated activities for a Workflow account. Event Queue Manager for a Workflow account. Query-only Workflow account. Web Tailor schema owner.
To generate a list of these user IDs in Oracle, enter the following command:
select username from dba_users order by username;
For security purposes, the schema owners and BANINST1 user accounts can be locked or have their passwords changed to prevent anyone from using these accounts during regular processing.
1-14
July 2010
Directory Structure
ADMIN OPSYS
Contains COBOL make files for platform (UNIX, AIX, DGUX, SUNOS, etc.)
Pro*C and C source files DCL command files (VMS only) SQL*Plus scripts to recreate database procedures, packages, functions, and triggers Oracle*Forms .fmb, .fmx, .pll, and .lib files .SCTDMP file used during the initial install (renamed to .DMP during install) Shell scripts (UNIX only) SQL*Plus scripts SQL*Plus scripts to recreate views
FORMS INSTALL
July 2010
1-15
Pro*C and C source files Pro*COBOL files (UNIX only) Pro*COBOL files (VMS only) DCL command files (VMS only) SQL*Plus scripts to recreate database procedures, packages, functions and triggers Oracle*Forms .fmb, .fmx, .pll and .lib files, Oracle Reports .SCTDMP file used during initial install (renamed to .DMP during install) Shell scripts (UNIX only) SQL*Plus scripts SQL*Plus scripts to recreate views
FORMS INSTALL
COMMON
Pro*C and C source files Pro*COBOL files (UNIX only) Pro*COBOL files (VMS only) DCL command files (VMS only) SQL*Plus scripts to recreate database procedures, packages, functions and triggers Oracle*Forms .fmb, .fmx, .pll and .lib files .SCTDMP file used during initial install (renamed to .DMP during install) Files that contain Java code Shell scripts (UNIX only)
FORMS INSTALL
JAVA MISC
1-16
July 2010
Pro*C and C source files DCL command files (VMS only) SQL*Plus scripts to recreate database procedures, packages, functions and triggers EDI Desktop Application Oracle*Forms .fmb, .fmx, .pll and .lib files, Oracle Reports .SCTDMP file used during initial install (renamed to .DMP during install) Shell scripts (UNIX only) SQL*Plus scripts SQL*Plus scripts to recreate views
Pro*C and C source files, C compile procedures, EXEC INCLUDE files (source files) COBOL copybooks for all products (UNIX also includes General Pro*COBOL & .gnt files) Links to copybooks with .cob extension and lower case names (UNIX only) Pro*COBOL files (VAX/VMS only) DCL command files (VAX/VMS only) Desktop executable SQL*Plus scripts to recreate database procedures, packages, functions and triggers Compiled PRO*COBOL executables for all products
COB
COB/LIB
EXE
July 2010
1-17
Oracle*Forms .fmb, .fmx, .mmb (menus), .mmx, .pll (PL/SQL library) and .lib (library) files Banner GIFs .SCTDMP file used during initial install (renamed to .DMP during install) Files that contain Java code Oracle*Loader Shell scripts (UNIX only) SQL*Plus scripts SQL*Plus scripts to recreate views Oracle schemas
GIF INSTALL
Pro*C and C source files Pro*COBOL files (UNIX only) Pro*COBOL files (VMS only) DCL command files (VMS only) SQL*Plus scripts to recreate database procedures, packages, functions and triggers Doc files Oracle*Forms .fmb, .fmx, .mmb (menus), .mmx, .pll and .lib files .SCTDMP file used during initial install (renamed to .DMP during install)
1-18
July 2010
Shell scripts (UNIX only) SQL*Plus scripts SQL*Plus scripts to recreate views
Pro*C and C source files SQL*Plus scripts to recreate database procedures, packages, functions and triggers Oracle*Forms .fmb and .fmx files .SCTDMP file used during initial install (renamed to .DMP during install) Shell scripts (UNIX only) SQL*Plus scripts SQL*Plus scripts to recreate views
FORMS INSTALL
Pro*C and C source files Pro*COBOL files (UNIX only) Pro*COBOL files (VMS only) DCL command files (VMS only) SQL*Plus scripts to recreate database procedures, packages, functions and triggers Oracle*Forms .fmb, .fmx, .pll and .lib files, Oracle Reports .SCTDMP file used during initial install (renamed to .DMP during install) Files that contain Java code Oracle*Loader Shell scripts (UNIX only)
FORMS INSTALL
July 2010
1-19
COBOL Standards
It is difficult to fully document exactly how a Banner COBOL program is to be written. Many factors influence the particular programming approach that should be followed to satisfy specific requirements. This section gives some guidelines and recommendations which should be followed when an existing Banner COBOL program is modified or a new one created. These guidelines are divided into three sections: Rules, Standards, and Style. Rules should always be followed; standards should be followed unless there is a demonstrable need to do otherwise; and styles are recommendations. In general, rules address operating system portability, ANSI compliance, and Oracle version compatibility. Standards enhance the maintainability of the code. Style relates primarily to the appearance of the COBOL source code.
Rules
This rule applies only to those programs that perform a connect to an Oracle database. Banner COBOL programs must make use of some of the General support objects in order to gain access through the security routines. Two include files (also referred to as copybooks) are required, and a Working Storage variable must be initialized. Additionally, the program should be able to be compiled with the sqlcheck= full option. In certain circumstances however, this is not possible. For example, GLBLSEL.pco cannot be compiled in this manner at sites which do not have Financial Aid since the program references the RORVIEW TABLE. Compiling with sqlcheck= full in this case would result in an error. The first required include file is SETSEED. This must be placed immediately before the EDECLARE include file, or, if EDECLARE is not used, immediately before the END DECLARE statement in Working Storage. For example:
EXEC SQL INCLUDE SETSEED END-EXEC. EXEC SQL INCLUDE EDECLARE END-EXEC.
The variable OBJECT-NAME is declared in SETSEED, and must be initialized just prior to the include of the second include file that is required for security processing, SETROLE.
1-20
July 2010
The variable initialization and include statement must be placed immediately after the connect to Oracle, as shown in the example below:
EXEC SQL CONNECT :USERID IDENTIFIED BY :PASSWRD END-EXEC. MOVE '<program name>'TO OBJECT-NAME. EXEC SQL INCLUDE SETROLE END-EXEC.
After ensuring that the above files are included, the program should be compiled with the sqlcheck=full option. Comment lines between logically grouped blocks of COBOL sentences are encouraged as they make the program easier to read. Every comment line must contain an asterisk in column 7. In other words it must be officially designated as a comment line. Certain compilers yield a syntax error if they encounter a blank line that is not truly a comment line.
215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 215-8 * 3800-DELETE-ALL-FROM-NHRFINC. MOVE '3800' TO ABORT-PARA. * EXEC SQL DELETE FROM NHRFINC WHERE NHRFINC_CATEGORY_CODE BETWEEN 'A' AND 'J' AND NHRFINC_INTERFACED_IND = 'Y' END-EXEC. * EXEC SQL COMMIT WORK END-EXEC. * 3800-EXIT. EXIT.
When declaring variables in WORKING-STORAGE, the word PICTURE must be spelled out fully as opposed to using the PIC abbreviation. Some compilers do not accept the abbreviation.
WORKING-STORAGE SECTION. EXEC SQL BEGIN DECLARE SECTION END-EXEC. 01 MISC-DECLARE-SECTION-VARIABLES. 05 USERIDPICTURE X(20). 05 PASSWRDPICTURE X(20). 05 CONTROL-DISPPICTURE X(02) VALUE '60'. 05 UPDATE-DISPPICTURE X(02) VALUE '62'. 05 WORK-DATEPICTURE X(11).
Literals should be enclosed in single quotes ('xxx') instead of double quotes (xxx). This applies to the VALUE clause in WORKING-STORAGE (as shown above) as well as literals used in the PROCEDURE DIVISION.
*======================================================== * Added the following logic to determine if an automatic * login is being used, and if so, set up the field values * required for an automatic login. *======================================================== IF EACH-PARM (2) = '/' MOVE '/'TO DQY-AUTO-LOGIN-ARR IN DQY-AUTO-LOGIN MOVE 1TO DQY-AUTO-LOGIN-LEN. *
July 2010
1-21
Standards
All changes to a program should be recorded in the Audit Trail section at the top of the program directly before the ENVIRONMENT DIVISION statement. The Audit Trail follows a particular format which includes the sequential number of the modification within a release, a description of the change, the programmer's initials and the date. It should be proceeded with a brief description of the purpose of the program.
************************************************************** * This is the Population Selection extract program. It will * create a list of PIDMs for a given selection ID, which can * be used as input to the Letter Generation extract, or other * reports. ************************************************************** * AUDIT TRAIL: x.x * * 1. SJQ 05/14/1991 * RENAME PROGRAM NAME TO UPPERCASE. * 2. JEF 05/31/91 * Rename ROBDATA to GLBDATA and add letter generation * modifications. *
More recently, an alternative technique has been employed whereby the Audit Trail entry includes a Problem or Need statement, a Functional Impact and a Technical changes statement.
* * * * * * * * * * * Technical changes - All references to a disposition of'37 have been removed or changed to '40'. 2. RPM # 475. RLP 01/04/96 Need - Computer Calculated Manual Checks should default to disposition '40'. Functional Impact - User no longer will have to balance computer calculated events that have been processed by PHPCALC. * Immediately after PHPCALC has been * run, the user can now run PHPDOCM.
Each line of code that is affected by a particular modification should contain a Mark Mod in columns 1 through 6 which indicates the release and sequential number of the change. For example, the first modification in the program for release 2.1.7 would be marked with 217-1 in columns 1 through 6. This is extremely useful when trying to fully track how, when and why a certain line of code was changed. The following code includes lines affected by the tenth modification of the 2.0 release and the seventh modification of the 2.1.5 release:
IF DQY-ERROR-TYPE = 'F' EXEC SQL ROLLBACK WORK END-EXEC MOVE DQY-ERROR-MSG TO GJBRSLT-MESSAGE MOVE SPACES TO DQY-ERROR-MSG, DQY-ERROR-TYPE MOVE 'F' TO GJBRSLT-STATUS-IND 20-10 PERFORM DQY-INS-GJBRSLT THRU DQY-INS-GJBRSLT-EXIT 215-7 EXEC SQL COMMIT WORK END-EXEC PERFORM DQY-ABORT THRU DQY-ABORT-EXIT.
Each program should include a display statement up front in the logic of the format Starting <program_name> (Release x.x.xx). The release number must be updated with each release for which the program is modified. This gives a clear and easy way to verify that the correct program and version of that program is being executed.
1-22
July 2010
2000-SIGN-ON-TO-DBMS. MOVE '2000' TO ABORT-PARA. 13-14 DISPLAY ' '. 217-1 DISPLAY 'Starting PHPFEXP (Release 7.1.1)'. DISPLAY ' '. DISPLAY 'Username: '. ACCEPT USERID. MOVE SPACE TO WS-LOWER-CASE WS-UPPER-CASE.
Certain versions of the COBOL compiler behave differently with respect to command line parameters and accepting data from the console (terminal). To accommodate these differences, it was necessary to provide for a dummy ACCEPT statement as the first ACCEPT in the program. A pre-compile definition of SCT001 is used in conjunction with the standard Banner compile scripts to allow control of whether this dummy ACCEPT is needed or not. Only when the SCT001 parameter is defined for the precompiler will the dummy ACCEPT end up in the executable code. It is recommended that these first three lines of code be included in all programs.
10000-ENTER-PROGRAM. 20-14 EXEC ORACLE IFDEF SCT001 END-EXEC. ACCEPT WS-DUMMY-ITEM FROM USER-INPUT-DEVICE. 20-14 EXEC ORACLE ENDIF END-EXEC. 217-3 * 217-3 MOVE SPACES TO GJBRSLT-FIELDS. 217-3 PERFORM 11000-RETRIEVE-ONLINE-PARMS THRU 11000-EXIT.
Style
Care should be taken when lining up and indenting WORKING-STORAGE variable definitions. It is much easier on the eye and is more conducive to understanding the program when one does not have to struggle with confusing formatting that makes it difficult to discern the level relationships between variables. How it should be done:
20-9 01 FRINGE-CHARGE-BACK-WORK-AREA. 20-9 05 FBLD-HIT-SW PIC X(02). 20-9 05 FBLD-QUERY-DATE PIC S9(07) COMP-3. 20-9 05 FBLD-COAS-CODE PIC X(01). 20-9 05 IO-NTRFBIN-RATE PIC S9(04)V999 COMP-3. 20-9 05 IO-NTRFBEX-RATE PIC S9(04)V999 COMP-3. 202-2 05 FRINGE-POSTING-MODE PIC X(01). 202-2 05 FRINGE-INST-AMOUNT PIC S9(07)V99 COMP 3. 20-9 05 IO-NTRFBEX-FOAPAL. 20-9 07 IO-NTRFBEX-FUND-CODE PIC X(06). 20-9 07 IO-NTRFBEX-ORGN-CODE PIC X(06). 20-9 07 IO-NTRFBEX-ACCT-CODE PIC X(06). 20-9 07 IO-NTRFBEX-PROG-CODE PIC X(06). 20-9 07 IO-NTRFBEX-ACTV-CODE PIC X(06). 20-9 07 IO-NTRFBEX-LOCN-CODE PIC X(06).
July 2010
1-23
07 07 07 07 07 07
The care needed for WORKING-STORAGE indentation applies similarly to the PROCEDURE DIVISION. It is best to illustrate with examples:
PERFORM 2000-SIGN-ON-TO-DBMS THRU 2000-EXIT. PERFORM 3000-GET-PARAMETERS THRU 3000-EXIT. 215-8 * 215-8 PERFORM 4100-INITIALIZE-CAT-TOTALS THRU 4100-EXIT 215-8 VARYING CAT-SUB FROM 1 BY 1 215-8 UNTIL CAT-SUB > CAT-MAX. 215-8 * 215-8 MOVE ZEROS TO LIQUIDATION-TOTAL-D 215-8 LIQUIDATION-TOTAL-C. 215-8 * 215-8 IF PARM-ALL-PAYROLLS = 'Y' 215-8 IF PARM-PICT-CODE = SPACES 215-8 PERFORM 3410-DECLARE-AND-OPEN-PAYS-1 THRU 3410-EXIT 215-8 ELSE 215-8 PERFORM 3420-DECLARE-AND-OPEN-PAYS-2 THRU 3420-EXIT . . . 215-7 WHERE HRHIST_PAYNO = PHRJOBS_PAYNO 215-7 AND PHRHIST_PIDM = PHRJOBS_PIDM 215-8 AND ((:PARM-REDIST-ONLY = 'N')OR 215-8 (PHRHIST_TYPE_IND = 'R') OR 215-8 (PHRHIST_TYPE_IND = 'V' AND 215-8 'R' = 215-8 (SELECT PHRHIST_TYPE_IND 215-8 FROM PHRHIST Y 215-8 WHERE Y.PHRHIST_YEAR = X.PHRHIST_YEAR 215-8 AND Y.PHRHIST_PAYNO = X.PHRHIST_PAYNO 215-8 AND Y.PHRHIST_PIDM = X.PHRHIST_PIDM))
Paragraph names should use a numbering scheme that communicates the structural hierarchy of the PROCEDURE DIVISION logic. For example, all initial housekeeping paragraphs might be grouped in the 1000- to 1900- range. The parameter input logic might be grouped in the 2000- to 2900- range and so on. A structure based on letters can also be used (AAA1-, AAA2-, ABB1- etc.) All paragraphs should have an exit and the perform of a paragraph should always be THRU the exit.
3000-INITIALIZATION-CONTROL. PERFORM 4100-INITIALIZE-CAT-TOTALS THRU 4100-EXIT. 3000-EXIT. EXIT. 4100-INITIALIZE-CAT-TOTALS. MOVE ZEROS TO CATEGORY-TOTAL-1, CATEGORY-TOTAL-2. . . . 4100-EXIT. EXIT.
1-24
July 2010
C Standards
Introduction
There is no simple answer to the question, What is the correct or appropriate way to write a C program? The factors that influence the programming approach range from the global (such as, how to write for maximum operating system portability) to the trivial (such as, how to indent blocks of code). This section gives some recommendations for C code developed as part of the Banner system. These guidelines are divided into three sections: Rules, Standards, and Style. The differences between the three are as follows: rules should always be followed; standards should be followed unless there is a demonstrable need to do otherwise; and styles are recommendations which an individual programmer may choose to discard. In general, items dealing with operating system portability, ANSI compliance, Oracle version compatibility, and avoidance of common errors will be treated as rules, while those whose primary purpose is to enhance maintainability of the code will be standards. Style relates primarily to the appearance of the C source code, and the guidelines given here describe one programmer's approach to this issue; the goal with the style guidelines is not to be prescriptive, but rather to provide guidance for novice C programmers. Note that the Banner C coding standards are evolving and subject to change. Most Banner Pro*C code originated as Oracle SQL*Report code that was converted to Pro*C using an automated process, and as a result may not conform to all of the rules and standards in this section; particularly, this code is rife with the goto statement. Subsequent code was developed over a period of years as SunGard's C standards were evolving, and so once again not every program delivered by SunGard Higher Education meets the rules and standards below.
Rules
1. Adherence to the ANSI C standard is paramount; any exceptions are noted below. A
copy of The C Programming Language, 2nd Edition, by Brian Kernighan and Dennis Ritchie, should be standard equipment for any programmer writing or modifying Banner C code.
2. All variable declarations global to the current compilation unit, function declarations,
and function prototypes must include the storage class modifier static unless they need to be available for external linkage. Global variables and function declarations are, by default, external. To support proper modularity, each program unit should only make external those functions and variables which have been determined to be necessary for other code units to access.
/* global variables with external visibility */ char username_password[62]; unsigned int status_code;
July 2010
1-25
/* global variables visible only in current compilation unit */ static FILE *infile,*outfile; static long line_count=0;
3. All functions must be fully prototyped, following ANSI standards, either in a header
file (if accessed by more than one source file) or at the top of the source file where it is declared. A complete prototype consists of the return type of the function, the function name, and the types of each parameter, along with the formal parameter names. As a matter of style, the prototype should exactly match the actual function declaration, e.g.:
char *str2lc(char *str); . . . char *str2lc(char *str) { ... }
4. The goto statement should never be used in new C code and should be removed from
all existing code when possible; this also eliminates any need for labels. Use structured programming techniques instead.
/* parameter validation code with gotos and labels */ askparms: input(ask_p_owner,"TABLE CREATOR: ",30,ALPHA); if ( !*ask_p_owner ) goto rdowner; strcpy(p_owner,ask_p_owner); goto nexta; rdowner: strcpy(parm_no,"01"); sel_optional_ind(FIRST_ROW); if ( compare(rpt_optional_ind,"O",EQS) ) goto nexta; goto missing_parms; nexta: /* parameter validation code without gotos and labels */ input(ask_p_owner,"TABLE CREATOR: ",30,ALPHA); if ( !*ask_p_owner ) { strcpy(parm_no,"01"); sel_optional_ind(FIRST_ROW); if ( compare(rpt_optional_ind,"O",NES) missing_required_parm("Table Creator"); }
5. All programs should include guastdf.h, and only this file should include standard
headers. This will limit the number of changes necessary for new compilers or hardware platforms and will insure that all necessary headers are included. Note that guarpfe.h includes guastdf.h, so an explicit inclusion is not necessary.
#include "guarpfe.h" /* good; gets all required headers */ #include "myheader.h" /* good; local header */ #include <sys/strtty.h> /* bad; non-portable, system-specific */
6. No compiler or platform specific functions may be used. Only those functions found
in the ANSI standard libraries are available on all supported platforms. Exceptions to this rule, such as the use of the UNIX and OpenVMS provided function sleep, may be made with management approval. Refer to The C Programming Language, 2nd
1-26
July 2010
Edition, by Brian Kernighan and Dennis Ritchie, for a definitive listing of the functions available.
7. The following ANSI features are not available under otherwise compliant compilers,
such as older versions of DEC C, and are not to be used unless all supported compilers implement them in the future: the atexit and memmove functions, concatenation of adjacent string literals, and ## macro expansion. Also, an assignment followed by the address of or dereference operator with no intervening space, is misinterpreted by some releases of DEC C. Accordingly, use
a= *b;
instead of
a=*b;
Finally, DEC C requires that main be of type int and return a value to the operating system.
int main(int argc,char *argv[]) main */ /* suggested portable declaration of
8. All handling of file names from the operating system is done with the makefn and
parsfn
9. All programs should use the function exit2os, defined in guastdf.h, to return to the
operating system; this will ensure that all necessary database and memory cleanup is performed. Application code should never use the standard function exit. Also, application code should never reach a return from within the main function; however, to prevent warnings from some compilers, the exit2os call at the bottom of main should be immediately followed by a return.
int main(int argc,char *argv[]) { ... /* all done */ exit2os(EXIT_SUCCESS); return 0; }
10. All Pro*C programs must include the file guaorac.c and use the provided database
utility functions for database connection and disconnection, and use the macro POSTORA to check for database errors. This will insulate code from future changes to Pro*C internals and provide a common interface to the database for all programs. Most importantly, the login function must be used to connect to the database with Banner security enabled.
/* minimal.pc */ #include <guastdf.h>
July 2010
1-27
EXEC SQL INCLUDE guaorac.c; int main(int argc,char *argv[]) { CHAR31 myname; /* necessary for security in absence of rptopen */ getxnam(*argv); /* login to database with three tries */ login(); EXEC SQL SELECT user INTO :myname FROM dual; /* check for error */ POSTORA; printf("Logged on to Oracle as %s\n",myname); /* does database exit, other cleanup */ exit2os(EXIT_SUCCESS); return EXIT_SUCCESS; }
11. All application and support code should Pro*C pre-compile and C compile with no
warnings or errors on all supported platforms. Following ANSI standards eliminates the majority of problems, but certain compilers may be more restrictive than others. For example, when using the Pro*C pseudo-datatype VARCHAR, it is necessary to explicitly typecast the arr member to a character pointer in standard function calls under some compilers. In short, when in doubt, cast.
12. All Pro*C programs should recognize the -t command-line switch to turn on the SQL
trace facility. Programs converted by SunGard from earlier Oracle SQL*Report code use rptopen to handle this option.
int main(int argc,char *argv[]) { extern short sqltrace_flag; rptopen(user_pass,argc,argv); login(); if ( sqltrace_flag ) EXEC SQL ALTER SESSION SET SQL_TRACE TRUE;
13. Many C compilers allow modification of literals by means of pointers; this is not
Here ptr points to an area of storage containing the string literal "SCT", which may not be unique storage if the same literal appears elsewhere in the program. Modifying the storage pointed to by ptr may work as expected, but if the new value assigned to ptr is longer than the original literal area, then memory errors will occur. Also, some compilers will signal an error or warning message if such an operation is attempted.
14. Always check error status after any I/O or database operation. The guastdf.h include
file defines the macro POSTORA to make Oracle error checking simpler, and all file I/O operations should be followed by a check using the ferror standard function.
EXEC SQL SELECT ename INTO :ename:ename_ind FROM emp WHERE empno = :empno; POSTORA; fprintf(outfile,"%d:%s\n",empno,ename);
1-28
July 2010
if ( ferror(outfile) ) prtmsg(IOERROR,outfile_name);
15. Functions which return a pointer to a local variable must give the static storage class
to the return variable. If the keyword static is not supplied, then the storage for the local variable may be reused by the program before the calling function is able to access the address. This is a common error which is rarely caught by the compiler or tools such as lint, and may even work correctly on some machines, depending on the way that the memory heap is managed. For example, consider a function that generates a new password string and returns a pointer to the new value. The calling function will then copy this value elsewhere for storage, as the value will be lost when the password function is next called.
char *getpassword(void) { static char passval[9]; . . . return passval; }
16. Indicator variables must be used on all SQL output variables, and on all non-string
input variables (unless a non-NULL value is guaranteed.) This is to prevent truncation warnings when the target is too small for the source, and to properly handle NULL values. See Rule 14 for an example.
17. Complex structures which will be reused should be typedefed in order to simplify and
clarify the code. For example, consider the structure and declarations for implementing a linked list of file information:
typedef struct fn_node_struct {char *fname; char *owner; unsigned long fsize; struct fn_node_struct *next_fn_node;} FN_NODE; FN_NODE *head,*tail;
preference to the VARCHAR pseudo-datatype. All C code originally converted by SunGard from Oracle SQL*Report code uses this method, as does most subsequent Banner code uses this method. The include files guastdf.h and guaorac.c provide predefined typedefs for string sizes from 2 to 256 characters in length (1 to 255 usable characters plus the terminating null;) if a particular application requires longer strings, or strings embedded within arrays, then use explicit Pro*C TYPE IS and VAR IS logic (see the Programmer's Guide to the Oracle Pro*C Precompiler for details).
/* Without datatype equivalencing */ VARCHAR zipcode[11]; . . . EXEC SQL SELECT zipcode INTO :zipcode:zip_ind FROM address WHERE empno = :empno; POSTORA; zipcode.arr[zipcode.len] = '\0'; /* With datatype equivalencing */ CHAR11 zipcode;
July 2010
1-29
. . . EXEC SQL SELECT zipcode INTO :zipcode:zip_ind FROM address WHERE empno = :empno;
19. Use the appropriate numeric datatype for the application, keeping in mind the
limitations of each. The basic choices are a C integer type, a C floating-point type, or the SunGard-provided pseudo-datatype of NUMSTR. Integers are limited to whole numbers only, and in comparison to the Oracle internal NUMBER datatype have a small number of significant digits. A C integer datatype (e.g., long, unsigned int) should only be used as a SQL input/output variable if the Oracle column is a whole number that will never be larger/smaller than the ANSIdefined range for the C datatype. For example, the ANSI-defined minimal magnitudes for a long datatype are -231 to 231-1 (approximately +/- two billion). Integer data types may be appropriate for database columns such as counters and sequences. Floating-point numbers in C have a minimum of 10 significant digits in the ANSI standard. This limitation makes them inappropriate for most currency calculations. However, all Banner-supported platforms currently have at least 15 digits of precision for the double datatype, so using double as an SQL input-output variable is acceptable provided that the database column in question is known to never exceed 15 digits. This precision should be adequate for nearly all calculations involving U.S. currency, but may be inadequate for non-U.S. currency transactions. All C codeconverted by SunGard from Oracle SQL*Report code, and much code written subsequent to the conversion, uses the NUMSTR pseudo-datatype in order to provide a guaranteed 24 digits of precision. This datatype is implemented by representing numbers as fixed character strings, and only the four basic arithmetic operators are provided; more elaborate calculations must be performed in the database. The advantages of this datatype are the increased precision, and the elimination of the need for indicator-variable processing (since empty strings are interpreted by Oracle as NULLs.)
Standards
1. A consistent system for naming variables may be mandated by individual technical
managers (e.g., so-called Hungarian notation). If a system is not used, then at minimum variable and function names should be long enough to be descriptive, but not so long as to interfere with a clear understanding of the code.
2. SunGard Pro*C programs which were converted from Oracle SQL*Report code have
all variables created as globals within the compilation unit, a required strategy since SQL*Report provided only global variables. With new code, or modifications to converted code, good structured programming techniques dictate the usage of local variables as a general rule, with global variables reserved for those occasions when they are necessary to prevent excessively complex or awkward code.
1-30
July 2010
perform the task at hand, use it instead of creating a new one. Likewise, if a function is developed which is of general utility (such as string or number handling, I/O functions, etc.) then it should be placed in one of the support files to be available for all Banner code.
4. Functions, macros, etc. which extend the language (i.e., support code such as that
found in guarpfe.h or guastdf.h) should be named mnemonically, without regard to product. For example, the function to replace a string with its lower case equivalent is named str2lc. The name of any other program object which will be used by multiple programs within a specific product should be named following usual Banner rules for the initial character. For example, a Finance function to calculate available balance could be named favlbal.
5. Do not depend on the numeric value of a particular macro remaining unchanged or
always testing to true or false. Instead, compare the value in question with the current value of the macro. There are exceptions, such as the TRUE and FALSE macros in guastdf.h, where the numeric value will always remain unchanged.
#define OS_VMS 0 #define OS_UNIX 1 #define OS_NT 2 . . . /* don't do this */ if ( opsys ) printf("Operating system is UNIX or Windows NT\n"); /* do this instead */ if ( opsys==OS_UNIX || opsys==OS_NT ) printf("Operating system is UNIX or Windows NT\n");
e.g.:
static int flag=TRUE,error=FALSE;
July 2010
1-31
9. Names of macros and type definitions should usually be in all capitals to clearly
coded when the macro is invoked. Many programmers code macros which are not enclosed in braces with a closing semicolon, but the resulting invocation can look confusing, as a line of code without the semicolon looks incomplete when scanning the code.
#define POSTORA if ( sqlca.sqlcode < 0 ) dberror(__FILE__,__LINE__) . . . POSTORA;
11. Explicit SQL cursors should be closed when they are no longer needed. This may be
very difficult to ascertain for converted code, but new development should follow this standard.
12. Cursor names should be descriptive. The generated Pro*C programs use one-up
13. Consider the use of array fetches to improve the performance of programs which
retrieve a large number of rows from the database. Refer to the Programmer's Guide to the Oracle Pro*C Precompiler for details.
14. All messaging for any functions added to the support code files should be handled by
however, other programmers may need to maintain your code in the future.
16. Again, keep it simple, but not too simple. Become familiar with common C constructs
and the functions available through the standard libraries. For example, here are two versions of a function that changes all occurrences of one character in a string to another character. Both functions provide correct output, but the second is better because it uses standard C functions and conventions to accomplish the task.
/* "Bad" version of chgchar */ char *chgchar(char *str,char oldc,char newc) { int i; if ( strcmp(str,"\0") == 0 ) printf("String is empty\n"); else for ( i=0 ; str[i] != '\0' ; i++ ) if ( str[i] == oldc ) str[i] = newc; return str; } /* "Good" version of chgchar */ char *chgchar(char *str,char oldc,char newc) {
1-32
July 2010
char *p=str-1; if ( !*str ) printf("String is empty\n"); else while ( (p=strchr(p+1,oldc)) != NULL ) *p = newc; return str; }
17. The SQL DECLARE SECTION syntax is now optional. With Pro*C 2.x and above
all C code is parsed, so variables declared anywhere in the program, including standard declarations, function parameters, and macro expansions, are available for use as both input and output variables in SQL code. Since it is still a good idea to group variables by function, existing code may continue to use a declare section.
Style
1. Be consistent; whatever style for commenting, indentation, etc., is used in a program,
ignore it. The only purpose of a programming style is to enhance, not diminish, the maintainability of the program.
3. Begin functions at the left margin, with the opening and closing braces flush against
the margin. All code is indented two spaces. Subsidiary blocks of code, such as targets of if statements, are likewise indented two spaces.
char *str2lc(char *str) { char *p; for ( p=str ; *p ; p++ ) if (isupper(*p)) *p = tolower(*p); return str; }
4. Where a block of code rather than a single line is used, the opening and closing braces
should be lined up in the column for the current indentation, with the contained code indented another two spaces.
if (flag) { flag=FALSE;| if ( str ) { puts(str); str = NULL; } }
variable declaration) and block comments elsewhere. Start block comments with the comment open symbol, one space, and then the first line of the comment. End block comments with a carriage return and a comment close, lined up underneath the comment open. Block comments are also delineated by single blank lines before and after the block.
July 2010
1-33
static char *name; /* example line comment */ /* Here is an example of a block comment, defined as a comment which is longer than a single line. */
6. Avoid extraneous braces in code that is the target of an if or else statement. For
7. For complex data structures and type definitions, indent individual members
8. For if and other logical statements, when the statement will not fit entirely on one
1-34
July 2010
Banner Forms
Introduction
To facilitate the discussion in this section of the architecture of Banner, Unified Modeling Language (UML) notation is used to underline the relationship of classes. UML is a formalism that expresses patterns of collaboration between classes and objects. Oracle Forms 6i is not an object-oriented tool; however, the introduction of property classes facilitates the use of object-oriented concepts that better explain the relationships of classes. Generally, the organizational structure of software is referred to as architecture. Architecture is hereafter represented through 4+1-view model, which is composed of five views: logical view, implementation view, process view, deployment view, and case view. The logical view consists of the systems object model: class diagrams, sequence diagrams and collaboration diagrams The implementation view gives insights into the code and its organization The process view provides information about the interaction of tasks The deployment view focuses on the physical architecture of the system The case view models interaction between user and system As mentioned in the objective, only three views will be discussed in this document: the logical view, the implementation view and the case view. The introduction of object-oriented concepts permits the usage of object-oriented terminology, which has a correspondence in Oracle Forms. (This is not a mere exercise in renaming Oracle Forms terms, but it serves the purpose of drawing a logical connection between object-oriented techniques and Oracle Forms.)
July 2010
2-1
Classes
A class is a blueprint or prototype that defines attributes and methods common to all objects. Classes can also be divided into superclasses and subclasses when an inheritance between classes is performed. Using this definition, the Property Classes of Oracle Forms 6i can be referred to as classes.
Attributes
Attributes define the state of an object. An object is an instance of a class. Its properties are to send and receive messages. In Oracle Forms 6i, each of the properties in a property sheet as well as some variables such as local variables and items within blocks, can be identified as attributes of a class.
Methods
Methods define the behavior of an object. In Oracle Forms 6i, triggers can be referred to as methods.
Objects
Objects are instances of classes. They are formed from the union of state and behavior. They can be best represented by the following: Object = State + Behavior.
Banner
Banner, as a client application, comprises about two thousand Oracle Forms, modules, or objects. These forms are divided into three families: Validation, Application, and Inquiry. Each family inherits attributes (properties) and methods (triggers) from a superclass, G$_FORM_CLASS. There are differences in behavior between the three families of forms, which is defined by the methods or triggers in each class. The family Validation, which is identified by the subclass G$_VAL_FORM_CLASS, defines a form without a key block and with one or more blocks on which creation, modification and deletion of rows is allowed. Alternatively, the family Application, which is identified by the subclass G$_APPL_FORM_CLASS, defines a form with a key block and with one or more additional blocks in which the operations of creation, modification and deletion of rows are allowed. The family Inquiry, which is identified by the subclass G$_INQ_FORM_CLASS, defines a form with or without a key block where the operations of creation, modification and deletion of rows are not allowed.
2-2
July 2010
In addition to G$_FORM_CLASS, G$_VAL_FORM_CLASS and G$_APPL_FORM_CLASS, G$_INQ_FORM_CLASS, there are other relevant classes that are discussed in the Logical View.
Figure 1: Methods
Superclass G$_FORM_CLASS
Methods refer to triggers. They are divided into Security, PRE and POST, Event, KEY and Special methods, and are further classified as either form or user-defined triggers.
Security Methods
The following are user-defined triggers that grant and revoke roles in Banner.
July 2010
2-3
G$_VERIFY_ACCESS G$_REVOKE_ACCESS
The following are navigational and transactional triggers that perform additional processing before or after an event.
PRE-FORM PRE_FORM_TRG PRE-BLOCK PRE_BLOCK_TRG PRE-INSERT PRE-UPDATE POST-FORM POST_FORM_TRG
Event Methods
The following are triggers that are preformed when a specific event has occurred.
WHEN-BUTTON-PRESSED WHEN-NEW-FORM-INSTANCE WHEN-NEW-BLOCK-INSTANCE WHEN_NEW_BLOCK_INSTANCE_TRG WHEN-MOUSE-DOUBLECLICK WHEN-TIMER-EXPIRED WHEN-WINDOW-ACTIVATED WHEN_WINDOW_ACTIVATED_TRG WHEN-WINDOW-CLOSED
KEY Methods
The following are triggers which change the default processing of associated keys on the keyboard.
KEY-CLRFRM KEY-F2 KEY-MENU KEY-DOWN KEY-UP KEY-LISTVAL KEY-NXTBLK KEY-PRVBLK KEY-NXTREC KEY-PRVREC KEY-NXTSET KEY-SCRUP KEY-SCRDOWN KEY-PRINT KEY-ENTQRY KEY-EXEQRY KEY-EXIT KEY_EXIT_TRG KEY-NXTKEY KEY_NXTKEY_TRG
2-4
July 2010
Specialized Methods
The following are user-defined triggers that are used for various purposes.
DISPLAY_B2K_HELP_TRG GLOBAL_COPY LIST_VALUES_COPY LOAD_FORM_HEADER LOAD_CURRENT_RELEASE SAVE_KEYS ENABLE_KEYS DISABLE_KEYS INVALID_OPTION_MSG UPDATE_ACTIVITY
Subclasses
The subclasses G$_VAL_FORM_CLASS, G$_APPL_FORM_CLASS, and G$_INQ_FORM_CLASS inherit attributes and methods from G$_FORM_CLASS. However, these three subclasses possess their own methods, which override the superclass methods.
Subclass G$_VAL_FORM_CLASS
The subclass G$_VAL_FORM_CLASS is a blueprint of a form without a key block and with one or more blocks in which creation, modification and deletion of rows is allowed.
Figure 2:
Subclass G$_APPL_FORM_CLASS
The subclass G$_APPL_FORM_CLASS defines a form with a key block and with one or more blocks on which the operations of creation, modification and deletion are allowed.
July 2010
2-5
Figure 3:
Subclass G$_INQ_FORM_CLASS
The subclass G$_INQ_FORM_CLASS defines a form with or without a key block where the operations of creation, modification and deletion are not allowed.
Figure 4:
Thus far, we have defined one superclass, G$_FORM_CLASS, and three subclasses, each of which inherits from the superclass. The inheritance tree below provides a visual representation of the layers of class hierarchy, where descent from the tree implies the further specialized of behavior. Inheritance can be defined as a technique used between classes to implement classification.
2-6
July 2010
Inheritance
.
Figure 5: Figure 5: Inheritance of Class
Banner can be viewed as a collection of forms, each of which performs specific functions. The forms can be categorized into forms that allow or do not allow the creation, modification and deletion of rows, as well as forms that have and do not have a key block. Menu, Application, Validation and Rule forms inherit the G$_APPL_FORM_CLASS if they contain a key block. If there is no key block in these forms, they inherit the G$_VAL_FORM_CLASS. Forms that do not allow a user to create, modify, or delete rows (e.g., Inquiry, Query, Wizard, and Control forms) inherit the class G$_INQ_FORM_CLASS, regardless of the existence of the key block.
July 2010
2-7
Figure 6:
A Form as An Object
The superclass G$_FORM_CLASS and its subclasses define the behavior of form as a whole. The appropriate subclass therefore needs to be referenced into a form. The appropriate subclass for a form is selected using the Class attribute of the Form Module property sheet for that form. Once a form has been associated with the appropriate subclass, the form can be referred to as an object. Objects have certain characteristics such as the ability of interacting, passing, and receiving messages. In Banner, forms communicate with each other by passing parameters and global variables.
2-8
July 2010
Display Horizontal Toolbar: attributes (Y/N) Display Vertical Toolbar: attributes (Y/N) These toolbars are part of the MDI Window, and they have the options to be turned on so that they are displayed.
Display Bubble Help: attribute (Y/N)
The bubble help is a hint that is displayed when the mouse goes over the button. It is available only for iconic buttons.
Display Form Name on Title Bar: attributes (Y/N)
The seven- or eight-character form name will appear after the form name and description in the title bar of the main window, and after each window name and description in the title bar of any secondary windows.
Display Release Number on Title Bar: attributes (Y/N)
The form release number shows the current version of a form and it will appear after the seven- or eight-character form name. The release number is stored in the LOAD_CURRENT_RELEASE form level trigger, for example:
:CURRENT_RELEASE := 6.0;
The database instance will appear after the window name. Global variables are not passed like the way parameters are passed. Global variables reside in memory, and forms read and modify them as needed.
Figure 7:
July 2010
2-9
Key Block
A key block is a type of control block. There are two characteristics of the key block. It has one record, and the items of that record are a representation of keys, which hold the values of the items. The keys will be used to query subsequent blocks in the same form.
2-10
July 2010
Figure 8:
July 2010
2-11
Figure 9: Figure 9: Example of interaction between a key block and other blocks in a form.
Of the triggers, which control the functions of a key block, the trigger POST-BLOCK is generally responsible for altering the value of the variable CHECK_KEYS. Generally, CHECK_KEYS allows the disabling of the key items displayed in a key block before navigating into another block. The function ROLLBACK allows a user to leave any block and navigate back to the key block. This operation saves the keys into global variables, then enables the keys in the key block and lastly copies the content of the global variables back to the item keys.
Canvas-view Type = Content Display = TRUE Width = 473 Height = 328 Bevel = None Visual Attribute Name = none Raise on Entry = False X Position on Canvas = 0 Y Position on Canvas = 0
2-12
July 2010
Direction = Default View Width = 0 View Height = 0 Display X position = 0 Display Y Position = 0 View Horizontal Scroll Bar = False View Vertical Scroll Bar = False
X position = 0 Y Position = 0 Width = 473 Height = 328 Bevel = Raised Visual Attribute Name = none Window Style = Document Modal = false Remove on exit = false Direction = Default Horizontal Scroll Bar = False Vertical scroll Bar = False Closeable = False Fixed Size = False Iconifiable = True Inherit Menu = True Moveable = True Zoomable = False
Items
There are three types of items that are identified by classes: items that enable search on any code and description, items that enable search on ID and Name only, and items having the data type Date. The G$_CODE_CLASS Class The class G$_CODE_CLASS models a search mechanism on any code and any description within the appropriate associated tables.
July 2010
2-13
The code item, through the method KEY-NEXT-ITEM performs a request to the database to search for a particular code or description. If a code or description that matches the value entered by a user does not exist, the code item sends back a not found message. If either a matching code or description exists, a list of matches is presented to the user.
Attributes
Item Type = Text Item Displayed = True Bevel = Lowered Rendered = True Visual Attribute name = Current Record Attribute = Maximum Length = Enabled = True Navigable = True Query Only = False Insert Allowed = True Query Allowed = True Query Length = 0 Case Insensitive Query = False Update Allowed = True Update Only if Null = False Lock Record = False Case Restriction = Upper Alignment = Left Multi-line = False Wrap Style = None Secure = False Keep Position = False = True Reading Order = Default Initial Keyboard State = Default Vertical Scroll bar = False Auto hint = true
Methods
WHEN-MOUSE-DOUBLECLICK WHEN-NEW-ITEM-INSTANCE G$_SEARCH_PARAMETERS G$_SEARCH_OPTION KEY-NEXT-ITEM POST-TEXT-ITEM
2-14
July 2010
Item type = text item Displayed = True Bevel = Lowered Rendered = True Maximum Length = 30 Enabled = True Navigable = False Base Table Item = False Query Only = False Primary key = False Insert Allowed = True Query Allowed = False Case Insensitive Query = False Update Allowed = False Update Only if Null = False Lock Record = False LOV for Validation = False Hint = G$_DESC_ITEM
Methods
WHEN-NEW-ITEM-INSTANCE
Item Type = Text Item Displayed = True Width = 54 Height = 17 Bevel = Lowered Rendered = True Visual Attribute name = G$_NVA_TEXT_ITEM
July 2010
2-15
Current Record Attribute = Data type = CHAR Maximum Length = 9 Fixed Length = False Required = False Format Mask = Range Low Value = Range High Value = DefaultValue = Copy Value From Item = Enabled = True Navigable = True Query only = False Primary key = False Insert Allow = true Query Length = 9 Case Insensitive Query = False Lock Record = False Case Restriction = Upper Alignment = Left Multi-line = False Wrap Style =None Secure = False Keep Position = False Auto Skip = true Reading Order = Default Initial Keyboard state = Default Vertical Scroll Bar = False Auto Hint = True
Methods
PRE-TEXT-ITEM KEY-NEXT-ITEM KEY-LISTVAL KEY-CQUERY WHEN-VALIDATE-ITEM POST-CHANGE
2-16
July 2010
Rendered = True Visual Attribute name = G$_NVA_TEXT_ITEM Current Record Attribute = Data type = CHAR Maximum Length = 99 Fixed Length = False Required = False Item Displayed = 0 Enabled = True Navigable = False Base Table Item = False Query only = False Primary key = False Insert Allow = true Query Allow = False Update Allowed = True Update only if Null = False Case Insensitive Query = False Lock Record = False Case Restriction = Mixed Alignment = Left Multi-line = False Wrap Style =None Secure = False Keep Position = False Auto Skip = False Reading Order = Default Initial Keyboard state = Default Vertical Scroll Bar = False Hint = Name; Enter a name Last, First, Middle and press enter or tab. Use the wildcard % if needed. Auto Hint = True
Methods
KEY-NEXT-ITEM
July 2010
2-17
Item Type = Text Item Height = 17 Bevel = Lowered Rendered = True Visual Attribute Name = G$_NVA_TEXT_ITEM Current Record Attribute = Data Type = Date Maximum Length = 11 Fixed Length = True Format Mask = DD-MON-RRRR Item Displayed = 0 Query Length = 14 Case Insensitive Query = False Case Restriction = Upper Alignment = Left Multi-Line = False Wrap Style = None Secure = False Keep Position = False Reading Order = Default Initial Keyboard State =Default Vertical Scroll Bar = False
Methods
KEY-NEXT-ITEM WHEN-NEW-ITEM-INSTANCE POST-TEXT-ITEM
is a subclass that inherits attributes and methods of G$_DATE_CLASS, where date and time is a specialization of date.
Attributes
2-18
July 2010
Attributes
Item Type = Button Displayed = True Width = 17 Height = 17 Visual Attribute Name = G$_NVA_BUTTON_ITEM White on Black = False Item Displayed = 0 Enabled = True Navigable = False Mouse Navigable = False Access Key = Direction = Default Iconic = True Default Button = False Auto Hint = False
Methods
WHEN-MOUSE-CLICK WHEN-MOUSE-ENTER WHEN-MOUSE-LEAVE
Implementation View
This section describes a significant portion of Banner code.
GOQOLIB
GOQOLIB is a form that is used as a repository to store triggers, blocks, windows, canvases, visual attributes, items, and classes that can be referenced. All the triggers of GOQOLIB are embedded into classes. Many of these triggers in turn execute procedures
July 2010
2-19
and functions that are stored in the GOQRPLS library. Changes made to the GOQOLIB will be reflected in all forms that reference it whenever they are regenerated.
Pre-Form Trigger
The code of Pre-form trigger is member of the package G$_GOQOLIB_PP_TRIGGER and is named as G$_GOQOLIB_PP_TRIGGER.PRE_FORM. This trigger is responsible for checking whether a user is authorized to run a form.
PROCEDURE PRE_FORM BEGIN EXECUTE_TRIGGER('LOAD_CURRENT_RELEASE'); G$_CHECK_FAILURE; EXECUTE_TRIGGER('G$_VERIFY_ACCESS'); G$_CHECK_FAILURE; DEFAULT_VALUE( '0', 'global.query_mode' ); G$_FORM_STARTUP; G$_CHECK_FAILURE; EXECUTE_TRIGGER('PRE_FORM_TRG'); G$_CHECK_FAILURE; END;
To add custom code to the form create a user-defined trigger with the name PRE_FORM_TRG..
Post-Form Trigger
The code of the trigger POST-FORM is stored in the G$_GOQOLIB_PP_TRIGGER and has the name of G$_GOQOLIB_PP_TRIGGER.POST_FORM. This trigger is responsible for executing the shutdown procedures of a form.
PROCEDURE POST_FORM IS BEGIN EXECUTE_TRIGGER('SAVE_KEYS'); G$_CHECK_FAILURE; EXECUTE_TRIGGER('POST_FORM_TRG'); G$_CHECK_FAILURE; G$_FORM_SHUTDOWN; G$_CHECK_FAILURE; EXECUTE_TRIGGER('G$_REVOKE_ACCESS'); END;
To add custom code to the form creates a user defined trigger with the name POST_FORM_TRG..
2-20
July 2010
Pre-Block Trigger
The code in the trigger PRE-BLOCK is stored as G$_GOQOLIB_PP_TRIGGER.PRE_BLOCK. This trigger is responsible for populating the navigation frame and highlighting the focused block.
PROCEDURE PRE_BLOCK IS Curr_Block_Name VARCHAR2(60):=NAME_IN('SYSTEM.TRIGGER_BLOCK'); Curr_Item_Name VARCHAR2(60) := GET_BLOCK_PROPERTY(Curr_Block_Name,FIRST_ITEM); Visual_Attribute_Name VARCHAR2(60) := 'G$_NVA_ITEM_REQUIRED'; rg_optm CONSTANT VARCHAR2(13):= 'G$_GUROPTM_RG'; rg_id RECORDGROUP := FIND_GROUP(rg_optm); BEGIN -IF NAME_IN('SYSTEM.MODE') = 'ENTER-QUERY' THEN G$_NAVIGATION_FRAME.POPULATE_GUROPTM; ELSE IF NOT ID_NULL(rg_id) THEN IF NVL(GET_GROUP_SELECTION_COUNT(rg_id),0) > 0 AND NAME_IN('G$_NAVIGATION_BLOCK.GUROPTMDSPITM_1') IS NULL THEN G$_NAVIGATION_FRAME.POPULATE_GUROPTM; END IF; ELSE G$_NAVIGATION_FRAME.POPULATE_GUROPTM; -- covering Normal END IF; END IF; -WHILE (Curr_Item_Name IS NOT NULL) LOOP Curr_Item_Name := Curr_Block_Name||'.'||Curr_Item_Name; IF (GET_ITEM_PROPERTY(Curr_Item_Name,ITEM_TYPE) = 'TEXT ITEM' OR GET_ITEM_PROPERTY(Curr_Item_Name,ITEM_TYPE) = 'LIST') AND GET_ITEM_PROPERTY(Curr_Item_Name,ITEM_CANVAS)IS NOT NULL THEN SET_ITEM_PROPERTY(Curr_Item_Name,CURRENT_RECORD_ATTRIBUTE, Visual_Attribute_Name); IF GET_BLOCK_PROPERTY(Curr_Block_Name,RECORDS_DISPLAYED)> 1 THEN IF GET_ITEM_PROPERTY(Curr_Item_Name,BORDER_BEVEL) ='NONE' THEN SET_ITEM_PROPERTY(Curr_Item_Name,CURRENT_RECORD_ATTRIBUTE, 'DEFAULT'); ELSE SET_ITEM_PROPERTY(Curr_Item_Name,CURRENT_RECORD_ATTRIBUTE, G$_NVA_HIGHLITE_TEXT'); END IF; END IF; END IF; Curr_Item_Name :=GET_ITEM_PROPERTY(Curr_Item_Name,NEXTITEM); END LOOP; -EXECUTE_TRIGGER('PRE_BLOCK_TRG'); G$_CHECK_FAILURE; END;
July 2010
2-21
To add custom code to the form creates a user defined trigger with the name PRE_BLOCK_TRG. If a PRE-BLOCK trigger needs to be placed at a block level, this trigger will function is conjunction with the trigger PRE-BLOCK at the form level, which is part of the method of G$_FORM_CLASS. Create the PRE-BLOCK trigger at the block level, in the property sheet of the trigger, set the CLASS property to G$_AFTER_TRG_CLASS.
Post-Block Trigger
The code of the trigger POST-BLOCK is stored in G$_GOQOLIB_PP_TRIGGER.POST_BLOCK. This trigger is responsible for the restoration of the visual attribute in a block, altered by the PRE-BLOCK trigger.
PROCEDURE POST_BLOCK IS Curr_Block_Name VARCHAR2(60):=NAME_IN('SYSTEM.TRIGGER_BLOCK'); Curr_Item_Name VARCHAR2(60):= GET_BLOCK_PROPERTY(Curr_Block_Name,FIRST_ITEM); Visual_Attribute_Name VARCHAR2(60) := 'G$_NVA_ITEM_REQUIRED'; BEGIN G$_TRACE_PKG.TRACE_RTN('G$_GOQOLIB_PP_TRIGGER.POST_BLOCK BEGIN'); -WHILE (Curr_Item_Name IS NOT NULL) LOOP Curr_Item_Name := Curr_Block_Name || '.' || Curr_Item_Name; IF (GET_ITEM_PROPERTY(Curr_Item_Name,ITEM_TYPE) = 'TEXT ITEM' OR GET_ITEM_PROPERTY(Curr_Item_Name,ITEM_TYPE) = 'LIST') AND GET_ITEM_PROPERTY(Curr_Item_Name,ITEM_CANVAS) IS NOT NULL THEN IF GET_BLOCK_PROPERTY(Curr_Block_Name,RECORDS_DISPLAYED) > 1 THEN IF GET_ITEM_PROPERTY(Curr_Item_Name,BORDER_BEVEL) = 'NONE' THEN SET_ITEM_PROPERTY(Curr_Item_Name, CURRENT_RECORD_ATTRIBUTE,'DEFAULT'); ELSE SET_ITEM_PROPERTY(Curr_Item_Name, CURRENT_RECORD_ATTRIBUTE,'G$_NVA_TEXT_ITEM'); END IF; END IF; END IF; Curr_Item_Name := GET_ITEM_PROPERTY(Curr_Item_Name,NEXTITEM); END LOOP; -EXECUTE_TRIGGER('POST_BLOCK_TRG'); G$_CHECK_FAILURE; END; --
To add custom code to the form creates a user defined trigger with the name POST_BLOCK_TRG.. If a POST-BLOCK trigger needs to be placed at a block level, this trigger will function is conjunction with the trigger POST-BLOCK at the form level, which is part of the method of
2-22
July 2010
G$_FORM_CLASS. Create the POST-BLOCK trigger at the block level, in the property sheet of the trigger, set the CLASS property to G$_AFTER_TRG_CLASS.
When-New-Block-Instance Trigger
The trigger code of WHEN-NEW-BLOCK-INSTANCE is located in the trigger itself. It should always be coupled with the user-define trigger WHEN_NEW_BLOCK_TRIGGER_INSTANCE_TRG. This trigger is also responsible for the correct population of the navigation frame.
BEGIN G$_NAVIGATION_FRAME.POPULATE_GUROPTM; G$_CHECK_FAILURE; -IF G$_NAVIGATION_FRAME.MESSAGE_WAS_DISPLAYED = 'N' THEN G$_DO_NEW_MESSAGES_EXIST; G$_NAVIGATION_FRAME.MESSAGE_WAS_DISPLAYED := 'Y'; END IF; -EXECUTE_TRIGGER('WHEN_NEW_BLOCK_INSTANCE_TRG'); G$_CHECK_FAILURE; END;
If a WHEN-NEW-BLOCK-INSTANCE trigger needs to be placed at a block level, this trigger will function is conjunction with the trigger WHEN-NEW-BLOCK-INSTANCE at the form level, which is part of the method of G$_FORM_CLASS. Create the WHEN-NEW-BLOCK-INSTANCE trigger at the block level, in the property sheet of the trigger, set the CLASS property to G$_AFTER_TRG_CLASS.
LOAD_FORM_HEADER Trigger
Form header information is populated by G$_LOAD_FORM_HEADER. This trigger is responsible for the population of a standard form header block as defined in previous releases. No mechanism is provided to change pre-defined behavior of this trigger.
PROCEDURE G$_LOAD_FORM_HEADER IS -- populates form heading items itm_id ITEM := FIND_ITEM('CURRENT_USER'); BEGIN COPY(TO_CHAR(SYSDATE,'DD-MON-YYYY'),'CURRENT_DATE'); COPY(TO_CHAR(SYSDATE,'HH24:MI:SS'),'CURRENT_TIME'); COPY(NAME_IN('SYSTEM.CURRENT_FORM'),'CURRENT_FORM'); COPY(NAME_IN('GLOBAL.INSTITUTION'),'CURRENT_INSTITUTION'); -IF NOT ID_NULL(itm_id) THEN COPY(NAME_IN('GLOBAL.USER_ID'),'CURRENT_USER'); END IF; -EXECUTE_TRIGGER('LOAD_CURRENT_RELEASE'); G$_CHECK_FAILURE; END;
July 2010
2-23
When-New-Record-Instance Trigger
This trigger is responsible for the navigation between records of the same block. It is located in the package G$_GOQOLIB_USER_TRIGGER.WHEN_NEW_REC_INST.
PROCEDURE WHEN_NEW_REC_INST IS BEGIN IF NAME_IN(SYSTEM.RECORD_STATUS) = NEW THEN IF NAME_IN(SYSTEM.CURSOR_RECORD) <> 1 THEN PREVIOUS_RECORD; MESSAGE(At Last Record, NO_ACKNOWLEDGE); END IF; END IF; END;
KEY-CLRFRM Trigger
The code of the trigger KEY-CLRFRM is located in the package G$_GOQOLIB_KEY_TRIGGER and is named G$_GOQOLIB_KEY_TRIGGER.KEY_CLRFRM. This trigger is responsible for the correct execution of the function ROLLBACK.
PROCEDURE KEY_CLRFRM IS BEGIN EXECUTE_TRIGGER('SAVE_KEYS'); G$_CHECK_FAILURE; EXECUTE_TRIGGER('ENABLE_KEYS'); G$_CHECK_FAILURE; -CLEAR_FORM; IF NAME_IN('SYSTEM.FORM_STATUS') <> 'CHANGED' THEN G$_LOAD_FORM_HEADER; G$_CHECK_FAILURE; EXECUTE_TRIGGER('GLOBAL_COPY'); G$_CHECK_FAILURE; IF GET_BLOCK_PROPERTY(NAME_IN('SYSTEM.CURRENT_BLOCK'), BASE_TABLE) IS NOT NULL THEN EXECUTE_QUERY; G$_CHECK_FAILURE; END IF; END IF; G$_TRACE_PKG.TRACE_RTN('G$_GOQOLIB_KEY_TRIGGER.KEY_CLRFRM END'); END;
KEY-NXTBLK
The code of the trigger KEY-NXTBLK is located in the package G$_GOQOLIB_KEY_TRIGGER and is named G$_GOQOLIB_KEY_TRIGGER.KEY_NXTBLK. This trigger is responsible for forward navigation of blocks associated with the key function next block.
PROCEDURE KEY_NXTBLK IS nxtblk VARCHAR2(80) := GET_BLOCK_PROPERTY(NAME_IN('SYSTEM.TRIGGER_BLOCK'),NEXT_ NAVIGATION_BLOCK);
2-24
July 2010
blkstatus VARCHAR2(20) := NULL; BEGIN IF SUBSTR(nxtblk,1,2) = 'G$' THEN WHILE SUBSTR(nxtblk,1,2) = 'G$' LOOP nxtblk := GET_BLOCK_PROPERTY(nxtblk,NEXT_NAVIGATION_BLOCK); END LOOP; END IF; -IF nxtblk = NAME_IN('SYSTEM.TRIGGER_BLOCK') THEN G$_INVALID_FUNCTION_MSG; ELSE GO_BLOCK(nxtblk); blkstatus := GET_BLOCK_PROPERTY(nxtblk,STATUS); IF blkstatus = 'NEW' AND GET_BLOCK_PROPERTY(nxtblk,BASE_TABLE) IS NOT NULL THEN EXECUTE_QUERY; END IF; END IF; END;
KEY-PREVBLK
The code of the trigger KEY-PREVBLK is located in the package G$_GOQOLIB_KEY_TRIGGER and is named G$_GOQOLIB_KEY_TRIGGER.KEY_PREVBLK. This trigger is responsible for the backward navigation between blocks, associated with the key previous block.
PROCEDURE KEY_PRVBLK IS prevblk VARCHAR2(80) := GET_BLOCK_PROPERTY(NAME_IN('SYSTEM.TRIGGER_BLOCK'), PREVIOUS_NAVIGATION_BLOCK); blkstatus VARCHAR2(20) := NULL; BEGIN IF GET_BLOCK_PROPERTY(prevblk,DEFAULT_WHERE) = 'key-block' THEN prevblk := GET_BLOCK_PROPERTY(prevblk,PREVIOUS_NAVIGATION_BLOCK); IF SUBSTR(prevblk,1,2) = 'G$' THEN WHILE SUBSTR(prevblk,1,2) = 'G$' LOOP prevblk := GET_BLOCK_PROPERTY(prevblk, PREVIOUS_NAVIGATION_BLOCK); END LOOP; END IF; ELSIF SUBSTR(prevblk,1,2) = 'G$' THEN WHILE SUBSTR(prevblk,1,2) = 'G$' LOOP prevblk := GET_BLOCK_PROPERTY(prevblk,PREVIOUS_NAVIGATION_BLOCK); END LOOP; END IF; -IF prevblk = NAME_IN('SYSTEM.TRIGGER_BLOCK') THEN G$_INVALID_FUNCTION_MSG; ELSE GO_BLOCK(prevblk); blkstatus := GET_BLOCK_PROPERTY(prevblk,STATUS);
July 2010
2-25
IF blkstatus = 'NEW' AND GET_BLOCK_PROPERTY(prevblk,BASE_TABLE) IS NOT NULL THEN EXECUTE_QUERY; END IF; END IF; END;
KEY-EXIT
The code of the trigger KEY-EXIT is located in the package G$_GOQOLIB_KEY_TRIGGER and is named G$_GOQOLIB_KEY_TRIGGER.KEY_EXIT. This trigger is responsible for the correct exiting from a form.
PROCEDURE KEY_EXIT IS BEGIN EXECUTE_TRIGGER('KEY_EXIT_TRG'); G$_CHECK_FAILURE; COPY('','GLOBAL.VALUE'); B2K_EXIT_FORM; G$_CHECK_FAILURE; END;
B2K_EXIT_FORM
Even when the user defines her own KEY-EXIT trigger it is strongly recommended to add the trigger B2K_EXIT_FORM to substitute the defective Oracle Forms KEY function KEY_EXIT. This trigger is located in the package G$_GOQOLIB_KEY_TRIGGER and is named G$_GOQOLIB_KEY_TRIGGER. B2K_EXIT_FORM.
PROCEDURE B2K_EXIT_FORM IS ALERT_BUTTON NUMBER; CUR_ITEM VARCHAR2(61) := NAME_IN('SYSTEM.CURSOR_ITEM'); BEGIN G$_TRACE_PKG.TRACE_RTN('G$_GOQOLIB_KEY_TRIGGER.B2K_EXIT_FORM'); --- If in enter-query mode -IF NAME_IN('SYSTEM.MODE') = 'ENTER-QUERY' THEN EXIT_FORM; RETURN; END IF; --- reset the form validation -IF GET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION) = 'FALSE' THEN SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION, PROPERTY_ON); END IF; --- This is to force item level validation --
2-26
July 2010
-COPY('25','SYSTEM.MESSAGE_LEVEL'); VALIDATE(BLOCK_SCOPE); --- If validation fails, ask to close form -IF NOT FORM_SUCCESS THEN COPY('0','SYSTEM.MESSAGE_LEVEL'); -alert_button := SHOW_ALERT('G$_CLOSE_FORM_ALERT'); IF alert_button = ALERT_BUTTON1 THEN CLEAR_MESSAGE; SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), DEFER_REQUIRED_ENFORCEMENT,PROPERTY_TRUE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION_UNIT,FORM_SCOPE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION,PROPERTY_FALSE); EXIT_FORM(NO_VALIDATE,FULL_ROLLBACK); ELSE RETURN; END IF; END IF; -PREVIOUS_ITEM; COPY('0','SYSTEM.MESSAGE_LEVEL'); --- If no changes, just exit -IF NAME_IN('SYSTEM.FORM_STATUS') = 'QUERY' THEN SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), DEFER_REQUIRED_ENFORCEMENT,PROPERTY_TRUE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION_UNIT,FORM_SCOPE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION,PROPERTY_FALSE); EXIT_FORM(NO_VALIDATE); --- Ask to save or not -ELSE alert_button := SHOW_ALERT('G$_EXIT_FORM_ALERT'); --- Exit saving changes -IF alert_button = ALERT_BUTTON1 THEN COMMIT_FORM; --- Commit failed, ask to close form -IF NOT FORM_SUCCESS OR NAME_IN('SYSTEM.FORM_STATUS') <> 'QUERY' THEN alert_button := SHOW_ALERT('G$_CLOSE_FORM_ALERT'); IF alert_button = ALERT_BUTTON1 THEN CLEAR_MESSAGE; SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), DEFER_REQUIRED_ENFORCEMENT,PROPERTY_TRUE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'),
July 2010
2-27
VALIDATION_UNIT,FORM_SCOPE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION,PROPERTY_FALSE); EXIT_FORM(NO_VALIDATE,FULL_ROLLBACK); ELSE GO_ITEM(CUR_ITEM); RETURN; END IF; --- Commit worked, exit -ELSE EXIT_FORM; END IF; --- Exit without saving changes. -ELSIF alert_button = ALERT_BUTTON2 THEN SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), DEFER_REQUIRED_ENFORCEMENT,PROPERTY_TRUE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION_UNIT,FORM_SCOPE); SET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'), VALIDATION,PROPERTY_FALSE); EXIT_FORM(NO_VALIDATE,FULL_ROLLBACK); --- Don't exit. -ELSE GO_ITEM(CUR_ITEM); RETURN; END IF; END IF; END;
KEY-NXTKEY
Forms that are called by other forms and that have the Select function in the menu bar enabled. They use the trigger KEY-NXTKEY to return values to the calling form by the event MOUSE-DOUBLE-CLICK or by selecting Select on the menu bar. The trigger code of KEY-NXTKEY is located in the package G$_GOQOLIB_KEY_TRIGGER. To add user-define code, it should be coupled with the user-defined trigger, KEY_NXTKEY_TRG.
PROCEDURE KEY_NXTKEY IS curr_item VARCHAR2(61):= NAME_IN('SYSTEM.CURSOR_ITEM'); sub_len NUMBER(10) := INSTR(curr_item,'_'); item_name VARCHAR2(60) := SUBSTR(curr_item,1,sub_len)||'CODE'; BEGIN IF GET_MENU_ITEM_PROPERTY('Action.Select',ENABLED) = 'TRUE' THEN IF NOT ID_NULL(FIND_ITEM(item_name)) THEN COPY(NAME_IN(SUBSTR(curr_item,1,sub_len)||'CODE'), 'GLOBAL.VALUE'); END IF; --
2-28
July 2010
Key Blocks
If there is a key block in the form, the G$_KEY_BLOCK_CLASS is assigned to it in the property sheet. The class G$_KEY_BLOCK_CLASS is a prototype of any key block in a form. The properties of the key block define the key block as a non-base table block with one record only. The triggers of the key block are responsible for the navigation within the block and the disabling of transactional functions.
POST-BLOCK COPY(Y,CHECK_KEYS);
Case View
The case view is intended to provide a guide for the creation of new forms that comply with the Banner architecture. It is recommended that any new form be cloned from the existing skeleton forms that have also been updated to comply with this release architecture. The skeleton forms are templates that are derived from the identified families of forms.
If the form invokes an Option List Window, then the object G$_OPT_GROUP is referenced in the Object Group from GOQOLIB. If the form invokes Function Base information, then the object G$_FUNC_BASE_INFO is referenced in the Object Group from GOQOLIB. If the form has ID and Name items on which a validation procedure is desired, then the object G$_IDNAME_SEARCH is referenced in the Object Group from GOQOLIB.
July 2010
2-29
If the form has Code and Description items on which a search mechanism is desired, then the object G$_SEARCH is referenced in the Object Group from GOQOLIB.
If the form invokes an Option List Window, then the object G$_OPT_GROUP is referenced in the Object Group from GOQOLIB. If the form invokes Function Base information, then the object G$_FUNC_BASE_INFO is referenced in the Object Group from GOQOLIB. If the form has ID and Name items on which a validation procedure is desired, then the object G$_IDNAME_SEARCH is referenced in the Object Group from GOQOLIB. If the form has Code and Description items on which a search mechanism is desired, then the object G$_SEARCH is referenced in the Object Group from GOQOLIB.
2-30
July 2010
VERTICAL MDI toolbar to need to be set to null. The main canvas has G$_FS_WINDOW_CLASS defined as the Class in its property sheet. The following are objects that are always referenced from the form GOQOLIB into the Object Group node of the form:
G$_TOOLBAR G$_VAL_FORM_CLASS
If the form invokes an Option List Window, then the object G$_OPT_GROUP is referenced in the Object Group from GOQOLIB. If the form invokes Function Base information, then the object G$_FUNC_BASE_INFO is referenced in the Object Group from GOQOLIB. If the form has ID and Name items on which a validation procedure is desired, then the object G$_IDNAME_SEARCH is referenced in the Object Group from GOQOLIB. If the form has Code and Description items on which a search mechanism is desired, then the object G$_SEARCH is referenced in the Object Group from GOQOLIB.
Items
ID and Name Items
To enable the search mechanism to the ID and Name items to validate IDs and names against the SPRIDEN table, the items undertake the following steps:
8.1. 8.2.
In the property sheet of the ID item, set the CLASS to G$_ID_CLASS. In the property sheet of the Name item, set the CLASS to G$_NAME_CLASS. The Visual Attribute on the Name item should be set to G$_NVA_TEXT_ITEM. Any person form such as SOAIDEN is executed by the trigger KEY-LISTVAL, and any non-person form such as SOACOMP is executed by KEY-CQUERY. If the ID item uses such a triggers, its auto hint text must contain the words LIST to reflect the trigger KEY-LISTVAL and COUNT HITS to reflect the trigger KEYCQUERY. The KEY-NEXT-ITEM trigger of an ID item, contains the following procedure:
G$_IDNAME_SEARCH.ID_SEARCH(parm1);
8.3.
where parm1 = ID
8.4.
where param1 = NAME The PRE-TEXT-ITEM trigger of a Name item, contains the following procedure:
G$_IDNAME_SEARCH.DISABLE_NAME_ITEM
July 2010
2-31
8.5.
If the Name item allows free-format entry, then the CLASS assign in the Name item of the property sheet is G$_FF_NAME_CLASS.
In the property sheet of the Code item, set the CLASS to G$_CODE_CLASS. If the Code item will associate an LOV that conforms to all the following standards, the G$_SEARCH_PATAMETERS does not need to be created as trigger under the code item i) LOV is named like tablename_LOV. ii) LOV table name has columns named tablename_CODE and tablename_DESC. iii) LOVs associated record group does not have a WHERE clause.
G$_SEARCH_PARAMETERS
If the above conditions are NOT met, then the user-defined trigger at the Code item level must be created. This trigger will have the following code:
G$_SEARCH.PARAMETERS (param1, param2, param3); where param1 = database column name from the validation table for code param2 = database column name from the validation table for description param3 = WHERE clause from the record group associated with the LOV (optional)
8.3.
8.4.
8.5.
2-32
July 2010
8.6.
8.7.
To create functionality to be executed by the event right button mouse click, create under the Code item the trigger G$_SEARCH_OPTIONS. If a displayable description item is associated to a code item and the description item is not associated to a database table, then the class G$_DESC_CLASS needs to be assigned to the Class attribute of the description item. Furthermore, the Visual Attribute Default must be assigned.
Dates
Items of data type DATE need to undertake the following steps:
1. To create an item of type date, assign the property CLASS G$_DATE_CLASS. 2. To create an item of data type DATETIME, assign the property CLASS
G$_DATETIME_CLASS.
3. Set the default value in the property sheet of the item to $$DBDATE$$.
Iconic Button
Iconic buttons are buttons that has the G$_ICON_BTN_CLASS assigned to the class property of the button. It also has the Icon Name set to one of the names from the general/icon directory. Flashlight Button- itemname_btn Flashlight buttons are a type of iconic button that has the icon name set to flashlit
July 2010
2-33
Disabling an Option
G$_Navigation_Frame.Disable_Option(parm1,
parm2)
Where parm1 = Called Object field in GUAOPTM Form parm2 = Type Indicator field in GUAOPTM Form
Enabling an Option
G$_Navigation_Frame.Enable_Option(parm1,
parm2)
Where parm1 = Called Object field in GUAOPTM Form parm2 = Type Indicator field in GUAOPTM Form
Changing the Label Text of an Option
G$_Navigation_Frame.Set_Description(parm1,
parm2, 'string')
Where string specifies the label of the option parm1 = Called Object field in GUAOPTM Form parm2 = Type Indicator field in GUAOPTM Form
Reading the Label Text of an Option
G$_Navigation_Frame.Get_Description(parm1,
parm2)
Where parm1 = Called Object field in GUAOPTM Form parm2 = Type Indicator field in GUAOPTM Form For more information on Unified Modeling Language, please see the following references:
1. Jesse Liberty, Beginning Object-Oriented Analysis and Design with C++, Wrox Press
of Object-Oriented Modeling, White Paper modified from Building Object Application That Works, Cambridge University Press, 1998
3. Object-Oriented Programming Concept: A Primer, unknown, White Paper, 1999 4. Pierre-Alain Muller, Instant UML, Wrox Press Ltd., UK, 1997
2-34
July 2010
Naming Conventions
Canvas - description_canvas Button - description_btn Standard buttons:
<window>_exitvalue_btn <window>_rollback_btn <window>_save_btn <window>_exit_btn
Note The sequence number from the conversion is the forms 3.0 page number.
LOV Button - field-name_lbt Non-LOV buttons may also have a suffix of '_lbt' to take advantage of the standard code in the WHEN_BUTTON_PRESSED trigger. The button must be associated with an item with the same name as the button. The button name would include the '_lbt' at the end. Example: The ID item might have a button named ID_LBT. Record Group - description_rg
Note LOV and Record groups may retain the name they are converted with, which may not conform to standards. These objects may be replaced by referenced objects.
Window Name - description_window or root_window Alert Window - description_alert Check Box - description_cbox (see Note below) Radio Group - description_radio (see Note below)
Note For check boxes and radio groups, if the item is a database field, the name of the radio groups or check boxes will be the item name. If not database fields, follow the naming conventions above.
July 2010
2-35
Visual Cues
Modification ID
A number of institutions prefer to customize Banner forms. However, this may make it difficult to know if the form being displayed is the SunGard-delivered version or the custom version. To help you identify your custom forms, you can set up Banner to display a modification ID number in brackets on the title bars.
Note This feature does not perform version control of any kind; it merely identifies the form as being custom.
The modification number also appears on the About Banner Form (GUAABOT). To enable this feature:
1. Access the General User Preferences Maintenance Form (GUAUPRF). 2. Select the Display Release Number on Title Bar check box, if it has not been
selected already.
3. Save your changes. Note The modification number will not appear on the title bars if you clear the check box on GUAUPRF. However, it will still appear on GUAABOT. 4. In the form in which you want to enable this feature: 4.1. 4.2. 4.3. 4.4. 4.5.
Add a text_item to the FORM_HEADER block. Name this text_item MOD_ID. Set the Enabled Property of MOD_ID to No. Set the Max Length to 16. Provide a value from 1 to 16 alphanumeric characters for the FORM_HEADER.MOD_ID in the form-level trigger LOAD_CURRENT_RELEASE.
The value you entered will appear in the title bar of that form and on GUAABOT.
2-36
July 2010
Instance Name
The instance name will appear on the window bar in all windows. The instance name will be enclosed in parenthesis one space after the release number. The release number should be entered on each root window title as boilerplate. (Refer to the Windows section of this document for more information.) The G$_SET_INST_PROPERTY procedure is in the WHEN-WINDOW-ACTIVATED trigger and will manipulate the window title by adding the eight-character instance name to the end. Load_current_release_trigger contains the release number. Forms with key information will have a solid line after the key information to distinguish it from the data block. The line should be drawn with the solid line (1 point width) on the tool bar and extend the full width of the form.
Guideline
When a window includes only one block other than the key information, a block title is not needed for the data block. Where there are multiple blocks on a window, center the name of the block in mixed case, and enclose in a box. The box should be a solid line with 1 pt width.
Note The solid lines extending from the titles should be drawn with the solid line on the tool bar, 1 pt width. The lines should be centered with the text using the Align Vertical function under the Arrange option in the layout editor.
The form title, centered and in mixed case, appears in the window bar with the seven character mnemonic in upper case followed by the release number. The eight-character instance name is added after the window information and enclosed in parenthesis. Root window format - Centered and in mixed case: Form Title (Mnemonic^release number)^(instance name). For example:
Person Identification Form (SPAPERS 6.0) (SEED)
Non-root window titles will have the same format replacing the form name with the window title in mixed case. The rest of the title bar is in the same format as the root window bar. For example:
Address (SPAIDEN 6.0) (SEED)
Windows should have one blank line at the top and bottom and one space on each side if possible. This applies to both root and secondary windows. There is one exception; the words Confidential and Deceased may appear in the top line. Standard full-size window size is 473 x 328. There may be exceptions to this rule. An exception might be a form that is frequently called and it would be helpful to keep the calling form visible.
July 2010
2-37
Non-full screen windows should be centered under the key information and be context sensitive. For those windows where this is not appropriate, discretion should be used to appropriately place the window to not overlay pertinent information. For example, you may not want to overlay the window bar on the root window that contains the form name. Likewise, it may be appropriate to always display the key information. Non-full screen windows should be smaller than the root window where possible. If they need to be almost full size, make them 473 wide to fit inside the boundaries of the root window.
Helpful Hints
When a form that is called from another form needs to be sized so that it does not overlay the key information of the calling form, the canvas of the called form that is to be resized cannot be associated with the root window. If the desired canvas is associated with the root window, it will overlay the entire calling form.
Blocks
Block property sheet values:
Key Mode Locking Mode Recs Buffered Navigational Style Key Information
Unique_Key Immediate Twice the number displayed. Same_record (default, change if necessary). Key information will exist on the root window of each application form where appropriate. The key information may be overlaid with windows if space is needed or the key information data is not pertinent to the active windows. Block titles should identify the data being displayed; however, unlike previous Banner standards, the word 'block' should not appear in the block title.
Block Title
Scroll Bars
Scroll bars should be on the right side of the form. They should be two characters wide. If they correspond to a boxed area, the scroll bar should be inside the box on the right hand side.
2-38
July 2010
The length of the scroll bar should start at the first row and extend to the last row that scrolls. It should not go beyond rows being displayed. However, if the number of rows displayed is two or less, the scroll bar should extend up into the column heading to display the indicator button on the scroll bar. Scroll bars on validation forms should start in position 450 and be two characters wide.
Navigation
The key information items should be disabled once the cursor leaves the key information. This is accomplished via the DISABLE_KEYS trigger executed in the WHEN_NEW_BLOCK_INSTANCE_TRG. The Rollback function must be pressed/selected to reenter the key information. Re-enable items/buttons in the key information via the ENABLE_KEYS trigger executed in the KEY_CLRFRM trigger. The Rollback function should close any windows that are open via a user defined CLOSE_WINDOWS trigger executed in the KEY_CLRFRM trigger. The root window is an exception and should remain open. Other windows may also be an exception, however, data in ALL open windows must be cleared when the cursor is in the key information. Using the WHEN_WINDOW_ACTIVATED_TRG trigger, each form must include code to move the cursor to a newly activated window and out of a closed window because of character mode. The cursor should go into the first enterable item in the window or the item that is clicked into to activate the window. The next_item trigger on the last item of a window and the PREVIOUS_ITEM trigger on the first item in a window should keep the cursor within the window. There may be exceptions to this to allow the user to tab out of the window.
Text Items
Numeric items should use an edit mask with dollar signs, a decimal point, and commas where appropriate and space allows. The edit mask is entered on page two of the item property sheet. These items should also be right justified. Abbreviations should be eliminated and the tags spelled out where possible striving for consistency throughout each product as well as the system. Some standard tag changes for international clients: Change State to State/Prov Change ZIP code to ZIP/PC (for Postal Code) Change SSN to SSN/SIN/TFN Change 1099 Id to Tax ID
July 2010
2-39
These changes need to be reflected in dynamic help and auto help. Item tag names that appear to the left of items should be left aligned. (This is a change from the previous Banner standard.) Display and text items should be aligned where possible for aesthetically pleasing windows. Tag names that appear at the top of a column should be centered over that column (with no colon) as space permits. Tag names to the left of a text item should include a colon. Tag names on the top of columns should not include a colon. Text/Display items should be at least one space apart. Boxes should be used to group data items at the product's discretion. If boxes are used to group data items, boxes with square corners should be used. Rounded corners do not show in character-mode. Boilerplate that is to the left of a text item should be centered vertically with the item using the Align function on the property layout sheet. Column headings should also be centered with other column headings on the same line and centered above the column itself.
Radio Groups
Radio groups should be used with <= 3 exclusive choices.
2-40
July 2010
Pull-Down Lists
Pull-down lists should be used when there are more than three exclusive choices. The list size should be three larger than the length of the label for character mode. A null value in a pull-down list should be represented by the word none with parentheses around it (None). None by itself may be a valid selection. Any extra blank lines in the pull down lists should be removed.
Buttons
The text within a button should be in mixed case. Exception examples: If OK or ZIP/PC, is used, it should be in upper case. All buttons need to be expanded two characters greater than the label text to allow for character mode parenthesis. Buttons that appear on the top of a column should not include a colon. Buttons should be aligned vertically as appropriate. Buttons that are aligned vertically (in a column) should be the same size. This applies to LOV buttons as well. Application specific buttons added to the button control block on the same line as the standard buttons should appear immediately to the left of the standard buttons. Application specific buttons may be larger than 10 if needed.
Button Properties
Displayed - On Enabled - On/Off (as appropriate) Navigable - Off (Oracle's initial default is On) Auto Hint - Off Mouse Nav. - Off (Oracle's initial default is On)
July 2010
2-41
LOV/LOV Buttons
The tag for an item that has LOV available should be the LOV button itself. LOV buttons for a repeating block should reside in the block with the LOV field rather than the button control block. The button needs to be added only once and will repeat with each row. LOV buttons that appear to the left of the item should contain the tag, followed by a colon and enough spaces to left justify the tag, with one space between the button and the LOV field. If the tag fits into the button with no extra spaces, add two additional characters to the width for character mode. Add spaces to the end of the label to left-justify the tag within the button. Example: If the LOV button is six characters and the tag is State: the button should be increased to eight characters State: for formatting. The button should be one space away from the LOV item. An LOV should have the following properties: Auto confirm - On Auto display - Off
Menus
Oracle has supplied a default menu to be used with Forms. The Oracle default menu has been enhanced for Banner applications by the addition of the Options selection on the menu bar, the addition of Dynamic Help, About Banner, and Display Image under the Help selection, and Banner, Direct Access, QuickFlow, and a Close selection for character mode under Action. The custom Banner menu is gumappl.mmx. The navigation frame contains an Options selection. The Options menu selection features: All accessible windows (except for the main window), external forms, and other processes. Since there are several ways to return to the root window (rollback, previous block, and window menu pick), the main window should not be included in the menu. If triggers are created for menus, the trigger to be executed should reside in the form with the standard name MNU_XXX_YYY_ZZZZZ, where MNU_ identifies
2-42
July 2010
the trigger as a menu trigger, and standard XXX_YYY_ZZZZZ is free-form text which clearly identifies the menu being called or executed. Example of user-defined triggers for menu selections:
MNU_OPT_FRM_SPAPERS MNU_OPT_WIN_ADDR MNU_OPT_PRO_ADMIN
Not all menu options will have corresponding function keys such as Options and Help. The main window should not appear as an option in the menu. Any form level navigation represented as a button added to the form should also be added to the options selection bar menu. (See Option menu below regarding the GUROPTM table for further instructions.) Some previously-available options were eliminated from the Options menu on some forms. These changes were made because VGA display for Windows allows only 24 options per data stack and no scrolling feature exists. In creating custom options, any items with a sequence number that begins with 1 are considered internal to the form, and appear above the dotted line. Items with any other number are external to the form and appear below the dotted line. A maximum of 23 items can appear. An option under the HELP menu selection was added to replace the form header, About Banner. This option activates a window which displays the full institution name that used to appear in the form header and the current release number. Menu property sheet values: Type - Plain or Separator Cmd - Menu for sub-menu picks Null for separator PL/SQL for others
Helpful Hints
When calling a form from another form, use G$_secured_form_call so that role security is invoked. The block name and description for all blocks in the form were inserted into GUROPTM. If there was only one item in the block the entry was determined to be a call to a form. If there was more than one item in the block the entry was deemed a navigable block. In this case the first item in the block was put into the table as the go to item.
July 2010
2-43
GUROPTM Fields
GUROPTM_SORT_SEQ
Sort sequence number using decimals to provide a sort within groups Blocks and windows start with 1.x, form calls with 2.x, and processes with 3.x. Type indicator - (W)indow, (B)lock, (F)orm, (P)for trigger, (L) Form with Select turned off. Current form name. Name of form, window, block, process to invoke or navigate to. Description for NAME1 that appears in the menu. The format is the process being done. Example: Add an ID. Name of item to navigate to if NAME1 is block or window. This must be in the form of block.item since the procedure issues a GO_ITEM to get there. For forms only, type of call - (M)aintenance or (Q)uery. For processes, enter the name of the trigger to be executed. It can be a user defined trigger or a built-in. Only gets executed if GUROPTM_TYPE_IND = 'P'. Type of trigger TRG_NAME is - (U)ser named or (B)uiltin. If set to 'U' then an EXECUTE_TRIGGER will be executed for TRG_NAME, otherwise it will do a DO_KEY for TRG_NAME. If valued, this entry will only show up ONLY when the cursor is positioned in the block with this name.
GUROPTM_TYPE_IND
GUROPTM_FORM_NAME GUROPTM_NAME1
GUROPTM_NAME1_DESC
GUROPTM_NAME2
GUROPTM_CAPACITY GUROPTM_TRG_NAME
GUROPTM_TRG_TYPE
GUROPTM_BLOCK_VALID
Note The code for the menu procedures is in the checklist notes.
Review your data using the GUAOPTM form and the make necessary corrections. Remove the entry for the key information. Entries must be added/corrected for internal (windows) and external (forms and processes) items as needed.
Miscellaneous Notes
Table owners need to be removed when referencing tables and views in triggers. Owner names need to be used for referencing procedures.
2-44
July 2010
Each product must modify the LOVs in their xOQOLIBs to make the column heading tag names more friendly. Activity date may display without centuries.
Getting Started Guide for the detailed standards for 7-character Banner object names.
2. Follow the coding standards described in this chapter. 3. Make sure to include the correct calls to Banner Security (see Modifying Local
for the new object and give it a name, description, type, system indicator, and so on. See Banner Online Help for details on GUAOBJS. Once you have defined the form in GUAOBJS you will be able to access it via the Direct Access field in Banner without getting this error: Invalid object name entered.
6. Define the form as a new object in Banner Security. See the Banner Security
Administration Handbook.
7. Grant security access to the object to one or more user IDs or classes. See the Banner
July 2010
2-45
updating a 7.x form, follow this checklist to make sure that your form conforms to Banner 8.0 standards. Step 1 Create an 8.0 Audit Trail Entry
In the forms audit trail, create a new entry for version 8.0. Step 2 Modify the load_current_release trigger
Modify the load_current_release trigger for a current release of 8.0. Step 3 Check WHEN-NEW-RECORD-INSTANCE
If your form has a WHEN-NEW-RECORD-INSTANCE with a hierarchy property of OVERRIDE, change the hierarchy property to AFTER. This change is necessary so that your form will work with the new Supplemental Data Engine. Step 4 Add Support for Tooltips
Banner 8.0 introduces support for tooltips on data fields where the data values may be too long to fully display in the field. Check each text item on your form. If an item has a class of G$_GRADE_CODE_CLASS, G$_CODE_CLASS, G$_ID_CLASS or G$_NAME_CLASS it will automatically inherit the tooltip feature. If a text item does not have one of those four classes, then add one of the following classes: For a normal, single-line field, add G$_CHAR_FIELD_CLASS For a multiline text field, add G$_CHAR_MULTILINE_FIELD_CLASS Step 5 Observe Standards for Field Lengths
For Banner 8.0, new standards were established for fields containing certain kinds of data, and many fields were expanded to match these new standards. Check the fields in your form to see if any of these length standards apply.
Field Standard Length for Banner 8.0 Forms
First Name (_FIRST_NAME) Middle Name (_MI) Last Name Prefix (_SURNAME_PREFIX) Last Name (_LAST_NAME)
60 60 60 60
2-46
July 2010
Field
Legal Name (_LEGAL_NAME) House Number (_HOUSE_NUMBER) Street Address Line 1 (_STREET_LINE1) Street Address Line 2 (_STREET_LINE2) Street Address Line 3 (_STREET_LINE3) Street Address Line 4 (_STREET_LINE4) City (_CITY) ZIP (_ZIP) Country Code (_CTRY_CODE_PHONE) Area Code (_PHONE_AREA) Telephone (_PHONE_NUMBER) Extension (_PHONE_EXT) E-mail Address (_EMAIL_ADDRESS) SSN (_SSN) Any field that holds currency values Currency Conversion Rate (_CONV_RATE)
July 2010
2-47
2-48
July 2010
Global Variables
A global variable can store a character string value of any length. Global variables can be used to store data values outside the blocks of a form, especially to pass information from one form to another when one form calls another form. All global variables have the format:
GLOBAL.var_name
where var_name is a valid Oracle object name. GLOBAL.var_name is never interpreted as a reference to a block called GLOBAL. Global variables do not have to be explicitly declared or defined; they are established when either the COPY or DEFAULT command is used or direct assignment is used to assign a value. For example, the following command assigns the value of N to the variable GLOBAL.INITF:
#COPY N GLOBAL.INITF := 'N'
Global variables remain defined for the duration of an Oracle Developer Forms session, or until the #ERASE command is used to remove them. The GUAINIT form establishes the General global variables along with any productspecific globals for each product currently installed. The following are some of the General global variables that GUAINIT establishes:
GLOBAL.CURRENT_DATE
GLOBAL.CURRENT_TIME
Current User. Default is USER system variable. Help Call Form. Default is GUAHELP. Host Commands. Host commands to be submitted. (Only valid in character mode.)
The following global variables are established when Dynamic Help is requested:
July 2010
3-1
GLOBAL.HELP_BLOCK
Help Block. Current block in which the cursor resides when Dynamic Help is called. Help Field. Current field in which the cursor resides when Dynamic help is called. Help Form. Current form in which the cursor resides when Dynamic Help is called. Index. Dynamic Help index indicator, default is H for Help.
GLOBAL.HELP_FIELD
GLOBAL.HELP_FORM
GLOBAL.INDEX
The following global variable is established when exiting a validation form by using the exit with value option:
GLOBAL.VALUE
Value. Value of the Validation Table Code returned by the Exit with Value key.
3-2
July 2010
In Release 7.0, the SOBSEQN method of incrementing PIDMs and IDs was replaced by another method to accomplish the same function. A new Identification API handles inserting new IDs and PIDMs into the SPRIDEN table. The Identification API uses Oracle sequences to determine the next available number for the ID or PIDM. This approach eliminated the locking contention problem and greatly improved system performance. Once a sequence is defined, it can be accessed and incremented by multiple users with no waiting. The Oracle sequence does not need to complete the previous transaction before the sequence can be incremented again. This allows for nearly simultaneous transactions for all users.
ID_SEQUENCE is the Oracle sequence that generates unique identification numbers such SPRIDEN_ID. PIDM_SEQUENCE generates unique internal identification numbers such as SPRIDEN_PIDM. Two scripts, gos_id_seq.sql and gos_pidm_seq.sql, create the new
as
Oracle sequences. Note that using sequence generators may cause gaps in the sequence if an application selects .NEXTVAL and subsequently fails to store it. The Oracle Application Developer's Guide explains how to manage sequences. To select the next value from the sequence and increment it you can:
Select PIDM_SEQUENCE.NEXTVAL from dual;
You must drop and recreate the sequence to change the starting number. During the 7.0 upgrade process, the current values on the SOBSEQN table will be used as the initial settings for the new sequences. There are two functions, F_GENERATE_ID and F_GENERATE_PIDM, in the GB_COMMON package, to manage generating new IDs and PIDMs. All forms and processes that create new SPRIDEN records call the P_CREATE procedure in the GB_IDENTIFICATION package. P_CREATE in turn calls F_GENERATE_ID or F_GENERATE_PIDM as needed.
F_GENERATE_PIDM, when called, will select the next number from PIDM_SEQUENCE, then check to see if that PIDM is already in use in SPRIDEN. If it is, it continues to select the next number until it reaches a number not in use. This self-corrects for any discrepancies between the sequences next available number is and what is actually stored in SPRIDEN. Therefore, using F_GENERATE_PIDM will eliminate the Duplicate Generated PIDM error.
July 2010
3-3
number range, and a gap exists between the highest old number and the lowest new number. It is possible to use the new sequence to fill in any historical gaps left in a PIDM or ID number series. For example, to fill gaps in a series of ID numbers:
1. Drop ID_SEQUENCE. 2. Recreate ID_SEQUENCE with a starting number of 1 3. Create the next SPRIDEN record using any Banner 7.0 application.
All Banner applications call the F_GENERATE_ID function (and F_GENERATE_PIDM, of course) when a new person record is created. The function will run its sequence generator up through all the existing numbers until it encounters the gap and return a valid unused number. This may take some time on the very first record created, but after that the system will continue incrementing the numbers and filling in any gaps.
3-4
July 2010
Banner Libraries
GOQOLIB
GOQOLIB contains procedures used in multiple forms across the Banner products. It is used as a library repository to store referenced triggers, blocks, windows, canvases, visual attributes, and items. These procedures used in conjunction with the GOQRPLS PL/SQL library contain the building blocks for the Banner system. The procedures are referenced into the source code and become part of the programs. Changes made to the GOQOLIB will be applied to all programs when they are regenerated. Banner uses Referenced Procedures so that commonly executed logic can be maintained in one location rather than be repeated in multiple forms. Procedures that are used by multiple Banner systems are found in the library and are listed below.
GOQRPLS
The GOQRPLS PL/SQL library includes the following procedures.
Name
G$_ADD_TO_PERSONAL_MENU
Function
Adds the current form to a users personal menu. This is a package used to determine whether help exists and how to display it. Checks if a block exists. Executes built-in subprogram associated with appropriate button. Builds name to support ID field validation. This is a generic button procedure. It reads the NAME of the button and performs a DO_KEY(item_name). This is a new function to check whether a user is authorized to access a program/ process via job submission. Procedure that checks for form success.
G$_B2K_WIN_HELP
G$_BLOCK_EXISTS G$_BTN_PRESSED
G$_BUILD_FULL_NAME
G$_BUTTON_PROC
G$_CHECK_ACCESS
G$_CHECK_FAILURE
July 2010
3-5
Name
G$_CHECK_IF_DUP_PIDM G$_CHECK_QUERY_MODE
Function
Checks for duplicated PIDM. Procedure that sets global to 1 if the form is in query mode; else 0. Used to check whether the most recently executed built-in has succeeded (COMMIT_FORM OR POST). Defaults city, state, nation, and country codes when a ZIP/PC code is entered. This function is similar to above function but it also set the Global.Zip value for subsequent call to the GTVZIPC form. Defaults city, state, nation, and country codes when a ZIP/PC code and city are entered. Procedure that checks passed string for null values. Returns a compressed name field in all uppercase without spaces or punctuation except for the '%', which allows the field to be used in queries. Function can be passed any character field. Supports race/ethnicity processing. Procedure which copies a fields x and y coordinates to globals. Retrieves the current window's title, form name, and release number. Extracts data from a form. Supports entering date data from the calendar. Retrieves the next item for a date field. Used by date fields which require G$_DATE_REFORMAT function to insure proper date validation.
G$_CHECK_STATUS_QUERY
G$_CITY_STATE_NATN
G$_CITY_STATE_NATN2
G$_CITY_STATE_NATN3
G$_CHECK_VALUE
G$_COMPRESS_WORK_NAME
G$_CONVERT_ETHNICITY_CODE G$_COPY_FLD_ATTR
G$_CREATE_METADATA
G$_DATA_EXTRACT G$_DATE_CALL_GUACALN
G$_DATE_NEXT_ITEM G$_DATE_POST_ITEM
3-6
July 2010
Name
G$_DATE_REFORMAT G$_DATE_WHEN_NEW_ITEM
Function
Reformatting date. Used by date fields which require G$_DATE_REFORMAT function. Pops the warning alert for a person who is deceased. Sets up the view for pop-up window. Used in multi-window forms to locate the cursor. Erases any globals created by the
G$_DETERMINE_CURSOR_LOCATION
G$_DECEASED_WARNING
G$_DEF_VIEW G$_DETERMINE_CURSOR_LOCATION
G$_DETERMINE_ERASE_GLOBAL
procedure.
G$_DETERMINE_WIN_NOT_PREV_ACTV
Used in multi-window forms where window to window navigation has no restrictions. This function is called from procedure G$_DETERMINE_CURSOR_LOCATION. Generic call to display an alert window. Displays errors passed back from database routines. Displays a stored image file associated with an ID via the GUAIMGE form. Displays appropriate List Of Values window for the current field and allows the return of the selected value to the calling field. Procedure to check the message table and display a message if the user received a new message since the last time he/she was notified. Determine whether or not to execute the remainder of the logic in the whenwindow-activated trigger based on a form-specific global variable. Checks for duplicate PIDM.
G$_DISPLAY_ALERT G$_DISPLAY_ERR_MSG
G$_DISPLAY_IMAGE
G$_DISPLAY_LOV
G$_DO_NEW_MESSAGES_EXIST
G$_DO_WIN_ACTIVATED
G$_DUPLICATE_PIDM
July 2010
3-7
Name
G$_ENV_IS_CHARMODE
Function
This function returns TRUE in a nonGUI, character-mode environment. This function returns TRUE in a Graphical User Interface environment. This function returns TRUE in a Macintosh environment. This function returns TRUE in a MOTIF environment. This function returns TRUE in a Internet-native environment. This function returns TRUE in a UNIX Internet-native environment. This function returns TRUE in a Windows environment. This function returns TRUE in a Windows 3.x environment.
Note: This will be made obsolete in a future release.
G$_ENV_IS_GUI
G$_ENV_IS_MAC
G$_ENV_IS_MOTIF
G$_ENV_IS_WEB
G$_ENV_IS_WEB_UNIX
G$_ENV_IS_WINDOWS
G$_ENV_IS_WINDOWS3X
G$_ENV_IS_WINDOWS95
This function returns TRUE in a Windows95 environment. This function returns TRUE in a Windows98 environment. This function returns TRUE in a Windows95 or Windows98 environment. This function returns TRUE in a Windows NT environment. This function populates public variables. Offers navigation options when F5 key is pressed. This function returns the ID of the current event's window.
G$_ENV_IS_WINDOWS98
G$_ENV_IS_WINDOWS9x
G$_ENV_IS_WINDOWSNT
G$_ERRORS G$_F5_NAVIGATION
G$_FIND_WINDOW_ID
3-8
July 2010
Name
G$_FORMS_NLS
Function
Package supports international date formats. This procedure contains the common commands to be executed at form shutdown. This procedure contains the common commands to be executed at form startup. This procedure is called within the General Product Events Module forms (GEATASK, GEAPART, GEAFCOM) to bring up a window of base function information from GEAFUNC. Retrieves the title of the main window. This procedure checks for Electronic Approvals messages through the use of a dbms pipe named as the Oracle username. It alerts the user to how many transactions they have pending. Determines attributes of the root window. Used in Job Submission and Graphics modules to define a user's operating system profile, including their default local directory. Checks user preferences for button color. Checks user preferences for the form canvas color. Checks user preferences for common matching. Checks user preferences for the code prompt color. Checks user preferences for alerts that information is confidential.
G$_FORM_SHUTDOWN
G$_FORM_STARTUP
G$_FUNC_BASE_INFO
G$_GET_MAIN_WINDOW_TITLE G$_GET_PIPE_MESSAGES
G$_GET_RW_ATTRIBUTES
G$_GET_SET_LOCAL_DIR
G$_GET_UPRF_BUTTON_COLOR
G$_GET_UPRF_CANVAS_COLOR
G$_GET_UPRF_CM_FORMS
G$_GET_UPRF_CODE_PROMPT_COLOR
G$_GET_UPRF_CONF_ALERT
July 2010
3-9
Name
G$_GET_UPRF_DATAEXTRACT
Function
Checks user preferences for data extract routines. Checks user preferences for alerts that a person is deceased. Checks user preferences for the type of file to be created in the data extract process. Checks user preferences for whether to include column headings in data extract files. Checks user preferences for whether or not to display an alert for a duplicate Social Security Number. Checks user preferences for a prompt before exiting Banner. Checks user preferences for the location of online help. Checks user preferences for the location of images. Checks user preferences for the canvas color of links. Checks user preferences for the text of My Links item 1. Checks user preferences for the text of My Links item 2. Checks user preferences for the text of My Links item 3. Checks user preferences for the text of My Links item 4. Checks user preferences for the text of My Links item 5. Checks user preferences for the text of My Links item 6.
G$_GET_UPRF_DEAD_ALERT
G$_GET_UPRF_DE_MIME_TYPE
G$_GET_UPRF_DE_PROMPTS
G$_GET_UPRF_DUP_SSN_ALERT
G$_GET_UPRF_EXIT_ALERT
G$_GET_UPRF_HELP
G$_GET_UPRF_IMAGE_DIR
G$_GET_UPRF_LINKS_CANVAS_COLOR
G$_GET_UPRF_LINKS_DESC1
G$_GET_UPRF_LINKS_DESC2
G$_GET_UPRF_LINKS_DESC3
G$_GET_UPRF_LINKS_DESC4
G$_GET_UPRF_LINKS_DESC5
G$_GET_UPRF_LINKS_DESC6
3-10
July 2010
Name
G$_GET_UPRF_LINKS_MY_INST
Function
Checks user preferences for My Institution link. Checks user preferences for the URL or destination of My Links item 1. Checks user preferences for the URL or destination of My Links item 2. Checks user preferences for the URL or destination of My Links item 3. Checks user preferences for the URL or destination of My Links item 3. Checks user preferences for the URL or destination of My Links item 4. Checks user preferences for the URL or destination of My Links item 6. Checks user preferences for the canvas color of the broadcast message window of the main menu. Checks user preferences for the color of popup windows. Checks user preferences for the color of highlighted records. Checks user preferences for the color of scrollbars. Checks user preferences for the color of separators. Checks user preferences for the default expanded menu. Checks user preferences for the canvas color of the menu tree. Supports other user preference functions by retrieving the specific user preference value, or institutional preference value if no user preference value exists.
G$_GET_UPRF_LINKS_PROG1
G$_GET_UPRF_LINKS_PROG2
G$_GET_UPRF_LINKS_PROG3
G$_GET_UPRF_LINKS_PROG4
G$_GET_UPRF_LINKS_PROG5
G$_GET_UPRF_LINKS_PROG6
G$_GET_UPRF_MSG_CANVAS_COLOR
G$_GET_UPRF_PROMPT_COLOR
G$_GET_UPRF_RECORD_COLOR
G$_GET_UPRF_SCROLLBAR_COLOR
G$_GET_UPRF_SEPARATOR_COLOR
G$_GET_UPRF_STARTUP_MENU
G$_GET_UPRF_TREE_CANVAS_COLOR
G$_GET_UPRF_VALUE
July 2010
3-11
Name
G$_GET_UPRF_WEBBKSHLF
Function
Checks user preferences for the location of the Bookshelf. Checks user preferences for the location of web help. Checks user preferences for the web server database location for database procedure execution. Checks user preferences for the location of reports on the web. Checks user preferences for the report service name for RUN_REPORT_OBJECT. This procedure returns the Height, Width, and Position of the current window. Displays basic function information (i.e., from GEBFUNC) on event forms (i.e., GEATASK, GEADART). This defines the standard key functions, such as Key_Up and Key_Exit. This defines commonly used option block procedure. This defines commonly used pre/post form triggers. This defines commonly used key functions. Procedure to call GUAHELP. Disables the Select button and menu item when the form is called from GUAMENU. Sets global for use in GUAHELP form. Package used for the new ID/Name search logic.
G$_GET_UPRF_WEBHLP
G$_GET_UPRF_WEBOUTPUT
G$_GET_UPRF_WEBRPT
G$_GET_UPRF_WEBRPT_SERVICE
G$_GET_WIN_PROPERTY
G$_GOQOLIB_FUNC_INFO_BLOCK
G$_GOQOLIB_KEY_TRIGGER
G$_GOQOLIB_OPT_BLOCK
G$_GOQOLIB_PP_TRIGGER
G$_GOQOLIB_USER_TRIGGER
G$_GUAHELP G$_GUAMENU_CHECK_SET
G$_HELP_SETUP G$_IDNAME_SEARCH
3-12
July 2010
Name
G$_IMG_DRIVER
Function
Supports Banner Document Management Suite (BDMS) activities invoked from within Banner. Routine to insert/update the user's profile for print destination. Shows message for invalid key strokes. Checks whether the user is required to use the Common Matching form (GOAMTCH) when creating an ID, and brings up GOAMTCH if required. Invokes the key option list window. This updates the Globals used to populate the Last 10 Forms list under the Action item in the Menu Bar. This procedure calls the appropriate 'TV' validation form for the current item. Copies the value back from 'TV' form. Copies the heading information. Determines if masking rules exist for a form. Routines to set the menu settings. Determine the type of item that the cursor is currently on and launch the appropriate action when the mouse button is double-clicked. Package containing all of the logic for establishing and executing the options in the navigation frame. Function which performs a null value check on a passed value. Determines the button color. Determines the canvas color.
G$_INS_UPD_LOCAL_DIR
G$_INVALID_FUNCTION_MSG G$_INVOKE_CM
G$_KEY_OPT_MENU G$_LAST_TEN
G$_LIST_VALUES_CALL
G$_MENU_BAR G$_MOUSE_DOUBLECLICK
G$_NAVIGATION_FRAME
G$_NCHK
G$_NVA_SET_BUTTON G$_NVA_SET_CANVAS
July 2010
3-13
Name
G$_NVA_SET_ITEM G$_NVA_SET_KEY_BLOCK G$_NVA_SET_PROMPT G$_NVA_SET_PROMPT_CODE
Function
Determines the item color. Determines the key block color. Determines the prompt color. Determines the prompt code color and style. Determines the highlighted record color. Determines the scrollbar color. Determines the separator color. Determines the window color. Populates the dynamic/run time version of the Record Group. Populates the list of ethnicity codes. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group.
G$_POPULATE_ETHNICITY_LIST G$_POPULATE_FTVACCI_LOVD
G$_POPULATE_FTVACCT_LOVD
G$_POPULATE_FTVACTV_LOVD
G$_POPULATE_FTVATYP_LOVD
G$_POPULATE_FTVCOAS_LOVD
G$_POPULATE_FTVCTYP_LOVD
G$_POPULATE_FTVFUND_LOVD
G$_POPULATE_FTVLOCN_LOVD
G$_POPULATE_FTVORGN_LOVD
3-14
July 2010
Name
G$_POPULATE_FTVPROG_LOVD
Function
Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates the dynamic/run time version of the Record Group. Populates and clears popup menus. Determines if the current form is running in query-only mode. Launches and executes a QuickFlow. Retrieves metadata for the current form. Reestablishes database connection if possible. Resets the global variables for pop-up windows. Resets the position for pop-up windows. Resizes browser windows that are too small. Calculates and resynchronizes a blocks activity date to prevent date-related errors with APIs. Package used with the new code/ description search mechanism.
G$_POPULATE_FTVPROJ_LOVD
G$_POPULATE_FTVRUCL_LOVD
G$_POPULATE_GXRDIRD_LOVD
G$_POPULATE_GXVBANK_LOVD
G$_POPULATE_ROIAIDY_LOVD
G$_POPULATE_TBBDETC_LOVD
G$_POP_UP_MENU G$_QUERY_ONLY_ROLE
G$_RESET_GLOBAL
G$_RESET_VIEW G$_RESIZE_WEB_WINDOW
G$_RESYNCH_RECORD
G$_SEARCH
July 2010
3-15
Name
G$_SEARCH_WHERE
Function
Package used with the new code/ description search mechanism. Performs secured form calls. Performs secured form calls. Returns the current sequence number in table SOQSEQN for the sobseqn_function argument. Returns the current ID for the PIDM argument passed when invoked. Replaced by G$_VALID_ID. Replaced by G$_VALID_ID. Disables or enables an item when passed a valid item name. Disables or enables an menu item. Displays the instance name in window title bar. Stores user preference values. This procedure is now null. This procedure is now null. Displays bookshelf when called from menu item. Start-up trigger for validation form. Handles the options timer and the bubble help timer. Executes the appropriate task associated with the setting of the toolbar. Routine which is used for debugging purposes. Updates the activity date column in the table associated with the current block.
G$_SEL_SPRIDEN_ID
G$_SETMENU G$_SET_INST_PROPERTY
G$_STARTUP G$_TIMER_EXP
G$_TOOLBAR
G$_TRACE_PKG
G$_UPDATE_ACTIVITY_DATE
3-16
July 2010
Name
G$_VALIDATE_FIXED_LENGTH
Function
Checks the length of fixed-length data fields. Validates person and non-person, and checks for deceased and confidential flags. Validates person. Checks for the existence of a specific ID. The main package supporting Virtual Private Database Indicator (VPDI) processing. Executes baseline VPD procedures. Walks through all items in all blocks of a form. Creates a web document and displays it in a separate browser window. Executes G$_SET_INST_PROPERTY and G$_SET_WIN_PROPERTY. Closes the event window. This procedure is now null. Writes the records from a block to a flat file.
G$_VALID_ALL_ID
G$_VPDI_TRIGGER G$_WALK_FORM
G$_WEB_SHOW_DOCUMENT
G$_WIN_ACTIVATED
GOQCLIB
To maintain consistency, Banners identification forms all reference a Banner library called the Common Forms Object Library (GOQCLIB). This library is a form object, but it is not accessed directly by users. Instead, GOQCLIB is used to store common form elements that are displayed on the General Person Identification Form (SPAIDEN) and many other forms. The common elements found in GOQCLIB are detailed in Chapter 12, Basic Person, of the Banner General User Guide.
July 2010
3-17
3-18
July 2010
Clients must configure Oracle AQ only if using LDI for e-Procurement version 1.1 messaging integration or any future Banner certified messaging integration.
Note The gb_event package does not contain a hard-coded reference to the Oracle AQ queue names, so this package will compile without errors if AQ is not configured. However, if events are enabled system-wide on the GUAINST form (gubinst.gubinst_message_enabled_ind) and enabled for the specific event via the GURMESG form, and Oracle AQ is not configured, a run-time error will occur when attempting to store a Banner Event XML message to Oracle AQ.
If you are setting up Oracle AQ, it requires a separate tablespace, which must be named BANAQ. This is because of a documented restriction on AQ under Oracle 9i. An Oracle persistent queue's data is stored in a table that is mapped to a tablespace. The tablespace used to store the Oracle table will not be able to provide tablespace point-in-time recovery. The gb_advq_util package will expect a tablespace named BANAQ when creating the queues and queue tables. For more information on setting up Oracle AQ for LDI for e-Procurement, see Banner AQ Bridge for LDI for e-Procurement 1.1 Installation and Configuration Guide and Banner AQ Connection for LDI for e-Procurement 1.1 Configuration Guide.
July 2010
3-19
Storing BFILEs
While SunGard Higher Education supports both internal LOBs and BFILEs, it is strongly recommend that you store your data as internal LOBs. (For the eBill enhancement, you will make this decision when you store the Statement files.) There are many issues with storing files in the file system that should be understood before choosing the BFILE option.
3-20
July 2010
deletion if the data is stored as BFILE. The file system file is not deleted. Only the GORBLOB record is flagged as deleted. The purging of the file system files is a system administration task. The system administrator will then have to use a script similar to the following script in order to identify and delete the file system file, and then go back and delete the GORBLOB rows.
/* This is a sample script you might use if you are storing large objects as BFILES, and the application has flagged the GORBLOB record for deletion. Once you run this and obtain the list of files no longer being referenced by the application, remove them from the file system, and then delete the gorblob rows. */ set serveroutput on DECLARE lv_file_name VARCHAR2(100); BEGIN FOR purged_bfiles in ( SELECT gorblob_media_id FROM gorblob WHERE gorblob_bfile IS NOT NULL AND gorblob_deleted = 'Y') LOOP lv_file_name:= gb_large_object.f_get_bfile_location(purged_bfiles.gorblob_media_id) ; dbms_output.put_line( 'rm '||lv_file_name); END LOOP; end; /
July 2010
3-21
3-22
July 2010
Upgrade Assistance
The PC from which you invoke this form must be IBM-compatible with Oracle Forms (Runform) Version 10g and SQL*Net installed. The path for the Oracle Forms Runform must be able to locate Banner and GUASMOD. The form can be generated by the scripts general/misc/genform2.bat , genformr2.bat, genform2.shl, or genformr2.shl. GUASMOD shows the state of the material currently loaded into the GUBSMOD and GURSSQL tables via the import command done in step 4 of the upgrade guide. GUBSMOD, the database modification header table, contains one row per modification for the release you are currently applying. It may contain rows from previously releases, if the release is cumulative. GURSSQL, the database modification SQL repeating row table, contains the SQL commands used to apply the upgrade. It contains one row for each line of text of every database modification script in GUBSMOD. There are one or more GURRSQL rows for each GUBSMOD row.
July 2010
4-1
Modification
Modification identifier. This will become the key in the Modification History Table (GURDMOD). It must be in the form RELEASE NUMBER.modcode. This field is case-sensitive. Indicates if a modification is being applied, or if a test is being made to see if a modification was previously made. Valid values are AP, PT, or PC. Description or Banner object that is affected by the script. A description of what the script does. Indicates if the modification has been installed. Valid values are Applied and Not Applied. The Oracle ID that normally owns the object and will apply the modifications. The date that the modification was successfully applied.
Function
Owner
Date
4-2
July 2010
Header
This displays the modification description row from the GUBSMOD table. This is an updateable block, but it should not ever need to be modified.
The code that represents the release number. The modcode section of the rows unique identifier, RELEASE NUMBER.modcode. For future use. Represents which product the modification belongs to. The number specifies the order in which the products are loaded. For example, because the General product must be installed before any other upgrades, all the modifications for General have a Product Sequence of 1. Indicates the line number in the script. Use Insert Record to add a blank row to the script (the sequence numbers will be updated automatically). Indicates if a modification is being applied, or if a test is being made to see if a modification was previously made. Valid values are AP, PT, or PC. Description or Banner object being modified by the script. Banner owner that owns the object. The default owner will run the database modification script. Brief description of the modification.
Application Sequence
Function
Comment
July 2010
4-3
Detail
This displays the contents of the script that you highlighted in the previous window. The rows are from the GURRSQL table which contains the SQL that will be applied to the database. You can alter the script that will be used to apply the modification. If you have local modifications, use this window to add or delete a step and then apply your local modification.
Sequence Statement
Line number in modification code script. Text of the line in modification code script.
not undo the modification. If you cannot rerun the modification or it was never applied to this instance, removing this record will cause gostage to fail. If you delete the record, the modification will be executed again.
2. You can create a modification history record for a modification that was applied to the
instance but not properly recorded in the GURMOD table. It will not cause any step to be executed. You must construct the record carefully, based on information in the GUBSMOD block. The Code field must be the release number in upper case, a dot, and the modification code in lower case (e.g., E060100.eaag60100). The Applied By field must contain the Oracle ID that owns the object. The rest of the fields can be entered using information from the GUBSMOD block.
4-4
July 2010
Code
Key for the history table. The case-sensitive format is RELEASE NUMBER.modcode. Date the database modification was applied. Banner owner that applied the modification. In most cases, the name of the object being modified. For documentation only. Brief description of the modification.
Description
July 2010
4-5
4-6
July 2010
Banner Integration
This chapter discusses the objects outside the General product that are shared with the other Banner products.
Common Tables
Integration
The following is a list of all common tables that are shared by all products within Banner:
Table PTRTENR SHBCOMI SHBCRMY SHRCOMC SHRCOMM SIBCFTE SIBFACD SLBBLDG SLBEVNT SLBRDEF SLRBCAT SLRBCMT SLRBDEF SLRCMNT SLRCOLC Description
Faculty Member Tenure Status Code Table Committee Information Table Ceremony Information Table Committee Comments Table Committee Information Table Faculty Work load Contract FTE Rule Table Faculty Information Table Location/Building Description Table Event Base Table Room Description Table Room Category Definition Table Building Comments Table Building Attributes Definition Table Building/Room Comments Table Room Attributes Collector Table
July 2010
5-1
Table SLRECMT SLRRASG SLRRDEF SLRRUSE SOBSBGI SOBSEQN SORBACD SORBCHR SORBCMT SORBCNT SORBDEG SORBDMO SORBDPL SORBETH SORBTST SORCONC SORDEGR SORFADR SORGEOR SORMAJR SORMINR SORPCOL SPBPERS SPRADDR SPRCOLR
Description
Events Comments Table Room Assignment Table Room Attributes Definition Table Room Usage Restriction Table Source/Background Institution Base Table Sequence Number Base Table Source/Background Institution Academic Repeating Table Source/Background Institution Characteristics Repeating Table Source/Background Institution Comments Repeating Table Source/Background Institution Contact Person Repeating Table Source/Background Institution Degrees Offered Repeating Table Source/Background Institution Demographics Repeating Table Source/Background Institution Diplomas Offered Repeating Table Source/Background Institution Ethnic Make-up Repeating Table Source/Background Institution Test Score Repeating Table Prior College Concentration Area Repeating Table Prior College Degree Table Fin. Aid Data Reconciliation Table Geographic Region Rules Table Prior College Major Repeating Table Prior College Minor Repeating Table Prior College Table Basic Person Base Table Address Repeating Table Person Collector Table
5-2
July 2010
Table SPREMRG SPRHOLD SPRIDEN SPRTELE SSBSECT SSRMEET SSRXLST STVACAT STVACCG STVACTC STVACTP STVACYR STVADMR STVASCD STVASRC STVASTY STVATYP STVBCHR STVBLDG STVCAMP STVCIPC STVCITZ STVCNTY STVCOLL STVCOMF
Description
Emergency Contact Repeating Table Person Related Holds Repeating Table Person Identification/Name Repeating Table Telephone Table Section General Information Base Table Section Meeting Times Repeating Table Cross List Section Repeating Table Award Category Validation Table Activity Category Validation Table Student Activity Validation Table Activity Type Validation Table Academic Year Validation Table Admission Request Code Validation Table Room Assignment Status Code Validation Table Address Source Code Validation Table Assignment Type Validation Table Address Type Validation Table Background Institution Characteristics Validation Table Building Code Validation Table Campus Validation Table CIP Code Validation Table Citizen Type Validation Table County Code Validation Table College Validation Table Committee Function Code Table
July 2010
5-3
Table STVCOMS STVCOMT STVDAYS STVDEGC STVDEPT STVDISA STVDLEV STVDPLM STVEMPT STVETCT STVETHN STVETYP STVFCNT STVGEOD STVGEOR STVHLDD STVHOND STVHONR STVINIT STVLANG STVLEAD STVLEVL STVLGCY STVMAJR STVMATL
Description
Committee Status Code Table Committee Type Code Table Day of Week Validation Table Degree Code Validation Table Department Validation Table Disability Type Validation Table Faculty Member Degree Level Validation Table Diploma Type Validation Table Employment Type Validation Table IPEDS Ethnic Validation Table Ethnic Code Validation Table Event Type Validation Table Faculty Contract Type Validation Table Geographic Region Division Validation Table Geographic Region Validation Table Person Hold Type Validation Table Degree Honors Validation Code Table Academic History Departmental Honors Validation Table Recruiting Initials Code Validation Table Native Language Validation Table Leadership Validation Table Student Level Validation Table Legacy Code Validation Table Major, Minor, Concentration Validation Table Recruiting Material Code Validation Table
5-4
July 2010
Table STVMDEQ STVMEDI STVMRTL STVNATN STVORIG STVPENT STVPRCD STVPTYP STVRDEF STVRELG STVRELT STVRMST STVRRCD STVSBGI STVSITE STVSPON STVSPSR STVSTAT STVSUBJ STVTELE STVTERM STVTESC STVTRMT STVVTYP
Description
Medical Equipment Code Validation Table Medical Code Validation Table Marital Status Validation Table Nation Validation Table Originator Validation Table Port of Entry Validation Table Phone Rate Code Validation Table Person Type Validation Table Building/Room Attributes Validation Table Religion Code Validation Table Relationship Validation Table Room Status Code Validation Table Room Rate Code Validation Table Source/Background Inst Validation Table Site Validation Table International Sponsor Validation Table Disability Type Validation Table State Code Validation Table Subject Validation Table Telephone Type Validation Table Term Code Validation Table Test Score Validation Table Term Type Validation Table Visa Type Code Validation Table
July 2010
5-5
Common Objects
The following is a list of common objects shared by all products:
Script Name aofacon.sql aofaorn.sql aoffrdn.sql comview.sql foffagn.sql foffban.sql foffcun.sql foffden.sql foffemn.sql foffmgn.sql fofforn.sql foffven.sql fofusrn.sql pofhapn.sql pofhben.sql pofhcbn.sql pofhemn.sql pofheon.sql ptrtenr.fmb rofrapn.sql rofratn.sql rofrayn.sql Object
f_alumni_constituent_ind
function function
f_alumni_organization_ind f_alumni_friend_ind
function
function
function function
f_finance_customer_ind f_get_finance_desc
function function
f_finance_employee_ind f_finance_manager_ind
function function
function
f_payroll_applicant_ind
f_payroll_beneficiary_ind f_payroll_cobra_ind
f_payroll_employee_ind f_get_eeoc_description
function
function
function
5-6
July 2010
Script Name rofrcsn.sql rofrden.sql rofrfcn.sql rofrfin.sql rofrian.sql rofrpcn.sql rofrpyn.sql shacomi.fmb shicmbq.fmb shicmid.fmb shicomq.fmb shvcomi.sql shvcomm.sql slabldg.fmb slabqry.fmb slaevnt.fmb slardef.fmb sliaevn.fmb slqbcat.fmb slqevnt.fmb slqroom.fmb soacomp.fmb soaddrq.fmb soageor.fmb soahold.fmb
Object
f_sem_csed_fun
f_finaid_get_desc
function
f_parent_contrib_fnc
f_authorized_payments
Committee/Service Form Committee/Service Member Inquiry Form Committee/Service by Person Inquiry Form Committee/Service Inquiry Form Committee Query View Committee Member Query View Building Definition Form Building Query Form Event Form Room Definition Form Event Available Room Query Form Building Category Query Form Event Query Form Room Query Form Non Person Search Form Address Summary Form Geographic Region Rules Forms Hold Information Form
July 2010
5-7
Script Name soaiden.fmb soaigeo.fmb soaqgeo.fmb soasbgi.fmb sofsadn.sql sofsapn.sql sofscdn.sql sofscln.sql sofsden.sql sofseln.sql sofsern.sql sofsfan.sql sofsgrn.sql sofsgsn.sql sofshcn.sql sofshin.sql sofshon.sql sofsrcn.sql sofsren.sql sofsrgn.sql sofstdn.sql sofstrn.sql sofstsn.sql sofstun.sql soisbgi.fmb
Object
Person Search Form Geographic Regions by ID Form Geographic Region Query Form Source/Background Institution Base Form
f_student_admissions_ind f_applied_for_degree f_get_class_desc f_class_calc_fnc
function
function
f_student_get_desc
f_enrolled_this_term
f_student_enrollment_ind f_student_faculty_ind
function function
function
f_high_school_rowid
f_student_housing_ind f_student_recruit_ind
function
function function
function function
5-8
July 2010
Script Name soqhold.fmb soqmenu.fmb sovcolp.sql sovconc.sql sovdegr.sql sovgeor.sql sovmajr.sql sovminr.sql sovsbgr.sql spvaddf.sql spvaddi.sql spvaddr.sql spvadds.sql spvcurr.sql spvintl.sql spvmedi.sql ssamatx.fmb ssvmeet.sql stkcomf.sql stkcoms.sql stkcomt.sql stkhond.sql stvacat.fmb stvaccg.fmb stvactc.fmb
Object
Holds Query Only Form Student Menu Form Prior College Information View Prior College Concentration Area Information View Prior College Degree Information View Geographic Region View Prior College Major Information View Prior College Minor Information View Source/Background Institution Base Information View Address Hierarchy View for FOCUS Addresses for BannerQuest View Address Hierarchy Selection View Address Hierarchy View Current PIDM, ID, and Name Information View Person International Information View Person Medical Information View Building/Room Schedule Form Section Meeting Time View Cursor stvcomfc Cursor stvcomsc Cursor stvcomtc Cursor stvhond Degree Award Category Code Validation Form Activity Category Validation Form Activity Code Validation Form
July 2010
5-9
Script Name stvactp.fmb stvacyr.fmb stvadmr.fmb stvascd.fmb stvasrc.fmb stvasty.fmb stvatyp.fmb stvbchr.fmb stvbldg.fmb stvcamp.fmb stvcipc.fmb stvcitz.fmb stvcnty.fmb stvcoll.fmb stvcomf.fmb stvcoms.fmb stvcomt.fmb stvdays.fmb stvdegc.fmb stvdept.fmb stvdisa.fmb stvdlev.fmb stvdplm.fmb stvempt.fmb stvetct.fmb
Object
Activity Type Validation Form Academic Year Validation Form Admission Request Checklist Code Validation Form Room Assignment Status Code Validation Form Address Source Validation Form Assignment Type Code Validation Form Address Type Code Validation Form Background Inst. Characteristic Code Validation Form Building Code Validation Form Campus Code Validation Form CIPC Code Validation Form Citizen Type Code Validation Form County Code Validation Form College Code Validation Form Committee Member Role/Function Validation Form Committee/Service Status Validation Form Committee/Service Type Code Validation Form Days of the Week Validation Form Degree Code Validation Form Department Code Validation Form Disability Type Code Validation Form Degree Level Code Validation Form Diploma Type Code Validation Form Employment Type Validation Form IPEDS Ethic Code Validation Form
5-10
July 2010
Script Name stvethn.fmb stvetyp.fmb stvfcnt.fmb stvgeod.fmb stvgeor.fmb stvhldd.fmb stvhond.fmb stvhonr.fmb stvinit.fmb stvlang.fmb stvlead.fmb stvlgcy.fmb stvmajr.fmb stvmatl.fmb stvmdeq.fmb stvmedi.fmb stvmrtl.fmb stvnatn.fmb stvorig.fmb stvpent.fmb stvprcd.fmb stvptyp.fmb stvrdef.fmb stvrelg.fmb stvrelt.fmb
Object
Ethnic Code Validation Form Event/Function Type Code Validation Form Faculty Contract Code Validation Form Geographic Region Division Code Validation Form Geographic Region Code Validation Form Hold Type Code Validation Form Departmental Honors COde Validation Form Institutional Honors Code Validation Form Initials Code Validation Form Language Code Validation Form Leadership Validation Form Legacy Code Validation Form Major, Minor, Concentration Code Validation Form Material Code Validation Form Medical Equipment Code Validation Form Medical Code Validation Form Marital Status Code Validation Form Nation Code Validation Form Originator Code Validation Form Port of Entry Code Validation Form Phone Rate Code Validation Form Source Contract Person Type Code Validation Form Building/Room Attribute Code Validation Form Religion Code Validation Form Relation Code Validation Form
July 2010
5-11
Script Name stvrmst.fmb stvrrcd.fmb stvsbgi.fmb stvsite.fmb stvspon.fmb stvspsr.fmb stvstat.fmb stvsubj.fmb stvtele.fmb stvterm.fmb stvtesc.fmb stvtrmt.fmb stvvtyp.fmb toftadn.sql toftbln.sql toftccn.sql toftchn.sql toftcon.sql toftcrn.sql toftctn.sql toftdan.sql toftden.sql toftdon.sql toftdpn.sql toftdtn.sql
Object
Room Status Code Validation Form Room Rate Code Validation Form Source/Background Institution Code Validation Form Site Code Validation Form International Student Sponsor Code Validation Form Disability Service Code Validation Form State/Province Code Validation Form Subject Code Validation Form Telephone Type Validation Code Form Term Code Validation Form Test Code Validation Form Term Type Validation Form Visa Type Code Validation Form
f_amount_due
f_account_balance
f_calc_and_call_fnc f_term_charges
function function
function
function function
f_calc_aged_days f_get_ar_desc
f_ar_deposit_ind
f_deposit_balance f_ar_detail_ind
function
5-12
July 2010
Script Name toftefn.sql toftfan.sql tofthrn.sql tofthtn.sql toftmen.sql toftmmn.sql toftomn.sql toftorn.sql toftotn.sql toftown.sql toftpan.sql toftpfn.sql toftrrn.sql toftrtn.sql toftsln.sql
Object
f_oldest_effective_date f_financial_aid_memos f_other_range_fnc f_other_term_fnc f_memo_balance f_ar_memo_ind
function
function
function
function
function
f_opt_term_fnc
f_opt_range_fnc
f_balance_other_terms f_amount_owned
f_term_payments
function
function function
f_calc_aging_slot
July 2010
5-13
Ethnic Distinctions
The Ethnic Codes Rule Form (PTRETHN) and IPEDS Ethnic Validation Table (STVETCT) store information about the ethnic background of individuals.
Note Institutions can use the IPEDS Ethnic Validation Table to record Federal Government reporting codes. Values not used for official reporting should not be added to STVETCT.
If you need to store more distinctive, perhaps institutionspecific, ethnicity descriptions, use the Ethnic Code Validation Table (STVETHN). This table allows you to make further ethnicity distinctions, such as entering Apache, Blackfoot, and Sioux as types of Native American. These lower value codes are then crosswalked into the Human Resources and Student systems against the PTRETHN and the STVETCT forms respectively. This crosswalk mapping ensures proper Federal ethnic values.
Note Be sure to coordinate the process of maintaining the Ethnic Code Validation Table (STVETHN) between the Student and Human Resources systems, so that you use agreed upon values where appropriate. Once you enter values, under no circumstances should you change or delete them to coincide with reports.
5-14
July 2010
Institution-defined race codes can be established on the new Race Rules Form (GORRACE) and are stored on the Race Rules (GORRACE) table. When creating these codes, there should be at least one race code for each of the U.S. government-established regulatory race codes (as mentioned above). For more information on the forms and tables for the new race codes, refer to the Banner General User Guide. A New Ethnicity Code has been added to the Ethnic Code Validation Form (STVETHN). The old Ethnicity Code field will continue to be maintained. The new race and ethnicity fields will appear on the Biographical window when the specific Banner products forms are redelivered. This will occur after Release 7.2 of Banner General. More information on working with the new ethnicity and race codes will be included in the documentation for upcoming releases of the Banner Human Resources system.
Nonresident Aliens
When dealing with individuals who are nonresident aliens, it is important to be aware of the methods for reporting them in the Student and Human Resources systems.
Student System
The Student Systems IPEDS report will not consider an individuals ethnic code if the person is a nonresident alien. An individual achieves nonresident alien status in the Student system if the current visa type established on the International Information Form (GOAINTL) for that person has been set up on the Visa Type Code Validation Form (STVVTYP) with the Non-Res(ident Alien Indicator) check box selected.
July 2010
5-15
the Citizen code is entered on the Identification Form (PPAIDEN) with a corresponding entry in the Citizen Type Validation Table (STVCITZ) and the citizen indicator STVCITZ_CITIZEN_IND set to N. the person exists in the Person International Information Table (GOBINTL) and the Alien Registration Number field GOBINTL_ALIEN_REG_NUMBER is null (has no value). The Human Resources system will report a persons ethnic code if all of the above hold true except the persons Alien Registration Number is not null (has a value).
5-16
July 2010
Enhanced Oracle*Reports
Note The infrastructure of Oracle*Reports has changed significantly between Reports 6i and Reports 10g. Please refer to the Banner 7.0 FAQ for known issues with Oracle*Reports and Banner.
For Release 7.0, both the mechanism that creates Oracle*Reports in Banner and the delivered reports have been changed: You can now run lengthy reports in asynchronous mode, so you can return to working with Banner forms while your report is running. If you want, you can review your parameters on the Oracle Report Value Window and make changes before submitting the job. You can send the output of a report to an e-mail address. You can run all delivered reports from either the calling forms or from the Process Submission Controls Form (GJAPCTL). The format of the reports and the information they provide has not changed.
Note Banner Oracle*Reports are limited to one value per parameter. Using multiple values will result in this error: FRM-47013: Cannot add parameter PARMNAME to parameter list INPUT_PARAMS: Parameter with this name exists.
Banner 7.0 requires Oracle*Reports 10g and uses the Oracle*Developer Suite toolset. Objects were migrated to the Oracle*Developer Suite 10g toolset, and now use the RUN_REPORT_OBJECT built-in. You can specify: The format of the report (PDF, HTML, RTF, XML, etc.) The destination type of the report (CACHE, FILE, MAIL, or PRINTER) Where you want the report to be sent (either a file location or, if the destination type is MAIL, an e-mail address) The execution mode (BATCH or RUNTIME) Whether the report should be run synchronously or asynchronously
July 2010
6-1
Whether you will run the report from GJAPCTL alone or from the form that is specifically used to run the report Whether the Oracle Reports parameter form should appear, displaying the existing parameters and allowing you to change them In addition, when you submit a report asynchronously now, you will receive a message in a pop-up window with the report job ID. The delivered Oracle reports for A/R, Finance and Student, have been changed to work with Oracle*Reports 10g. For details about each report, please refer to the productspecific release guides. To use Oracle*Reports 10g, you must have your report objects running on a report service that is running on a report server. In a previous release, an entry was added to the General User Preferences Maintenance Form (GUAUPRF) to allow you to enter the Oracle Reports Server. A row was added to the Personal Preference Table (GURUPRF) to store this value. Neither of these have been changed for Release 7.0. New for Release 7.0 is an entry added to the General User Preferences Maintenance Form (GUAUPRF) to all ow you to enter the Oracle Reports Service. A row is added to the Personal Preference Table (GURUPRF) to store this value.
6-2
July 2010
With Release 7.1, it is no longer necessary to generate a checksum for Oracle Reports. The Checksum Generator Program (gurchks.exe) is no longer used. Instead, SEED numbers for Oracle Reports security are handled by the new bannerid.jar file.
which is:
4.1. 4.2.
July 2010
6-3
Define the reports default format. Valid values include DELIMITED, HTML, PDF, and RTF. The default value is PDF.
Note POSTSCRIPT and PRINTER DEFINITION are not available at this time. If you choose either of them, you will receive the error Destination format of printer definition is not currently supported. 3. Enter a value for 72 - Destination Type.
Specify the reports default destination type. Valid values are: CACHE - display the report on the screen (the default) FILE - save the report to a file MAIL - send the report to an e-mail address PRINTER - send the report to a printer When you choose a Destination Type of Cache, the Parameter Form is automatically populated with an Execution Mode of Runtime, a Communication Mode of Synchronous, and a Parameter Form value of Yes by default. When you choose a Destination Type of File, Printer, or Mail, the Parameter Form is automatically populated with an Execution Mode of Batch, a Communication Mode of Asynchronous, and a Parameter Form value of No by default.
Note Because your institutions reports could contain sensitive information, make sure that you send report data to a place where only the appropriate users have access to it. 4. Enter a value for 73 - Destination Name.
Define the default location where you want the report to be sent. You can enter up to 30 characters. If the Destination Type is FILE, this must be the name and location of a file to which the data should be written. If the Destination Type is MAIL, this must be a valid e-mail address. If you are sending the data to more than one address, each address must be separated by a comma (no spaces are permitted). If the Destination Type is PRINTER, this must be a valid printer name. If you leave this blank, the output will go to the report servers default printer (if you have defined one). If the Destination Type is CACHE, you do not need to (and will not be allowed to) enter a destination name.
5. Enter a value for 74 - Execution Mode.
6-4
July 2010
Specify either BATCH or RUNTIME as the execution mode. RUNTIME is the default value.
6. Enter a value for 75 - Communication Mode.
If the Communication Mode is ASYNC (asynchronous), the person who submitted the report can continue working in Banner while the report runs. If the Communication Mode is SYNC (synchronous), control only returns to the calling form after the report has finished processing. The default value is SYNC.
Note If parameter 75 is ASYNC, parameter 76, Parameter Form Designation, cannot be YES. 7. Enter a value for 76 - Parameter Form Designation, if you wish.
Controls the display of the Oracle Reports parameter form: If YES, the form is displayed. If NO, the form is not displayed.
Note If parameter 76 is YES, then parameter 72, Destination Type, must be CACHE. Note Parameter 76 cannot be YES if parameter 75, Communication Mode, is ASYNC. Note As of Release 7.1, there was a known issue related to Oracle Reports when parameter 76 is YES and any other parameter has a wildcard value. If you run a report with that combination, you will receive an error. 8. Enter a value for 77 - Show Report Value Window.
Specify if the Oracle Report Value Window should appear when a user runs a report from a form other than GJAPCTL. If YES, the window will appear and the user can change the values before submitting the report. If NO, the window does not appear and the report is run with Parameter Definition values. If no Parameter Definition values were set up for the report, default values will be used.
Note It is not necessary for the Report Value Window to be displayed for reports run from GJAPCTL because the information it contains is
July 2010
6-5
displayed in the Parameter Values block on GJAPCTL. Essentially, Parameter 77 has no meaning to GJAPCTL. 9. Save your changes.
6-6
July 2010
Destination Name field. The configured options will be dynamically constructed into this entered Destination Name value. The delivered value for BASELINE is DEFAULT_BEHAVIOR. You may change this value to one of the following options: A root-level folder (including an ending slash) to which all Oracle Reports output with a Destination Type of File will be sent. This root-level folder must exist and be writable by the Reports server. Example of the BASELINE row configuration Windows:
f:\orep_root\
Unix/Linux:
/u02/orep_root/
Example of what output might look like with this BASELINE row configuration Windows:
f:\orep_root\sample_report.pdf
Unix/Linux:
/u02/orep_root/sample_report.pdf
If you choose this option, make sure that all Oracle Reports users are configured to access files at this root location, and that the Windows share (or Unix security) is configured accordingly. Users need read access to this folder. Additionally, make sure that they do not send report output with sensitive data to this folder. If a value exists in the User Value field for this corresponding type of BASELINE row, it will be ignored. A root-level folder and the string user. If desired, users may specify subfolders within their username folder by entering the name of the subfolder in the corresponding User Value field of GUAUPRF (including an ending slash). This specified subfolder must exist. Example of the BASELINE row configuration Windows:
f:\orep_root\user
Unix/Linux:
/u02/orep_root/user
Example of what output might look like with this BASELINE row configuration Windows:
f:\orep_root\jdoe\sample_report.pdf
Unix/Linux:
/u02/orep_root/jdoesample_report.pdf
July 2010
6-7
Example of what output might look like if a User Value subfolder of xyz\ (for Windows) or xyz/ (for Unix) is specified on the users GUAUPRF row Windows:
f:\orep_root\jdoe\xyz\sample_report.pdf
Unix/Linux:
/u02/orep_root/jdoe/xyz/sample_report.pdf
Note You must create user folders for Oracle user IDs, if you choose this option. If you do not, the Reports server will not be able to write the file to the specified location. It is recommended that you create Windows share (or Unix security) on these user folders.
A root-level folder and the string date. If you choose this option, then a unique time stamp will be appended to the end of the report name, so that files will not be overwritten. Example of the BASELINE row configuration Windows:
f:\orep_root\date
Unix/Linux:
/u02/orep_root/date
Example of what output might look like with this BASELINE row configuration Windows:f:\orep_root\sample_report20061212081255.pdf Unix/Linux:
/u02/orep_root/sample_report20061212081255.pdf
A root-level folder and the strings user,date. Example of the BASELINE row configuration Windows:
f:\orep_root\user,date
Unix/Linux:
/u02/orep_root/user,date
Example of what output might look like with this BASELINE row configuration Windows:f:\orep_root\jdoe\sample_report20061212081255.pdf Unix/Linux:
/u02/orep_root/jdoe/sample_report20061212081255.pdf
Note You must create user folders for Oracle user IDs if you choose this option. If you do not, the Reports server will not be able to write the file to the specified location. It is recommended that you create Windows share (or Unix security) on these user folders.
6-8
July 2010
Datatype
Size
Initial Value
_action_
200 40 200
None None
Also, the function BEFOREPFORM was changed to facilitate connections and communications with the report server. The following is an example of the changed function, and the new lines are marked NEW.
July 2010
6-9
Function BeforePForm return boolean is -NEW vc_parameter_form varchar2(4000); NEW vc_hidden_runtime_values varchar2(1000); NEW vc_report_name varchar2(100); hold_cmd VARCHAR2(240); begin if :P_Pass = 'INSECURED' then return (TRUE); end if; -if :P_Role IS NOT NULL then if substr(:P_Pass,1,1) = chr(34) then Hold_Cmd := :P_Role||' IDENTIFIED BY '||:P_Pass; else Hold_Cmd := :P_Role||' IDENTIFIED BY '||chr(34)||:P_Pass ||chr(34); end if; DBMS_SESSION.SET_ROLE(Hold_Cmd); end if; IF :parm03 is null then :parm03 := 'M' ; end if; NEW If (:p_action='_action_') then NEW vc_hidden_runtime_values:='_hidden_'; NEW else NEW srw.get_report_name(vc_report_name); NEW vc_hidden_runtime_values:='report='||vc_report_name||'&destype=' NEW ||:destype||'&desformat='||:desformat||'&userid=' NEW ||:p_user_connect||'&server='||:p_servername; NEW end if; NEW vc_parameter_form:='<html><body bgcolor="#ffffff"><form method=post action="' NEW ||:P_ACTION||'">'||'<input name="hidden_run_parameters" type=hidden value="' NEW ||vc_hidden_runtime_values||'">'||'<center><p><table border=0 cellspacing=0 cellpadding=0><tr><td>' NEW ||'<input type=submit></td><td width=15><td><input type=reset></td>'||'</tr></ table><p><hr><p>'; -NEW srw.set_before_form_html (srw.text_escape, vc_parameter_form); return (TRUE);
-exception when others then SRW.MESSAGE(1000, '*ERROR* Before Parm trigger could not set database role report terminated.'); return (FALSE); end;
Parameters 71-77
Beginning with Release 7.0, the following new parameters are available for all reports: 71 - Destination Format 72 - Destination Type 73 - Destination Name 74 - Execution Mode 75 - Communication Mode 76 - Parameter Form 77 - Display Report Value Window
6-10
July 2010
See Setting Up Default Values for Parameters 71-77, earlier in this chapter, for more information on these parameters.
Description of Changes
Before opening the equivalent to the BASELINE 7.0 version of the FMB file for modification, be sure that your FORMS90_PATH can see the 7.1 version of goqorep.pll and goqrlib.fmb.
1. Open the equivalent to the BASELINE 7.0 version of the .fmb file for modification
using Forms*Builder10g. This will pull in reference modifications from the 7.1 version of goqrlib.fmb for items G$_BANNER_REPORT_HEADER.REPORT_BEAN and G$_BANNER_REPORT_HEADER.LIST_PARAM_NAMES.
2. Set CANVAS of the REPORT_BEAN to the canvas of the KEY_BLOCK. If the form does not
have a KEY_BLOCK, set the CANVAS of the REPORT_BEAN to that of the canvas of the first navigable block.item in the form. This ensures that the REPORT_BEAN item becomes properly initialized when the form is first run.
3. If this form does pass report parameter values, modify the trigger that calls the report
(REPORT_269 is an example of a trigger that passes report parameters from the Finance product) to value the item LIST_PARAM_NAMES with a string of parm names (each separated by '::') that are used by the report. The following is an example of this trigger, with <---ADD LINE indicating the coding modification:
DECLARE lv_list_id PARAMLIST; BEGIN if :system.record_status in ('NEW', 'INSERT') then Message( G$_NLS.Get('X', 'FORM','*ERROR* Must SAVE record to run report.') ); Raise Form_Trigger_Failure; end if; -- -lv_list_id := GET_PARAMETER_LIST('input_params'); IF NOT Id_Null(lv_list_id) THEN DESTROY_PARAMETER_LIST(lv_list_id); END IF;
July 2010
6-11
lv_list_id := CREATE_PARAMETER_LIST('input_params'); -- -IF :DISPLAY_PMS_CODE IS NOT NULL THEN ADD_PARAMETER(lv_list_id,'PARM01',TEXT_PARAMETER,:DISPLAY_PMS_CODE); ADD_PARAMETER(lv_list_id,'PARM02',TEXT_PARAMETER,''); ADD_PARAMETER(lv_list_id,'PARM03',TEXT_PARAMETER,'S'); ELSE ADD_PARAMETER(lv_list_id,'PARM01',TEXT_PARAMETER,''); ADD_PARAMETER(lv_list_id,'PARM02',TEXT_PARAMETER,:FRR269R_GRNT_CODE); ADD_PARAMETER(lv_list_id,'PARM03',TEXT_PARAMETER,'M'); END IF; ADD_PARAMETER(lv_list_id,'PARM04',TEXT_PARAMETER,TO_CHAR(:FRR269R_PERIOD_ TO_DATE,'DD-MON-YYYY')); -- -:G$_BANNER_REPORT_HEADER.LIST_PARAM_NAMES :=
'PARM01'||'::'||'PARM02'||'::'||'PARM03'||'::'||'PARM04';
G$_BANNER_REPORT_PROCESSING.START_REPORT_WINDOW('FRR269R','Y'); END;
4. Create an appropriate entry for the audit trail, save the .fmb file, and generate the
.fmx file.
Description of Changes
Before opening the equivalent to the BASELINE 7.0 version of the RDF file for modification, be sure that your REPORTS_PATH can see the 7.1 version of goqorep.pll.
1. Open the equivalent to BASELINE 7.0 version of the RDF file for modification using
Reports*Builder10g.
2. Attach the goqorep to the RDF.
Enter the name in all UPPERCASE letters with no file extension, and then press the Attach button. After attaching, you can expand the library to view the audit_trail_7_1, which you will see if your REPORTS_PATH is as described above.
3. Expand the Report triggers and add the code below to the AfterReport:
6-12
July 2010
function AfterReport return boolean is begin G$_REPORT_SECURITY.G$_REPORT_REVOKE_ACCESS; return (TRUE); exception when others then return (FALSE); end;
4. Make the following DELETE and ADD lines to the BeforePForm function. Please
note that the lines marked <---ADDXXX, <---ADDYYY, and <---ADDZZZ in the example code below refer to BASELINE object FRR272B and release number 7.1. These values, of course, will depend on the object you are modifying and the release of these corresponding changes.
function BeforePForm return boolean is --- NRSmith 06/23/2004 -- Core contents of this trigger pulled from OracleTechnologyNetwork (OTN) site as -- per a trouble shooting example to aid with migration to OracleDS10g*Reports -- OTN Doc ID = Note:139546.1 -vc_parameter_form varchar2(4000); vc_hidden_runtime_values varchar2(1000); vc_report_name varchar2(100); hold_cmd VARCHAR2(240); -- <---ADD obj ORA_JAVA.JOBJECT; <---ADD x VARCHAR2(100); <---ADD exc ORA_JAVA.JOBJECT; <---ADD <---ADD -- Exceptions. <---ADD -- <---ADD NO_OBJECT EXCEPTION; <---ADD NO_INST EXCEPTION; <---ADD NO_ACCESS EXCEPTION; <---ADD NO_PASSWORD EXCEPTION; <---ADD INVALID_VERSION EXCEPTION; <---ADD INVALID_ACCESS EXCEPTION; <---ADD NAME_MISMATCH EXCEPTION; <---ADD -- <---ADD
-- Exception pragmas. <---ADD -- <---ADD PRAGMA EXCEPTION_INIT(NO_OBJECT,-20100); <---ADD PRAGMA EXCEPTION_INIT(NO_INST,-20101); <---ADD PRAGMA EXCEPTION_INIT(NO_ACCESS,-20102); <---ADD PRAGMA EXCEPTION_INIT(NO_PASSWORD,-20103); <---ADD PRAGMA EXCEPTION_INIT(INVALID_VERSION,-20104); <---ADD PRAGMA EXCEPTION_INIT(INVALID_ACCESS,-20105); <---ADD PRAGMA EXCEPTION_INIT(NAME_MISMATCH,-20106); <---ADD -- <---ADD begin -- <---ADD -- -- Start Security Check <---ADD G$_REPORT_SECURITY.G$_REPORT_VERIFY_ACCESS( 'FRR272B', '7.1' ) ; -- -- End Security Check <---ADD -- <---ADD if :P_Pass = 'INSECURED' then <---DELETE return (TRUE); <---DELETE end if; <---DELETE -- <---DELETE
<---ADDXXX
July 2010
6-13
if :P_Role IS NOT NULL then <---DELETE -- 81278 Dev6i Patch10 seems to strip away double quotes-they are needed <---DELETE if substr(:P_Pass,1,1) = chr(34) then <---DELETE Hold_Cmd := :P_Role||' IDENTIFIED BY '||:P_Pass; <---DELETE else <---DELETE Hold_Cmd := :P_Role||' IDENTIFIED BY '||chr(34)||:P_Pass ||chr(34); <---DELETE end if; <---DELETE DBMS_SESSION.SET_ROLE(Hold_Cmd); <---DELETE end if; <---DELETE -- If Reports is called from the URL and not from Forms then p_action is -- set to its default value. In this case the hidden_value has to keep the -- default value too. If (:p_action='_action_') then vc_hidden_runtime_values:='_hidden_'; else -- -- The Report is started from Run_Report_Object and the hidden parameter has to be set. -- -- get the report module name srw.get_report_name(vc_report_name); -- -- Note the only custom defined parameters are :p_action,:p_user_connect, -- -- :p_servername. If there are additional parameters used for your Report -- -- that are being passed from the form that need to be hidden, -- -- these need to be added to the "vc_hidden_runtime_values" string vc_hidden_runtime_values:='report='||vc_report_name||'&destype='||:destype||'&desformat=' ||:desformat||'&userid='||:p_user_connect||'&server='||:p_servername; end if;
vc_parameter_form:='<html><body bgcolor="#ffffff"><form method=post action="' ||:P_ACTION||'">'||'<input name="hidden_run_parameters" type=hidden value="' ||vc_hidden_runtime_values||'">'||'<center><p><table border=0 cellspacing=0 cellpadding=0><tr><td>' ||'<input type=submit></td><td width=15><td><input type=reset></td>'||'</tr></table><p><hr><p>'; -- -- set the modified before form value, overwriting the default. -- -- If you want to change the look of the parameter form then you -- -- can do this here as well srw.set_before_form_html (srw.text_escape, vc_parameter_form); return (TRUE); -exception WHEN NO_OBJECT THEN <--ADD SRW.MESSAGE(1000,'*ERROR* No parameters were passed - report terminated.'); <-ADD return (FALSE); <--ADD -- <--ADD WHEN NO_INST THEN <--ADD SRW.MESSAGE(1000,'*ERROR* No records found on GUBIPRF - report terminated.');<-ADD return (FALSE); <--ADD
6-14
July 2010
-- <--ADD WHEN NO_ACCESS THEN <--ADD SRW.MESSAGE(1000,'*ERROR* User not authorized to access FRR272B - report terminated.'); <--ADDYYY return (FALSE); <--ADD -- <--ADD WHEN NO_PASSWORD THEN <--ADD SRW.MESSAGE(1000,'*ERROR* No password found on GUBROLE - report terminated.');<-ADD return (FALSE); <--ADD -- <--ADD WHEN INVALID_VERSION THEN <--ADD SRW.MESSAGE(1000,'*ERROR* Invalid version of FRR272B - report terminated.'); <--ADDZZZ return (FALSE); <--ADD -- <--ADD WHEN INVALID_ACCESS THEN <--ADD SRW.MESSAGE(1000,'*ERROR* Invalid password tried - report terminated.'); <-ADD return (FALSE); <--ADD -- <--ADD WHEN ORA_JAVA.EXCEPTION_THROWN THEN <--ADD SRW.MESSAGE(1000, '*ERROR* Report Server Configuration - report terminated.');<-ADD ORA_JAVA.CLEAR_EXCEPTION; <--ADD return (FALSE); <--ADD -- <--ADD WHEN OTHERS THEN <--ADD SRW.MESSAGE(1000,'ERROR: ' || SUBSTR(SQLERRM,1,190)); <--ADD --SRW.MESSAGE(1000, '*ERROR* Before Parm trigger could not set database role - report terminated.'); <--ADD return (FALSE); <--ADD when others then <---DELETE SRW.MESSAGE(1000, '*ERROR* Before Parm trigger could not set database role - report terminated.'); <---DELETE return (FALSE); <---DELETE end;
5. Create an appropriate entry for the audit trail, save the RDF file, and convert it to a
REP file.
invoke Oracle*Reports.
July 2010
6-15
BANNERID Java Imported Package EXCEPTION_ Java Imported Package G$_REPORT_SECURITY Package The G$_BANNER_REPORT_PROCESSING package was changed to include a p_report_param_name_list parameter in the PROCESS_REPORT function.
The RUN_REPORT_OBJECT
The G$_SCT_RUN_REPORTS procedure (which replaced G$_SCT_RUN_REPORT in Release 7.1) uses the new RUN_REPORT_OBJECT provided in the Oracle*Developer Suite 10g toolset. This allows you to specify: The format of the report (PDF, HTML, RTF, XML, etc.) The destination type of the report (CACHE, FILE, MAIL, or PRINTER) Where you want the report to be sent (either a file location or, if the destination type is MAIL, an e-mail address) The execution mode (BATCH or RUNTIME) Whether the report should be run synchronously or asynchronously Whether the Oracle Report parameter form should appear to display the existing parameters and allow you to change them The parameters and corresponding data types for this procedure are:
Parameter
p_report_id p_report_filename p_report_server p_report_service
Datatype
6-16
July 2010
Parameter
p_report_desformat p_report_destype p_report_desname p_report_execution_mode p_report_comm_mode p_paramlist p_report_success
Datatype
Note
p_report_success is an output parameter that communicates the success or failure of the job or report to the Job Submission Form (GJAPCTL). This enables you to use GJAPCTL to clean up GJBPRUN rows.
Banner. The core routine that is invoked when you run a report is
G$_BANNER_REPORT_PROCESSING.START_REPORT_WINDOW. If job submission parameter 77
is YES (or is not found), the Report Value Window is displayed and the trigger will accept input from the window - users can change report parameters 71-76 on the fly. When the user selects Run Report, the PROCESS_REPORT routine is fired and the report is run.
G$_BANNER_REPORT_BLOCKs when-button-pressed
If, however, job submission parameter 77 is NO, the Report Value Window is not displayed. The Parameter Definition values for the report (or default values if no Parameter Definition values exist) are loaded for parameters 71-76, and the PROCESS_REPORT routine runs using them. All items in the Report Value Window have edit routines established for them in the package. Many of these routines are stub edits, which have been established so that the library objects (.pll and .plx) can be changed and redeployed without requiring you to regenerate and redeploy any other form objects.
G$_BANNER_REPORT_EDITING
July 2010
6-17
The G$_BANNER_REPORT_EDITING.EDIT_OREP_ROW routine has been delivered with Release 7.0 to enable you to edit the Report Value Window row.
Note Certain values and combinations of values are not permitted for parameters 71-77. See Setting Up Default Values for Parameters 71-77, earlier in this chapter, for restrictions on values.
6-18
July 2010
Perl Reports
Banner General contains the following Perl reports and processes:
gebcmplc.pl gencmpl.pl gjajobs.pl gjajsub.pl
General Master Pro*C compile script General Master COBOL compile script Main Job Submission script invoked by the gurjobs C program Called by gjajobs.pl to do the actual submission of a process to the operating system Obtains the Banner and Oracle Windows NT Environment Variables from the NT Registry Spawns gjajsub in the background (Windows NT submit) Executes GLBDATA Executes GLBLSEL Executes GLBPARM and GLOLETT Executes GLOLETT Executes GLRLETR and GUAPRPF Executes GUAVRFY Executes GURJOBS Opens a background task in Windows and runs gurjobs.pl Takes in a Script Name and a number of seconds to sleep, then calls gurplb2.pl in the background Runs the script passed from gurplb1.pl looping and sleeping at the interval specified, which is also passed from gurplb1.pl Banner C compiler Banner COBOL Compiler
gjawnte.pl
gjawnts.pl glbdata.pl glblsel.pl gjbparm.pl glolett.pl glrletr.pl guavrfy.pl gurjobs.pl gurjwnt.pl gurplb1.pl
gurplb2.pl
sctproc.pl sctprocb.pl
July 2010
6-19
The report/batch process name. Identifies the language for the process - COBOL, C, RPT, SQL, or PL/SQL. Does the process update any tables, or is it strictly a query-only report? Can you run the update process in Audit Mode, so that you can produce the report without an update taking place (Yes or No)?
Note: Yes appears in this column only if the process permits both update and audit mode. If the report is query only, Yes does not appear in this column.
Restart
Can you run the process via job submission (Yes or No)? Is the process used in conjunction with Sleep/Wake (Yes or No)? Does SunGard recommend that you defer this program to an off-peak processing time (late night, weekends) for performance reasons (Yes or No)? If the process aborts or is terminated after the process is initiated, are special procedures required to restart the process without any adverse consequences (Yes or No)?
Note: Yes does not appear in this column if the job can be restarted without special procedures. If Yes appears, refer to the Restart section of this chapter for more information regarding recovery procedures.
Report or Process
Language
Job Submission
Sleep/ Wake
Debug/ Trace
Off Peak
Restart
Query Update Update Query Update Update Update Update Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
6-20
July 2010
Report or Process
Language
Job Submission
Sleep/ Wake
Debug/ Trace
Off Peak
Restart
GORSGEO GUAVRFY GUAGETP GUASETR GUPDELT GURDETL GURHELP GURINSO GURPDED GURTABL GURTEXT GURTPAC GUSMDID
Update Query Query Query Update Update Query Update Query Query Query Update Update
Yes
Yes Yes
Yes
Yes Yes
July 2010
6-21
Three options are available for trace mode. These options are controlled by the value of the debug flag parameter which is passed on the command line.
UNIX:
glblsel.shl userid password 1 GLBLSEL Y glblsel.shl userid password 1 GLBLSEL I glblsel.shl userid password 1 GLBLSEL S Y display SQL, paragraph names and additional information I display SQL and values inserted into the GLRCOLR table S display SQL only @gen$com:glblsel userid password 1 GLBLSEL Y (substitute debug flag Y, I, S as desired) perl -S glblsel.pl userid password 1 GLBLSEL Y or cd %BANNER_HOME%\general\misc perl glblsel.pl userid password 1 GLBLSEL Y
Note The -S tells perl to look for the glblsel.pl in the PERL5LIB directory.
Debug flag:
VAX:
Windows
glbdata.shl userid password 1 GLBDATA Y @gen$com:glbdata userid password 1 GLBDATA Y perl glbdata.pl userid password 1 GLBDATA Y
glolett.shl userid password 1 GLOLETT DEBUG @gen$com:glolett userid password 1 GLOLETT DEBUG perl glolett.pl userid password 1 GLOLETT DEBUG
For UNIX: In each of the above examples, | tee outputfilename are optional arguments that may be passed at the end of the command line examples. Adding | tee outputfilename will result in the output displayed on the screen to be simultaneously written to a file with the designated outputfilename. This file may be edited and searched for specific messages and/or errors.
6-22
July 2010
For VAX: In the above example for GLOLETT only, /log = logfilename are optional arguments that may be passed at the end of the command line. GLBLSEL and GLBDATA cannot be submitted in a batch mode because the user is required to respond to interactive prompts. OpenVMS does not have an equivalent to the UNIX tee command which allows output to be written simultaneously to the screen as well as to an output file. When a problem is encountered, the error messages and pertinent information will be located in the final lines displayed from the debug output. Screen prints are a recommended method of obtaining a hard copy version of these messages. For Windows: The Windows equivalent of the tee command is available with the purchase of the Windows Services for UNIX Add-On Pack. Please see http:// www.microsoft.com/technet.
SQL*Plus Scripts
SunGard provides the following General SQL*Plus procedures to assist you.
delrslt.sql dyndflt.sql gchkbgrt.sql
Delete rows from GJBRSLT table. Default parameters for dynamic SQL procedures. Builds grants for the security owner to give it full access to all Banner tables installed for which it has no grants at all. This SQL routine tests for all requirements for role-level security. A SQL routine to test for local roles that do not adhere to the Banner suggested naming conventions that are used in providing access to Banner forms. Generates an SQL routine to create all missing Banner public synonyms. A script called by GUPUSER to verify that the upgrade_owner has all the required database objects. Creates the upgrade_owner and its required database objects. Deletes rows from the Event Queue Error table based on a date. Deletes rows from the Event Queue Transaction tables based on a date. Implementaion of Multivisa 5.5. Deletes rows from the international tables GOBINTL, GORVISA and GORDOCM from SPRINTL. Revised for 7.3 redesign. Run before gselvisa.sql, gupdvisa.sql, and gdelsdaxvisa.sql.
gchksec.sql gchksecrole.sql
gchksyn.sql
gchkuser.sql
July 2010
6-23
gdeljobs.sql
Removes rows from job submission tables for products not available on your system. Deletes rows from the Jobsub Database Output tables based on a date. Deletes leftover GJBPRIN entries for the GLOLETT program before recompiling. Used during upgrades only. Deletes GTVSDAX international rows. Run after gselvisa.sql and gupdvisa.sql. Disables constraints that should remain disabled. Drops the GUBSMOD and GURSSQL tables before importing them. Used only during upgrades. Drops public synonyms for Banner objects which no longer exist. Used only during upgrades. SQL*Plus script to set the from_date on SPRADDR records to the activity date when both from and to dates are null. Only to be run when BannerQuest is installed. Grants option for advancement tables. Grants for courts tables and views. Grants option for finance tables. General foreign grant driver script. Grants option for human resources tables. Grants option for financial aid tables. Replaces GENFAIG.SQL. Grants option for student tables. Grants option for accounts receivable. Script that contains grants for INTEGMGR (Integration Manager). Script that drops policies on a table for package GOKFGAC. Script that adds policies for tables identified in GORFDPI. Script that adds FGAC policies for tables identified in GORFDPL.
gdeloutp.sql gdelprun.sql
gdelsdaxvisa.sql
gdiscon.sql gdroptab.sql
gdrpsyn.sql
gefixadd.sql
genalug.sql gencimg.sql genfimg.sql genford.sql genpayg.sql genresg.sql genstug.sql gentrag.sql genforg.sql gfgacdroppol.sql gfpiiaddpol.sql gfvbsaddpol.sql
6-24
July 2010
ggivedba.sql
Script used during the upgrade to alter the users involved with the upgrade to include the DBA role as one of their default roles. The script also generates a file used to restore the roles to what they were before the upgrade. Script can be used to generate grant execute statements to functions for users requiring execute privileges for SDA views. Create temporary table used to build grants. This table only exists for the duration of this process. Creates a report of indexes for a schema owner. Inserts gjbprun rows for variables to be recompiled. Used only during upgrades. Upgrade script to give the General product the ability to run GLOLETT and GLBPARM during the upgrade. Process to check if specific modifications have been applied to the database. GOSTAGE script which invokes guraltg.sql. This process builds grants for the table names loaded into the GUBGRNT table. New routine to save grants, then re-issue them from BANINST1. Utility script that lists nested variables. Used during upgrades. Generates end user grants. This process is the heart of the upgrade process. It determines what modifications in the GUBSMOD and GURSSQL tables have to be applied to your system. A text file that lists and describes all the scripts in the general/plus directory. This script starts a spooled script, gresrole.sql, that was generated by ggivedba.sql to restore the original roles. This process runs all the standard table sizing model scripts. The start for this file is automatically generated by the glramod routine. Used during the upgrade process. SQL routine used during upgrades to register changes to an object if it exists.
ggrtfnc.sql
ggrttmp.sql
gindex.sql ginsprun.sql
gletgrts.sql
glramod.sql
gmakalt1.sql gmakgrt.sql
greadme.doc
gresroled.sql
grunsiz.sql
gsafobj.sql
July 2010
6-25
gsanobj.sql gsaoobj.sql
Adds new objects to bansecr's security tables. Used during upgrades. Deletes obsolete objects from bansecr's security tables. Used during upgrades. Deletes any leftover GJBRSLT records for the staging job. This script will extract the application and the creator of components of the application so the user will know what to respond with and who to sign on as when running GLBPARM and GLOLETT. Data fields GORSEVS_ISSUE_COMMENT and GORSEVS_TRANSFER_COMMENT are no longer used for SEVIS reporting. This script allows users to retrieve data from the latest history record. Selects form GORVISA for GTVSDAX records that are retired from use. Run before gupdvisa.sql and gdelsdaxvisa.sql. Inserts a record in the results table to indicate the task completed successfully. Script which skips the generation of end user grants. Used during the upgrade process. Test if a hosted SQL*Plus routine succeeded. This routine tests if the hosted routine was able to insert a row into the GJBRSLT table. If the row is not found an SQL error is caused that will stop the current routine. Insert history record into the GENERAL.GURDMOD table. Used during upgrades. Insert history record into the GENERAL.GURDMOD table if the mod has not already been recorded. Used during upgrades. Script to create view GUVMODS under the upgrade_owner created via gupuser.sql. Conversion script to migrate data from SPRINTL in General 5.5. Conversion script revised for the redesign of GORVISA for 7.3. Script to updated gorvisa and gordocm columns to null for old GTVSDAX international values. Run after gselvisa and before gdelsdaxvisa.sql. Script to create an upgrade user account to be used in parallel upgrades.
gsdrslt.sql gselappl.sql
gselsevs.sql
gselvisa.sql
gsirslt.sql
gskipgrt.sql
gstrslt.sql
guidmod.sql
guitmod.sql
guovmods.sql
gupdintl.sql
gupdvisa.sql
gupuser.sql
6-26
July 2010
guraltb.sql
This utility script will spool off a sqlplus script to compile all invalid functions and views owned by BANINST1. This utility script will spool off a sqlplus script to compile all invalid functions and views. Used by the gostage process. This utility script will spool off a sqlplus script to compile all invalid functions and views. Create the table used to build the modification scripts. Process to check if specific modifications have been applied to the database. Information is placed into the guramod table indicating what scripts have been executed already and what ones still have to be run. Spools a script to compile all database objects that are not owned by either SYS or SYSTEM. Creates COMMENT ON COLUMN statements for a table in proper format to an Oracle directory. Script to provide privileges to enqueue and dequeue messages to Oracle users. Script to encrypt all passwords. Script to extract database object comments. Script used to delete all information about a PIDM in the database. Create the table to track database modifications. This process is executed at the end of each products xREVTAB and xREVIEW script. This process extract information stored in the guramod table for this user ID and then executes it. Script to generate an exit statement and close the spool file. Script to capture race and ethnicity in SPBPERS and GORPRAC. Generates an intermediate sql routine that will issue a foreign grant for a table only if it exists. You must be logged on as system to use this routine. Script to generate and create any missing grants after the security patch has been applied. Script to generate and create any missing grants after the security patch has been applied. Use this script instead of GURGFIX if your institution does not use Banner Self-Service.
guraltg.sql
guraltr.sql
guramod.sql gurcmod.sql
gurcmpa.sql
gurcmnt.sql
gurconsumer.sql
gurgfix.sql
gurgfix2.sql
July 2010
6-27
gurgrnt.sql
Creates a file of GRANT statements based on a model user (replaces GRANTS in the ORATOOLS directory). Script to grant execute privilege on the BANINST1-owned stored procedure passed as the first argument to Banner owners and roles. Script to grant execute privilege on the BANINST1-owned stored procedure passed as the first argument to local web server user IDs. Script to grant execute privilege on the BANINST1-owned stored procedure passed as the first argument to the Integration Manager. Script to grant execute privilege on the BANINST1-owned stored procedure passed as the first argument to the Banner security owner. Script to grant execute privilege on the Web Tailor-owned stored procedure passed as the first argument to the Banner stored procedure owner, the database roles, and the local web server user IDs. Script to grant execute on the BANINST1-owned stored procedure passed as the first argument to the e~Print user. Lists of all tables and columns in which a person exists. This process is executed at the beginning of each products xREVTAB, xREVIEW and xTABCLN script to delete any old entries left in the GURAMOD table for this user ID. Script to set SQL*PLUS options and open a spool file names by parm1. This script is always used by a driver script. Script to PL/SQL script which generates DDL syntax for a specified table(s).
Note: This script was made obsolete in Release 8.1 favor of data definition language (DDL) tools provided by Oracle. Oracle's Metadata API and DBMS_METADATA package provide more extensive functionality than gurrddl.sql did, and will remain current with future Oracle updates. For more information, see Oracle Database Utilities and PL/SQL Packages and Types Reference in Oracle's technical documentation.
gurgrtb.sql
gurgrth.sql
gurgrti.sql
gurgrts.sql
gurgrtw.sql
gurgrt3.sql
gurlsid.sql guromod.sql
gurospl.sql
gurrddl.sql
gurrhmu.sql
Script that invokes a refresh of the hierarchial menu table GURHMNU. SQL routine that creates SQL*PLUS define commands that contain all the information need to recreate a table the same size and in the same place that it currently exists. Cluster information is not retained.
gursava.sql
6-28
July 2010
gursava2.sql gurscls.sql
SQL routine to save index/table info no matter who owns it. This script checks every person enrolled in the class to make sure they have been given execute privileges to every role used by any object in the class. Invoke this routine to stop job submission. This routine is used by the GURTGRT routine to build grants for a new table based on grants for an existing table. Copy Best Guess generated grants from the work table to a spool file. The output from this select is ordered by grantor to reduce the number of connect commands that must be executed. Generate report for the best-guess grants generated by GURTGRT and GURTGR1. Script to generate grants for views using tables as model. Used during upgrades. Script to generate grants for tables based on another owners table. Used during upgrades. Generates an intermediate sql routine that will create grants to access a new table based on existing grants for a similarly used table. You have the option of using up to three tables to match. You should be logged on as the grantor (owner of the new table) to run this routine. Used in conjunction with GURTGR5. Used in conjunction with GURTGR4. Produces list and description of a Banner product's tables. Prints contents of a specified table. This utility script calls Oracles utlrp routine which validates database objects in dependency order. A report is spooled. Produces list and description of all validation tables in a Banner product. This process is executed at the end of each products xREVTAB script. This process extract information stored in the guramod table for this user ID and then executes it. Process to prime the gurdmod table if the constraint exists.
gurstop.sql gurtgr1.sql
gurtgr2.sql
gurtgr3.sql
gurtgr4.sql
gurtgr5.sql
gurtgrt.sql
gurvlst.sql
gutemod.sql
gutfmod.sql
July 2010
6-29
gutnmod.sql
This script will insert a row in the gurdmod if the specified object does not exist. This would be used to conditionally run an upgrade script only if the table is present. Process to prime the GURCMOD table based on an objects existence. Process to prime the GURCMOD table based on columns existence. Primes the SOBSEQN table after creation. Default SQL*Plus Login parameters. Default SQL*Plus parameters to produce a report. This is a generic SQL process for VM/CMS which causes operatingsystem-dependent command procedures to be executed for batch processes which require sleep/wake capabilities. This is a generic SQL process for OpenVMS which causes operatingsystem-dependent command procedures to be executed for batch processes which require sleep/wake capabilities. This is a generic SQL process for UNIX which causes operatingsystem-dependent command procedures to be executed for batch processes which require sleep/wake capabilities.
sleepdec.sql
sleepunx.sql
Sleep/Wake Methods
Banner provides two different methods for running jobs in a cyclical, or sleep/wake, mode.
Method One
The first method uses OS command scripts and an SQL*Plus script to cause the job to run in a cyclical fashion. These jobs must be submitted from the operating system prompt and must be terminated manually. To compile programs to run in this fashion, you must define NO_SLEEP_SW as a pre-compiler directive to exclude the code used by the second technique. Seven programs are affected by the value NO_SLEEP_SW as a pre-compiler directive: sfrschd.pc shrtrtc.pc tgphold.pc
6-30
July 2010
tgrmisc.pc tgrrcpt.pc tsrcbil.pc tsrssum.pc Note that NO_SLEEP_SW only affects the Student and Accounts Receivable processes.
UNIX
The first command procedure, sleepunx, prompts for parameters needed by the second procedure and SQL*Plus script, sleepunx.shl and sleepunx.sql respectively. This procedure then starts (or submits) sleepunx.shl, which in turn starts sleepunx.sql. The SQL*Plus script sleepunx.sql will spool OS-specific commands to run the job into a file, provided there is actually work to do as determined by the parameters previously entered. When the SQL*Plus script exits, sleepunx.shl executes the spool file. The parameters needed by the program are contained in a XXXXXXX.dat file which are read via input redirection when the job executes. The second command procedure sleepunx.shl then sleeps for the specified interval, awakes, and loops back to start the SQL*Plus script again. To define NO_SLEEP_SW on UNIX, go to sctproc.mk and find the lines:
# Other C options CCOPT=
OpenVMS
This is essentially the same as for UNIX. The script names are sleep.com, sleepdec.com, and sleepdec.sql. Command input redirection is accomplished by defining sys$input as the .dat file. The sleeping is done with the wait command. To define NO_SLEEP_SW on OpenVMS, specify p2 as a placeholder so you can get to p3. Specify the following additional macro definition:
@gen$com:sctproc sfrschd limited NO_SLEEP_SW
Save this change and recompile all sleep/wake programs which will be affected by the change.
Note This option should be done for programs which are run using Method 1 of sleep/wake mode.
July 2010
6-31
Windows
Method one is not valid for Windows platforms.
Method Two
The following Banner systems and processes are valid for the Sleep/Wake processing described in this section:
Banner Student
TGRRCPT- Account Receipt TGRMISC- Miscellaneous Receipt TSRCBIL- Student Billing Statement (Invoices) TSRSSUM - Student Transaction Summary Report
1. Define printer and print command on the Printer Validation Form (GTVPRNT). In the
Printer Code field, enter a name to reference each specific printer that may be used for printing output from sleep/wake processing. In the Command field, enter the correct operating system print command as it would normally be entered from the command line prompt, substituting an @ (at sign) as the place holder for the file name to be printed. UNIX example: lp -d talaris1 @ OpenVMS example: print/queue=ln01 @ Windows example: print /d:\\sctrnt0\XeroxDC230 @
2. On the appropriate System Distribution Initialization Information Form (SOADEST
for Student or TOADEST for Accounts Receivable), enter the printer Code from GTVPRNT that should be identified with the collector table rows that will be inserted to the appropriate tables when on-line application forms create a request for output that can be generated by sleep/wake processing. The collector tables are as follows:
Process Collector Table
6-32
July 2010
Process
Collector Table
TGRRCPT TSRCBIL
TBRCRCP TBRCBRQ
3. On the Process Submission Control Form (GJAPCTL), for the valid sleep/wake jobs
listed previously, enter the correct response for the parameter that specifies that the job should be processed for collector table entries. Refer to the documentation for each specific process to determine the appropriate response in each case (correct responses may be COLLECTOR, Y, %, etc.). In addition, each sleep/wake job has a printer code parameter. You must specify exactly the same code for this parameter answer that was entered on either SOADEST or TOADEST. Enter Y for the run in sleep/wake mode parameter and specify the number of seconds for the sleep/wake interval (cycle) for each process.
Note Do not enter the printer code in the top block of GJAPCTL; only enter it in the parameter section. 4. The Sleep/Wake Maintenance Form (GJASWPT) should be used to stop the sleep/
wake process or to change the sleep interval. A process name and printer code must be entered in the key. A LIST of values is available in each field to see the valid list of processes and printer codes that have ever been submitted for sleep/wake processing. To stop the process, enter N in the Continue to Run field and SAVE. The job will not stop immediately, but rather will stop after the next time the process 'wakes up' and finishes the next processing cycle. To change the sleep interval, enter the desired interval in the Next Cycle Time field and save. The GJASWPT form can also be used to view statistics regarding how many rows were processed for the most recent wake-up cycle and the total number of rows processed since the process was initiated. You can also determine if the processes terminated abnormally. by viewing the Abnormal Termination field. If there is a Y in Abnormal Termination, something caused the process to fail. You should review log files to determine the cause.
July 2010
6-33
Job Submission
While the external mechanics of submitting a job is the same across all operating systems, the internal processing is operating system specific. Because of differing releases of the OS and local modifications that may have been made, these procedures may not run exactly as delivered. Therefore some modifications may be required. Before a job can be submitted, it must be defined on the Process Maintenance Form (GJAJOBS) and the appropriate security privileges must be granted for the object. Information from this form and from the O/S field found on Installation Control Form (GUAINST) control how the command to run the job is built. On the GJAJOBS form, the Type field indicates the type of program to be executed. There are four job types:
1. C - Pro*C program 2. E - Standalone COBOL program. Banner no longer has any type E jobs, the value
remains for compatibility. These types of jobs may not use parameters since no mechanism is provided to pass them.
3. P - Procedures. These types of jobs cause operating system specific scripts to be run.
The Command Name, if entered, will be used as the actual name of the program to run. If it is null, the Name from GJAJOBS will be the name of the program to run. This field should never contain an extension. The extension, if needed, is appended by either the Job Submission Interface Form (GUQINTF) or the operating system specific GJAJOBS command procedure. Jobs may be submitted from either a products application form or from Generals Process Submission Control Form (GJAPCTL).
6-34
July 2010
Parameters are inserted into the Process Run Parameter Table (GJBPRUN) using a unique sequence number generated from Generals GJBPSEQ sequence to identify the job request. The GJAPCTL form then sets global.call_form to GJAPCTL and calls the GUQINTF form (described later). Jobs submitted from the GJAPCTL form will always use GJAJOBS as the command procedure to run. Depending on your operating system and the type of job being run, the GJAJOBS command procedure may further modify the command name passed to it from the GUQINTF form. For example, in the UNIX environment GJAJOBS.SHL constructs the operating system command as follows: For E type jobs - the jobs name is prefixed by the COBPREF environment variable and suffixed by the COBSUFX environment variable. For P type jobs - the literal .shl is appended to the end of the command name. For C type jobs - the command name is not modified. If the command name for a type P job had specified an extension, another one would be added automatically.
Note Interactively entering job parameters from the host is no longer supported. Parameters for all jobs must be entered on GJAPCTL.
July 2010
6-35
GJAJOBS
A one-character code representing the type of job: E - executable COBOL program P - operating system command procedure C - PRO*C
user_name
Current Oracle username or alternate username if entered on the Alternate Logon Verification Form, (GUAUIPW). Password for username. One-up number generated from the GJBPSEQ sequence. Comes from the GJAJOBS form or the GJAPCTL form. Comes from the GJAJOBS form or the GJAPCTL form. This is from the GJAPCTL form and is currently only passed to the GJAJOBS procedure. No mechanism exists in the procedure to schedule the job due to the wide variety of supported operating systems.
Requests submitted from forms other than GJAPCTL come in two types: those that populate the GJBPRUN table before calling GUQINTF, and those that dont. If the form does not populate the GJBPRUN table, login must exist in the GUQINTF form to do it. For example, requests coming from the TSASPAY form execute the form level trigger STUDENT_PAYMENT which forces an update to the GJBPRUN table. The block level POST-INSERT or POST-UPDATE trigger fires then, executing a common trigger to actually do the inserts. The STUDENT_PAYMENT trigger is executed immediately before the HOST_COMMANDS trigger in the WHEN-NEW-FORM-INSTANCE trigger. The HOST_COMMANDS trigger is then builds a message containing this information:
6-36
July 2010
command name
Either the job name or the command name from the GJAJOBS form. Then, based on the operating system as defined on GUAINST, an extension may be added or a prefix may be added. On Windows platforms, perl prefixes the command name. On UNIX, .shl is appended. Current Oracle username or alternate username if entered on the Alternate Logon Verification Form, (GUAUIPW). Password for username. One-up number generated from the GJBPSEQ sequence. Either the job name or the command name without an extension (uppercase). Name of the directory where output from the job will go.
user_name
directory
After this message is built, the form level trigger PIPEIT is executed which sends the message to the GURJOBS application server program by executing the DBMS_PIPE.SEND_MESSAGE function. If the Advanced Queuing alternate communication mechanism has been implemented (an alternative to DBMS_PIPE), instead of the PIPEIT trigger being executed, the local PL/SQL unit AQIT is executed, sending the message to the queue GURJOBS_Q, which is then dequeue by the GURJOBS application server program. After sending the message, requests that came from the GJAPCTL form return to that form immediately. Requests coming from other forms perform one more trigger named GET_STATUS. This trigger reads the External Process Results Table (GJBRSLT) to check for a message inserted by the batch job. The lack of an entry results in an error message being displayed stating that the job failed.
Note If the program does not use the GJBRSLT table, the GET_STATUS trigger still needs to be executed because globals are set which indicate success or failure. Returning to the calling form without setting these globals could result in unpredictable results.
Once GURJOBS receives the request, it fulfills it by executing the system function, using the command as the argument. See the section on GURJOBS for more information. The following sections outline the processing for each of the currently supported operating systems.
July 2010
6-37
UNIX
gjajobs.shl
A UNIX shell program called gjajobs.shl is started by the system function. This shell interrogates the parameters passed to it and builds another temporary shell to actually run the job. The temporary shell consists of either the commands to execute and print a report, (based on a parameter from the GJAPCTL form), or commands to invoke a customized procedure for this job depending on the definition of the job on the GJAJOBS form. The gjajobs.shl then sets the following environment variables so they can be accessed by the started procedure, if necessary.
BANUID FORM H JOB LOG ONE_UP PRNT PRNTOPT PROC PROG
The userid being used to run the job. Special print options as specified on GJAJOBS or GJAPCTL. The HOME directory. The name of the Job or Process to be executed. Log file name. The one up number assigned at the time the job was submitted. The name of the Printer as specified on GJAJOBS or GJAPCTL. The complete print command built from PRNT and FORM The name of the .shl file to be run. The name of the program to run, as indicated in the key block of GJAPCTL. The password for the BANUID. The submit time as specified on GJAPCTL. This parameter is not currently implemented. This is the prefix of the generated shl. It is constructed by the concatenation of the process name ($1) and the one up number ($5). The concatenation of BANUID/PSWD.
PSWD SUBTIME
TEMP
UIPW
While the variables PRNT and FORM are made available to the procedure, only primitive print routing and special forms processing are addressed in the shell due to the vast variations in print managers. Customizing will probably be required to conform to the installation specific print programs.
6-38
July 2010
The gjajobs.shl then invokes the generated shell to run the report or customized process as a background process. Control is then returned to the Banner on-line system and the user may continue work while the job executes. Where possible, the system removes all intermediate and temporary files based on the assumption that jobs run without error in production. The deletion of these files reduces the need for frequent directory maintenance. Occasionally, the need may arise during implementation and training to preserve the intermediate and temporary files in order to monitor job summary statistics or possible process errors. In this case, you must modify gjajobs.shl so that it does not delete these files. If you create any new processes of your own, make sure they are accessible through the path of the account used to submit GURJOBS.
Each of the three numbers represents one of three categories: user, group, and other. The value for a category is calculated as follows: read (r) permission has a value of 4 write (w) permission has a value of 2 execute (x) permission has a value of 1
Sum the permissions you want to set for the category, then subtract that value from 7. As an example, examine the current default umask statement that is used to assign the file protections -rwx-r-x--- :
umask 027
The user category value is 0 because r + w + x = 4 + 2 + 1 = 7. When this is subtracted from 7, the value is 0.
July 2010
6-39
The group category value is 2 because r + x = 4 + 1 = 5. When this is subtracted from 7, the value is 2. The other category value is 7 because no permissions = 0. When this is subtracted from 7, the value is 7. For example:
umask 000 Set default to allow full access to everyone touch test.000 Create file test.000 showing the resulting permissions umask 017 touch test.017 umask 022 touch test.022 umask 027 touch test.027 umask 077 touch test.077 Allows access to only the owner ls -l test.* (execute access (x) does not display for non-executables) -rw-rw-rwJun 12 12:04 test.000 -rw-rw---Jun 12 12:05 test.017 -rw-r--r-Jun 12 12:05 test.022 -rw-r----Jun 12 12:05 test.027 -rw------Jun 12 12:05 test.077
It is important to note that files created by the jobsub process are not owned by the same user as the user for whom the process is being run. For example, if SAISUSR submits GLOLETT then glolett_12345.log and glotlett_12345.lis will be owned by the account running jobsub, not SAISUSR. If reports are run to the database and viewed by GJIREVO, then this may not be an issue. However, if the reports needs to be accessed on the server then this may be a concern. To determine which group a user is in, use this command: id <username> For example:
id user001 uid=6356(user001) gid=401(banner
OpenVMS
gjajobs.com
OpenVMS command file called gjajobs.com is started by the system function. This command file interrogates the parameters passed to it and builds another temporary command procedure to actually run the report or procedure. The temporary command procedure consists of either the commands to execute (and print, based on a parameter from the GJAPCTL form) a report or commands to invoke a customized procedure for this job depending on the definition of the job in the GJBJOBS table. The gjajobs.com then sets the following global symbols so they can be accessed by the submitted job if necessary.
6-40
July 2010
This is the concatenation of P3, P4, P5 and P1 which correspond to the Username, Users Password, the one up number and the process name respectively.
This is P1, the process name. The file name of the temporary command procedure. This is the concatenation of P1, followed by an underscore, followed by P5. This is P3, the userid being used to run the job. This is P4, the password for the UID. This is P5, the one up number assigned at the time the job was submitted. The concatenation of UID/PSWD. This is P6, the name of the printer as specified on GJAPCTL. This is P7, the Special print options as specified on GJAPCTL. This is P8, the submit time as specified on GJAPCTL. This parameter is not currently implemented. This symbol is built by the concatenation of P6 and P7.
PRNTOPT
This is the string $GEN$EXE:''PROC'.EXE where PROC has the value of P1, the process name. If the output file from the execution of the program is to be stored in the database, this string has the value $GEN$EXE:GURINSO.EXE.
JTR2
While the variables PRNT and FORM are made available to the procedure, only basic print routing and special forms processing are addressed in the command procedure. Customization may be required to conform to the installation specific print requirements. The gjajobs.com then submits the generated command procedure to run the report or customized process. Control is then returned to the Banner on-line system and the user may continue work while the job executes.
July 2010
6-41
Where possible, the system removes all intermediate and temporary files based on the assumption that jobs run without error in production. The deletion of these files reduces the need for frequent directory maintenance. Occasionally, the need may arise during implementation and training to preserve the intermediate and temporary files in order to monitor job summary statistics or possible process errors. In this case, you must modify GJAJOBS.COM so that it does not delete these files. If you create any new processes of your own, they must be put in a directory that is part of the logical BAN_COMS definition so they can be found by the job submission system. You can view or print the job output on-line. You can also save the output to a local directory and manipulate it using external tools (for example, Excel or Word). The features of this change are detailed in two sections: How It Works, and How to Use It.
Windows Platform
Currently Windows NT and Windows 2000 are supported. Several scripts are used in the submission of jobs on Windows. Additionally, job submission makes uses of a perl module, sctban.pm, sometimes referred to as an include file, to perform many common tasks such setting up the environment and printing output. All global subroutines contained in sctban.pm are prefixed by sctban, and all global variables set are prefixed by sctban. If you write any perl scripts of your own and wish to use the subroutines contained in sctban.pm, you must include a use sctban statement before using any of the common routines or runtime errors will result. This should be followed immediately with:
&sctban_determine_os; &sctban_os_specific_env;
For an example, please refer to the section that describes gurjobs.pl. Initially, a perl script called gjajobs.pl is started by the system function call in GURJOBS. gjajobs.pl establishes an execution environment by calling the sctban_os_specific_env function. How the values for the variables are obtained is controlled by the BANENV environment variable. BANENV is set from the Control Panel -> System - > Environment tab. A value of REG for BANENV indicates to set variables based on their value in the System Registry. A value of ENV means to use the value currently assigned to the environment variable first, and, if not set, default the value from the registry. Next, the following variables are established:
$sctban_process_name$ARGV[0] $sctban_process_type$ARGV[1] $sctban_user_id$ARGV[2] $sctban_password$ARGV[3] $sctban_oneup_number$ARGV[4] $sctban_printer_name$ARGV[5]
6-42
July 2010
$sctban_form$ARGV[6] $sctban_submit_time$ARGV[7]
Note These are the arguments passed to gjajobs.pl as described above in the section on the GUQINTF form.
The sctban_jsub_env function is called to set additional environment variables followed by a call to sctban_os_specific_jsub to invoke gjawnts.pl. This script opens up a background Windows process and calls gjajsub.pl which actually constructs the command to run the job based on sctban_process_type. Output from the execution is saved into temporary files which are assembled into a single file after the job is run. These files are put in the directory specified by banner_jobsub_home. The naming convention is:
jobsub_home_sid_user_processname_oneupno
July 2010
6-43
VMS - banjavaenv.com These scripts are located at <BANNER_HOME>/general/misc for UNIX/LINUX/NT and GEN$COM for VMS.
6-44
July 2010
UAF> LIST
5. To exit the authorize utility enter the word EXIT.
UAF> EXIT The sysuaf.lis file will contain information about all logons for the machine. A sample follows. Owner
Banner7
Username
BANNER7
UIC
[522,0]
Account Priv s
BANNER All
Pri Directory
4 $DISK1:[BAN71_ROOT]
When GURJOBS looks up a user, it opens this file, so it must be copied to a directory that can be accessed by the GURJOBS program while it's running. Usually the sys$login directory will suffice. Also make sure the privileges on the sysauf.lis file are changed if needed so it can be opened by the userid used to submit GURJOBS. Alternatively, you could change GURJOBS so that the location of the sysaf.lis file was fully-qualified. If the userid is found, a temporary .com file is built and a set def to this directory is written to the file, followed by the HOST command. If the directory is not found, the HOST command is issued directly.
Note Your printer destination is controlled by your host login.
The DEFAULT_PRINTER must first be established on the GTVPRNT Form as a valid printer code. Pressing the Insert Record key will create the GURJOBS_DIRECTORY row. This preference is used to specify the name of a directory where output from Pro*C jobs will be placed when the job is run from the Process Submission Control Form (GJAPCTL).
July 2010
6-45
There are several ways to specify a value: If the record does not exist, select the create record key. The form will create a GURJOBS_DIRECTORY preference and attempt to find a home by sending a request to GURJOBS to lookup the username as described above. If found, a directory name is returned. You may also enter the name of a directory. (For example, a file system that gets exported and mounted to a PC.) This will then be sent to GURJOBS and an attempt will be made to create a test file in this location. If successful, the name will be accepted. If not, an error message will be issued. You can also enter the literal LOOKUP, which will send a request to GURJOBS to lookup the user as described above. You can enter the literal DATABASE. This option is valid for Pro*C programs and General COBOL programs, and will cause the output to be placed in the database. It can subsequently be reviewed on the GJIREVO form.
Note The Insert Output Program (GURINSO) is a Pro*C program that is used to insert the output into the database if the literal DATABASE had been entered in the Printer field of the Process Submission Control Form (GJAPCTL). The gjajobs.shl/.com file invokes execution of the program. If the program runs through the invocation of a command procedure, such as GLBDATA, the command procedure will invoke GURINSO.
The Saved Output Review Form (GJIREVO) provides the ability to save the output as a file in a directory and the ability to print the output if a network printer is available to the user. When a request to print the output is made, the output is first saved to a local file and then printed by issuing a copy command to the printer specified on the GTVPRNT form. You can also purge the output from the database using this form.
Note No attempt is made to delete the file from the LOCAL_DIRECTORY if a save or print operation was performed.
6-46
July 2010
jobs of some other type that do not use the one-up number as part of the file name, you may overwrite an existing file.
To view and print the output you created, access the Saved Output Review Form (GJIREVO). Enter a job name in the Job Name field or press the Job Name Button for a list of the jobs that were run under your user ID that have not been purged from the database. You can double-click to select the desired output. Your output will immediately appear in the Saved Output block of the form for review. At this point you can select the Save and Print button to save your output to your local directory, as well as print a copy of the output to the printer you specify. Select the Save to File button to save your output to the your local directory. Select the Delete Output button to remove the selected file from the database.
Note No attempt will be made to delete the file from your local directory once you have saved it. Local directory maintenance of files is up to the individual site using this procedure.
GURJOBS
GURJOBS is a PRO*C program created to handle the passing of jobs on a system network. It receives messages sent by the PIPEIT trigger in the GUQINTF form, on a ORACLE PIPE named GURJOBS. When it receives a message, it must unpack it to determine what course of action to take. This is indicated by the first message, which is the request type. However, if the Advanced Queuing alternate communication mechanism has been implemented (an alternative to DBMS_PIPE), GURJOBS instead listens and dequeues messages from queue GURJOBS_Q. These messages are sent (or enqueued) by the AQIT pl/ sql unit in the GUQINTF form. After dequeuing the message, GURJOBS inspects message fragment MF_01 (see object type g_msg_fragments) which is the request type. Currently, GURJOBS is designed to process three types of requests:
1. HOST requests - usually those originating from the GJAPCTL form. These jobs are
submitted into the background (where available) and control is returned immediately to GUQINTF.
2. WAIT requests - typically initiated from an application form. GLRVRBL is an
example of a WAIT type. GURJOBS waits for the request to be fulfilled (if it can) before sending a response back.
3. EXIT requests - terminate GURJOBS. The exit command is sent by signing on to
SQL*Plus and starting the gurstop.sql file contained in the general/plus subdirectory.
July 2010
6-47
It then packs a message saying that the request is being processed and sends it back to the PIPEIT trigger. This message is relayed back to GJAPCTL, which displays it on the status line of the form. These messages are not usually displayed by application since they typically use the GJBRSLT table to indicate the status of the run. When the system function is executed it will either execute the GJAJOBS file or the name of the file specified in the command name field on the GJAJOBS form.
Message fragment MF_03 is optional and will only carry a value if a directory name has been established on the GJAJPRF form. If a directory name was not provided, GURJOBS will attempt to look it up by extracting the username from the command.
6-48
July 2010
Message fragment MF_MISC_01 holds a unique token value. This value is established in PL/SQL unit AQIT in the GUQINTF form. This form passes the unique token value, through the queue GURJOBS_Q, to the GURJOBS process. The form then listens (a conditional dequeue operation) for this unique token value on queue GURJOBS_RTN_Q. GURJOBS takes the dequeued message and issues the system function passing the host command as its argument system (command_string); it then enqueues a message on return queue GURJOBS_RTN_Q. This queue message holds the unique token value that was previously obtained off of the GURJOBS_Q queue message. The return message indicates that the request is being processed and sends this back to the AQIT pl/sql unit. This message is relayed back to GJAPCTL, which displays it on the status line of the form. These messages are not usually displayed by application since they typically use the GJBRSLT table to indicate the status of the run. When the system function is executed it will either execute the GJAJOBS file or the name of the file specified in the command name field on the GJAJOBS form.
This assumes that you have your ORACLE_SID entry in the Oracle Registry set to your initial Banner install database, usually SEED. This also assumes that your System Environment variable BANENV is set to REG. REG means that the initially installed Banner key will be used from the registry. To view and change the BANENV variable, select Control Panel > System>Environment. To start GURJOBS on Windows, do the following:
1. Check the value of ORACLE_SID in the Oracle Registry. 2. Check the value of the System Environment variable BANENV. 3. Position in the \general\misc directory under Banners Home directory. 4. Start the Perl script gurjwnt.pl. This will start job submission in the background.
July 2010
6-49
To keep job submission running on NT you must leave the administrator account logged in on the console. The console can be locked so that a password is needed to access it, but it is still logged in. In the future, SunGard Higher Education will publish instructions for how to run job submission as a service. This, will require some files from the NT resource kit.
Select Control Panel>System>Environment to change this value. Changing BANENV to be ENV will allow Banner to override a registry entry with a value from the environment.
2. Create a LOCAL directory (optional - this could all be done in the Banner
directories). Copy the general\misc\gurjwnt.pl script into the LOCAL directory to a name of gurjwnt_seed.pl.
3. Edit the gurjwnt_seed.pl script and add a line following the line
&sctban_os_specific_env;
$ENV{ORACLE_SID} = SEED;
4. Save and exit the script. 5. Run this script to start GURJOBS against the SEED database. Substitute your actual
6-50
July 2010
2. Create LOGIN.COM, GURJOBS.COM, and START_GURJOBS.COM files. 3. Run START_GURJOBS.com to start the GURJOBS in background.
For example, VMS userid is JOBSUB8X and has a SYS$LOGIN directory of A20:[SCT.JOBSUB.BAN8].
Tip The text included in this example can be used in new files created in the JOBSUB8X SYS$LOGIN directory. LOGIN.com
$ @A20:[oracle.92]orauser.com BAN8 $ @A20:[sct.ban8.admin]banlogic.com
GURJOBS.COM
$! $! GURJOBS - Command procedure to run job submission $! $! AUDIT TRAIL: 2.1.5 INIT $! 1. $! $ ON CONTROL THEN GOTO FINISH $! $ P1 := 'P1 ' ''P2 ' ''P3 ' ''P4 ' ''P5 ' ''P6 ' ''P7 ' ''P8' $! $! Define logicals use by program. $! $! ROOAUTO.LOG $! $! $! DEFINE/USER/NOLOG SYS$OUTPUT SYS$LOGIN:GURJOBS.LOG $! $! Execute the cobol program. $! $ RUN GEN$EXE:GURJOBS <user_ID> <password> $! $ FINISH: $ EXIT - Log file containing screen output (sys$output) generated by program. $! AUDIT TRAIL END DATE 02/06/95 New command procedure. TM
START_GURJOBS.COM
$submit/user=jobsub8x/que=axp1$banner a20:[sct.jobsub.ban8]gurjobs.com/log=start_gurjobs.log/noprint
July 2010
6-51
SID
BAN7 BAN8 PROD TEST
BANNER_HOME
a20:[sct.ban7] a20:[sct.ban8] a20:[sct.prod] a20:[sct.test]
JOBSUB_ACCOUNT
jobsub7x jobsub8x jobsub_prod jobsub_test
JOBSUB_HOME (SYS$LOGIN)
a20:[sct.jobsub.ban7] a20:[sct.jobsub.ban8] a20:[sct.jobsub.prod] a20:[sct.jobsub.test]
Every VMS account should have a separate LOGIN.COM calling that database specific ORAUSER.COM and BANLOGIC.COM.
6-52
July 2010
export TWO_TASK=unix1_prod export BANNER_HOME=/u01/bannner export DATA_HOME=$BANNER_HOME/dataload export COBPREF='perl /u01/banner/links/banfjsv.pl ' #(specific to Fujitsu NetCOBOL) export EXE_HOME=$BANNER_HOME/general/exe export BANNER_LINKS=$BANNER_HOME/links export ORACLE_PATH=.:$BANNER_LINKS export PATH=$PATH:$EXE_HOME:$BANNER_LINKS
The banjobs_driver.shl script can be started at the Unix prompt or from a cron. Before starting, create empty log file.
su - banjobs
July 2010
6-53
To stop gurjobs, use the Banner baseline script gurstop.sql, by executing the following:
sqlplus saisusr/u_pick_it @$BANNER_LINKS/gurstop.sql
BANNER_HOME
/u01/prod /u02/pprd /u03/trng /u04/test /u05/seed
JOBSUB_ACCOUNT
jobsub_prod jobsub_pprd jobsub_trng jobsub_test jobsub_seed
JOBSUB_HOME (SYS$LOGIN)
/u01/prod/jobsub /u02/pprd/jobsub /u03/trng/jobsub /u04/test/jobsub /u05/seed/jobsub
Now you have five UNIX JOBSUB accounts defined above and each would have a separate default profile (.profile or .login) and home directory. After creating the profiles, start GURJOBS using these accounts. It defaults the environmental variables to that of ORACLE_SID (banenv, oraenv). This keeps all the environmental variables separate.
6-54
July 2010
Following are required for submitting a job on a non-database server: C compiler Cobol compiler Oracle Net (for example SQL*Net) Oracle Pro*C Oracle Pro*COBOL
Note For details on Oracle licensing contact your vendor. If you have a license for Oracle issued from Sungard Higher Education, contact your Account Manager.
For the Banner Pro*C programs (.pc) and Pro*COBOL programs (.pco) to be compiled on a non-database server, they should be copied to the non-database server. The Banner .shl scripts should also reside in the links directory.
Typical Directory Structure
A typical directory structure for the Banner Home on Unix on the non-database server may look like the following:
cd /u01/ban_jobsub dir drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x 2 banjobs 4 banjobs 2 banjobs 2 banjobs 2 banjobs dba dba dba dba dba 17408 Jan 13312 Jan 11776 Jan 512 Jan 512 Jan 3 12:47 c/ 7 15:09 cob/ 7 16:00 exe/ 2 15:24 jobsub/ 2 15:24 links/
The Job Submission Unix ID in the example above is called BANJOBS. BANJOBS $HOME directory is jobsub. Files similar to the scripts described below reside in the jobsub directory.
Executing Banner Pro*C or Pro*Cobol Programs
To execute Banner Pro*C or Pro*Cobol programs, you should execute the Banner GJAPCTL form and the executables from the non-database server. The output files will be created in the /u01/ban_jobsub/jobsub directory.
July 2010
6-55
Note If you want to change this value for all users, you must log onto Banner with the userid BASELINE, and then make the changes on GUAUPRF. 6. Logon to Banner in a web forms environment, and go to GJIREVO. The output of the
job appears in a separate browser window. You can save the output to a file or send it to a printer by selecting the appropriate item from the Options menu.
6-56
July 2010
To set up Banner to support this feature, you must perform the following steps:
Note You may have already done these steps to establish support for processing with the Saved Output Review Form (GJIREVO). If so, you do not need to repeat them. 1. Create an Oracle Application Server Listener and PL/SQL cartridge, or use an
Output URL.
4. Enter the URL you created in User Value and save your changes. Note To use the URL you created for all users, you must be logged into Banner with the userid BASELINE when you make your changes on GUAUPRF.
Any records that were created by a data extract are deleted when the user leaves Banner. If a users data extracts result in a total of more than 500 records being selected, the following message will display when the user exits: There may be a delay exiting caused by the removal of data extracted during this session. If a user has performed FGAGASB data extracts resulting in a total of more than 500 records being selected, the message on the users exit will be There may be a delay exiting caused by the removal of FGAGASB data extracted during this session.
July 2010
6-57
processing. Having separate tables dedicated to data extract improves performance during busy processing times.
Note Data extracted using the Banner Finance GASB Parameter Form (FGAGASB), or accessed via the Saved Output Review Form (GJIREVO), are still stored in the GUBOUTP and GUROUTP tables.
6-58
July 2010
APIs
Application Programming Interfaces (APIs) are used to facilitate the integration of Banner with other applications on campus and simplify code by encapsulating business logic in database packages. An API is a central program that creates, updates, and deletes data. APIs also execute and validate business rules before inserting or updating information. Detailed documentation for APIs can be downloaded from the Customer Support Center. Select API Documentation when browsing for product documentation. There is also an optional API/ERD Index (api_erd_index_guide.zip) that provides a single starting point for HTML-based API documentation and Entity Relationship Diagrams.
Table
GORFGBP
Form
GOAFGAC
Task Performed
Assigns the categories of users and their privileges to each domain and predicate for a FGAC VBS Group Rule. Groups users with similar responsibilities for FGAC VBS processing. Groups users with similar responsibilities for FGAC PII processing.
GORFBPR
GOAFBPR
gb_businessprofile
BUSINESS PROFILE
GORFBPI
GOAFBPI
gb_busprofpii
July 2010
7-1
Table
GORCMDD
Form
GORCMDD
Task Performed
Maintains data dictionary entries for common matching. Maintains display hierarchy information for common matching. Maintains options for how common matching search results will be displayed. Maintains common matching rules. Maintains priority numbers for common matching source codes. Maintains source codes for common matching. Associates packaged procedures to be used by the common matching procedure. Maintains users for common matching. Maintains currency codes. Maintains rates for currency conversion. Maintains data items (columns) for Protection of Sensitive Information security. Maintains rules for users and items (columns) for Protection of Sensitive Information security.
GORCMDH
GORCMDH
gb_cm_disp_hier
GORCMDO
GORCMRL
gb_cm_display_ options
GORCMSR
GORCMRL
gb_cm_rules
GORCMSP
GORCMRL
gb_cm_source_ priority
GORCMSC
GORCMSC
gb_cm_source_rules
GORCMUP
GORCMRL
gb_cm_user_ procedure
GOBCMUS
GORCMUS
gb_cm_user_setup
GTVCURR GURCURR
GTVCURR GUACURR
gb_currency gb_currency_rate
GORDMCL
GORDMCL
gb_displaycolumns
DISPLAY COLUMN
GORDMSK
GORDMSK
gb_displaymask
7-2
July 2010
Table
GOBFDMN
Form
GORFDMN
Task Performed
Maintains domains for FGAC processing. Maintains domain types for FGAC processing. Maintains e-mail address records. Assigns users and their privileges to each domainpredicate combination for a FGAC VBS Group Rule. Maintains objects excluded from all FGAC processing. Maintains the Active and Effective Date characteristics for FGAC VBS group rules. Maintains immunization status information. Calculates institutional roles. Maintains integration configuration settings. Provides centralized storage for large objects, including graphics files and PDFs. Maintains aliases or nicknames associated to given names (No update). Maintains aliases or nicknames associated with non-person names. Maintains person race data.
GOBFDTP
GORFDTP
gb_domaintype
DOMAIN TYPE
GOREMAL
GOAEMAL
gb_email
GORFGUS
GOAFGAC
gb_fgac_user_rule
GOBFEOB
GORFEOB
gb_fgacexcludedobjects gb_group_rules
GOBFGAC
GOAFGAC
GORIMMU
GORIMMU
gb_immunization
IMMUNIZATION
GORIROL
gb_institution_role
GORICCR
GORICCR
gb_integ_config
GORBLOB
TGISTMT
gb_large_object
GORNAME
GORNAME
gb_name_translate
NAME TRANSLATE
GORNPNM
gb_np_name_trans
NP NAME TRANS
GORPRAC
GOQCLIB
gb_person_race
PERSON RACE
July 2010
7-3
Table
GORFDPI
Form
GORFDPI
Task Performed
Maintains table rules for FGAC PII processing. Maintains integration partner system rules. Stores answers to security questions and compares the answers provided by users during the PIN reset process. Stores and retrieves security questions used in the PIN reset process. Stores and retrieves additional ID information. Maintains race rule information. Stores and retrieves discriminator values for SDE processing. Stores and retrieves discriminator information for SDE processing. Stores and retrieves metadata for SDE attributes. Stores and retrieves information on Banner tables that have been extended with supplemental data through SDE. Maintains cross-references between third party system user IDs and Oracle user ID (No delete).
GORINTG
GORINTG
gb_partner_rule
PARTNER RULE
GOBANSR
GOATPAD
gb_pin_answer
PIN ANSWER
GOBQSTN
GOAQSTN
gb_pin_question
PIN QUESTION
GORADID
GORRACE
GORSDDV
GOADISC
gb_sde_discrim_ value
DISCRIM VALUE
GOBSDDC
GOADISC
gb_sde_ discriminator
SDE DISCRIMINATOR
GORSDAM
GOASDMD
gb_sde_metadata
SDE METADATA
GOBSDTB
gb_sde_table
SDE TABLE
GOBTPAC
GOATPAC
gb_third_party_ access
7-4
July 2010
Table
GOBFPUD
Form
GOAFPUD
Task Performed
Defines a user's home domain for FGAC PII processing. Maintains domains for each user for FGAC PII processing. Maintains predicate statement (WHERE clause) for FGAC VBS processing. Maintains tables associated with each domain for FGAC VBS processing. Maintains visa codes.
GORFPII
GOAFPII
gb_userpiidomains
GORFPRD
GORFDTP
gb_vbs_predicate
VBS PREDICATE
GORFDPL
GORFDPL
gb_vbs_tables
VBS TABLE
GORVISA
GOAINTL
gb_visa
VISA
Form
SPAIDEN
Task Performed
Maintains address information. Maintains biographic/ demographic information for an individual. Maintains building information. Maintains section and event meeting times. Maintains emergency contact information for an individual.
SPBPERS
SPAPERS
gb_bio
BIO
SLBBLDG
SLABLDG
gb_bldgdefinition
BLDGDEFINITION
SSRMEET
SSASECT
gb_classtimes
CLASSTIMES
SPREMRG
SPAEMRG
gb_emergency_ contact
EMERGENCY CONTACT
July 2010
7-5
Table
SPRHOLD
Form
SOAHOLD
Task Performed
Places or removes holds on an account. Maintains person and nonperson biographic/ demographic information. Retrieves international sudent information from fsaATLAS. Maintains information about medical conditions. Maintains a persons educational background information. Maintains educational background information on areas of concentration. Maintains educational background information on degrees. Maintains educational background information on majors. Maintains educational background information on minors. Maintains dorm room assignments. Maintains room information by building. Queries term validation information. Maintains telephone information. Process APIs related to campus card cardholders.
SPRIDEN
SPAIDEN
gb_identification
IDENTIFICATION
gp_international_ student
INTERNATIONAL STUDENT
SPRMEDI
SPRMEDI
gb_medical
MEDICAL CODE
SORPCOL
SOAPCOL
gb_prior_college
PRIOR COLLEGE
SORCONC
SOAPCOL
gb_pcol_ concentration
SORDEGR
SOAPCOL
gb_pcol_degree
SORMAJR
SOAPCOL
gb_pcol_major
SORMINR
SOAPCOL
gb_pcol_minor
SLRRASG
SLARASG
gb_roomassignment
ROOMASSIGNMENT
SLBRDEF
SLARDEF
gb_roomdefinition
ROOMDEFINITION
STVTERM
STVTERM
gb_stvterm
STVTERM
SPRTELE
SPATELE
gb_telephone
TELEPHONE
gp_cardholder
7-6
July 2010
Table
Form
Task Performed
Checks for the existence of a record within the Banner System based on criteria (rules) defined for the source of the data. Process API to add or update address information about a person in the Banner system. Process API to retrieve International Student Information. Process API to allow external systems to determine the unique identifier (ID number) for a person.
gp_entity_address
gp_international_ student
gp_person_identity
July 2010
7-7
gb_gtvfgac gb_gtvfsta gb_gtvftyp gb_gtvfunc gb_gtvimmu gb_gtvimst gb_gtvinsm gb_gtvletr gb_gtvlfst gb_gtvmail gb_gtvmenu gb_gtvmtyp gb_gtvntyp gb_gtvobjt gb_gtvpara gb_gtvpars gb_gtvpdir gb_gtvprnt gb_gtvproc gb_gtvptyp gb_gtvpurp gb_gtvrate gb_gtvrevn gb_gtvrrac gb_gtvrsvp gb_gtvrtng gb_gtvschs gb_gtvscod gb_gtvsdax gb_gtvsdiv gb_gtvsegc gb_gtvsqpa gb_gtvsqpr gb_gtvsqru gb_gtvsrce gb_gtvssfx gb_gtvsubj
gb_gtvsvap gb_gtvsvba gb_gtvsvca gb_gtvsvcc gb_gtvsvcp gb_gtvsvcr gb_gtvsvdt gb_gtvsvel gb_gtvsvep gb_gtvsvft gb_gtvsvgo gb_gtvsvio gb_gtvsvit gb_gtvsvpc gb_gtvsvrp gb_gtvsvtr gb_gtvsvts gb_gtvsysi gb_gtvtarg gb_gtvtask gb_gtvtrtp gb_gtvtsta gb_gtvttyp gb_gtvuoms gb_gtvutyp gb_gtvviss gb_gtvvpdi gb_gtvwfed gb_gubobjs gb_stvaccg gb_stvacyr gb_stvascd gb_stvasrc gb_stvasty gb_stvatyp gb_stvbchr gb_stvbldg gb_stvcamp gb_stvcipc gb_stvcitz gb_stvcnty gb_stvcoll
gb_stvcomf gb_stvcoms gb_stvcomt gb_stvdays gb_stvdegc gb_stvdept gb_stvdisa gb_stvempt gb_stvethn gb_stvetyp gb_stvfcnt gb_stvgeod gb_stvgeor gb_stvhldd gb_stvlang gb_stvlead gb_stvlevl gb_stvlgcy gb_stvmajr gb_stvmatl gb_stvmdeq gb_stvmrtl gb_stvnatn gb_stvorig gb_stvprcd gb_stvptyp gb_stvrdef gb_stvrelg gb_stvrelt gb_stvrmst gb_stvrrcd gb_stvsbgi gb_stvsite gb_stvspon gb_stvspsr gb_stvstat gb_stvsubj gb_stvtele gb_stvtrmt gb_xml_generator
7-8
July 2010
Interfaces
This package is the interface between the SEVIS Transfer Adapter (SEVISTA) and Banner. It contains functions and procedures that select, update, insert, and delete data from the GORSVBH and GOTSVBT tables. The package is executed externally by SEVISTA. This package can also create a comma-separated value (CSV file) that can be imported into the fsaATLAS application by the fsaATLAS Campus DataLink.
GORSVBH Table
This table contains the header information for SEVIS batch transaction records. The SEVISTA external tool uses this table.
GOTSVBT Table
This table contains detail records for SEVIS batch transaction records. The SEVISTA external tool uses this table.
GURFEED Table
This table contains financial transactions from Banner applications which are to be processed by the client's Accounting system via a user interface program.
GURAPAY Table
This table contains single line invoices from Banner applications which are to be processed by the client's Accounts Payable system via a user interface program.
July 2010
8-1
This table contains financial transactions from other Banner applications or clientdeveloped applications which are to be processed into Banner Finance using the FURFEED and FGRTRNI processes.
GURAPAY Table
This table contains single line invoices from other Banner applications or client-developed applications, which are to be processed into Banner using the FURAPAY process.
8-2
July 2010
Form Generation
Mass Form Generation Scripts
The following mass form generation scripts generate a single products forms objects. The scripts are located in the appropriate product /misc or /com production directory.
Warning Make sure you compile your forms in the Forms Compiler. You may receive unpredictable results if you compile them in Forms Builder. Forms Windows Forms UNIX Oracle Reports Windows Oracle Reports UNIX
Product
tasform.bat, tasformr2.bat aluform.bat, aluformr2.bat resform.bat, resformr2.bat fimform.bat, fimformr2.bat genform.bat, genformr2.bat, genform1.bat, genform1r2.bat, genform2.bat, genform2r2.bat, comform.bat, comformr2.bat payform.bat, payformr2.bat
tasform.shl, tasformr2.shl aluform.shl, aluformr2.shl resform.shl, resformr2.shl fimform.shl, fimformr2.shl genform.shl, genformr2.shl, comform.shl, comformr2.shl
tasrept.bat, tasreptr2.bat
tasrept.shl, tasreptr2.shl
fimrept.bat, fimreptr2.bat
fimrept.shl, fimreptr2.shl
Payroll Module
payform.shl, payformr2.shl
July 2010
9-1
Product
Forms Windows
Forms UNIX
posform.shl, posformr2.shl stuform.shl, stuformr2.shl extform.shl, extformr2.shl sturept.bat, stureptr2.bat sturept.shl, stureptr2.shl
COBOL Compiling
This section provides general information about the COBOL compilation process, such as required directories, file locations, and example scripts. Banner compile scripts are provided for new installations and upgrades to compile all code in the correct order. On UNIX and OpenVMS machines the output from the compile will be placed by default in the exe subdirectory of the General product. If the compile routines for your port or site write into the current directory, then the output from the compiles will have to be migrated before they can be accessed by the users.
Note If your compile procedure writes directly into the General products exe subdirectory, this procedure must be run from an operating system account that has write permission into the target Banner directories.
9-2
July 2010
because the buildcob process uses an Oracle demo makefile as a model and must be able to find it.
3. Enter the following:
cd $BANNER_HOME/install
require command-line parameters to recognize ANSI code; refer to your compiler documentation for details. Example: cc buildcob.c -o buildcob
5. Execute buildcob and respond to the on-screen messages and prompts. Note The value for your COBOL compiler may differ from the default. 6. You should now have a makefile with the default name of sctprocb.mk in the
$BANNER_HOME/general/cob directory. Use this makefile to compile a Banner Pro*COBOL program, and make changes to sctprocb.mk to resolve any errors. Sequent, NCR, and DEC Ultrix machines require that COMP5=YES be passed to the pre-compiler for byte storage compatibility. Other platforms may require that this be commented out.
If you find that your local environment requires changes from the defaults, you may directly edit the provided bancob.tpl file so that your changes are preserved when you rerun the buildcob process in the future.
July 2010
9-3
is a program that assists in the creation of a Banner Pro*COBOL makefile. Using a SunGard-provided template and an Oracle makefile from your current release of the Oracle software, buildcob generates a new makefile that should work with your operating system and Pro*COBOL release.
buildcob
Note The generated makefile also includes comments to guide you in making manual changes if necessary.
You will now be prompted for information needed by the buildcob program. The default value for each option appears in parentheses after the prompt; if you wish to accept the default for a particular option just hit enter. Each of these defaults is defined in a macro in the buildcob source code, making the setting of local defaults simple; comments in the source code explain the process. Enter the name of your COBOL compiler; if your compiler is not present in your path, then you will need to specify a full directory reference.
e.g., /usr/local/cob COBOL Compiler? ( cob )
Enter the name of the template file to be used to generate your new makefile. If you make local modifications to the SunGard-provided template then you may wish to copy the template to a different name and enter that name below.
SCT makefile template? ( bancob.tpl )
Enter the name of the model Oracle makefile. Oracle provides an example Pro*COBOL makefile that is used to make example programs and the Pro*COBOL executable itself; this file is scanned by buildcob to extract the proper library definitions for your system.
Oracle makefile model? ( /u02/app/oracle/product/9.2.0 /precomp/demo/procob/procob.mk )
Enter the name of the new makefile that buildcob will generate; if a file by that name already exists it will be overwritten.
New makefile to create? ( /yy/banner/general/cob /sctprocb.mk ) bancob.tpl/yy/banner/general/cob/sctprocb.mkbuildcob terminated normally Using sctprocb.mk
To use the sctprocb.mk makefile, position yourself to the directory containing the source code to be compiled, and enter a make command specifying both the makefile and the file to be generated.
make -f $BANNER_HOME/general/cob/sctprocb.mk PHPFEXP
Refer to your operating system documentation for further details on makefile construction and usage.
9-4
July 2010
To use the Oracle Run Time System, you must build an rtsora executable in your $ORACLE_HOME/bin directory using an Oracle-provided procedure. Banner supports the Oracle Run Time System by using two environment variables, COBPREF and COBSUFX, in all shell scripts that execute COBOL programs. These variables are created in cbanenv and banenv with null values; if you are using .gnt files, then COBPREF should be set to rtsora and COBSUFX to .gnt. The other alternative is to use dynamic linking, or shared objects. If your operating system and Oracle release support this option, then modify your copy of sctprocb.mk and add -lclntsh at the beginning of the LLIBS macro definition. Example:
LLIBS=-lclntsh $(COBSQLINTF) $(LLIBSQL) $(TTLIBS)
Also, the environment variable LD_LIBRARY_PATH will need to be defined in order for the shared object references to be resolved at runtime. Example:
LD_LIBRARY_PATH=/usr/lib/cob/coblib:/u02/app/oracle product/9.2.0/lib export LD_LIBRARY_PATH
Stripping your executables of debugging information may also significantly decrease their size; this can usually be done at compile time with the -s switch to the compiler, or later with the stand-alone strip program. Also, if you are using certain versions of SVR4-based operating systems (such as Dynix/ptx), the mcs-d command can be used to strip internal comments from the executables.
July 2010
9-5
Executing sctprocb with no arguments will provide usage notes similar to the following:
USAGE: @gen$com:sctprocb <program> [options] OPTIONS: -O -L -D -C -S generates object only generates the complete listing compiles in debug mode generates and saves .COB from the precompile stop after executing pre-compiler
In addition, if a full parse of the source code is necessary, you must set the symbol CHECKOPT with an appropriate value before executing sctprocb. Example:
$ CHECKOPT=sqlcheck=full userid=baninst1/u_pick_it
Initial Installation
Instructions for doing a complete compile of all Pro*COBOL programs appear in the Banner Initial Install Guide. The information in this section is intended to provide complete instructions for and context of COBOL compiling. The steps outlined in this section should have already been performed at your site.
Advancement Finance Financial Aid General INAS (where x equals the last digit of the aid year) Payroll Module Student
9-6
July 2010
Executables are built in the $BANNER_HOME/general/exe directory. This directory must be in the PATH of each Banner user.
UNIX
Below is a sample of the Banner General COBOL compile shell script.
# gencmpl.shl # cd $BANNER_LINKS # make -f $BANNER_LINKS/sctprocb.mk GUAGETP.o make -f $BANNER_LINKS/sctprocb.mk GUASETR.o \ CHECKOPT=sqlcheck=full userid=baninst1/u_pick_it make -f $BANNER_LINKS/sctprocb.mk GUAVRFY \ BANOBJ=$BANNER_HOME/general/exe/GUAGETP.o make -f $BANNER_LINKS/sctprocb.mk GLOLETT \ BANOBJ=$BANNER_HOME/general/exe/GUAGETP.o make -f $BANNER_LINKS/sctprocb.mk GLBPARM \ BANOBJ=$BANNER_HOME/general/exe/GUAGETP.o make -f $BANNER_LINKS/sctprocb.mk GLBDATA \ BANOBJ=$BANNER_HOME/general/exe/GUAGETP.o make -f $BANNER_LINKS/sctprocb.mk GLBLSEL \ BANOBJ=$BANNER_HOME/general/exe/GUAGETP.o
OpenVMS
Below is a sample of the Banner General COBOL compile command script.
$! $! $! $ CHECKOPT=sqlcheck=full userid=baninst1/u_pick_it $! $ @gen$com:sctprocb gen$pco:glolett GENCMPL.COM Command procedure to drive compilation of GENERAL Cobol programs.
Windows
Below is a sample of the Banner General COBOL compile command script.
use sctcomp; $sctcomp_product_dir = general; $sctcomp_input_file_ref = \*DATA; &sctcomp_cobol_process; _END_ GUAGETP.pco -exetype=obj GUASETR.pco -exetype=obj -checkopt=full
July 2010
9-7
C Compiling
This section provides general information about the C compilation process, such as necessary directories, file locations, and example scripts. Banner compile scripts are provided for new installations and upgrades to compile all code in the correct order. On UNIX and OpenVMS machines the output from the compile will be placed by default in the exe subdirectory of the General product. If the compile routines for your port or site write into the current directory, the output from the compiles will have to be migrated before they can be accessed by the users.
Note If your compile procedure writes directly into the General products exe subdirectory, this procedure must be run from an operating system account that has write permission into the target Banner directories.
9-8
July 2010
because the buildmk process uses an Oracle demo makefile as a model and must be able to find it.
3. Enter the following:
cd $BANNER_HOME/install
require command-line parameters to recognize ANSI code; refer to your compiler documentation for details.
cc buildmk.c -o buildmk
5. Execute buildmk and respond to the on-screen messages and prompts. Note The value for your C compiler may differ from the default. 6. You should now have a makefile with the default name of sctproc.mk in the
$BANNER_HOME/general/cob directory. Use this makefile to compile a Banner Pro*C program, and make changes to sctproc.mk to resolve any errors. If you find that your local environment requires changes from the defaults, you may directly edit the provided banc.tpl file so that your changes are preserved when you rerun the buildmk process in the future.
The following is an example dialog from a run of the buildmk process under the Digital UNIX operating system:
$ cc buildmk.c -o buildmk $ buildmk
The program, buildmk, assists in the creation of a Banner Pro*C makefile. Using a SunGard-provided template and an Oracle makefile from your current release of the Oracle software, buildmk generates a new makefile that should work with your operating system and Pro*C release.
Note The generated makefile also includes comments to guide you in making manual changes if necessary.
July 2010
9-9
You will now be prompted for information needed by the buildmk program. The default value for each option appears in parentheses after the prompt; if you wish to accept the default for a particular option, press the Enter key. Each of these defaults is defined in a macro in the buildmk source code, making the setting of local defaults simple; comments in the source code explain the process. Enter the name of your C compiler; if your compiler is not present in your path, then you will need to specify a full directory reference.
e.g., /usr/opt/local/gcc C Compiler? ( cc )
Enter the name of the template file to be used to generate your new makefile. If you make local modifications to the SunGard-provided template then you may wish to copy the template to a different name and enter that name below.
SCT makefile template? ( banc.tpl )
Enter the name of the model Oracle makefile. Oracle provides an example Pro*C makefile that is used to make example programs and the Pro*C executable itself; this file is scanned by buildmk to extract the proper library definitions for your system.
Oracle makefile model? ( /u02/app/oracle/product/9.2.0 precomp/demo/proc/proc.mk )
Enter the name of the new makefile that buildmk will generate; if a file by that name already exists it will be overwritten.
New makefile to create? ( /yy/banner/general/c /sctproc.mk) banc.tpl /yy/banner/general/c/sctproc.mk buildmk terminated normally
Using sctproc.mk
To use the sctproc.mk makefile, go to the directory containing the source code to be compiled, and enter a make command specifying both the makefile and the file to be generated. Example:
make -f $BANNER_HOME/general/c/sctproc.mk gurtabl
Refer to your operating system documentation for further details on makefile construction and usage.
Added Switch for sctproc.mk File
With Release 7.2, a manual change must be made to your site-specific sctproc.mk file. This change is necessary whether your site is using Oracle 9i or 10g.
9-10
July 2010
Under Oracle 10g, 10.1.0.2, and 10.1.0.3, there is an Oracle issue that causes the Pro*C precompile to not recognize nested SQL INCLUDE statements. The guaorac.c file, used by every Banner Pro*C program, was modified for Release 7.2 to use the standard precompiler #include directive to include the oraca.h and sqlca.h files as a workaround for the defect. Because of this change, the manual change to sctproc.mk is necessary. In sctproc.mk you must specify an additional I switch for the CFLAGS macro to include the $ORACLE_HOME/precomp/public directory. For example:
CFLAGS=-I. \ -I$(GINC) \ -I$(ORACLE_HOME)/precomp/public \ -O $(ANSI) $(STRIP) $(CCHECK) $(ENV) \ $(SCT_DEBUG) $(OTHER_C_FLAGS)
Also, the environment variable LD_LIBRARY_PATH will need to be defined in order for the shared object references to be resolved at runtime. Example:
LD_LIBRARY_PATH=/u02/app/oracle/product/9.2.0/libexport LD_LIBRARY_PATH
Stripping your executables of debugging information may also significantly decrease their size; this can usually be done at compile time with the -s switch to the compiler, or later with the stand-alone strip program. Also, if you are using certain versions of SVR4-based operating systems (such as Dynix/ptx), the mcs-d command can be used to strip internal comments from the executables.
July 2010
9-11
Initial Installation
Instructions for doing a complete compile of all Pro*C programs appear in the Banner Initial Install Guide. The information in this section is intended to provide complete instructions for and context of C compiling. The steps outlined in this section should have already been performed at your site.
9-12
July 2010
A/R System Advancement Finance Financial Aid General Payroll Position Control Student
Executables are built in the $BANNER_HOME/general/exe directory. This directory must be in the PATH of each Banner user.
UNIX
Below is a sample of the Banner General C compile shell script:
:# gencmplc.shl # cd $BANNER_LINKS make -f $BANNER_HOME/general/c/sctproc.mk genobjs \ CHECKOPT=sqlcheck=full userid=baninst1/u_pick_it make -f $BANNER_HOME/general/c/sctproc.mk gjrrpts make -f $BANNER_HOME/general/c/sctproc.mk gurpded make -f $BANNER_HOME/general/c/sctproc.mk glrletr make -f $BANNER_HOME/general/c/sctproc.mk gppaddr make -f $BANNER_HOME/general/c/sctproc.mk gurhelp make -f $BANNER_HOME/general/c/sctproc.mk gurtabl make -f $BANNER_HOME/general/c/sctproc.mk gurinso make -f $BANNER_HOME/general/c/sctproc.mk gurskel make -f $BANNER_HOME/general/c/sctproc.mk guaprpf make -f $BANNER_HOME/general/c/sctproc.mk gurjobs \ CHECKOPT=sqlcheck=full userid=baninst1/u_pick_it
July 2010
9-13
OpenVMS
Below is a sample of the Banner General C compile command script.
$! gencmplc.com $ set def gen$c $@gen$com:sctproc genobjs full userid=baninst1/u_pick_it $@gen$com:sctproc gjrrpts $@gen$com:sctproc gurpded $@gen$com:sctproc glrletr $@gen$com:sctproc gppaddr $@gen$com:sctproc gurhelp $@gen$com:sctproc gurtabl $@gen$com:sctproc gurinso $@gen$com:sctproc gurskel $@gen$com:sctproc guaprpf $@gen$com:sctproc gurjobs full userid=baninst1 u_pick_it
Windows
use sctcomp; $sctcomp_product_dir = general; $sctcomp_input_file_ref = \*DATA; $sctcomp_c_process; _END_ guastdf.c -exetype=obj -checkopt=full guaorac2.pc -exetype=obj -checkopt=full guawslp.c -exetype=obj guarpfe.c -exetype=obj -checkopt=full gjpprun.pc -checkopt=full gjrrpts.pc gurpded.pc glrletr.pc gppaddr.pc gurhelp.pc gurinso.pc -ckeckopt=full gurskel.pc gurtabl.pc guaprpf.c gurjobs.pc -checkopt=full
9-14
July 2010
10
Desktop Tools
Introduction
Spreadsheet Budgeting Overview
With Banner Spreadsheet Budgeting, you can grant a user authorization to download from Banner tables and/or upload into Banner tables. Spreadsheet Budgeting accommodates both basic budget analysis tasks as well as customized wage and salary analysis. Spreadsheet Budgeting is a Banner enhancement that uses the Desktop Tools application to access data from the Banner Finance and Human Resources Systems. Information about using Spreadsheet Budgeting to create operating budgets is contained in the Banner Finance Spreadsheet Budgeting Handbook. Information about using Spreadsheet Budgeting to create salary and position budgets is contained in the Banner Position Control Spreadsheet Budgeting Handbook.
July 2010
10-1
numbers in the file securityInfo.vb and recompile godsinf.dll using Microsoft Visual Studio. You will also need to change the database name to match your TNS_CONNECT_STRING for each database instance. For more information about compiling and using the DLL, see Updating Security Keys and Compiling GODSINF.DLL. Microsoft ActiveX Data Objects v2.1 (optional, used only with DBA PC) required to pass data between Microsoft Excel and Banner. This is installed by default when you install Desktop Tools Application. SQL*Net Client Software 2.3 or higher required to communicate with an Oracle database like Banner.
10-2
July 2010
3. Select the target directory. (The default is c:\sct\banner\goddtop.) 4. Select the components that you want to install.
GODDTOP Setup ApplicationSelect this component if you want to distribute the setup program to client machines. This component will be installed in the \setup folder of the target directory. The installed files can be used to initiate the GODDTOP installation on client machines. GODDTOP Source CodeSelect this component if you need to recompile a DLL or change the Visual Basic DLL. This component will be installed in the \source folder of the target directory. This component contains the source code needed to compile godsinf.dll and the source code to ToolsUpdate, a small utility tool that allows easy updates of the DLL.
5. Select Next to install the selected components.
The Desktop Tools contain two DLLs: godsinf.dll A new .NET DLL that has the security key information. This needs to be modified to point to the right data sources. goddtop.dll This is the COM DLL modified to remove the security key information. This removes the dependency on Visual Basic 6 to modify the security keys and recompile. With the introduction of the new .NET DLL, you need not modify or recompile goddtop.dll anymore. However, you have to unregister and re-register it in Windows registry. As the solution contains a .NET DLL, the DBA system used to install Desktop Tools needs .NET Framework 1.1 (for Visual Studio 2003), .NET Framework 2.0 (for Visual Studio 2005), or .NET Framework 3.5 (for Visual Studio 2008), and so on for later versions of Visual Studio. You can download this from the Microsoft web site at:
July 2010
10-3
.NET Framework 1.1 http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-48428157-034D1E7CF3A3&displaylang=en .NET Framework 2.0 http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D8EDD-AAB15C5E04F5&displaylang=en .NET Framework 3.5 http://www.microsoft.com/downloads/details.aspx?familyid=AB99342F-5D1A-413D8319-81DA479AB0D7&displaylang=en Install .NET Framework after downloading the appropriate version.
Unregistering GODDTOP.DLL
installed.
2. Run the regsvr32 with the /u option to unregister:
Regsvr32 c:\sct\banner\goddtop\goddtop.dll /u
3. Reboot the system. This is very important because you will be accessing some ODBC
There is no need to update the Desktop Tools DLL as the new DLLs are registered by default.
4. Click OK to proceed with the update.
10-4
July 2010
5. Reboot the system for the changes to be applied. Note Never copy a new DLL over an existing DLL. COM DLL's from .NET must be registered within the Windows registry. If not done properly, behavior of the Desktop Tools application is unpredictable.
Note Even if you use baseline seed numbers, you must still update godsinf.dll with your database definitions.
access. The following example shows a DLL that has access to two databases, example_db1 and example_db2.
Public Function loadSecurityKeys(ByVal G_DESKTOP_NAME As String, ByVal G_DESKTOP_VERSION As String) As String 'Add security information after this line as given in commented example 'addSecurityString("database name", G_DESKTOP_NAME, G_DESKTOP_VERSION, "SEED1", "SEED3") addSecurityString("example_db1", G_DESKTOP_NAME, G_DESKTOP_VERSION, "12345678", "12345678")
July 2010
10-5
addSecurityString("example_db2", G_DESKTOP_NAME, G_DESKTOP_VERSION, "12345678", "12345678") 'Do not add any security information after this line. Return securityKeyArray End Function
Compiling GODSINF.DLL
If you update security keys, you must compile godsinf.dll. This task is performed on the DBA machine only.
1. Open Microsoft Visual Studio. 2. Open the project file godsinf.vbproj from the \source folder of the target
directory.
3. Press CTRL-SHIFT-B or click Build > Build Solution.
Save the changes to the solution file in the same \source directory when prompted. The generated DLL file name will be godsinf.dll and will be available from the \source\godsinf\bin folder of the target directory.
Registering GODSINF.DLL
As the .NET DLL (godsinf.dll) will be referred from a COM environment (goddtop.dll), you must register the .NET DLL using the RegAsm.exe command line utility. Before registering, copy the newly compiled godsinf.dll available in c:\sct\banner\goddtop\source\godsinf\bin directory to the target directory where the Desktop Tools application is installed.
RegAsm.exe [FullPath]\godsinf.dll /tlb: [FullPath]\godsinf.tlb [Full Path]\godsinf.dll /codebase
For example:
RegAsm.exe C:\sct\banner\goddtop\godsinf.dll /tlb: C:\sct\banner\goddtop\godsinf.tlb /codebase godsinf.tld
Note File RegAsm.exe in the same folder where the .NET framework is installed. For example, c:\windows\microsoft.net\framework\v1.1.4322. However, if you
10-6
July 2010
are using Visual Studio 2005 you need to download and install .NET Framework 2.0 from http://www.microsoft.com/downloads/
details.aspx?displaylang=en&FamilyID=0856eacb-4362-4b0d-8eddaab15c5e04f5 before registering the DLL. After downloading dotnetfx.exe, Install the same by double-clicking the .exe file. If the error message Setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one is displayed, setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one. To resolve this problem, uninstall the .NET Framework 2.0 SP 1 before you install the .NET Framework 2.0. For more information, see http://support.microsoft.com/kb/906894. You may have to uninstall earlier version of .NET Framework and then install dotnetfx.exe.
Quick Installation
1. Click Start -> Settings -> Control Panel and click Add or Remove Programs. 2. Uninstall earlier version of SCT DesktopTools or SunGard Desktop Tools and reboot
If this file is not available, install dotnetfx.exe using the default setting. If the error message Setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one is displayed, setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one. To resolve this problem, uninstall the .NET Framework 2.0 SP 1 before you install the .NET Framework 2.0. For more information, see http://support.microsoft.com/kb/906894.
5. Run REGSVR32 "c:\sct\banner\goddtop\goddtop.dll" /u. You can safely ignore
July 2010
10-7
Note If you are running Microsoft Visual Studio 2005 or higher you may need to convert the project from godsinf.vbproj to godsinf.sln. The Visual Studio wizards should do this for you automatically. 12. In Visual Studio use Solutions Explorer to open securityInfo.vb. 13. Search line 'addSecurityString("database name", G_DESKTOP_NAME,
G_DESKTOP_VERSION, "SEED1", "SEED3").
string.
Note A line starting with single quote ' is a comment line in Microsoft Visual Basic. Remove the single quote from the line in order to use role level security. Add as many database names and seed numbers as needed for your site (SEED, PROD, TEST). 15. Click Save. 16. Click Build and go to Build Solution.
directory.
10-8
July 2010
3. Close all applications and reboot the system. This is very important because you will
system.
5. Double-click goddtop-setup.exe located in the setup folder of the target directory. 6. Select the target directory. (The default is c:\sct\banner\goddtop). 7. Click Next. Note At the prompt Do you want to update the SunGard Desktop Tools DLL?, there is no need to re-register the DLL as the new DLLs have already been automatically registered. 8. Click OK to proceed with the update. 9. Reboot the system for the changes to be applied.
In addition, perform the following only when security key information is being applied from a customized DLL compiled and created on the DBA system:
1. Copy the new godsinf.dll from the DBA system to the target directory where
July 2010
10-9
If this file is not available, install dotnetfx.exe using the default setting. If the error message Setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one is displayed, setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one. To resolve this problem, uninstall the .NET Framework 2.0 SP 1 before you install the .NET Framework 2.0. For more information, see http://support.microsoft.com/kb/906894.
6. Install dotnetfx.exe. 7. Copy C:\temp\godsinf.dll into C:\sct\banner\goddtop\godsinf.dll. 8. Run c:\windows\microsoft.net\framework\v2.0.50727\regasm.exe
C:\sct\banner\goddtop\godsinf.dll /tlb: C:\sct\banner\goddtop\godsinf.tlb /codebase C:\sct\banner\goddtop\godsinf.dll.
with values
10. Open c:\sct\banner\goddtop\desktoptools.xla. 11. Enable Macros. 12. From Add-In Menu, click Connect to Database. 13. Enter valid login credentials. 14. The title bar should read "Connected to Banner".
10-10
July 2010
Citrix
Perform the following steps to install Desktop Tools on machines that run the Citrix server software:
1. Log on to the console as the administrator. 2. Put the machine into INSTALL mode. 3. Restrict access to the machine. 4. Follow the steps for installation that appear on your screen. 5. Ensure that the specified user groups have access to GODDTOP.DLL,
July 2010
10-11
10-12
July 2010
11
System-Required Data
Banner is a complex system with many parts that work together to manage your institutions data and to interact with users. When any one of the components of the system is missing, some of the systems functions may fail or may not work as intended. In some cases, data itself can be considered an essential component of the system. The complete contents of certain tables, and specific rows in other tables, must be present for the system to work correctly. This essential data is called system-required data. Systemrequired data is a subset of the seed data delivered with a new Banner installation. New Banner software releases often include seed data scripts that deliver additional systemrequired data. Generally, Banner forms and processes will prevent you from deleting system-required data. But when you are using database tools or scripts to delete rows from the database for example, during database cleanup to remove sample data before migrating into productionthere is nothing to prevent essential data from being accidentally deleted. In those situations, you should take care not to delete any system-required data. In many tables there is a System-Required Indicator column (for example, SYSTEM_REQ_IND). If the indicator has a value of Y, the row is presumed to be system required. But the system-required indicator is not a foolproof guide to Banners systemrequired data, because: Some tables do not have a system-required indicator, but nonetheless contain essential data. Some tools and processes allow users to mark rows as system required, even if they are not essential for system operation. This chapter lists system-required data for Banner General. Other system-required data is listed in the following documents: Banner GTVSDAX Handbook Banner Accounts Payable TRM Supplement Banner Advancement TRM Supplement Banner Finance TRM Supplement Banner Financial Aid TRM Supplement Banner Human Resources TRM Supplement Banner Student TRM Supplement
July 2010
11-1
System-Required Tables
Tables Owned by BANSECR
Tables owned by the BANSECR user ID provide the data for Banners object/user security system, including the permissions that allow the components of the Banner system to operate. These tables should never be included in automated database purge processes. If it becomes necessary to clean up the tables owned by BANSECR, it should be done carefully and manually by an administrator familiar with the institutions security setup.
Large Tables
Some General tables are delivered with hundreds of system-required rows, and it would be impractical to reprint their complete data here. Before making changes to these tables, you may wish to save an export of their data in case it becomes necessary to restore them later. Report/Process Definition Table (GJBJOBS) Jobs Parameter Definition Table (GJBPDEF) Default Parameter Table (GJBPDFT) General Jobs Parameter Value Table (GJBPVAL) Letter Generation Variable Base Table (GLBVRBL) Population Selection Rules Table (GLRSLCT) Letter Generation Variable Select Table (GLRVFRM) Letter Generation Variable Rules Table (GLRVRBL) Third-Party Function Calls Table (GOBFNXR) Parameter Group Code Rule Table (GOREQPG) Third-Party Function Parameters Table (GORPPRM) Third-Party Electronic Controls Table (GORTCTL) Voice Response Controls Table (GORVCTL) Parameters Table (GORWFPM) EDI Standard Code Validation Table (GTVSCOD) SEVIS Consular Post Codes Validation Table (GTVSVCP) General Menu Repeating Table (GURMENU) Banner Business Entity Table (GURMESG) Option Menu Repeating Table (GUROPTM)
11-2
July 2010
Other Tables
The Crosswalk Validation Table (GTVSDAX) contains important SunGard-delivered data. See the Banner GTVSDAX Handbook for complete details. Seed data for the FGAC Domain Policy Table (GORFDPL) is documented in the Banner Data Security Handbook (formerly titled Banner FGAC Handbook). The Institutional Description Table (GUBINST) must contain at least one row. It is delivered with example data that you can modify or replace with your own institutions data. Normally, you will have no reason to edit the following tables that contain systemrequired data: The General Version Tracking Table (GURVERS), which tracks the version history of the Banner General product The Dynamic Help Table (GUBBHLP), which holds the SunGard-delivered Dynamic Help for Banner forms, blocks, and fields.
System-Required Rows
Specific SunGard-delivered, system-required values are listed in this section, organized alphabetically by table name. Even though these are considered system-required values, not all of the values listed here need to be present in every institutions Banner database. Many of the tables and values support specific Banner systems, subsystems, and functions. If your institution does not use those components of Banner, then the absence of the corresponding data will not cause any problem. As an example, the FGAC Domain Driver Table Table (GOBFDMN) maintains driver tables for VBS and PII processing. In the section below, you will see driver tables listed in GOBFDMN for all of the Banner products. If your institution has not implemented Banner Finance, for example, then the absence of Finance driver table entries in the GOBFDMN table would not cause any problems.
GLBAPPL Application
ALUMNI FINAID WKBOOK COURTS HRAPPL
System Code
A R G C H
July 2010
11-3
GLBAPPL Application
HREMPL WORKBOOK STUDENT GENERAL RECRUITING ADMISSIONS HOUSING BANSTU_SAMPLE PIN_RESET COBRA_APPL
System Code
H S S G S S S S G H
GLBOBJT
Select Married Persons Select Divorced Persons Select Single Persons Not Dead Rules Select Women Recruit Term Select Men table joins Recruit College Recruit Major Recruit Level person most accurate name and ID
GLBSLCT Application
FINAID FINAID STUDENT STUDENT ALUMNI ALUMNI ALUMNI ALUMNI ALUMNI
Creator ID
FAISMGR FAISUSR SAISUSR SAISUSR ADISUSR ADISUSR ADISUSR ADISUSR ADISUSR
Description
not selected - not packaged Temporary 199510 New Frosh Registrations 199510 New Frosh Enrollees Alumni by preferred class Alumni by preferred class Alumni by preferred class All prospects Prospect Research Population
11-4
July 2010
GLBSLCT Application
FINAID FINAID RECRUITING FINAID FINAID FINAID FINAID FINAID FINAID FINAID FINAID FINAID HREMPL ALUMNI ALUMNI ALUMNI WKBOOK FINAID FINAID FINAID FINAID FINAID FINAID STUDENT FINAID FINAID BANSTU_SAMPLE BANSTU_SAMPLE FINAID BANSTU_SAMPLE BANSTU_SAMPLE WKBOOK BANSTU_SAMPLE WKBOOK FINAID BANSTU_SAMPLE
Creator ID
FAISMGR FAISMGR SAISUSR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISUSR FAISPRD FAISUSR FAISPRD HRISUSR ADISUSR ADISUSR ADISUSR SAISUSR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR SAISUSR FAISMGR FAISMGR SAISUSR SAISUSR FAISUSR SAISUSR SAISUSR SAISUSR SAISUSR SAISUSR FAISMGR SAISUSR
Description
late applicants on time applicants Selection of 1993 Recruits sel for verif. - not completed Housing Code Selection Need Need manual pop selection All Requirements Complete Students Needing Award Letters Needy From PA Students With Large Gross Need Employee Dedn List Negative amount duemembership Matching Gift Form Not Recvd IDs with grouped gifts Select All Men Never had a tracking letter Track Letter not sent since Award Letter Flag = Y Track Letter Flag = Y receiving va benefits Receiving SS benefits 199510 New Frosh Enrollees have dependent child expenses not a U.S. citizen Students with Contracts Students with Exemptions Manual 199610 enrolled students Select Men 199610 Enrolled Students 199510 N & T enrolled UG 199610 Current Students has rorstat record in aid year 199510 Ug, New
July 2010
11-5
GLBSLCT Application
ADMISSIONS FINAID FINAID FINAID FINAID FINAID FINAID FINAID FINAID FINAID FINAID HOUSING FINAID
Creator ID
SAISUSR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR FAISMGR SAISUSR FAISUSR
Description
Fall 1996 Applicants afdc recipient Need Analysis Records all students in budget group all students in track group all students in pckg group receive child support citizenship verification all disb req. complete all pckg req. complete all requirements complete Active Housing Assignments manual1
For all entries listed above, Lock Indicator is N, and Type is null.
GLRAPPL Application
ADMISSIONS
Letter Generation Application Rules Table Seq. Line No. No. Data Element Operator
=
Value
&APPLICATION_ TERM &RECRUITING_ TERM
AND/ OR
5 4 1 1 2 3 1 2 3
1 1 1 1 2 3 1 2 3
RECRUITING
COURTS
HRAPPL HRAPPL
PABAPPL_PIDM SPRIDEN_ENTITY_ IND SPRIDEN_CHANGE_ IND PEBEMPL_PIDM SPRIDEN_ENTITY_ IND SPRIDEN_CHANGE_ IND
HRAPPL
IS NULL
HREMPL HREMPL
= =
SPRIDEN_PIDM P
AND AND
HREMPL
IS NULL
11-6
July 2010
GLRAPPL Application
WORKBOOK
Letter Generation Application Rules Table Seq. Line No. No. Data Element Operator
IS NULL
Value
AND/ OR
AND
1 2 3
1 2 3
WORKBOOK
AND
WORKBOOK
IS NULL
GLROBJT Object
RECR_COLL
Letter Generation Object Rules Table Seq. Line No. No. Data Element Operator
=
Value
&recr_coll
AND/ OR
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
SRBRECR_COLL_ CODE SPBPERS_MRTL_ CODE SPBPERS_MRTL_ CODE SPBPERS_MRTL_ CODE SPBPERS_DEAD_ IND SPBPERS_SEX SRBRECR_COLL_ CODE SPBPERS_MRTL_ CODE SPBPERS_MRTL_ CODE SPBPERS_MRTL_ CODE SPBPERS_DEAD_ IND SPBPERS_SEX
MARRIED
DIVORCED
SINGLE
NOT_DEAD
IS NULL = = F &recr_coll
WOMEN RECR_COLL
MARRIED
DIVORCED
SINGLE
NOT_DEAD
IS NULL = F
WOMEN
July 2010
11-7
GLROBJT Object
RECR_TERM
Letter Generation Object Rules Table Seq. Line No. No. Data Element Operator
=
Value
&recr_term
AND/ OR
1 1 1
1 1 1
MEN RCRAPP1RCRAPP2_ JOINS RCRAPP1RCRAPP2_ JOINS RCRAPP1RCRAPP2_ JOINS RCRAPP1RCRAPP2_ JOINS RECR_MAJR
= =
M RCRAPP2_PIDM AND
RCRAPP1_AIDY_ CODE
RCRAPP2_AIDY_ CODE
AND
RCRAPP1_INFC_ CODE
RCRAPP2_INFC_ CODE
AND
RCRAPP1_SEQ_ NO
RCRAPP2_SEQ_ NO
1 1 1 1
1 1 1 1
&recr_majr
RECR_LEVL
&recr_levl
IS NULL
GLRSFRM Application
ALUMNI ALUMNI ALUMNI ALUMNI ALUMNI
Select Clause
APBCONS_PIDM APBCONS_PIDM APBCONS_PIDM AMRINFO_PIDM AMRPUSR_PIDM
From Clause
APBCONS APBCONS APBCONS AMRINFO AMRPUSR, APBCONS
Order By
Group By
11-8
July 2010
GLRSFRM Application
RECRUITING FINAID FINAID FINAID HREMPL FINAID FINAID FINAID FINAID FINAID
Select Clause
SRBRECR_PIDM RORSTAT_PIDM RORSTAT_PIDM RORSTAT_PIDM PDRDEDN_PIDM RORSTAT_PIDM RORSTAT_PIDM RORSTAT_PIDM RORSTAT_PIDM RORSTAT_PIDM
From Clause
SRBRECR RORSTAT RORSTAT RORSTAT PDRDEDN RORSTAT RORSTAT RORSTAT RORSTAT RORSTAT, RCRAPP1 RORSTAT RORSTAT AARMEMB A RORSTAT RORSTAT, RCRAPP1 RORSTAT, RCRAPP1 RORSTAT RORSTAT RORSTAT RORSTAT, RCRAPP1 RORSTAT RORSTAT RORSTAT, RCRAPP1
Order By
Group By
RCRAPP1
FINAID FINAID
RORSTAT_PIDM RORSTAT_PIDM
FINAID
CITIZENSHIP
RORSTAT_PIDM
July 2010
11-9
GLRSFRM Application
ALUMNI
Select Clause
AGBMGID_EMPL_P IDM AGRRCPT_PIDM SPBPERS_PIDM RORSTAT_PIDM
From Clause
AGBGIFT, AGBMGID AGRRCPT SPBPERS RORSTAT, RRRAREQ RORSTAT
Order By
Group By
FINAID
TRACK1
RORSTAT_PIDM
RRRAREQ
SPRIDEN GURMAIL A
RORSTAT RORSTAT RORSTAT, RCRAPP1 RORSTAT SGBSTDN A SGBSTDN A SGBSTDN A RCRAPP1 RCRAPP1 TBBESTU SFBETRM SPBPERS SFBETRM SGBSTDN A SGBSTDN A RORSTAT
SPRIDEN SPRIDEN
FINAID STUDENT
SS_BENEFITS 199510_NEW_FROSH
RORSTAT_PIDM SGBSTDN_PIDM
RCRAPP1
STUDENT
SGBSTDN_PIDM
STUDENT
SGBSTDN_PIDM
RCRAPP3
WKBOOK
SGBSTDN_PIDM
FINAID
RORSTAT_RECORD
RORSTAT_PIDM
SPRIDEN
11-10
July 2010
GLRSFRM Application
BANSTU_SAMPLE
Select Clause
SGBSTDN_PIDM
From Clause
SGBSTDN A SARADAP RCRAPP1 SLRRASG, STVASCD
Order By
Group By
RORSTAT
Directory Options Rule Table Directory Type Item Type Sequence Number
A A A S S E E A E S S E A D A A A A D D
N A T A T A T T N N N N N N A T A T N N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
For all entries above, Included in Directory is N, Display in Directory is N, and Default Indicator is N.
July 2010
11-11
FGAC Domain Driver Table Table Table Name Type PII Column Name
TBRACCD_PIDM FTVCUST_PIDM FCBEMPL_PIDM FTVVEND_PIDM FTVFMGR_FMGR_ CODE_PIDM FTVAGCY_AGCY_ CODE_PIDM
TBRACCD FTVCUST FCBEMPL FTVVEND FTVFMGR FTVAGCY GOBFGAC GORFPRD GOBINTL SPRADDR SPRMEDI SPRTELE PABAPPL PDRBENE PCBPERS RORSTAT SARADAP SIBINST SLBRMAP SGBSTDN SRBRECR SFBETRM SHRTTRM
PII PII PII PII PII PII VBS VBS VBS VBS VBS VBS PII PII PII PII PII PII PII PII PII PII PII
FB_AGENCY_PII
GB_FGACACCESS_VBS GB_FGAC_PREDICATE_VBS GB_INTERNATIONAL_VBS GB_SPRADDR_VBS GB_SPRMEDI_VBS GB_SPRTELE_VBS PB_APPLICANT_PII PB_BENEFITS_PII PB_COBRA_PII RB_FINAID_PII SB_ADMISSIONS_PII SB_FACULTY_PII SB_HOUSING_PII SB_GENSTUDENT_PII SB_RECRUIT_PII SB_REGISTRATION_PII SB_TRANSFER_PII
PABAPPL_PIDM PDRBENE_PIDM PCBPERS_PIDM RORSTAT_PIDM SARADAP_PIDM SIBINST_PIDM SLBRMAP_PIDM SGBSTDN_PIDM SRBRECR_PIDM SFBETRM_PIDM SHRTTRM_PIDM
11-12
July 2010
FGAC Domain Driver Table Table Table Name Type PII Column Name
APBCONS_PIDM AOBORGN_PIDM
APBCONS AOBORGN SRBRECR PEBEMPL SGBSTDN SCBCRSE SSBSECT RORSTAT RORSTAT SORLCUR SORLFOS SARADAP STVTESC SORTEST STVGPAT SORGPAT SORGPAT SORTEST
PII PII VBS PII VBS VBS VBS VBS VBS VBS VBS VBS VBS VBS VBS VBS VBS VBS
PEBEMPL_PIDM
For all entries above, Enable PII Indicator is delivered with the value N.
GOBFDTP
FGAC Domain Type Rule Table Domain Type Code Predicate Indicator
PII VBS
N Y
July 2010
11-13
GOBFEOB Objects Excluded from FGAC Processing Rules Table This table lists objects that bypass FGAC rules. Objects listed in GOBFEOB have full access to data regardless of VBS or PII rules that might otherwise apply. Following is the complete list of objects included in seed data for GOBFEOB, organized alphabetically.
AAPACKN, AAPADJS, AAPCARD, AAPFEED, AAPREMD, AAPRNEW, AAPSTAT, ADPACCT, ADPCFAE, ADPEXPD, ADPFEED, ADPPFED, ADPVSER, AFPCAMR, AFPDONR, AFPSOLA, AFPSOLB, AFPSOLC, AFPTELF, AGPACCT, AGPACKN, AGPACKR, AGPADJS, AGPALMP, AGPCASH, AGPDCGL, AGPGANL, AGPGCOM, AGPLYSY, AGPMATA, AGPMATC, AGPMATF, AGPMATG, AGPMATS, AGPPACT, AGPPOUT, AGPREM1, AGPREM2, AGPSCTA, AGPTLMK, ALPMAIL, ALPMSEL, APAPPFL, APPAPFL, APPCEN1, APPCEN2, APPCLST, APPCONS, APPCUPD, APPDCAR, APPDCLB, APPDCLS, APPDEXT, APPDFLS, APPDPRC, APPSTDI, ASPSOLA, ASPSOLB, ASPSORL, AXPMATG BWPREDIR CRQC3000 FAB1099, FABCHK1, FABCHKA, FABCHKD, FABCHKP, FABCHKR, FABCHKS, FABMATC, FAM1099, FAPCARD, FAPCDIR, FAPDIRD, FAPINVT, FAPTREG, FARAAGE, FARBBAL, FARBREC, FARCHKR, FARCSHR, FARDIRD, FARIAGE, FARINVA, FARINVS, FARIREC, FAROINV, FARVALP, FARVHST, FARVNUM, FARWHLD, FARWHLY, FAT1099, FATCHKS, FBRAPPD, FBRAPPR, FBRBDBB, FBRBDDS, FBRBDRL, FBRFEED, FBRMCHG, FBRWKSH, FCBBILL, FCBEQPT, FCBINVT, FCBLABR, FCBMATL, FCRBDTR, FCRSCHD, FCRVARA, FEPOEXT, FFPDEPR, FFPOEXT, FFRAGRP, FFRDTGA, FFRDTGT, FFRMAST, FFRPROC, FFRPROP, FGPGEXT, FGRACCI, FGRACTG, FGRACTH, FGRACTV, FGRAGYH, FGRBAVL, FGRBDRL, FGRBDSC, FGRBIEX, FGRBLSH, FGRCASH, FGRCBSR, FGRCGBA, FGRCGBS, FGRCHFB, FGRCHNA, FGRCLOP, FGRCOBS, FGRCREF, FGRCSBA, FGRCSCF, FGRCSRE, FGRCSRP, FGRCSSR, FGRCTRL, FGRCUNA, FGRENRL, FGRFAAC, FGRFBAL, FGRFITD, FGRFNDH, FGRFPSN, FGRGLEX, FGRGLRL, FGRGLTA, FGRIDOC, FGRJVLR, FGRLOCH, FGRODTA, FGROPNE, FGRORGH, FGRPDTA, FGRPRAP, FGRPRAR, FGRPRGH, FGRREOB, FGRREOC, FGRTAXR, FGRTBAL, FGRTBEX, FGRTOFR, FGRTRNH, FGRTRNI, FGRTRNR, FIRBVAL, FIRDIST, FIRLINK, FIRPVAL, FIRRDST, FIRUNIT, FNPGAIN, FNPSPND, FNPUNTZ, FNRHIST, FNRPRNC, FNRSPNC, FOIIDEN, FORAPPL, FPABIDD, FPACORD, FPAPORD, FPARQST, FPPPOBC, FPRBEVL, FPRDELV, FPROPNP, FPROPNR, FPRPURA, FPRRCDL, FPRRCST, FPRVCAT, FPRVVOL, FPTBIDD, FPTPORD, FPTRQST, FRPBINF, FRPGINF, FRPMESG, FRR134B, FRR269R, FRR270B, FRR272B, FRR272R, FRRABUD, FRRAGES, FRRAGYH, FRRBDEX, FRRBEXC, FRRBILL, FRRBREV, FRRBUDG, FRRCNSF, FRREVNG, FRREVNP, FRRFEXC, FRRGBFY, FRRGENB, FRRGENR, FRRGITD, FRRGPFY, FRRGRNT, FRRGRPT, FRRGRTN, FRRINDC, FRRINVS, FRRTRNR, FSRDTLG, FSRINVL, FSRISST, FSRLWSR, FSROPNR, FSROUTP, FSRPHYR, FSRPICK, FSRPIDR, FSRPIWS, FSRPUTL, FSRSTEX, FSRSUPC, FUPLOAD, FURAPAY, FURFEED GJRRPTS, GLBDATA, GLBLSEL, GLBPARM, GLOLETT, GLRLETR, GOAEACC, GOAFPII, GOAMTCH, GORPGEO, GORSEVE, GORSGEO, GPPADDR, GUASYST, GUAVRFY, GUIALTI, GUPDELT, GURDETL, GURHELP, GURINSO, GURPDED, GURTABL, GURTEXT, GURTPAC HWPREDIR, HWSRCTLG, HWSRSCHD IRRKAWD, IRRKTRK, IRRKTRN, ISRKADM, ISRKBIL, ISRKCRS, ISRKGRD, ISRKSCH, ISRKTRN NBPBROL, NBPBUDM, NBPENCB, NBPMASS, NBPSPEX, NBPSPUP, NBRBWRK, NBRPCLS, NBRPINC, NBRPOSN, NBRPSTA, NHPFIN1, NHPFIN2, NHRBDST, NHRDIST, NHRECRT, NHREDST, NHRSDST, NOPEAMA, NORAPTR PARAPPL, PARMAPP, PARREQS, PCRCORT, PCRLTRS, PCRNOTF, PCRRATE, PDP1042, PDPBDMC, PDPCFLX, PDPF496, PDPFLEX, PDPLIFE, PDPMR87, PDPPERS, PDRBCOV, PDRBFDN, PDRBLST, PDRFLEX, PDRFLXU, PDRFUPT, PDRLIFE, PEP1042, PEPAEXT, PEPCSAL, PEPEDEX, PEPFACL, PEPPCRE, PERAPND, PERCAF7, PEREO11, PEREO1D, PEREO41, PEREO4D, PEREO51, PEREO5D, PEREO61, PEREO62, PEREO6D, PERFACL, PERHIRE, PERLEAV, PERORGC, PEROSHA, PERPAPP, PERPGAN, PERPHIR, PERPTER, PERREVW, PERROEC, PERTERM, PERTTTT, PERUTAN, PERV100, PERWFAN, PHPBOND, PHPBREC, PHPCALC, PHPCDIR, PHPCHEK, PHPCHKL, PHPDIRD, PHPDOCM, PHPFEXP, PHPLEAV, PHPMTIM, PHPPROF, PHPRETO, PHPTIME, PHPUPDT, PHRCDST, PHRCISS, PHRCOST, PHRDCON, PHRDERR, PHRDIRD, PHRDREG, PHRDSTT, PHRFACE, PHRHOUR, PHRLGST, PHRLRAR, PHRORGT, PHRPREG, PHRROST, PHRSTCA, PHRTMSH, PHRTREG, PORADUT, PORAUDT, PORPPFL, PPRSINV, PXP1099, PXPMT42, PXPMTT4, PXPMTTA, PXPMTTN, PXPW2MM, PXPW2MP, PXPW2TP, PXR1042, PXR1099, PXRASCD, PXRLIST, PXRP941, PXRROEC, PXRT4AC, PXRT4AN, PXRT4CN, PXRTDEP, PXRW2PR, PXRW2US RBRABUD, RBRBCMP, RCBCT05, RCBCT06, RCBTP05, RCBTP06, RCMATCH, RCPDTMP, RCPIMFM, RCPMTCH, RCRTP03, RCRTP04, RCRTP05, RCRTP06, REBCD00, REBCD01, REBCD02, REBCD03, REBCD04, REBCD05, REBCD06, RERCALX, RERCRCR, REREX03, REREX04, REREX05, RERFI00, RERFI01, RERFI02, RERFI03, RERFI04, RERFI05, RERFI06, RERIM03, RERIM04, RERIM05, RERIMEX, RERIS00, RERIS01, RERIS02, RERIS03, RERIS04, RERIS05, RERIS06, RERPELL, RERPL01, RERPL02, RERPL03, RERPL04, RERPL05, RERPR00, RERPR01, RERPR02, RERPR03, RERPR04, RERPR05, RESDTMP, RFRABAL, RFRBUDG, RFRFUND, RFRSBAL, RHRCOMM, RHRFATR, RHRTRAN, RJRAUTH, RJRDPPR, RJRLOAD, RJRPAYE, RJRSEEC, RLRLETR, RLRLOGG, RNEIN00, RNEIN01, RNEIN02, RNEIN03, RNEIN04, RNEIN05, RNEIN06, RNRPINI, RNRTMAC, RNRTMNE, RNRTMNI, RNRVRFY, ROB-
11-14
July 2010
BGRP, ROESAPR, ROOAUTO, ROOGSQL, ROPROLL, ROPSAPR, RORALOG, RORAPLT, RORBPST, RORCALC, RORFS00, RORFS01, RORFS02, RORFS03, RORFS04, RORGRDE, RORREGS, RORUSER, RPBDDRV, RPBLMIA, RPBLMID, RPBLMIE, RPBPDRV, RPBVDRV, RPBVLDT, RPEDISB, RPEPCKG, RPEPELL, RPEPINT, RPRADSB, RPRAWDB, RPRAWRD, RPRCNCL, RPRCP01, RPRCP02, RPRCP03, RPRCP04, RPRCP05, RPRDDUP, RPRDLLC, RPRDLLR, RPRDLPM, RPRDSPT, RPRDU00, RPRDU01, RPRDU02, RPRDU03, RPRDU04, RPRDU05, RPREFTL, RPREFTP, RPRELAP, RPRELAX, RPRELCT, RPRELRU, RPRHDRL, RPRLNAG, RPRLNEX, RPRLODE, RPRLORC, RPRLORE, RPRLSUM, RPRPNPT, RPRRECD, RPRRECN, RPRSAWD, RPRSBPR, RPRSTCR, RPRTIVC, RPRTIVI, RPRTIVR, RPRVABN, RRRAREQ, RRREXIT, RRRTRAN, RSRDSCP, RSRENRL, RSRPCOL SADA3202, SADA3203, SADA3204, SADA3205, SADA3206, SADAFLEX, SADAPRNT, SAPADMS, SAPAMAL, SAR189U, SARACTM, SARADMS, SARAMAL, SARAMAS, SARAMCV, SARAMDP, SARAMXF, SARBDSN, SARDCBT, SARDCSN, SAREMAL, SARETBL, SARETMT, SARETPG, SARRATE, SATAMCS, SCRBULT, SCROIMS, SCRRIMS, SCTC1500, SCTC2000, SCTC3000, SCTD0600, SCTH1000, SERADAL, SERCBREC, SERCCRC, SERLOAD, SERPSRC, SERSAREC, SERSBREC, SERSDREC, SERSEREC, SERSIREC, SERSMREC, SERSPREC, SERSVRC, SERSXREC, SERXBREC, SERXCREC, SERXEREC, SERXFREC, SFPAGRD, SFPBLCK, SFPCREQ, SFPENRL, SFPFAUD, SFPFREQ, SFPREGS, SFPWAIT, SFRENRL, SFRFASC, SFRFEES, SFRHCNT, SFRLINK, SFRNOWD, SFRNSLC, SFRPINI, SFRRGAM, SFRRNOP, SFRSCHD, SFRSLST, SFRSSCR, SFRTMST, SFRWDRL, SGPBLCK, SGPCOOP, SGPHOLD, SGPSTDN, SGRCHRT, SGRKNOW, SGRSTDN, SGRVETN, SHPTAEQ, SHPTRTC, SHRASTD, SHRCATT, SHRCGPA, SHRCIPC, SHRCOMM, SHRCONV, SHRDEGS, SHRDEGV, SHREDII, SHREDIP, SHREDIR, SHREDIY, SHRETRP, SHRGPAC, SHRGRDE, SHRIACT, SHRIAGE, SHRICIP, SHRIETH, SHRIGRS, SHRIPDS, SHRIQUS, SHRIRES, SHRPREV, SHRROLL, SHRRPTS, SHRTAEQ, SHRTECA, SHRTPOP, SHRTRTC, SHRTYPE, SIPASGN, SIRASGQ, SIRCTAL, SIRTRAL, SLPHOUS, SLRBACS, SLRDADD, SLRFASM, SLRHLST, SLRROLL, SLRSCHD, SLRSCHE, SMPCPRG, SMRBCMP, SMRCMPL, SMRCRLT, SMRRLST, SOAIDEN, SOPAPPT, SOPLCCV, SOPLCPG, SOPSATS, SORAINF, SORCPLN, SOREMAL, SORHSRP, SORLCHG, SORPCSM, SORPGEO, SORSBSM, SORSGEO, SPRPDIR, SRREMAL, SRRENRH, SRRENRL, SRRINQR, SRRPREL, SRRSRIN, SRTLOAD, SRTPURG, SSPMFEE, SSPRDEF, SSPROLL, SSPSCHD, SSRATSQ, SSRRESV, SSRROLL, SSRSCMT, SSRSCPR, SSRSCRM, SSRSCUP, SSRSECT, SSRTALY, SSRUSEC, SURDELT, SURLOAD TFRBILL, TFRDETL, TFRLATE, TFRRFND, TGPBILL, TGPHOLD, TGRAGES, TGRAPPL, TGRCDEL, TGRCLOS, TGRCOLC, TGRCSHR, TGRDELI, TGRDETC, TGRFEED, TGRMISC, TGRRCON, TGRRCPT, TGRUNAP, TRRAGES, TRRAPPL, TRRCOLL, TRRRCON, TRRUNAP, TRRUNPL, TSP1098, TSPISTA, TSPISTT, TSR1098, TSRBTOT, TSRCBIL, TSRDETL, TSRLATE, TSRLBOX, TSRRFND, TSRROLL, TSRSSUM, TSRTBIL, TSRTRAF, TSRTSUM, TVPREQA, TVRCRED
GORCCOL
Capture Table Capture Columns
GOREMAL_EMAIL_ADDRESS GOREMAL_PREFERRED_IND GOREMAL_STATUS_IND GORIROL_ROLE GORIROL_ROLE_GROUP SPBPERS_BIRTH_DATE SPBPERS_LEGAL_NAME SPBPERS_NAME_PREFIX SPBPERS_NAME_SUFFIX SPBPERS_PREF_FIRST_NAME SPBPERS_SEX SPBPERS_SSN SPRADDR_ATYP_CODE SPRADDR_CITY SPRADDR_CNTY_CODE SPRADDR_NATN_CODE SPRADDR_STATUS_IND SPRADDR_STAT_CODE SPRADDR_STREET_LINE1 SPRADDR_STREET_LINE2 SPRADDR_STREET_LINE3 SPRADDR_ZIP
GOREMAL
GORIROL SPBPERS
SPRADDR
July 2010
11-15
Capture Table
Capture Columns
SPRIDEN_CHANGE_IND SPRIDEN_ENTITY_IND SPRIDEN_FIRST_NAME SPRIDEN_LAST_NAME SPRIDEN_MI SPRTELE_PHONE_AREA SPRTELE_PHONE_EXT SPRTELE_PHONE_NUMBER
SPRIDEN
SPRTELE
GORCRUL
Capture Table Capture Rule
SPRIDEN_CHANGE_IND is NULL SPRIDEN_ENTITY_IND IN (P)
SPRIDEN
GORCMDD
Common Matching Data Dictionary Table Max. Lnth. Override Lnth. Allow Neg. Lnth. Online Ind. Req. Element
Table
SPRIDEN SPRIDEN
Column
SPRIDEN_ID SPRIDEN_SEARCH_ LAST_NAME
Element
9 60
Y Y
Y N
Y Y
N Y
SPRIDEN
15 15
Y Y Y Y N Y N N
N N N N N N N N
Y Y Y Y Y Y Y Y
N N N N N N N N
SPRIDEN
SPRADDR
SPRADDR_ZIP
SPRADDR SPRADDR
SPRADDR_NATN_CODE SPRADDR_CNTY_CODE
11-16
July 2010
GORCMDD
Common Matching Data Dictionary Table Max. Lnth. Override Lnth. Allow Neg. Lnth. Online Ind. Req. Element
Table
SPRTELE
Column
SPRTELE_PHONE_AREA
Element
3 7 9 2
Y Y Y N N N N Y
N N Y N N N N N
Y Y Y Y Y Y Y Y
N N N N N N N N
SPRTELE
SPRTELE_PHONE_NUMBER
SPBPERS
SPBPERS_SSN
SPBPERS
SPBPERS_BIRTH_DAY
SPBPERS
SPBPERS_BIRTH_MON
SPBPERS
SPBPERS_BIRTH_YEAR
SPBPERS GOREMAL
SPBPERS_SEX GOREMAL_EMAIL_ADDRES S
GORCTAB
Capture Table
July 2010
11-17
Add-In Data Lookup Repeating Table Lookup Description Menu Seq. # Position Control Ind. HR Ind. Finance Ind.
Load Function
BANINST1.FBKD2SS. P_GET_FUND_LOOKUP BANINST1.GOKDSSB. P_GET_ORGN_LOOKUP BANINST1.FBKD2SS. P_GET_PROG_LOOKUP BANINST1.FBKD2SS. P_GET_ACCT_LOOKUP BANINST1.FBKD2SS. P_GET_LOCN_LOOKUP BANINST1.FBKD2SS. P_GET_ACTV_LOOKUP BANINST1.NBKD2SB. P_LOOKUP_POSN BANINST1.NBKD2SB. P_LOOKUP_FISCYR BANINST1.NBKD2SB. P_LOOKUP_ECLS BANINST1.NBKD2SB. P_LOOKUP_OBUD BANINST1.NBKD2SB. P_LOOKUP_OBPH BANINST1.NBKD2SB. P_LOOKUP_EARN BANINST1.NBKD2SB. P_LOOKUP_BDCA
Fund Code Lookup Organization Code Lookup Program Code Lookup Account Code Lookup Location Code Lookup Activity Code Lookup Position Lookup Fiscal Year Lookup Employee Class Lookup Budget ID Lookup Budget Phase Lookup
1 2 4 3 6 5 7 8 9 10 11
N Y N N N N N N N N N N N
N Y N N N N Y Y Y N N Y Y
Y Y Y Y Y Y Y Y Y Y Y N N
G_ORGN
F_PROG
F_ACCT
F_LOCN
F_ACTV
N_POSN
N_FISCYR
N_ECLS
N_OBUD
N_OBPH
N_EARN
N_BDCA
For all entries above, Add-In Code is BUDGET, Financial Aid Indicator is N, Billcsh Indicator is N, Alumni Indicator is N, Student Indicator is N.
11-18
July 2010
Data Type
Data Length
D C C C C C C C C C C C D C C C C C C C C C C C
12 30 30 30 9 99 30 30 9 30 30 30 12 30 30 9 99 30 30 30 9 3 30 9
For all entries above, Display Object is GOAMTCH, Query Column is null, and Numeric Precision is null.
GORDPRP Code
REQUIRED REQUIRED PICTURE PICTURE PICTURE MULTISELECT
Description
TRUE FALSE Wizard with Fund Wizard holding Book Wizard with Organization TRUE
July 2010
11-19
GORDPRP Code
MULTISELECT FINDDISPLAYED FINDDISPLAYED PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE PICTURE
Description
FALSE TRUE FALSE Wizard with question marks Wizard with exclamation points Wizard with Account Wizard with Program Wizard with Location Wizard with Activity Wizard holding a Finish Flag Wizard holding a calendar Wizard behind a chart Wizard with stack of blocks Wizard with money bags Wizard holding spreadsheets
Step Name
F_ACCT_FBBBLIN F_ACCT_FGBOPAL F_ACCT_FRRGRNL F_ACTV_FBBBLIN F_ACTV_FGBOPAL F_ACTV_FRRGRNL F_AMTTYPE_FBBBLIN F_AMTTYPE_FGBOPAL F_AMTTYPE_FRRGRNL F_BUDGETDEV F_BUDGID F_BUDGPH F_CMT_TYPE F_COAS F_FISCPERIOD F_FISCYEAR F_FUND_FBBBLIN F_FUND_FGBOPAL F_FUND_FRRGRNL F_GRCODE F_GRPERIOD F_GRYEAR F_LOCN_FBBBLIN
Step Type
ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN OPTION ONEWIN ONEWIN OPTION ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN
11-20
July 2010
Step Name
F_LOCN_FGBOPAL F_LOCN_FRRGRNL F_ORGN_FBBBLIN F_ORGN_FGBOPAL F_ORGN_FRRGRNL F_PROG_FBBBLIN F_PROG_FGBOPAL F_PROG_FRRGRNL F_REQ_COMPLETE G_TABLE_NAME N_BUDGID N_BUDGPH N_COAS N_ECLS N_FISCYR N_JOBS N_JOBS_COAS N_JOBS_COLS N_JOBS_DATE N_JOBS_INFO N_ORGN N_SOURCE F_UPLOAD_BOOK F_UPLOAD_BUDGID F_UPLOAD_COAS F_UPLOAD_FINISH F_UPLOAD_HEADERS F_UPLOAD_MAPPING F_UPLOAD_MAPPING_DUR F_UPLOAD_PERM F_UPLOAD_PHASE F_UPLOAD_SEQNO G_UPLOAD_TABLE N_UPLD_BUDGID N_UPLD_BUDGPH N_UPLD_COAS N_UPLD_FINISH N_UPLD_FISCYR N_UPLD_FTOT_BOOK N_UPLD_FTOT_MAP N_UPLD_HDERS_WARNING N_UPLD_PLBD_BOOK N_UPLD_PLBD_MAP N_UPLD_PLBD_MAP_NOFIN N_UPLD_PTOT_BOOK
Step Type
ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN TEXT OPTION ONEWIN ONEWIN ONEWIN ONEWIN ONEWIN OPTION ONEWIN TWOWIN FREEFORMAT OPTION ONEWIN OPTION WKSHEET ONEWIN ONEWIN TEXT ONEWIN COLUMNMAP COLUMNMAP OPTION ONEWIN TEXT OPTION ONEWIN ONEWIN ONEWIN TEXT ONEWIN WKSHEET COLUMNMAP TEXT WKSHEET COLUMNMAP COLUMNMAP WKSHEET
July 2010
11-21
Step Name
N_UPLD_PTOT_MAP N_UPLD_RTOT_BOOK N_UPLD_RTOT_MAP F_VAL_BOOK F_VAL_BUDGID F_VAL_COAS F_VAL_FINISH F_VAL_HEADERS F_VAL_MAPPING F_VAL_MAPPING_DUR F_VAL_PERM F_VAL_PHASE F_VAL_SEQNO G_VAL_TABLE N_VAL_BUDGID N_VAL_BUDGPH N_VAL_COAS N_VAL_FINISH N_VAL_FISCYR N_VAL_FTOT_BOOK N_VAL_FTOT_MAP N_VAL_HDERS_WARNING N_VAL_PLBD_BOOK N_VAL_PLBD_MAP N_VAL_PLBD_MAP_NOFIN N_VAL_PTOT_BOOK N_VAL_PTOT_MAP N_VAL_RTOT_BOOK N_VAL_RTOT_MAP N_UPLD_SGRP N_VAL_SGRP
Step Type
COLUMNMAP WKSHEET COLUMNMAP WKSHEET ONEWIN ONEWIN TEXT ONEWIN COLUMNMAP COLUMNMAP OPTION ONEWIN TEXT OPTION ONEWIN ONEWIN ONEWIN TEXT ONEWIN WKSHEET COLUMNMAP TEXT WKSHEET COLUMNMAP COLUMNMAP WKSHEET COLUMNMAP WKSHEET COLUMNMAP ONEWIN ONEWIN
Locked
Required
Y Y Y Y N N Y Y
Y Y Y Y Y N Y Y
11-22
July 2010
Locked
Required
Y Y N N N N N N Y Y Y Y N Y Y N N N N N Y N Y Y Y Y Y N N N N N N N N N N N N
Y Y N N N N N Y Y Y Y Y N Y Y N N N N N Y Y Y Y Y Y Y N N N N N N N N N N N N
July 2010
11-23
Locked
Required
N N N N N Y Y Y N N Y N N Y Y Y Y Y Y Y N Y Y Y
N N N Y N Y Y Y N N Y Y N Y Y Y Y Y Y Y Y Y Y Y
Add-In Wizard Association Table Description Add-In Code Menu Seq. Fin. Aid Position Control Billcsh
1 2 3
N N N
Y Y Y
N N N
Wizard Name
HR
Advance. Student
Finish Function
BANINST1.GOKDSSB.P_FINISH_DOWNLOAD
DOWNLOAD
11-24
July 2010
Wizard Name
HR
Finance
Advance. Student
Finish Function
BANINST1.GOKDSSB.P_FINISH_VALIDATION BANINST1.GOKDSSB.P_FINISH_UPLOAD
VALIDATION UPLOAD
Wizard Name
Y Y
Y Y
N N
N N
Next Function
BANINST1.GOKDSSB.P_NEXT_DOWNLOAD BANINST1.GOKDSSB. P_NEXT_VALIDATION BANINST1.GOKDSSB.P_NEXT_UPLOAD
Unload Function
BANINST1.GOKDSSB.P_UNLOAD_BUDGET BANINST1.GOKDSSB.P_UNLOAD_BUDGET BANINST1.GOKDSSB.P_UNLOAD_BUDGET
Status
I I I I I I I I I I I I I I I I I I I I I I I I I I I
July 2010
11-25
Status
I I I A A I I I I I I I I I I I I I I I I I I
Active
Driver SQL
gokfgac.f_find_pii_domain
SPRIDEN
GORRSQL Process Code
CARDHOLDER_ROLES CARDHOLDER_ROLES CARDHOLDER_ROLES
Start Date
Select From
Select Value
SELECT SELECT SELECT
1 1 1
Y Y Y
11-26
July 2010
Start Date
Select From
Select Value
SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT
1 1 1 1 1 1 1 1 1 1 1 2 1 2
Y Y Y Y Y Y Y Y Y Y Y N Y N
19-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM 27-OCT-05 FROM
For all entries above, Validated Indicator is Y, and End Date is null. The Where Clause and Parsed SQL values for each row are shown in the tables below.
July 2010
11-27
Rule Code
ALUMNUS
Seq. No.
Where Clause
SELECT DISTINCT aprcatg_pidm FROM spriden, atvdonr, aprcatg WHERE spriden_entity_ind = 'P' AND spriden_change_ind IS NULL AND aprcatg_pidm = spriden_pidm AND atvdonr_code = aprcatg_donr_code AND atvdonr_alum_ind = 'Y' SELECT pebempl_pidm FROM pebempl WHERE NVL(pebempl_term_date, TRUNC(SYSDATE) + 1) > TRUNC(SYSDATE) AND NVL(pebempl_loa_beg_date, TRUNC(SYSDATE) - 1) < TRUNC(SYSDATE) AND pebempl_empl_status IN ('A', 'F', 'P') SELECT sgbstdn_pidm FROM sgbstdn a, stvstst WHERE a.sgbstdn_stst_code = stvstst_code AND stvstst_reg_ind = 'Y' AND a.sgbstdn_term_code_eff = (SELECT MAX (b.sgbstdn_term_code_eff) FROM sgbstdn b WHERE b.sgbstdn_pidm = a.sgbstdn_pidm AND b.sgbstdn_term_code_eff <= :TERM) SELECT sfbetrm_pidm FROM stvests, sfbetrm WHERE sfbetrm_term_code = :TERM AND stvests_code = sfbetrm_ests_code AND stvests_wd_ind = N SELECT DISTINCT aprcatg_pidm FROM aprcatg WHERE EXISTS (SELECT X FROM atvdonr WHERE atvdonr_code = aprcatg_donr_code AND atvdonr_alum_ind = Y) SELECT DISTINCT sarappd_pidm FROM sarappd WHERE sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind = Y)
EMPLOYEE
STUDENT
STUDENT_ ENROLLED
ALUMNI
APPACCEPT
11-28
July 2010
Rule Code
APPLICANT
Seq. No.
Where Clause
SELECT DISTINCT p.saradap_pidm FROM saradap p WHERE NOT EXISTS (SELECT Y FROM sarappd WHERE sarappd_pidm = p.saradap_pidm AND sarappd_term_code_entry = p.saradap_term_code_entry AND sarappd_appl_no = p.saradap_appl_no AND ( sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_inst_acc_ind = Y AND stvapdc_stdn_acc_ind IS NULL) OR sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind IS NOT NULL))) AND NOT EXISTS (SELECT Y FROM saradap s WHERE s.saradap_pidm = p.saradap_pidm AND s.saradap_term_code_entry = p.saradap_term_code_entry AND s.saradap_levl_code = p.saradap_levl_code AND EXISTS (SELECT Y FROM sarappd WHERE sarappd_pidm = s.saradap_pidm AND sarappd_term_code_entry = s.saradap_term_code_entry AND sarappd_appl_no = s.saradap_appl_no AND ( sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_inst_acc_ind = Y AND stvapdc_stdn_acc_ind IS NULL) OR sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind IS NOT NULL)))) SELECT DISTINCT twgrrole_pidm FROM twgrrole WHERE twgrrole_role = DEVELOPMENTOFFICER
DEVELOPMENT OFFICER
July 2010
11-29
Rule Code
EMPLOYEE
Seq. No.
Where Clause
SELECT pebempl_pidm FROM pebempl, gtvsdax WHERE gtvsdax_external_code(+) = pebempl_ecls_code AND gtvsdax_internal_code_group(+) = 'INTCOMP' AND gtvsdax_internal_code(+) = 'LDIEMPEX' GROUP BY pebempl_pidm HAVING COUNT(gtvsdax_external_code) = 0 SELECT DISTINCT gobeacc_pidm FROM gobeacc, fobprof WHERE fobprof_user_id = gobeacc_username AND fobprof_web_access_ind = Y SELECT DISTINCT aprcatg_pidm FROM aprcatg WHERE EXISTS (SELECT X FROM atvdonr WHERE atvdonr_code = aprcatg_donr_code AND atvdonr_frnd_ind = Y) SELECT DISTINCT sarappd_pidm FROM sarappd, saradap WHERE saradap_pidm = sarappd_pidm AND saradap_term_code_entry = sarappd_term_code_entry AND saradap_appl_no = sarappd_appl_no AND sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_inst_acc_ind = Y AND stvapdc_stdn_acc_ind IS NULL) AND NOT EXISTS (SELECT Y FROM saradap s WHERE s.saradap_pidm = sarappd_pidm AND s.saradap_levl_code = saradap_levl_code AND s.saradap_term_code_entry = sarappd_term_code_entry AND s.saradap_appl_no = sarappd_appl_no AND EXISTS (SELECT Y FROM sarappd p WHERE p.sarappd_pidm = s.saradap_pidm AND p.sarappd_term_code_entry = s.saradap_term_code_entry AND p.sarappd_appl_no = s.saradap_appl_no AND p.sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind IS NOT NULL)))
FINANCE
FRIENDS
INTACCEPT
11-30
July 2010
Rule Code
PROSPECT
Seq. No.
Where Clause
SELECT DISTINCT srbrecr_pidm FROM srbrecr WHERE NOT EXISTS (SELECT 'Y' FROM saradap WHERE saradap_pidm = srbrecr_pidm AND saradap_term_code_entry = srbrecr_term_code AND saradap_levl_code = srbrecr_levl_code) SELECT DISTINCT a.sgbstdn_pidm FROM sgbstdn a, stvstst WHERE a.sgbstdn_stst_code = stvstst_code AND stvstst_reg_ind = 'Y' AND a.sgbstdn_term_code_eff IN (SELECT MAX(b.sgbstdn_term_code_eff) FROM sgbstdn b, sobterm c WHERE b.sgbstdn_pidm = a.sgbstdn_pidm AND b.sgbstdn_term_code_eff <= c.sobterm_term_code AND sobterm_profile_send_ind = 'Y' GROUP BY c.sobterm_term_code) SELECT DISTINCT sfrstcr_pidm FROM sfrstcr WHERE sfrstcr_term_code IN (SELECT sobterm_term_code FROM sobterm WHERE sobterm_profile_send_ind = Y) SELECT DISTINCT a.sibinst_pidm FROM sibinst a, stvfcst WHERE a.sibinst_term_code_eff IN (SELECT MAX(b.sibinst_term_code_eff) FROM sibinst b, sobterm c WHERE b.sibinst_pidm = a.sibinst_pidm AND b.sibinst_term_code_eff <= c.sobterm_term_code AND sobterm_profile_send_ind = 'Y' GROUP BY c.sobterm_term_code) AND a.sibinst_fcst_code = stvfcst_code AND stvfcst_active_ind = 'A' SELECT DISTINCT sirasgn_pidm FROM sirasgn WHERE sirasgn_term_code IN (SELECT sobterm_term_code FROM sobterm WHERE sobterm_profile_send_ind = Y)
STUDENT
STUDENT
FACULTY
FACULTY
July 2010
11-31
Rule Code
ALUMNUS
Seq. No.
Parsed SQL
SELECT DISTINCT aprcatg_pidm FROM spriden, atvdonr, aprcatg WHERE spriden_entity_ind = 'P' AND spriden_change_ind IS NULL AND aprcatg_pidm = spriden_pidm AND atvdonr_code = aprcatg_donr_code AND atvdonr_alum_ind = 'Y' SELECT pebempl_pidm FROM pebempl WHERE NVL(pebempl_term_date, TRUNC(SYSDATE) + 1) > TRUNC(SYSDATE) AND NVL(pebempl_loa_beg_date, TRUNC(SYSDATE) - 1) < TRUNC(SYSDATE) AND pebempl_empl_status IN ('A', 'F', 'P') SELECT sgbstdn_pidm FROM sgbstdn a, stvstst WHERE a.sgbstdn_stst_code = stvstst_code AND stvstst_reg_ind = 'Y' AND a.sgbstdn_term_code_eff = (SELECT MAX (b.sgbstdn_term_code_eff) FROM sgbstdn b WHERE b.sgbstdn_pidm = a.sgbstdn_pidm AND b.sgbstdn_term_code_eff <= :TERM) SELECT sfbetrm_pidm FROM stvests, sfbetrm WHERE sfbetrm_term_code = :TERM AND stvests_code = sfbetrm_ests_code AND stvests_wd_ind = N SELECT DISTINCT aprcatg_pidm FROM aprcatg WHERE EXISTS (SELECT X FROM atvdonr WHERE atvdonr_code = aprcatg_donr_code AND atvdonr_alum_ind = Y) SELECT DISTINCT sarappd_pidm FROM sarappd WHERE sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind = Y)
EMPLOYEE
STUDENT
STUDENT_ ENROLLED
ALUMNI
APPACCEPT
11-32
July 2010
Rule Code
APPLICANT
Seq. No.
Parsed SQL
SELECT DISTINCT p.saradap_pidm FROM saradap p WHERE NOT EXISTS (SELECT Y FROM sarappd WHERE sarappd_pidm = p.saradap_pidm AND sarappd_term_code_entry = p.saradap_term_code_entry AND sarappd_appl_no = p.saradap_appl_no AND ( sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_inst_acc_ind = Y AND stvapdc_stdn_acc_ind IS NULL) OR sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind IS NOT NULL))) AND NOT EXISTS (SELECT Y FROM saradap s WHERE s.saradap_pidm = p.saradap_pidm AND s.saradap_term_code_entry = p.saradap_term_code_entry AND s.saradap_levl_code = p.saradap_levl_code AND EXISTS (SELECT Y FROM sarappd WHERE sarappd_pidm = s.saradap_pidm AND sarappd_term_code_entry = s.saradap_term_code_entry AND sarappd_appl_no = s.saradap_appl_no AND ( sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_inst_acc_ind = Y AND stvapdc_stdn_acc_ind IS NULL) OR sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind IS NOT NULL)))) SELECT DISTINCT twgrrole_pidm FROM twgrrole WHERE twgrrole_role = DEVELOPMENTOFFICER
DEVELOPMENT OFFICER
July 2010
11-33
Rule Code
EMPLOYEE
Seq. No.
Parsed SQL
SELECT pebempl_pidm FROM pebempl, gtvsdax WHERE gtvsdax_external_code(+) = pebempl_ecls_code AND gtvsdax_internal_code_group(+) = 'INTCOMP' AND gtvsdax_internal_code(+) = 'LDIEMPEX' GROUP BY pebempl_pidm HAVING COUNT(gtvsdax_external_code) = 0 SELECT DISTINCT gobeacc_pidm FROM gobeacc, fobprof WHERE fobprof_user_id = gobeacc_username AND fobprof_web_access_ind = Y SELECT DISTINCT aprcatg_pidm FROM aprcatg WHERE EXISTS (SELECT X FROM atvdonr WHERE atvdonr_code = aprcatg_donr_code AND atvdonr_frnd_ind = Y) SELECT DISTINCT sarappd_pidm FROM sarappd, saradap WHERE saradap_pidm = sarappd_pidm AND saradap_term_code_entry = sarappd_term_code_entry AND saradap_appl_no = sarappd_appl_no AND sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_inst_acc_ind = Y AND stvapdc_stdn_acc_ind IS NULL) AND NOT EXISTS (SELECT Y FROM saradap s WHERE s.saradap_pidm = sarappd_pidm AND s.saradap_levl_code = saradap_levl_code AND s.saradap_term_code_entry = sarappd_term_code_entry AND s.saradap_appl_no = sarappd_appl_no AND EXISTS (SELECT Y FROM sarappd p WHERE p.sarappd_pidm = s.saradap_pidm AND p.sarappd_term_code_entry = s.saradap_term_code_entry AND p.sarappd_appl_no = s.saradap_appl_no AND p.sarappd_apdc_code IN (SELECT stvapdc_code FROM stvapdc WHERE stvapdc_stdn_acc_ind IS NOT NULL)))
FINANCE
FRIENDS
INTACCEPT
11-34
July 2010
Rule Code
PROSPECT
Seq. No.
Parsed SQL
SELECT DISTINCT srbrecr_pidm FROM srbrecr WHERE NOT EXISTS (SELECT 'Y' FROM saradap WHERE saradap_pidm = srbrecr_pidm AND saradap_term_code_entry = srbrecr_term_code AND saradap_levl_code = srbrecr_levl_code) SELECT DISTINCT a.sgbstdn_pidm FROM sgbstdn a, stvstst WHERE a.sgbstdn_stst_code = stvstst_code AND stvstst_reg_ind = 'Y' AND a.sgbstdn_term_code_eff IN (SELECT MAX(b.sgbstdn_term_code_eff) FROM sgbstdn b, sobterm c WHERE b.sgbstdn_pidm = a.sgbstdn_pidm AND b.sgbstdn_term_code_eff <= c.sobterm_term_code AND sobterm_profile_send_ind = 'Y' GROUP BY c.sobterm_term_code) SELECT DISTINCT sfrstcr_pidm FROM sfrstcr WHERE sfrstcr_term_code IN (SELECT sobterm_term_code FROM sobterm WHERE sobterm_profile_send_ind = Y) SELECT DISTINCT a.sibinst_pidm FROM sibinst a, stvfcst WHERE a.sibinst_term_code_eff IN (SELECT MAX(b.sibinst_term_code_eff) FROM sibinst b, sobterm c WHERE b.sibinst_pidm = a.sibinst_pidm AND b.sibinst_term_code_eff <= c.sobterm_term_code AND sobterm_profile_send_ind = 'Y' GROUP BY c.sobterm_term_code) AND a.sibinst_fcst_code = stvfcst_code AND stvfcst_active_ind = 'A' SELECT DISTINCT sirasgn_pidm FROM sirasgn WHERE sirasgn_term_code IN (SELECT sobterm_term_code FROM sobterm WHERE sobterm_profile_send_ind = Y)
STUDENT
STUDENT
FACULTY
FACULTY
July 2010
11-35
GORSQPA
Parameter Code
TERM TERM PIDM TERM
GORSSQL
Process Rule
IAM_GOBEACC_RULE
IAM
GTVCELG
GTVDADD
BUDGET
GTVDIRO
Spreadsheet Budgeting
Name Permanent Address Permanent Telephone Campus Address Campus Telephone Office Address Office Telephone Fax Number E-mail Employee Department Expected Graduation Year College Affiliation Employee Position Title Home Address Class Year
11-36
July 2010
GTVDIRO
Business Address Maiden Name Business Telephone Preferred College Home Telephone
GTVDPRP
Required Columns Selection Procedure Option(0) Option(1) Option(2) Option(3) Option(4) Option(5) Option(6) Option(7) Option(0) - Key Option(1) - Key Option(2) - Key Option(3) - Key Option(4) - Key Option(5) - Key Option(6) - Key Option(7) - Key Picture Population Procedure Required Free Format Text Width Multiple Selections Storing Procedure Find Displayed Free Format Text Height Caption(1) Height ValidationProc Caption(2) Height Caption(3) Height Caption(3) Top Bounded Population Columns Caption(2) Top
July 2010
11-37
GTVDPRP
GTVDSTP
One Window Step Type Text Step Type Option Step Type Column Mapping Step Type Two Window Step Type Open Worksheets Step Type Free Format Entry Step type
GTVDUNT Code
Duration Unit Code Validation Table Description Number of Days VR Message Number
WEEK MTHS
GTVEQNM
Weeks Months
7 31
Add New Registration to CP Add New Student User to CP Grade Change Grade Roll Admissions Application Receipt Change PIN in CP Change Student Major in CP Change Person ID in CP Change Person Name in CP Cancelled Section Broadcast
11-38
July 2010
GTVEQNM
Changes to the PAF on NOAEPAF A new Gift from a donor Student Withdrawal Password Change A Students Grade Change Documents for Approval Electronic Document Financial Aid Withdraw Student Drop Registration from CP Add New Section to CP Add Teaching Assignment to CP Delete Teaching Assignment Change Section Number in CP Change Course Title in CP Change Course Department in CP Delete Section from CP Add New Faculty User to CP Add Hold Smart Event End Term in CP Add New Term to CP E-Mail Address Update E-Mail Address Insert IMS Faculty Assignment Event IMS Enrolled Student Event
NEWGIFT WITHDRAWSTUDENT PSWDCHANGE GRADECHG DOCAPPROVE EDOCUMENT FAWITHDRAW DROP_REGISTRATION ADD_SECTION ADD_TEACH_ASSIGN DELETE_TEACH_ASSIGN CHANGE_SECTION_NUM CHANGE_COURSE_TITLE CHANGE_COURSE_DEPT
July 2010
11-39
GTVEQNM
IMS Person Event IMS Section Event IMS Term Event Meeting Times in CP EmailID change in CP Schedule code change in CP LDI Term Event LDI Person Event LDI Course Event LDI Section Event LDI College Event LDI Department Event LDI Cross Listed Group Event LDI Cross Listed Member Event LDI Student Enrollment Event LDI Faculty Assignment Event
GTVEQPC
ID and Message PIN Change Change Student Major in CP Change Person Name in CP Change Person ID in CP Add New Registration to CP Add New Section to CP PAF Change on NOAEPAF A new Gift Withdraw a Student Password Change Grade Change
11-40
July 2010
GTVEQPC
Documents for Approval Electronic Document Financial Aid Withdraw Student Drop Registration from CP Add New Student User to CP Add Teaching Assignment Delete Teaching Assignment Change Section Number in CP Change Course Title in CP Change Course Department in CP Delete Section from CP Add New Faculty User to CP Grade Change Grade Roll End Term in CP Add New Term to CP Add New Hold in CP E-Mail Update E-Mail Insert IMS Teaching Assignment Parms IMS Student Enrollment Parms IMS Person Parms IMS Section Parms IMS Term Parms Class Meetings Times in CP Change EmailID in CP Change Schedule Code LDI Term Parms LDI Person Parms LDI Course Parms LDI Section Parms LDI College Parms LDI Department Parms LDI Cross Listed Group Parms LDI Cross Listed Member Parms LDI Student Enrollment Parms LDI Faculty Assignment Parms
July 2010
11-41
GTVEQPM
MESSAGE ID EVENTTYPE $TEMPLATE SUBEVENTTYPE CLEARTEXT/SCT.CREDENTIAL CLEARTEXT/CREDENTIAL EmailID UserName Major LastName FirstName SCT.ID DONORNAME DONORPDC GIFTAMT GIFTDATE GIFTNO PIDM TERM ENC_PASSWORD ORACLE_USERNAME DOCTYPE ACAT_CODE
Message Person ID Event Type Template Name Sub Event Type Profile PIN Value Campus Pipeline PIN Value E-Mail Address Student/Faculty ID Student Major Person Last Name Person First Name Student/Faculty ID Name of Donor Donors Primary Donor Category the amount of the Gift the date of the gift a Gift number pidm Term Code Encrypted Oracle Password Code Oracle Username Code Document Type PAF Approval Category Code
11-42
July 2010
GTVEQPM
EFFECTIVE_DATE EMPLOYEE_CLASS EVENTNAME PAF_ORIGINATOR_USERID POSITION PRODUCTTYPE TRANS_NO TRANS_STATUS WORKFLOWSPECIFICNAME DOCNUMBER AIDY WITHDRAW_DATE IDType SCT.Term.Description SCT.Course.Title SCT.Course.Term SCT.Course.Section SCT.Course.Instructor.ID SCT.Course.Instructor SCT.Course.Department Role EnrolledCourse ClearText/SCT.Credential ClearText/Credential DELIVERYTYPE
effective date Employee Class Workflow Event Name (required) PAF Originator Oracle Userid Position Workflow Product Type (reqd) PAF Transaction Number PAF Transaction Status Workflow Specific Name (reqd) Document Number Aid Year Code Withdraw Date ID Type Term Description Course Title Course Term Course Section Course Instructor ID Course Instructor Name Course Department Profile Role Enrolled Course (CRN||Term) Profile PIN Value Profile PIN Value Message Delivery Type for CP
July 2010
11-43
GTVEQPM
DisplayName EnrollmentStatus.FullTime MiddleName SCT.Activity.Date SCT.Course.Number SCT.Hold.Description SCT.Section.Title SCT.Subject.Code SCT.Term.Active SCT.Term.End.Date SCT.Term.Sort.Key SCT.Term.Start.Date url-0.TERM DATATYPE G.DESCRIPTION.LONG G.DESCRIPTION.SHORT
Display Name for CP Enrollment Status Description Person Middle Name Activity Date Course Number Hold Type Section Title Subject Code Term Active Term End Date Term Sort Key Term Start Date Term Code for Smart Event Gen. Identifier for Event Type Long Group Name Short Group Name Accept Enrollment- Yes/No Allow Enrolling- Yes/No Course content delivery Type Value Type Value Level Org. Indentifier Organization Name Admin Unit, Math/English Nature of Group & SubGroup
11-44
July 2010
GTVEQPM
G.RELATIONSHIP.MYRELATIONSHIP G.RELATIONSHIP.SOURCEDID.ID G.SOURCEDID.ID G.TIMEFRAME.BEGIN G.TIMEFRAME.END G.TRANSACTION M.EXTENSION.MIDTERMRESULT.MODE M.MEMBER.IDTYPE M.MEMBER.ROLE.FINALRESULT.MODE M.MEMBER.ROLE.ROLETYPE M.MEMBER.ROLE.STATUS M.MEMBER.ROLE.SUBROLE M.MEMBER.ROLE.TRANSACTION M.MEMBER.ROLE.USERID M.MEMBER.SOURCEDID.ID M.SOURCEDID.ID P.ADR.COUNTRY P.ADR.LOCALITY P.ADR.PCODE P.ADR.REGION P.ADR.STREET P.DEMOGRAPHICS.GENDER P.EMAIL P.EXTENSION.USERROLE P.EXTENSION.WEBCREDENTIAL
1=Parent, 2=Child, 3=Other Group/SubGroup ID by System Group/SubGroup ID by System Available Participation Date Defines End Date Rec type, 1 add/2 update/3 del Desc of Midterm Grading Mode 1=Person, 2=Group Desc of Final Result Mode 01=Learner, 02=Instructor 1= Active, 2= Inactive Further Defines Roles Rec type, 1 add/2 update/3 Del Persons ID to Access Group ID of Org. or Source Person/Group/Sub Unique ID Country Locality/City Postal Code State or Province Street Address Gender of Person Email Address of Person User Role Web Credential
July 2010
11-45
GTVEQPM
P.NAME.FN P.NAME.N.FAMILY P.NAME.N.GIVEN P.NAME.N.OTHER P.NAME.N.PREFIX P.NAME.N.SUFFIX P.NAME.NICKNAME P.SOURCEDID.ID P.TEL P.TEL.TELTYPE P.TRANSACTION P.USERID SCT.Course.Delivery SCT.Course.ClassTimes SOURCE M.EXTENSION.GRADABLE M.MEMBER.ROLE.COMMENTS G.GROUPTYPE.SCHEME G.TIMEFRAME.BEGIN.RESTRICT G.TIMEFRAME.END.RESTRICT ClearText.Credential ClearText.SCT.Credential SourcedID.Source SourcedID.ID
Persons name Family name not last name Given name Other name parts Mr, Mrs, Ms, Dr etc Jr, III, Sr Perferred Name and format Person ID defined by Source Phone Number of Person Phone# type, 1=Voice or 2=Fax Rec type, 1 add/2 update/3 del Persons access ID Course content delivery Class Meeting Times Source of Event Gradable Indicator Member Comments Group type Coding Scheme Allow Participation?- Yes/No Defines Participation Ending Campus Pipeline Password Value Profile PIN Value Identifier for Source System Unique ID defined by Source Nature of Group and SubGroup
G.EXTENSION.DEL.RELATIONSHIP.LABEL
11-46
July 2010
GTVEQPM
G.EXTENSION.DEL.RELATIONSHIP. MYRELATIONSHIP G.EXTENSION.DEL.RELATIONSHIP. SOURCEDID.ID G.ATT.RECSTATUS G.DESCRIPTION.FULL G.EXTENSION.LUMINISGROUP. DELIVERYSYSTEM G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.BEGINDATE G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.BEGINTIME G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.DAYSOFWEEK G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.ENDDATE G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.ENDTIME G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.EVENTDESC G.EXTENSION.LUMINISGROUP.EVENTS. RECURRINGEVENT.LOCATION G.EXTENSION.LUMINISGROUP.SORT G.GROUPTYPE.TYPEVALUE.ATT.LEVEL G.RELATIONSHIP.ATT.RELATION G.TIMEFRAME.BEGIN.ATT.RESTRICT G.TIMEFRAME.END.ATT.RESTRICT M.MEMBER.ROLE.ATT.RECSTATUS M.MEMBER.ROLE.ATT.ROLETYPE M.MEMBER.ROLE.EXTENSION. LUMINISROLE.GRADABLE
1=Parent, 2=Child, 3=Other Group/SubGroup ID by System IMS Record Status Full Group Description Name System delivering content Event Begin Date Event Begin Time Event Days of the Week Event End Date Event End Time Event Description TBA or Bldg w/ Room Number Term Sort Order Group Type Level 1 Group Relationship Attribute Begin Restriction Attribute End Restriction Attribute IMS Record Status Membership roletype Gradable Indicator
July 2010
11-47
GTVEQPM
M.MEMBER.ROLE.INTERIMRESULT.ATT. RESULTTYPE M.MEMBER.ROLE.INTERIMRESULT.MODE ONLINETOPIC P.ATT.RECSTATUS P.EXTENSION.LUMINISPERSON. ACADEMICDEGREE P.EXTENSION.LUMINISPERSON. ACADEMICMAJOR P.EXTENSION.LUMINISPERSON. ACADEMICTITLE P.EXTENSION.LUMINISPERSON. CUSTOMROLE P.INSTITUTIONROLE.ATT. INSTITUTIONROLETYPE P.INSTITUTIONROLE.ATT. PRIMARYROLE P.NAME.N.PARTNAME P.NAME.N.PARTNAME.ATT. PARTNAMETYPE P.TEL.ATT.TELTYPE P.USERID.ATT.PASSWORD P.USERID.ATT.USERIDTYPE
Midterm result attribute Desc of Midterm Grading Mode Y = publish to LMS IMS Record Status Faculty Academic Degree Student Academic Major Faculty Academic Title Custom Person Role Person Institution Role Person Primary Role Middle Name Partname Type (Middlename) Telephone type attribute Userid password attribute Userid type attribute
GTVEQTS
11-48
July 2010
GTVLETR
Letter Process Letter Validation Table Duplicate Print Command AlternateLetter Code
Code
MG_ACKN_LTR
Description
Y Y Y Y Y N Y N N N N Y Y Y Y Y
Matching Gift Acknowledgement Employee Notification of Match Gift/Pledge Payment Receipt Gift Acknowledgement Letter Pledge Acknowledgement Letter Directors Gift Thank you Ltr Special Pledge Reminder Letter Special Gift Acknowledgement Mailing Label Decision letters Major Gift Acknowledgement Corporate Gift Acknowledgement Foundation Gift Ackn Letter Foundation Pledge Ackn Letter Annual Fund Gift Ackn Letter Gift Receipt PL
EMP_MG_NOTICE
GIFT_RECEIPT
GIFT_ACKN_LTR
PLEDGE_ACKN
DIRECTOR_THANKS
PLEDGE_REMINDER
SPECIAL_GIFT
CORP_GIFT_ACKN
FOUNDATION_ACKN FOUN_PLDG_ACKN
ANNUAL_FND_ACKN
RECEIPT
July 2010
11-49
GTVLETR
Letter Process Letter Validation Table Duplicate Print Command AlternateLetter Code
Code
FA_AWRD_W_COST RESEARCH_PROFIL WKBOOKLTR ADM_APPL_ACKN
Description
Y Y Y N Y Y Y Y Y Y Y Y Y Y N Y Y Y
FA Award Letter with Costs Prospect Research Profile Sample letter for G01C Admissions Application Ackn Thank you ltr all inq types Information Request Letter Dues Acknowledgement Membership Card Sample Membership Dues Letter Membership Reminder Letter Membership Renewal Letter Membership 3rd Party Renewal Invitation Letter Missing Inform. Letter FINAID Acknowledgement of Special Gif Second Special Ackn of Gifts Gift Acknowledgement Letter Quick On line Gift Receipt
AD_ACK_TWO A/D_ACK_SPECIAL
MEMBER_REMINDER
MEMBER_RENEWAL
MEMBER_RENEW_3
INVITATION FA_TRACKING
AD_ACK_SPECIAL
AD_ACK_TWO
AD_ACK_GIFTS
AD_QUIK_RECPT
11-50
July 2010
GTVLETR
Letter Process Letter Validation Table Duplicate Print Command AlternateLetter Code
Code
ADM_CHKL ADM_INT_1
Description
N N N Y Y Y Y Y Y Y Y Y Y Y
Admissions Checklist Letter Admissions Interview 1 Letter Financial Aid Interest Letter t t Housing Information Letter Stewardship Letter to Student Letter to Designation ID Cobra 18 Month Notification Cobra 36 Month Notification Cobra Enrollment End Notices Cobra Late Notices Cobra Termination Notices Cobra Pre-Expiration Notices
STEW_DESG_ID COB_PCRNOTF_18M
COB_PCRNOTF_36M
COB_PCRLTRS_ENR
GTVLFST
GTVMTYP
CLAS
Classroom
July 2010
11-51
GTVOBJT
Oracle Forms module Job Submission object Menu object Menu Message object QuickFlow object Dynamically Linked Library
GTVPARA Code
STU_SAL
Student Salutation Define tables for Labels Finaid label body Body of Finaid Award Letter Students Name and Address New page of letter Award Letter - Award Amounts Award Letter Closing Award Letter - Costs
Student Name, Addr, ID followed by Dear xx, Header paragraph containing define tables and invokes table 1. Body for labels contains everything From the Students Current Financial Aid Application Start each letter at new page Award letter amount per term. Award letter closing with Sincerely, name and title of financial aid officer. Award letter costs, contributions, outside resources (with totals) and need
LABELDT
AWRDCST
AWRDFAT
Award Letter - FAT Requirement Financial Aid Transcript Requirements for Award Letter Award Letter Heading Award Letter Introduction Award Letter - Requirements Table Definitions for Award Award Letter Heading Award letter introduction with aid year desc Award letter requirements Table Definitions for Financial Aid Award Letter
11-52
July 2010
GTVPARA Code
AWRD_NP AWRD_TE BASIC GURADDR
New Page for Award Letter Table End for Award Letter basic constituent info Person Name/Address Institution Name/Address Recruiting Closing Presidential Greeting Interview One Follow-up Interview Two Follow-up College Night Follow-up Closing Mailing Label Name/Address Calculated Variables Financial Aid Director Financial Aid Letter Header Financial Aid Salutation Message Text for Funds Salutation
New Page with #RR for Award Letter Table End for Financial Aid Award Letter
Prints the persons name and address on the right margin. Prints the instutition address on the right margin of the page. Prints the titles of the person defined by the initial code. Paragraph with presidential greeting message. Paragraph with Interview One Message. Paragraph with Interview Two Message. Paragraph with College Night Message. Prints Sincerely and spacing on the bottom of the page. Paragraph with name and address to be used as mailing label. Calculated Variables in Financial Aid Award Letter Financial Aid Directors Name Header for Financial Aid Tracking Letter Financial Aid Salutation Paragraph Message text associated with selected fund codes. Prints the date on right margin and Dear xx on the left margin.
GURINST
SRRCLOS
SRRPRES
GURLABL
CALCVAR
GURSALU
July 2010
11-53
GTVPARA Code
INAME
Institution Name and Address printed in the center of the letter, 1 line per address field except city/state/zip Invoke Table 1 in Financial Aid Award Letter Tracking Paragraph using messages from RORMESG table Internal File labels
TABLE1
TRACK12
LABEL MLABEL
Mailing Label - Name / Address Paragraph with name and address to be used as a mailing label A/D Gift Ack. Receipt Financial Aid Req. Tracking Table Definitions for Tracking info from prospect research Ack tables 1-3 Alumni/Dev ack gift body Alumni Ack Const. addr name A/D Ack. first name salutation Alumni Ack org addr name A/D Ack. orgn. name salutation Alumni Ack preferred address Gift Acknowledgement letter table definition. Gift acknowledgement thank you with amount, campaigns. Acknowldegemnt address name for constituent. Alumni Development name salutation for ackowledgements. Acknowledgement address name for organization. Alumni Development org primary name salutation for ackowledgements. Preferred address type from constituent form. Alumni/Development gift acknowledgement receipt. Body of Financial Aid Requirements Tracking Letter Table Definitions for Financial Aid Tracking Letter
AK_RCPT
TRACK
TRCK_DT
RESEARC ACK_TAB
AKGBODY
ANAMEAD
ANAMESL
AORGNNM
AORGNSL
APREFAD
11-54
July 2010
GTVPARA Code
AKGCLAS
Alumni/Dev ack Class paragraph End table Invoke table 1 Signature block Alumni/Dev ack signature A/D Gift Ack. Receipt amount
Alumni Invoke table 1. Prints Sincerely, name, and title for initials used with letter Gift acknowledgement signature Alumni/Development gift acknowledgement receipt amt, date, gift number.
AKGSIGN AK_RAMT
Letter Date Top of Page Ends tables for Acceptance List of Checklist items Informal name, address, & salut Body of the Inquiry thanks ltr End table commands for acceptance letters Lists each checklist items and it received date after body of letter Prints the name, street, city, state, zip and salutation without a title (i.e. Mr., Dr.) Prints the body & closing of the Inquiry_thanks letter with use of most recruiting variables Admissions Application Acknowledgement, including missing Checklist Items, if any Prints the formal name with prefix and suffix, full address and salutation Prints and centers the institution name, address, & phone # Body of the Admissions Acceptance letter Table to Indent Institution Name and Signature Variable Prints Sincerely, name, and title for initials
INFADDR
INQUIRY
ADMACKL
Admissions Application Ackl Formal Name, Address & Sal Institution Name & address Admissions Acceptance Para Table for Recruiting Letter Admissions/Recruiting Closing
FRMADDR
INADDRS
ACCEPT TB_RECR
CLOSING
July 2010
11-55
GTVPARA Code
INFOREQ GURPERS
Body of information request letter Prints the persons name and address on the left margin of the page. This is the first paragraph used in the Letter Generation Textbook. Notice that this long comment scrolls. The paragraph includes todays date, name and address. It includes examples of the use of the ^IFNULL command. All table definitions used for Acceptance Prints the body of the Open House Invitation Letter Forces new page. Prevents page creep. Includes skip after body, closing and signature Includes appointment type, date and times.
WKBOOK1
ACPT_DT OPENHOU
Table definitions for Accept Body of the Open House Letter Use as 1st Paragraph Sharon Weinberg Signature Recruiting Appointment Letter Dues Acknowledgment Body Dues Acknowledgment Tables Membership Card Paragraph Membership Define Tables Renewal Letter -3rd Party Tabl Admissions Checklist Reminder Letter Paragraph Renewal Letter Paragraph Renewal Letter - 3rd Party Table Definitions for Gift Ack New Page Command
HEADER CLOSE
APPOINT DUE_ACK DUE_TAB MEMB_CD MEMB_TB MEM_3TB CHKLBDY MEM_REM MEM_REN MEM_RN3 ACK_TDF
Tables for 3rd Party Renewal Letter Body of Admissions Checklist letter
ACK_NPG
11-56
July 2010
GTVPARA Code
ACK_LIN ACK_DTE ACK_NAD ACK_SAL
Line Count for Page Letter Date Name and Address for Ack. Person/Org Salutations Body of Acknowledgement Letter Invitation for a Function Letter Date New page for letter Workbook Para 2 (Inf Sal) Workbook Para 3 (Person Verf) Prints current date on left side of page Start each letter at new page Workbook paragraph 2, which contains an informal salutation followed by a comma. Workbook paragraph 3, which contains the body of the letter (current Id, gender and marital status). Person or Org Name and Address Person or organization salutations for acknowledgement/receipt
ACK_BDY
WKBOOK3
ENCL T MNYROOM
Enclosures Paragraph t More than 1 Roommate Info Many Roommates Alternate Para One Roommate Alternate Para Closing for Housing Letter Single Room Housing Info One Roommate Housing Info Introduction to Housing Letter Paragraph to Print Address/Phone Info for More than 1 Roommate Alternate Paragraph Formatting for Printing Many Roommates Info Alternate Paragraph Formatting for Printing One Roommate Info Closing for Housing Letter Paragraph to Print Single Room Housing Information Paragraph to Print Address/Phone Info for One Roommate Only Introduction to Housing Letter
MANYALT
ONERALT
CLSHOUS SNGLERM
ONEROOM
INTHOUS
July 2010
11-57
GTVPARA Code
TB_HOUS STEW2 STEW1 COB_TAB COB_NPG COB_HDR COB_NTA COB_NTB COB_NTC COB_NTD COB_NTE COB_NTF COB_SSD COB_SSP COB_ELE COB_ENR COB_LAT COB_TER COB_PEX COB_HLP
Table for Housing Letter Stewardship to student Stewardship to Desg ID Cobra Tables Cobra New Page Cobra Header Cobra Notification Letr Para 1 Cobra Notification Letr Para 2 Cobra Notification Letr Para 3 Cobra Notification Letr Para 4 Cobra Notification Letr Para 5 Cobra Notification Letr Para 6 Cobra SS Procedure Cobra SS Procedure Cobra Election form Cobra Enrollment End Notices Cobra Late Notices Cobra Termination Notices Cobra Pre-Expiration Notices Cobra Admin Contact Address
Table Definitions for Housing Letter Stewardship letter to student Stewarship letter to designation ID
GTVPARS Code
Default Partition
11-58
July 2010
GTVPROC
Web Credit Card Enrollment Verification Charge Process Web Credit Card Registration Fees Process Web Credit Card Application Fees Process Web Credit Card Graduation Application Process
GTVRRAC
1 2 3 4 5
American Indian or Alaskan Native Asian Black or African American Native Hawaiian and Other Pacific Islander White
GTVSCHS
NSM 1SM
Class needs a room assignment. Class needs a room assignment and has a preferred first choice room indicated in the Room Name field. This code limits the initial pool of candidate rooms in the assignment algorithm. Class needs a room assignment and must be assigned with the preceding NSM or 1SM record to the same room at the same time (cross-listed). Class is related to the preceding NSM or 1SM record and must be assigned to the same room but not at the same days/time. Class needs a room assignment and can share a room with another class whose times overlap with it (can be doubledbooked). Class needs a room assignment, has a preferred first choice room indicated in the Room Name field, and can share a room with another class whose times overlap with it (can be doublebooked). Class is related to the previous NXM or 1XM record and must be assigned to the same room at the same or overlapping times.
WSM
RSM NXM
1XM
RXM
July 2010
11-59
GTVSCHS
ASM AXM
Class has a room assignment that was made manually or in another system, such as the student information system. Class has a room assignment that was made manually or in another system, and the class time span overlaps part of all of the time span of another class assigned to the same room (doublebooking or intentional conflict). This is a set of home cross-listed classes pre-assigned to the same room at identical days and times. This is a set of visitor cross-listed classes pre-assigned to the same room at identical days and times. Schedule25 assigned the class a room during a previous run. Schedule25 assigned the class a room, and it is double-booked with another class.
GTVSQPR Code
CARDHOLDER_ROLES HOUSING_ELIGIBILITY INTCOMP SEVIS
SQL Process Code Validation Table Description Start Date End Date
Cardholder roles Housing Integration, Eligibility Roles Integration roles SEVIS Processing
GTVSQRU Code
ALUMNUS EMPLOYEE STUDENT STUDENT_ENROLLED ALUMNI FACULTY FRIENDS FINANCE DEVELOPMENTOFFICER PROSPECT APPLICANT INTACCEPT
SQL Rule Code Validation Table Description Start Date End Date
Alumnus Role Employee Role Student Role Student with enrollment in given term Alumni Role Faculty Role Friend Role Finance Role Development Officer Role Prospect Role Applicant Role Institution Accept Role
19-Oct-05 19-Oct-05 19-Oct-05 19-Oct-05 27-Oct-05 27-Oct-05 27-Oct-05 27-Oct-05 27-Oct-05 27-Oct-05 27-Oct-05 27-Oct-05
11-60
July 2010
GTVSQRU Code
APPACCEPT IAM_GOBEACC_RULE
SQL Rule Code Validation Table Description Start Date End Date
27-Oct-05
GTVSVAP
Visa type code Birth nation code Legal nation code Program begin date Program end date Program enroll date Academic term in months Tuition expense Personal funds Session start date Session end date Education level code Education level comment Major code Length of study in months Living expenses Drop below full-time status code Authorized start date Completion remarks New program end date Deferred attendence program end date Deferred attendence program start date Disciplinary action comment Extension end date Creation reason code Creation reason comment Termination code Termination date Infraction comment End program code End program effective date Exchange Visitor form number Reprint reason code
July 2010
11-61
GTVSVAP
Reprint reason comment Print request indicator Dependent expenses Other funds Other funds comment Other expenses Other expenses comment Authorization end date Program initial start date for continuing EV Program code Subject code Subject code comment Commuter indicator English proficiency required indicator English proficiency met indicator English proficiency comment Criminal conviction indicator Admission number DriverNULLs license number DriverNULLs license state of issue Taxpayer identification number Secondary major code Minor code School funds School funds comment Employment funds Funding comment Drop below fill time status comment End program comment Deferred attendence comment Passport number Country issuing passport Passport expiry Visa number Consular post code Visa expiry Port of entry code Port of entry comment
11-62
July 2010
GTVSVAP
Entry date Resume full course comment Edit program comment Program sponsor funds Government organization 1 funds Government organization 1 code Government organization 2 funds Government organization 2 code International organization 1 funds International organization 1 code International organization 2 funds International organization 2 code Funds from the EVs government Binational funds Other organization funds Program start indicator Comment on program extension Comment on program amendment Matriculation code Birth city Edit biographical data comment Country of permanent residency Financial support comment Infraction type code Category code
For all entries above, Start Date is 2-Oct-03 and End Date is null.
GTVSVBA Code
CREATE_STUDENT
Start Date
End Date
Create student for SEVIS processing Create Exchange Visitor for SEVIS processing
2-Oct-03 2-Oct-03
CREATE_EV
goksvsq.p_create_ev
July 2010
11-63
GTVSVCC
1A 1B 1C 1D 1E 1F 2A 2B 3 4 5 6 7 8 9 10 11 12 13
Student Secondary Student Associate Student Bachelors Student Masters Student Doctorate Student Non-degree Trainee (specialty) Trainee (non-specialty) Teacher Professor International Visitor Alien Physician Government Visitor Research Scholar Short-term scholar Specialist Camp Counselor Summer work/travel Aupair
GTVSVCR Code
S I C T D R O 1 2 3 4 CONT NEW
Change of Status Initial INAC 5/05 Continued Attendance INAC 5/05 Transfer INAC 5/05 Dependent INAC 5/05 Reinstatement INAC 5/05 Other INACT 1/03--Begin New Program INACT 1/03--Continuing EV INACT 1/03Transffrom non-SEVIS INACT 1/03--Reinstatement INAC 5/05 Continuing New
1 1 1 1 1 1 1 2 2 2 2 2 2
11-64
July 2010
GTVSVDT
1 2 3 4 5 6 7 8 9 10 11 12
GTVSVEL
Conviction of a Crime Death Child Over 21 Divorce Unauthorized Employment Principal Status Terminated INAC 5/5 271 Days Post ProgEnd INAC 5/5 271 Days Post PrinEnd Other Principal Status Completed INAC 5/5 Terminated J-1 Visa INAC 5/5 Completed J-1 Visa
1 2 3 4 5 6 7 8 9 10 11
GTVSVEP
Primary Secondary Associate Bachelors Masters Doctorate Language Training High School Flight School Other Vocational School Other
Completed INACT 1/03Withdrawal From Prog INACT 1/03 Cant Cont Prog INACT 1/03 Death INACT 1/03Prog Comp Pre End Dt Withdrawal from Program Inability to Continue Program Death of EV Prog Complete Before End Date INAC 5/05 No Show INAC 5/05 Cancel-Chg of Status
July 2010
11-65
GTVSVEP
CHG DCHG
GTVSVFT
1 2 3 4 5 6 7
GTVSVGO
Illness/Medical Condition Difficulty with English Difficulty with Reading Not Familiar with U.S.Teaching Improper Level Placement Will Complete within Term Part-Time Commuter Student
DOJ ACT AID BBG DOC DOD DOE DOED DOI DOL DOS DOT EPA EXIM GAO HHS HMC HUD LOC NASA NDH NEA NSF OTHER SI TREAS USDA
Dept of Justice Action Agency For Intl Development Broadcasting Board of Governor Dept of Commerce Dept of Defense Dept of Energy Dept of Education Dept of Interior Dept of Labor Dept of State Dept of Transportation Environmental Protection Ag Export-Import Bank General Accounting Agency Health and Human Services Holocaust Memorial Council Housing and Urban Development Library of Congress NASA Nat Endowment for Humanities Nat Endowment for the Arts Nat Science Foundation Other Smithsonian Institution Dept of Treasury Dept of Agriculture
11-66
July 2010
GTVSVGO
USIP VA
GTVSVIO
ECLA ECE ECA ECLAC ECOSOC EEC ESCAP FAO IAEA ICAO ILO IMF IMO ITU NATO OAS OAU OECD OTHER PAHO UN UNCTAD UNDP UNESCO UNICEF UNIDO WB WHO WMO
GTVSVIT
UN Econ Comm. Latin Am/Carrib UN Economic Commission Europe UN Economic Commission Africa INAC 5/05 Eco Com Latin Am/Car UN Economic and Social Council European Economic Community UN Econ Comm Asia/Far East UN Food/Agriculture Org Intl Atomic Energy Agency Intl Civil Aviation Org Intl Labor Organization Intl Monetary Fund Intl Maritime Organization Intl Telecomm Union North Atlantic Treaty Org Org of American States Org of African Unity Org of Econ Coop. and Develop. Other Pan Amer Health Org United Nations UN Conf of Trade and Develop UN Development Program UN Ed, Scient and Culture Org UN Childrens Fund UN Industrial Devel Org World Bank World Health Organization World Meteorological Org
Failure to extend DS-2019 in timely manner. INAC 5/05 Failure to conclude transfer of program. Failure to receive RO/ARO approval before accepting payment Other
July 2010
11-67
GTVSVPC
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 210 211 212 213 214
Central Government Group Head of Government Ministerial Level Official Executive Level Official Civil Service Employee Professionals and Scientists Legislator/Central Government Judges/Central Government Manager/State Enterprise Central Government Other State, Reg,Prov Govt Group Governor/Chief of Region Senior Head of Reg Dept Exec Level Reg Official Civil Service/Regional Govt Prof and Scientist/Regional Regional Legislator Regional Judge Regional Manager Regional Govt Other City/Town Government Group Mayor/City Manager Head of City Dept Executive Level City Official Civil Service/City Govt Prof and Scientist/City City Legislator City Judge Manager,City Enterprise City Government Other International Organization Head of International Org Senior Official Intl Org Intl Org Employee University Level Group University President University Admin Staff Teaching Staff/University University Graduate Students
11-68
July 2010
GTVSVPC
215 216 217 218 219 220 221 222 223 229 230 231 239 240 241 242 249 310 311 312 313 314 315 319 320 321 322 323 329 330 331 332 334 335 339 340 342 341 343 344
Undergraduate Students/Univ Medical School Students Other Professional Students Post Graduate Medical Trainee University, Other Secondary School Group Secondary School Principal Secondary School Teacher Secondary School Student Secondary School, Other Elementary School Group Elementary Principal/Teacher Elementary School, Other Special School Group Special School Head Special School Teacher Special School, Other Private Business Group Private Business Entrepreneur Corporate Executive Manager/Private Business Employee/Private Business Professional/Scientist, Bus. Private Business, Other Self-Employed Group Self-Employed (Legal) Self-Employed (Medical) Self-Employed (Tech) Self-Employed (Other) Independent Organization Group Dir Instit/Corp/Hospital Mgr-Exec Empl by Instit/Corp Employee Independent Inst/Corp Prof/Scientist Instit/Corp Inependent Org, Other Agriculture Group Agricultural Executive Agricultural Entrepreneur Agricultural Manager Agricultural Employee
July 2010
11-69
GTVSVPC
345 349 350 351 352 353 410 411 412 413 414 415 419 420 421 422 429 510 512 511 513 520 521 522 523 529 530 531 539 540 541 542 610 611 612 613 619 620 621 622
Agriculture Prof/Scientist Agriculture, Other Religion Group Minister of Religion Religious Order Member Theologian Arts Group Artist (Graphic Arts) Author (Playwright,Poet) Stage/Film Actor Film/Stage Producer Composer/Musician Arts, Other Sports Group Athlete Coach Sports, Other Labor Union Group Labor Union Official Labor Union Head Labor Union, Other Labor Union Ministry Group Labor Minister or Lab Ag Head Senior Ministerial Official Ministerial Employee Ministry of Labor, Other Labor Experts Academia Group Deleted--See 213 Labor Experts Academia, Other Labor Organization Group Head of Labor Organization Labor Organization Employee Electronic Media Group Head of TV/Radio Station Radio/TV Journalist Electronic Media Technician Electronic Media, Other Print Media Group Editor/Publisher Journalist
11-70
July 2010
GTVSVPC
623 629 630 631 639 710 720 730 790 800 900
Tech in Print Media Field Print Media, Other Film as News Media Group Film Maker Film as News Media, Other Opposition Leader Opposition Leader (Legislator) Former Political Official Important Political Figure Military Other
GTVSVTR Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Unauthorized Withdrawal Death Unauthorized Employment Drop Below FT Course of Study Full Course Time Exceeded Change of Nonimmigrant Status Nonimmigrant Stat Chnge Denied Expulsion Suspension Absent from Country for 5 Mos. Failure to Enroll Costs Exceed Resources Transfer Student a No Show Denied Transfer Extension Denied Failing to Maintain Status Violation of Change of Status Change of Status Denied Change of Status Withdrawn Change of Status Approved Transfer Withdrawn No Show-Manual Termination Authorized Early Withdrawal No Show-System Termination School Withdrawn
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
July 2010
11-71
GTVSVTR Code
1 2 3 4 5 6 7 8 9 CONVIC DISCIP ENGEMP FALACT FALADD FALINS FALSTD INVSUS OTHER VIOEXV VIOSPN
GTVSVTS
INACT 1/03 Fail to Pursue Prog INACT 1/03Fail to Maint Ins INACT 1/03 Convict of a Crime INACT 1/03 Disciplinary Action INACT 1/03 Unauth Employment INACT 1/03 Violat Spons Rules INACT 1/03 Violating Prog Regs INACT 1/03 Fail to Main FT INACT 1/03 Involuntary Susp Conviction of a Crime Disciplinary action Unauthorized employment Fail to Pursue EV Prog Activit Fail to submit address change Fail to maint health Insurance Fail to maint full course Involuntary suspension Other Violating EV program regs Violating sponsor rules
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
C P N M W X R GTVSYSI
Processing Complete Pending Response from SEVIS No action required Manual - Adjudicated event Waiting for Batch Transmittal Not Sent, User Decision Returned with error
A G F R S T C
11-72
July 2010
GTVSYSI
H M U N B D L X IC E TM FW GW VR AW SW PW LW IF LC
GUASADM Capture Table
Human Resources Micro-Faids Interface Utilities Position Control Property Tax Cash Receipts Occupational Tax and License Records Indexing Integration Components Banner XtenderSolutions Translation Manager Finance Self-Service Web General Voice Response Advancement Self-Service Student Self-Service Employee Self-Service Faculty/Advisor Self-Service Kiosk (Information Access) Luminis Channels for Banner
Capture Rule
Capture Columns
GOREMAL_EMAIL_ADDRESS GOREMAL_PREFERRED_IND GOREMAL_STATUS_IND GORIROL_ROLE GORIROL_ROLE_GROUP SPBPERS_BIRTH_DATE SPBPERS_LEGAL_NAME SPBPERS_NAME_PREFIX SPBPERS_NAME_SUFFIX SPBPERS_PREF_FIRST_NAME SPBPERS_SEX SPBPERS_SSN
GOREMAL
GORIROL SPBPERS
July 2010
11-73
Capture Rule
Capture Columns
SPRADDR_ATYP_CODE SPRADDR_CITY SPRADDR_CNTY_CODE SPRADDR_NATN_CODE SPRADDR_STATUS_IND SPRADDR_STAT_CODE SPRADDR_STREET_LINE1 SPRADDR_STREET_LINE2 SPRADDR_STREET_LINE3 SPRADDR_ZIP
SPRADDR
SPRIDEN
SPRTELE
|69,Workflow Release,wf_release,G$_WF_BUTTON_PRESSED_TRG;,,414.000,18.000,D, ||70,Workflow Submit,wf_submit,G$_WF_BUTTON_PRESSED_TRG;,,396.000,18.000,D, ||71,Open Electronic Document,wf_apply,G$_WF_BUTTON_PRESSED_TRG;,,378.000,18.000,D, ||72,SEM,sem,,,171.000,63.000,E, ||73,Banner Help,banner_help,GUAHELP,,144.000,63.000,E, ||74,Internet,internet,,,117.000,63.000,E, ||75,MS Powerpoint,powerpoint,,,99.000,63.000,E, ||76,MS Excel,excel,,
Display Hint
Screen XPosition
Button X Position
232
224
11-74
July 2010
GURUPRF Group
DATA_EXTRACT REPORT
String
DIRECTORY DIRECTORY
Value
c:\temp http:// your.report.server/ ows-bin/rwcgi60.exe? http://yourserver.com/ directory/
WEBOUTPUT
WEB
DIRECTORY
*MENU FILE
ldap:// your.ldap.server:port/
AUTHENTICATION AUTHENTICATION AUTHENTICATION SSL SSL SSL COLOR COLOR COLOR COLOR COLOR COLOR LIST
DN BIND_USER BIND_PASSWORD LOCATION PASSWORD MODE BUTTON CANVAS RECORD SEPARATOR SCROLLBAR CODE_PROMPT FORMS
DN Name Bind user. Bind password. Wallet Location Wallet Password Authentication Mode r204g204b153 r255g255b255 r204g204b153 r204g204b0 r204g204b0 r0g0b0
APANAME,APAIDEN,APAWPRS, FOAIDEN,FTMAGCY,FTMFMGR, FTMVEND,GXRBANK,PPAIDEN, RCRSUSP,STVINFC,SPAIDEN, SAAQUIK,SRAQUIK,SAAEAPS, SRIPREL,SRQMTCH,STVPREL, SHAEDIS,PEAHIRE,PEA1PAY, NOAEPAF
July 2010
11-75
GURUPRF Group
UI UI UI UI UI UI UI UI
String
EXIT CONFIDENTIAL DECEASED MESSAGE_CANVAS LINKS_CANVAS TREE_CANVAS MY_INST MY_LINK_1DESC
Value
Your first personal link description Your first personal link URL Your second personal link description Your second personal link URL Your third personal link description Your third personal link URL Your fourth personal link description Your fourth personal link URL Your fifth personal link description Your fifth personal link URL Your sixth personal link description Your sixth personal link URL
c:\YourImageDirectory
UI UI
LINKS LINKS
MY_LINK_1EVENT MY_LINK_2DESC
UI UI
LINKS LINKS
MY_LINK_2EVENT MY_LINK_3DESC
UI UI
LINKS LINKS
MY_LINK_3EVENT MY_LINK_4DESC
UI UI
LINKS LINKS
MY_LINK_4EVENT MY_LINK_5DESC
UI UI
LINKS LINKS
MY_LINK_5EVENT MY_LINK_6DESC
UI IMAGE
LINKS WEB
MY_LINK_6EVENT DIRECTORY
11-76
July 2010
GURUPRF Group
REPORT HELP
String
SERVICE DIRECTORY
Value
YourServiceName
http:// your.bannerOH.server/ bannerOH/bannerOH
July 2010
11-77
11-78
July 2010
Troubleshooting
See the corresponding chapters of the Banner General User Guide for messages related to Letter Generation, Population Selection, and Job Submission. The Banner Error and Warning Messages form (GUAERRM) displays messages generated by APIs. If an error or warning appears in the GUAERRM form, the message was generated by an API. Each API has technical documentation that might help you identify the source of the problem. See Chapter 7, APIs, for a list of Banner General APIs and instructions on downloading API documentation.
SQL Trace
An SQL Trace may be performed from within a Banner session. This helps technical support staff track performance issues so they can be resolved. When you report a performance problem, the Technical Support representative can ask you to turn on the SQL Trace feature and repeat your tasks. As you work, SQL Trace statements are written to a specified directory, where the representative can view them. The statements show all the indexes that Oracle uses to access data. To turn on SQL Trace, select the Help pull-down menu on the menu bar, then Technical Support, and Turn SQL Trace On.
Note The end user must turn the trace off or exit Banner to stop creating trace statements.
The location of the trace files is determined by the user_dump_dest setting in the init.ora file. If someone else is creating trace files when you are, you will have to review the files to determine which were created by your session. The names of the files begin with ora_ and end with the extension .trc. The names are created automatically by the database. If your environment is running with the multi-threaded server option, all trace data is written to a common file. You may want to investigate setting up another database connection in tnsnames.ora file with the use of (SERVER=DEDICATED) so your trace file is unique and contains only your sessions data. Use the Oracle utility program tkprof to format the output of your trace file.
July 2010
T-1
On the Help pull-down menu on the toolbar, Technical Support expands to two options, Turn SQL Trace On and Turn SQL Trace Off. One or the other will be enabled, depending on if you currently are using the trace feature. You can invoke the trace at any time in your Banner session. You will continue to produce trace statements until you turn the trace off or exit Banner. GUMAPPL.MMB was updated to add the technical menu to the help section. It has the logic to call routines in the general library to turn the SQL Trace on and off.
Note If you want to disable the SQL Trace entirely, access the Installation Controls Form (GUAINST) and clear the SQL Trace Enabled check box.
T-2
July 2010
Index
A
Advanced Queuing 3-18 API Disclaimer 7-7 APIs API Disclaimer 7-7 APIs in Banner General 7-1 APIs Used in Banner General with Student Forms and Tables 7-5 naming conventions 1-1 Overview 7-1
B
Banner naming conventions 1-1 Banner Event messages 3-18 BASELINE user ID 1-15 BFILEs 3-19
compiling 9-1 C 9-8 COBOL 9-2 form generation 9-1 mass generation scripts 9-1 constraint naming conventions 1-8 check constraints 1-9 foreign keys 1-8 primary keys 1-8 unique 1-10 constraints 1-8 foreign key 1-9 cursors 1-7
D
data format recommendations 1-12 database programming objects naming conventions 1-3 debug COBOL 6-21 development guidelines blocks 2-38 buttons 2-41 check boxes 2-40 menus 2-42 naming conventions 2-35 navigation 2-39 pull-down lists 2-40 radio groups 2-40 scroll bars 2-38 visual cues 2-36 directory structure tables 1-15
C
C 9-8 compiling 9-8 standards 1-25 check boxes 2-40 check constraints 1-9 COBOL compiling 9-2 debug 6-21 standards 1-20 COBOL Standards style 1-23 coding standards C 1-25 column names 1-2 application tables 1-2 validation tables 1-3 Common Forms Object Library (GOQCLIB) 3-17
E
e-Print 3-19 eBill 3-19 EEO reporting 5-13 error messages
July 2010
I-1
APIs T-1 GUAERRM T-1 Job Submission T-1 Letter Generation T-1 Population Selection T-1 Ethnic Codes Rule Form (PTRETHN) 5-14 ethnicity 5-13 new categories 5-14
F
forms 2-35 architecture 2-1 creating custom forms 2-45 custom forms and GUAOBJS 1-1 internationalization 2-45 naming conventions 1-1 updating for Banner 8.0 2-45
ID forms 3-17 ID numbers 3-2, 3-4 include file 6-42 indexes 1-8 Instructions 4-1 interfaces 8-1 external user systems 8-1 in Banner 8-1 internationalization forms 2-45 IPEDS Ethnic Validation Table (STVETCT) 514 IPEDS reporting 5-13, 5-14
J
Job Submission 6-34 multiple databases 6-50 UNIX 6-52 VMS 6-50 Windows NT 6-49 job submission home directory 6-45 umask value 6-39 Job Submission Profile Maintenance Form (GJAJPRF) 6-9 jobs naming conventions 1-1
G
General User Preferences Maintenance Form (GUAUPRF) 6-9 global variables 3-1 General 3-2 GOQCLIB 3-17 GOQOLIB 3-5 GOQRPLS procedures in 3-5 GOQWFLW 3-18 GORBLOB 3-19 GORRACE (Race Rules Form) 5-15 GTVRRAC (Regulatory Race Validation Form) 5-15 GUAINIT 3-1 starting a SQL trace in T-2 GUROPTM fields 2-44
L
Large Objects (LOBs) 3-19 LOBs 3-19 LOCAL user ID 1-15 LOV button 2-35, 2-42 Luminis Data Integration 3-18
H
home directory for job submission 6-45
M
mass generation scripts 9-1
N
naming conventions 1-1 column names 1-2 database programming objects 1-3 foreign keys 1-9
I
I18N forms 2-45
I-2
July 2010
primary keys 1-8 New Ethnicity Code field 5-15 nonresident aliens ethnic code reporting 5-15
S
schema owners 1-13 sctban.pm 6-42 seed data owners 1-13 sleep/wake-up 6-30 SOBSEQN 3-2, 3-4 SPAIDEN 3-17 special characters 1-12 SPRIDEN_CREATE_USER 3-17 SQL Trace T-1 SQL*Plus scripts 6-23 STVETCT (IPEDS Ethnic Validation Table) 514 System indicator 1-1
O
Objects 1-1 open VMS notes 9-5 Oracle Advanced Queuing 3-18 Oracle*Reports 6-1
P
packaged functions 1-6 packages standards 1-6 parameters for Oracle reports 6-3, 6-10 Perl reports and processes 6-19 PIDMs 3-2, 3-4 Duplicate PIDM error 3-3 Process Submission Controls Form (GJAPCTL) 6-1, 6-9 processes attributes 6-20 PTRETHN (Ethnic Codes Rule Form) 5-14 pull down lists 2-40
T
tables naming conventions 1-1 technical addendum generating 6-56 trace mode 6-21 triggers 1-3, 1-5, 3-5 procedures 3-5 shared 3-5
R
RAC (Real Application Clusters) and large objects (LOBs) 3-19 race and ethnicity 5-13 new categories 5-14 Race Rules Form (GORRACE) 5-15 radio groups 2-40 referential integrity constraints 1-9 Regulatory Race Validation Form (GTVRRAC) 5-15 Report and Process Attributes Matrix 6-20 reports attributes 6-20 Perl 6-19 reports and processes 6-20 naming conventions 1-1 RUN_REPORT_OBJECT 6-9
U
umask for gjajobs.shl 6-39 Unified Modeling Language (UML) 2-1 unique constraints 1-10 UNIX 9-7 COBOL script in 9-7 mass C compile procedures 9-12 user IDs BASELINE 1-15 delivered with Banner 1-13 LOCAL 1-15 user-defined types 1-7
July 2010
I-3
V
VMS notes 9-5
W
Workflow 3-18 Workflow Banner Adapter Library (GOQWFLW) 3-18
I-4
July 2010