Compute Main Curriculum Module Subject Result {SSTUD4-23}

This program is used to calculate the mark and/or result of a Main subjects, from the marks and result of modules linked to the Main subject as defined in {SACADO-17}. 


The user must:

This program is controlled by system cycle 'E'

The SOD = 'MC', 'SR' (Calculation programs to process cancelled marks and results), determines if cancelled subjects' exam marks and final marks and results will be computed. If the 'Alpha/Date Field' = 'Y' for SOD = 'MC', 'SR', the cancelled subject(s) will be included.  If the 'Alpha/Date Field' = 'N', the cancelled subject(s) will be ignored.

The marks and results of all the modules should ideally being calculated before this program is executed. This is however, not a pre-requisite. Most of the logic in this program is done by functions called from i41pkg.sql and i43pkg.sql

User Selection Prompt Text
* an item between square brackets [ ] is the default answer
Type
&
Length
Comments
  [I]ndividual or (B)ulk calculation A1 This is to enable the program to be called from {TASKS1-2} to calculate an individual student's results
If previous prompt = 'I', Enter Student Number N9 The calculation program can be started from the assignment subsystem forms program for an individual student
Main Subject Exam Year N4 The year and month is used to select the students. Each student's registration year is used to determine the criteria for calculation to be used
Main Subject Exam Month N2  
Enter First Block Code To Include Or [ALL] A2 Up to 10 block codes can be included
If ALL, Enter First Block Code To Exclude Or <Enter> To Continue A2 Up to 10 block codes can be excluded
Faculty Code or [ALL] N4 Of the Main subject
Department code or [ALL] N4 Of the Main subject
Qualification code or [ALL] A6  
Study Period or [ALL] A1 Of the student.
Curriculum Main Subject Code or [ALL] A7  
Campus code or [ALL] N2 This is the campus code of the Offering Type of the Main subject
Offering Type or [ALL] A2  
Calculate Even If Some Results Are Still Outstanding (Y)es/[N]o A1 If Yes, the program will calculate the result of a main subject of a student even if some of the modules do not have a result. If one of those modules are a compulsory module, the program will allocate the default result of Minimum Requirements not met.
Else
, the program will use the available marks and weights to calculate a mark and lookup the result for that Main subject.

If No, the program will not calculate the result for a Main subject at all for a student if any of the module results are outstanding. It simply selects the next student and do the processing for that  new student. 
Use The (B)est Result Or [L]ast Result Of Curriculum Modules A1  
Change Manually Entered Marks? (Y)es/[N]o i.e. marks/results entered by a user via a screen and not calculated by a calculation program.
Include already calculated students? (Y)es/[N]o A1 i.e. where the Main subject already has a result.
Is This A [T]rial or (U)pdate Run A1  


Sort Order Per Comments
  Student Number   
Academic Year  
Block Code  
Qualification  
Main Subject Code  


System Select  
  The program will only select student records where the modules have the Main subject in the subject involved field and the student is registered for the Main subject with function i22pkg i.e. Mother in package i22pkg.
When selecting the Mother subjects, exclude subjects where the Professional judgment method of evaluation is used. No calculation must be done for marks obtained by the Professional judgment method of evaluation for Mother subjects.
Exclusions:
  • Qualification that is cancelled, when 'Alpha/Date Field' = 'N' for SOD = 'MC', 'SR' on {SMNT-12}
  • Subjects that are exempted
  • Subjects that are cancelled, when 'Alpha/Date Field' = 'N' for SOD = 'MC', 'SR'
  • Subject with the calculation rule 'E', these Subjects must be calculated with {SSTUD4-4}

Example
:

Example of calc program in {SSTUD4-23}

..

Processing
Rules
 
  Cancelled subject(s) will be included when 'Alpha/Date Field' = 'Y' for SOD = 'MC', 'SR' on {SMNT-12}.  If set to 'N', cancelled subject(s) will be ignored.
Test if field 'Use Current Enrollment Only' on {SACADO-17} has been setup. If field is not set up give message "'Use Current Enrollment Only' on {SACAD-10} has not been setup."
If "Use Current Enrollment Only" is 'Y', only subjects for input year and month will be selected. If "Use Current Enrollment Only" is 'N' , all subjects with year and month prior to input year and month will be selected.
  Check if a result code exists for the main subject:
