Functions called from package i32pkg.sql - No Menu Option


This package contains functions that primarily do checks and validations at registration on subject level

Function Name Function Description Comments
chk_subj_pass This procedure will check if the given subject was passed by student.

INPUTS
  • x_stno    student number
  • x_cyr      academic year
  • x_qual    qualification
  • x_subj    subject
  • x_minfm  minimum final mark

OUTPUTS
  • Number of subjects passed

PROCESSING RULES
  • The rules are that you PASS if:
    • You have an exempted entry irrespective of what is in the result field OR
    • You have a Passed result code AND there is no subminimum setup OR
    • You have a Passed result code AND passed a given subminimum
    • Exclude cancelled records
 
preco_requisite Checks if the Pre-/Co- Requisites, Substitutes and Exposure Criteria are met.

INPUTS
  • x_stno  student number
  • x_cyr    academic yearIN NUMBER
  • x_qual   qualification
  • x_subj   subject

OUTPUTS
  • Error as indicated below: 'Failed Co-Requisites' OR 'Failed Pre-Requisites' OR 'Failed Exposure'

PROCESSING RULES
  • i32pkg.chk_co_requisite(x_stno,x_cyr,x_qual,x_subj)
  • if return from package is not null
    • make return - 'Failed Co-Requisites'
    • i32pkg.prt_problem(x_stno,x_cyr,'CO',x_subj,i32_err)
  • i32pkg.chk_pre_requisite(x_stno,x_cyr,x_qual,x_subj)
  • if return from package is not null
    • make return - 'Failed Pre-Requisites'
    • i32pkg.prt_problem(x_stno,x_cyr,'PRE',x_subj,i32_err)
  • i32pkg.chk_exposure(x_stno,x_cyr,x_qual,x_subj)
  • if return from package is not null
    • make return - 'Failed Exposure'
    • i32pkg.prt_problem(x_stno,x_cyr,'EXP',x_subj,i32_err)

chk_co_requisite This procedure will check all co-requisite subjects for the given subject

INPUTS
  • x_stno  student number
  • x_cyr    academic year
  • x_qual   qualification
  • x_subj   subject

OUTPUTS
  • v_subjinv - Involved Subject

PROCESSING RULES
  • Get the following information:
    • v_subjinv - Involved Subject (the subject that is the co-requisite) {SACADO-14}
    • v_minfm - the Minimum Final Mark {SACADO-14}
    • v_code - 'C'
  • i32pkg.chk_registered(x_stno,x_cyr,v_subjinv,v_code)
  • i32pkg.chk_subj_pass(x_stno,x_cyr,x_qual,v_subjinv,v_minfm)
  • i32pkg.chk_substitute(x_stno,x_cyr,x_qual,v_subjinv,v_code)

chk_pre_requisite This procedure will check all pre-requisite subjects for the given subject

INPUTS
  • x_stno   student number
  • x_cyr     academic year
  • x_qual   qualification
  • x_subj   subject

OUTPUTS
  • v_subjinv - Involved Subject
PROCESSING RULES
  • Get the following information:
    • v_subjinv - Involved Subject (the subject that is the co-requisite) {SACADO-14}
    • v_minfm - the Minimum Final Mark {SACADO-14}
  • i32pkg.chk_subj_pass(x_stno,x_cyr,x_qual,iaxsubjinv,iaxminfm)
  • i32pkg.chk_substitute(x_stno,x_cyr,x_qual,prerec.iaxsubjinv,'P')

chk_substitute This procedure will check all substitutes for the given subject

INPUTS
  • x_stno   student number
  • x_cyr     academic year
  • x_qual    qualification
  • x_subj    subject
  • x_code   default 'C'

OUTPUTS
  • v_subjinv - Involved Subject when subsitute is met
  • x_subj - Subject when subsitute is not met
PROCESSING RULES
  • Get the following information:
    • v_subjinv - Involved Subject (the subject that is the co-requisite) {SACADO-14}
    • v_minfm - the Minimum Final Mark {SACADO-14}
  • i32pkg.chk_registered(x_stno,x_cyr,v_subjinv,x_code)
  • i32pkg.chk_subj_pass(x_stno,x_cyr,x_qual,v_subjinv,v_minfm)