Continue with calculation if result for main subject does not exists or Parameter for 'Include already calculated students' = 'Y'
  If 'Calculate Even If Some Results Are Still Outstanding' = 'N' then check if all results for the applicable module subjects are entered with package i43pkg and function i43_chk_all_module_res
  Check if all compulsory modules have been enrolled, with package i43pkg and function I43_COMPUL_MODULES_REGISTERED, Print Student number and error message, "NN vs NN Student not enrolled for all Compulsory Modules"
  Check if student submitted all compulsory subject, with package i43pkg and function I43_UPD_FAIL_SUBMIT_MODULES, Print Student number and error message, "Fail compulsory not submitted - Module: XXXXXXX Exam Year: NNNN Exam Month: NN" and update Main Subject with "Result for Compulsory Assessment not Submitted" on {SSTUD3-1} Tab Default Examination Admission and Result Criteria
  Check if student was absent from exam, with package i43pkgand function I43_UPD_ABSENT_MODULES. Print Student number and error message,  "Absent from exam - Module: XXXXXXX Exam Year: NNNN Exam Month: NN" and update Main Subject with "Default Result Code"  on {SSTUD3-1} Tab Default Examination Admission and Result Criteria
  Check if student failed compulsory subject, with package i43pkg and function I43_UPD_FAIL_COMPUL_MODULES. Print Student number and error message,  "Fail compulsory - Module: XXXXXXX Exam Year: NNNN Exam Month: NN" and update Main Subject with "Result for not yet Competence", if the Main subject was marked as Y on "Indicator for Competence" on {SACADO-10}, if marked as 'N' then update Main Subject with "Result for Fail Compulsory Assessment" on {SSTUD3-1} Tab Default Examination Admission and Result Criteria
  Check if student failed submin, with package i43pkg and function I43_UPD_FAIL_SUBMIN_MODULES. Print Student number and error message, "Fail subminimum - Module: XXXXXXX Exam Year: NNNN Exam Month: NN" and update Main Subject with "Result for not yet Competence", if the Main subject was marked as Y on "Indicator for Competence" on {SACAD-14} Tab Subjects, if marked as 'N' then update Main Subject with "Result for Fail Sub-Minimum on Assessment" on {SSTUD3-1} Tab Default Examination Admission and Result Criteria
  Check if student passed all compulsory subjects, with package i43pkg and function i43_UPD_PASS_COMP_MODULES only if "Apply Compulsory Modules Rule" on {SACAD-10} is set to 'Y'. Print Student number and error message, "Compulsory to Pass Rule : Fail compulsory - Module: XXXXXXX Exam Year: NNNN Exam Month: NN" and update Main Subject with "Result for not yet Competence", if the Main subject was marked as Y on "Indicator for Competence" on {SACADO-17}, if marked as 'N' then update Main Subject with "Result for Minimum Requirements not Met" on {SSTUD3-1} Tab Default Examination Admission and Result Criteria
  Check if minimum requirement was met, with package i43pkg and function i43_UPD_MAIN_MIN_REQ. Print Student number and error message:
if "Calculation Rule to apply" on {SACADO-17} is A: Error message - "Fail module XXXXXXX in same enrollment as main subject XXXXXXX NNNN (Year) NN (Month)

if "Calculation Rule to apply" on {SACADO-17} is C: Error message - "Credits, sum of NNNN less than credits required NNNN"

if "Calculation Rule to apply" on {SACADO-17} is E: No message will be printed because Main subject will be excluded from calculation

if "Calculation Rule to apply" on {SACADO-17} is M: Error message - "Number of modules passed (NNNN) is less than the required NNNN

if "Calculation Rule to apply" on {SACADO-17} is N: No message will be printed because there is no rule for the Main Subject.
  Check if any modules has result of "Not Yet Competent", with package i43pkg and function I43_CHK_NYC_MODULES. Do not Print student number and message in this case because result will be updated with "Result for not yet Competent" result on {SSTUD3-1} any way. 
  Call function to update main subject result with "Not Yet Competent" result even if it is not a competency based subject, with package i41pkg and function i41_calc_MainSubjResult_nyc. Do not Print student number and message in this case because result will be updated with "Result for not yet Competent" result on {SSTUD3-1} any way.
  Call function to calc main subject mark, with package i41pkg and function i41_calc_MainSubjMark.
  Call function to calc main subject result, with package i41pkg and function i41_calc_MainSubjResult.
The relationship between the fields in {SACADO-17} that determine what role compulsory modules play in the calculation of the final mark and result of the Main subject is illustrated in the matrix to the right.
Apply Pass all Compulsory Modules rule Y N Y N
Ignore student if not registered for all compulsory modules ********** ********** ********** ********** **********
Y ********** The student will not be included in the calculation **********  **********  **********
Y ********** ********** The student will not be included in the calculation **********  **********
N ********** ********** ********** The student will be included in the calculation even if not registered for all compulsory modules. If a student does not pass any one of the compulsory modules, he/she will be allocated a default result.

HOWEVER: if the student passes (or is exempted for) all currently registered compulsory modules but the student is not registered for ALL possible compulsory modules, the student will not be penalised. He/she will be reported as not being registered for all compulsory modules and no mark or result will be allocated.
**********
N ********** ********** ********** ********** The student will be included in the calculation, the rule that all compulsory modules must be passed will not be applied. The student will get a mark and result for the main subject.

See Also:
History Of Changes

Date System Version By Whom Job Description
12-Aug-2006 v01.0.0.0 Phlip Pretorius T118141 New program
07-Nov-2006 v01.0.0.1 Phlip Pretorius T137159 Add information regarding the influence of compulsory modules on the calculation of the Main subject
17-Jul-2007 v01.0.0.2 Phlip Pretorius T143439 Add info re system cycle and competency module
03-Sep-2008 v01.0.0.3 Bea Swart T152378 Check manual and add processing rules
31-Aug-2010 v02.0.0.0 Bea Swart T164727 When selecting the Mother subjects, exclude subjects where the Professional judgment method of evaluation is used.
26-Mar-2013 v02.0.0.1 Amanda van Emmenis T186085 Add processing rule for new SOD = 'MC', 'SR'
26-Mar-2015v04.0.0.0Magda van der Westhuizent205922Convert to INT4.0.