chk_exposure This procedure will check exposure to the given subject

INPUTS
  • x_stno   student number
  • x_cyr     academic year
  • x_qual    qualification
  • x_subj    subject
OUTPUTS
  • v_subjinv - Involved Subject when exposure is met
PROCESSING RULES
  • Get the following information:
    • v_subjinv - Involved Subject (the subject that is the co-requisite) {SACADO-14}
    • v_minfm - the Minimum Final Mark {SACADO-14}
    • v_code - 'E'
  • i32pkg.chk_registered(x_stno,x_cyr,v_subjinv,v_code)
  • i32pkg.chk_substitute(x_stno,x_cyr,x_qual,v_subjinv,v_code)

chk_registered This Procedure will check whether the subject has been registered before in a previous year

INPUTS
  • x_stno   student number
  • x_cyr     academic year
  • x_qual    qualification
  • x_code   default 'C'
OUTPUTS
  • if no subjects found return the subject

PROCESSING RULES
  • Count records for:
    • Subject not cancelled
    • if x_code is 'C' (co-requisite) year of subject euqal x_cyr
    • if x_code is 'E' (exposure) year of subject less than x_cyr
    • if x_code is 'P' (exposure) year of subject less or equal than x_cyr

valid_qual_subj_bc Check if the block code for the qualification, subject code is active. If 'Y' is returned then the combination is active, if 'N' is return then the combination is inactive.

INPUTS
  • x_cyr   academic year
  • x_qual  qualification
  • x_subj  subject
  • x_bc     block code

OUTPUTS
  • Y or N
PROCESSING RULES
  • Check if record exist in Inactive Blocks {SACAD-25}, if no data found, return 'Y' else return 'N'

calc_wrs Function to calculate WRS scores for captured matric subjects

INPUTS
  • x_ierstno      student number
  • x_ierqual      qualification
  • x_iercyr        academic year
  • x_ierbc         block code
  • x_ierot          offering type
  • x_ierchoice   qualification choice on application
  • x_caorun      cao run number

OUTPUTS

PROCESSING RULES
  • Get country code from {GCS-1}, 
    • if country code doesn't exist make it 999 and v_msg = 'Error in Selecting Country, and Institution Details'
  • Get the maximum year from {SMNT-2} for cycle 'V' for the year, block and offering type and system date is between start and end dates.
    • if no data found make v_msg = 'V Cycle is not open for this Year, Block and Offering Type'
  • Get application detail, excluding cancellations (biographical and application)
For SA clients:
  • Find all scores for matric subjects final detail
    • Skip duplicate matric subjects
    • Calculate weighting factor for all subjects
  • Find Matric June detail if no matric final detail exists
    • Skip duplicate matric subjects
    • Calculate weighting factor
  • Find STD 9 detail if no matric final or June detail exists
    • Skip duplicate matric subjects
    • Calculate weighting factor
  • Add any aditional credits
  • Update the application WRS score
  • if eroor with update make v_msg 'Error updating application details : SQL error number'
For other countries clients:
  • get random number from application for the student
    • any other error make v_msg 'Error selecting the random number from the application SQL error number'
    • if no data found - make random number 0  - No random number exists for the application
  • Get a random number
    • Random number exists or has been calculated, get new random number
  • Find the matric sitting with the highest number of points.
    • if country code is 'IRL'
    • for O levels (grade) does not count for martic type 4,5
  • Update srs score
  • Get Final school leaving symbol for the student - insert into temp table
  • if no records Get Pre final school leaving symbol for the student - insert into temp table
  • if no records Get STD 9 school leaving symbol for the student - insert into temp table
  • Validate subjects loaded into temp table
  • Only 2 A levels allowed for UK matric types (country code IRL)
  • Only include first 6 subjects for Ireland
  • Add additional credits
  • Add bonus for 3 A symbols
  • Only update WRS score if not set to manual update (WRS was manually updated)

get_SLF This function to calculate the Service Level Factor for the registration

INPUTS
  • x_stno     student number
  • x_cyr       academic year
  • x_qualno  qualification number
  • x_ot         offering type
  • x_subj      subject
  • x_qual      qualification

OUTPUTS
  • SLF Factor
PROCESSING RULES
  • On the Commit of the subject block.
  • Get the Funding Category for Student
  • Is the Funding Category defined in Student SLF Matrix?
    • The registration program will WARN the user that "No record found for the Finding Category".
  • Get Max Number of Subject for the Funding Category
  • Will use i22pkg.isMain to determine the Main Subject for the student's qualification
  • If number of subject for a student is more that number of subject defined for Funding Category See Point 3 and 4 of example
  • If Number of subject registered is = number of subject in SLF Matrix. See Point 2 of  example
1.Example of SLF data
================================
Funding category        # of subjects   Factor
 ================================
          A                       1                     0.1
-----------------------------------------------------------------
          A                       2                     0.3
-----------------------------------------------------------------
          A                       4                     0.5
-----------------------------------------------------------------
2.If the student is registered for 2 subjects, use A 2, the factor = 0.3
3.If the student is registered for 3 subjects, use A 2, the factor = 0.3
4.If the student is registered for 6 subjects, use A 4, the factor = 0.5
Used in {SDREGA-1} on subject commit
LinkStno_to_Region This Procedure will Insert data for the Region, Parent and Child for the student.

INPUTS
  • x_stno   student number
  • x_cyr     academic year

OUTPUTS
  • Records that is inserted into Student/Region Link Table
PROCESSING RULES
  • From SOD A3/BI check is there is Address Type Defined. If NOT Defined then Exit.
  • When SOD address Type is Defined, Get the Region Code for the Student.
  • If the Region Code Exist for a Student. Get the Active highest Level i.e  (level = 0) Region Type Code.
  • If Student Records Exist  on Student/Region Link Table for the year, then Do nothing And Exit. Else insert record for Region
  • Identify the Parent Code Type if Any.
  • Identify The child Code if ANY.
  • Insert into Student/Region Link the Parent Region Type and Code if Exist.
  • The Part from here package look at the child region type only.
Used in {SDREGA-1} on subject commit
Cancel_Del_Modules This function was replaced with i3bpkg.cancel_subjects_main
Used in {SDREGA-1} on same day delete
Cancel_Del_Modules_New
INPUTS
  • x_stno      student number
  • x_cyr        academic year
  • x_subj      subject
  • x_ot          offerting type
  • x_qual      qualification
  • x_canc     indicator of 'CAN' for cancel or 'DEL' for delete
  • x_reason   cancel reason (not used now)
  • x_date       cancel date (not used now)
  • x_form       cancel form number

OUTPUTS
  • x_tot_amt   total amount
PROCESSING RULES
  • x_canc = 'DEL'
  • Check if the student is register for the student number, offering type, qualification, involved subject and academic year.
  • Validate if iamlog trans posted - if so error
  • Calculate total amount delete to re-adjust running totals in {SDREGA-1}
  • Also delete IAMLOG records - same day delete



Procedure Name Procedure Description Comments
prt_problem Print any errors found while doing the Pre-/Co- Requisite tests.
NOTE: Remember that these entries are used in i3fccc.pc

INPUTS
  • x_stno           student number
  • x_cyr             academic year
  • x_ind             indicator
  • x_orgnl_subj   original subject
  • x_error_subj   either the subject code for the failed reason OR contains an Oracle Error that should be printed.

OUTPUTS
  • None
PROCESSING RULES
  • Get the next available Line number
  • Save information in "General table for storing output line detail"


   
History of Changes

Date System Version By Whom Job Description
13-Apr-2010 v02.0.0.0 Bea Swart T160923 Create Manual
23-Feb-2011 v02.0.0.1 Bea Swart T174945
17-Apr-2012 v02.0.0.2 Bea Swart F182147 Rules for "LinkStno_to_Region" changed
26-Jun-2019
v04.1.0.0
Frans Pelser
t237245
Update Academic Structure references