Functions called from package i23pkg.sql


This package contains functions that are used for:


Most of the validation rules have parameters that users can use to link particular values for that parameter. These values are then compared with the applicant's value e.g.
The logic that will determine the outcome of a rule for a particular applicant is 'hard coded' in the function. A new rule can be defined and an existing function linked to the rule with different values for the different parameters. If a new function is linked to a new rule, users must remember that the logic for the rule must be programmed before the rule can be applied in the application validation process.

These validations have four possible outcomes:

'A' - Not applicable. This means that the rule does not apply to the particular application.
'D' - Data Problem. The function expects parameter values but it does not exist. Users must define the parameter values before the validation is done.
'N' - Not successful. The applicant did not comply with the requirements of the rule.
'Y' - Successful. The applicant complies with all the requirements of the rule.

Each of these functions first performs a check to determine if the parameters that it will be using have parameter values defined for those parameters where it expects values. If these values are not defined, it will stop the processing of that rule and return a 'D' value indicating that a data problem exists. The validation rule is deemed to be not successfully as the rule validation could not be completed.

When the validation action is started, a record for each active validation record is created for the application.

If the validations are done as 'Final Validations', and a route is defined for the rule, a work flow route will be started that will simply inform the responsible persons of the failure of an applicant of a specific rule. This is done by e-mail and it is of utmost importance that each person that is linked to a rule parameter that defines a route has an e-mail address in the personnel system.

A pre-defined set of rules with parameters will be installed on the client's database. These rules can be set to active or in-active according to the institution's requirements.

These pre-defined functions linked to the default set of academic application rules are described below:

Function Name Function Description Comments
AGE  Does the applicant have the correct age for the qualification?

The function checks if the applicant's age is equal or greater than the value entered in the 'Minimum Age' field for the qualification in {SCAO1-2: Qualification Minimum Age Requirement}.
  • If no age value is defined the function indicates that the rule is not applicable for the applicant and qualification.
  • If the applicant's age is less than the minimum age, the function sets the 'Success' field equal to 'N'.
  • Else the function sets the 'Success' field equal to 'Y'.
    • If the validation is done in 'Final' mode, the route indicated in parameter 1, will be started using the person number indicated in parameter 2
Rule: 35
AGE_CONTRACT Does the applicant have the correct age for the contract requirement?

The function checks if the applicant's age is less than the value of parameter 1 of the rule.
  • If it is equal or greater than the value of parameter 1, function indicates that the rule is not applicable for the applicant
  • If the age is less that the value of parameter 1,  the function checks if the application is linked to a contract
  • If not, the function sets the 'Success' field equal to 'N'.
  • If a contract is linked to the application, the source of funding of the contract, as defined in {FSAC-10}, is matched with any of the values in parameter 2.
  • If a match is found, the function sets the 'Success' field equal to 'Y'.
  • Else the function sets the 'Success' field equal to 'N'.
    • If the validation is done in 'Final' mode, the route indicated in parameter 3, will be started using the person number indicated in parameter 4
Rule: 3

With this function it is possible to allow persons, who are still at school, to enroll only under a specific funding mechanism.
ANNADMFEE Is the annual administration fee included in the quote generated for the application?

The function checks if a record for event '03' (registration fee) exists in the quote table for this application
  • If it does exist, the function sets the 'Success' field equal to 'Y'.
  • Else the function sets the 'Success' field equal to 'N'.
Rule: 7
CERTIFICATE Did the applicant presented specific required documentation?

The function checks if the applicant is linked to the certificate values in parameter 1 in {SREGB-8}.
  • If no records are found, the function sets the 'Success' field equal to 'Y'
  • If all the records to which the applicant is linked, have the value 'Y' in the 'Seen' field, and the 'Expiry Date' is empty or greater that today's date the function sets the 'Success' field equal to 'Y', else the function sets the 'Success' field equal to 'N'
  • If one of the certificates from parameter 1 that is linked to the applicant has the value 'N' in the 'Seen' field,  the function sets the 'Success' field equal to 'N'.
Rule: 49
CERTINDICATOR Has the proof of identity been received?

The function checks if the applicant is linked to any of the certificate values in parameter 1 in {SREGB-8}.
  • If the applicant is not linked to any of the certificates, function sets the 'Success' field equal to 'N'.
  • If the applicant is linked to any one of the certificates in {SREGB-8} and the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date
  • the function sets the 'Success' field equal to 'Y'
  • Else the function sets the 'Success' field equal to 'N'
Rule: 1B, 2

This rule can be used for any documents that an applicant is required to present to the institution 
CERTINDICATORUJ UJ Local software validation Rule: UJCI
CHECKSUBJOPTITEM Optional  items to request for subjects

The function checks if the student have planned subjects from the list in parameter 1 with  optional items defined.
  • If no match is found, the function sets the 'Success' field equal to 'Y'
  • If a match is found, check if the student did select any optional items:
    • If no record found, the functions sets the 'Success' field equal to 'N'
    • else the function sets the 'Success' field equal to 'Y'
Rule: 50
CHK_AUTOENROL_ALLOWED The Automated Enrolment process is allowed.

A function in the AUTOENROL package (i51pkg) is used to do the testing.
Rule: Z028

CITZ_RESIDENT Student is regarded a citizen of the country where he lives with proof.

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 2 – if not -> N (fail validation)
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 3 – if not -> go on , else check certificate
OR
    • Check Non Resident Indicator {SREGB-1p2}is matching the value specified in parameter 4 – if not -> go on, else check certificate
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if not -> N, return, else continue.
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> Y (pass validation).
Rule: Z001
CITIZNFEEBASIS Does the fee basis of the applicant (student type) correspond with the required citizenship and residency documents?

The function checks if the applicant's student type matches any of the values in parameter 1 of the rule
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found, the function checks if the applicant is linked in {SREGB-8} to any of the values in parameter 2 and where the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date.
  • If the applicant is linked to any of the certificate, the function sets the 'Success' field equal to 'Y'
  • Else the function sets the 'Success' field equal to 'N'
Rule: 5


In this function the assumption is made that the citizen and/or residency documents presented by the applicant are recorded as certificate codes.
CNTREMPLADDR Does the employer on the application record have a user defined primary address?

The function checks if the application has a contract and/or employer linked
  • If not, the rule is not applicable for this applicant
  • If an employer is linked, the function will check that the employer has an active primary address of any of the types defined in parameter 1 of the rule.
  • If a primary address does not exist the function sets the 'Success' field equal to 'N'
  • Else the function sets the 'Success' field equal to 'Y'
Rule: 27

Employer codes are created in {GCS-22}

Address types are defined in {GCS-24}
CNTRFORSALE Is the contract open 'for sale'?

The function checks if the application is linked to a contract
  • If not linked to a contract, the rule is not applicable for this applicant
  • If the application is linked to a contract, the function checks if the start date of the academic block code, as defined in {GOPS-1}, is between the start- and end date of the contract as specified in {FSAC-10}.
  • If the start date of the block code is between the start- and end date of the contract, the function sets the 'Success' field equal to 'Y'
  • Else, the function sets the 'Success' field equal to 'N'
Rule: 23

This validation is also done on line in the application program
CNTRSPECBURYPERMIT Is the Loan or Allowance excluded for this contract?

The function checks if the applicant has applied for a loan or allowance in {FBLO-4} that matches any of the values in parameter 1 of the validation rule
  • If such a match is not found the rule is not applicable to this applicant
  • If the application is not linked to a contract, the rule is not applicable to this applicant
  • If the application is linked to a contract, the function matches the contract code to the values in parameter 2.
  • If a match is found the 'Success' field is set equal to 'N' (the applicant fails the rule)
  • Else the 'Success' field is set to 'Y'
Rule: 48

The contract excludes specific loans/allowances
CONTRLOANPERMIT  Is the applicant allowed to apply for a loan/allowance if he/she is applying academically under a contract?

The function checks if the applicant has applied for a loan or allowance in {FBLO-4} that matches any of the values in parameter 1 of the validation rule
  • If it is true and the applicant is applying under a contract, the function checks if the field 'Loan/Allowance Indicator' in the contract definition {FSAC-10} matches any of the values in parameter 4 of the rule
  • If this is true the function sets the 'Success' field equal to 'Y'
  • If not true the function sets the 'Success' field equal to 'N'
    • If the validation is done in 'Final' mode, the route indicated in parameter 2, will be started using the person number indicated in parameter 3
Rule: 11, 15, 21
CRSEAPPROV Does the applicant have a document indicating approval for the qualification he/she is applying for?

The function matches the qualification of this application to the values in parameter 1.
  • If no match is found, the rule is not applicable for this application
  • If a match is found, the function checks if the applicant is linked in {SREGB-8} to any of the values in parameter 2 and where the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date.
  • If the applicant is linked to any of the certificate, the function sets the 'Success' field equal to 'Y'
  • Else the function sets the 'Success' field equal to 'N'
      • On failing the rule, the function will start the route in parameter 3 using the person number indicated in parameter 4 if the validation is done in 'Final' mode.
Rule: 33
CRSEMAT Is all the possible study material available?

The function will determine if all possible study material is available.
  • If no items are defined in {SDGUIM-1} on the qualification, subject, student level and no additional items are linked for the applicant (see the creation of additional study material in {SNAPPA-1/3}), the rule is not applicable for this application
  • If all possible study materials are available, the function sets the 'Success' field equal to 'Y'
  • If any one item is unavailable, the function sets the 'Success' field equal to 'N'
  • An Item is unavailable when:
  • It is not set to active in {FPMM-23b1}
  • It is not active in the store to which it is linked in {FPMM-23b2}.
Rule: 32


The function in all cases uses the qualification offering type to determine the store from which items are issues. The offering type is linked to a store in {GCS-5}
CURENRLM Is the applicant is currently enrolled for any of the planned subjects linked to the application?

The function will check if any of the planned subjects linked to this application
  • has a subject registration record that
    • is not cancelled
    • is not exempted
    • does not have a result code
  • and where that subject registration is linked to any qualification enrollment where today's date is less than the maximum end date* on the qualification enrollment record.
  • If any such subject is found, the function sets the 'Success' field equal to 'N'
  • Else the 'Success' field is set equal to 'Y'
Rule: 41





*For the more technically inclined reader, this field is called IAGEDATE and is derived from the end date of the block code as defined in {GOPS-1}
ECH_ENROL Students are not enrolled at primary school or are enrolled at provider with <= maximum number of sessions per week

The function checks if the student (registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Qualification matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check application or registration Provider's Type {SCODE-1b2}match with the value in parameter 3 – if yes -> N, return, else -> continue.
    • Check application or registration Provider's Type {SCODE-1b2}match with the value in parameter 4 – if not -> Y, return, else -> continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> continue.
    • Check if the remarks on the certificate has a value <= the value in parameter 6 on the certificate – if yes -> Y,  else -> N
Rule: Z014
ENROL_AGE Student is between certain ages for enrolment.

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Qualification matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s age are between the minimum and maximum ages defined for the qualification on {SCAO1-2b6} – if not -> N, else -> Y
Rule: Z013
EXC_SCHOOL_FAIL_NOTICE When the Automated Enrol process fail, send a notice to the school/institution.

A function in the AUTOENROL package (i52pkg) is used to do the testing.
Rule: Z047

This rule cannot be used as validation rule.
EXC_SCHOOL_SUCCESS_NOTICE When the Automated Enrol process succeed, send a notice to the school/institution.

A function in the AUTOENROL package (i52pkg) is used to do the testing.
Rule: Z048

This rule cannot be used as validation rule.
FEEBASISCITDOCSNSNNATCRED Is the applicant's fee basis (student type), citizenship, citizenship documents, National Student Number and National Credits as per the institution's requirements?

The function matches the application's student type to any of the values in parameter 1 of the rule
  • If no match is found, the rule is not applicable for the application
  • If a match is found, the function matches the applicant's citizenship code as entered in {SREGB-1} with any of the values entered in parameter 2
  • If no match is found, the rule is not applicable for the application
  • If a match is found, the function matches the certificates linked to the applicant in {SREGB-8}, where the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date, with the values in parameter 3 (citizenship documents)
  • If no record is found, the function sets the 'Success' field equal to 'N'
  • If a match is made, the function checks if the student has a National Student number. 
  • If a number does not exist, , the function sets the 'Success' field equal to 'N'
  • Else, the function calculates the National Credits of this application.
          • If the credits is not between the values in parameter 4 and 5, the function sets the 'Success' field equal to 'N'
            • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 6 using the person number indicated in parameter 7
          • Else, the function sets the 'Success' field equal to 'Y'
Rule: 45














The National Student number is currently a special feature of institutions in New Zealand.
FEEBASISNATIONALCREDITS Is the applicant's fee basis (student type) and number of National Credits in accordance with the institution's rules?

The function checks if the applicant's student type matches any of the values in parameter 1.
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found, the function compute the total national credits (defined for subjects in {SACAD-1: Subject information}) for this application and enrolled subjects for this application year.
    • If the total credits is not between the values in parameter 2 and 3, the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 4 using the person number indicated in parameter 5
    • Else the 'Success' field is set to 'Y'
Rule: 44
LETOFAPPROV  Does the applicant have a letter of approval from the contract payer?

If the application is not linked to a contract, the rule is not applicable for this applicant
  • If a contract is linked, the function matches the student type of the application to the values in parameter 1
  • If no match is found, the rule is not applicable for this applicant
  • If a match is made, the function matches the certificates linked to the applicant in {SREGB-8}, where the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date, with the values in parameter 2 (letter of approval)
  • If a match is not made, the function sets the 'Success' field equal to 'N'
  • Else, the function sets the 'Success' field equal to 'Y'
Rule: 30
LOANALLOWCITSHIP Does the applicant comply with the specific citizenship requirements of specific loans/allowances for which the applicant is applying?

If the applicant did not apply for any of the loan/allowances in parameter 1, the rule is not applicable for this applicant.
  • If the applicant did apply for one of the loan/allowances in parameter 1, the function matches the range of citizenship codes that is indicated in the low and high value fields in the loan/allowance criteria for the values in parameter 2 with the citizenship code entered for the applicant in {SREGB-1}
  • If the applicant's citizenship code is between the low and high value of the criteria code of parameter 2, the function sets the 'Success' field equal to 'Y'
  • Else, the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 3 using the person number indicated in parameter 4
Rule: 12 and 17






The loan/allowance criteria are set up in {FBLO-2}. The standard ITS criteria code for  citizenship is 'AAAA06'
LOANALLOWNATCREDITS Does the applicant comply with the MSD guidelines for loans/allowances regarding the number of National credits for this application?

If the applicant did not apply for any of the loan/allowances in parameter 1, the rule is not applicable for this applicant.
  • If the applicant did apply for any of the loan/allowances in parameter 1, the function calculates the number of National credits for this application. It then compares the number of credits with the minimum (parameter 2) and maximum (parameter 3) values required by the MSD guidelines.
  • If the applicants number of national credits is between the minimum and maximum values, the function sets the 'Success' field equal to 'Y'
  • Else, the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 4 using the person number indicated in parameter 5
Rule: 8 and 16
LOANALLOWPRISDOCS Is the applicant a person of a pre-defined type and did the applicant present the required documents?

The function matches the certificates linked to the applicant in {SREGB-8}, where the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date, with the values in parameter 1.
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found, the function checks is the applicant has also applied for a loan/allowance
  • If no loan/allowance match is found, the rule is not applicable for the applicant
  • If a loan/allowance application exists, the function matches the certificates linked to the  applicant, where the 'Seen' field is equal to 'Y' and the 'Expiry Date' is empty or greater that today's date, with the values in parameter 2
  • If a match is found, the function sets the 'Success' field equal to 'Y'
  • Else, the function sets the 'Success' field equal to 'N'
        • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 3 using the person number indicated in parameter 4
Rule: 18


This rule is similar to the next rule,  rule 13 but differs in the sense that a person is linked to a specific user defined category (certificate/indicator) and checking if the person submitted the required documentation (certificate/indicator).
LOANALLOWPRISONER Is the applicant applying for specific loan/allowances and is the person of a predefined type e.g. a prisoner?

The function checks if the applicant is linked to a status code in {SREGL-2} that matches any of the values entered for parameter 1 of the rule and where today's date is between the start date and the end date of the status record of the applicant.
  • If such a record does not exists, the rule is not applicable to this applicant
  • If a record exists, the function checks if the applicant has applied for any of the loans/allowances in {FBLO-4} that matches any of the values in parameter 2
  • If this is true the function sets the 'Success' field equal to 'Y'
  • If not true the function sets the 'Success' field equal to 'N'
Rule: 13

With this rule it is possible to identify different types of categories of persons by defining an appropriate status code in {SCODE-9} and linking it to the applicant.
LOANALLOWPROGVALID  Is the qualification approved for a loan or allowance/bursary application?

The function checks if the applicant has applied for a loan or allowance in {FBLO-4} that matches any of the values in parameter 1 of the validation rules
  • If this is not true, the function indicates that the rule is not applicable for this applicant
  • If it is true, the functions checks if the field 'Available for Loan or Allowance' in {SACAD-1b1} for the approved qualification of the qualification applied for matches any of the values in parameter 2
  • If this is true the function sets the 'Success' field equal to 'N' as this category of person is not suppose to apply for the indicated loan/allowance
  • If not true the function sets the 'Success' field equal to 'Y'
Rule: 9 and 20
LOANCRSELENGTH  Is the duration of the qualification in accordance with the rules of the loan/allowance applied for?

The function checks if the applicant has applied for a loan or allowance in {FBLO-4} that matches any of the values in parameter 1 of the validation rules
  • If this is not true, the function indicates that the rule is not applicable for this applicant
  • If it is true, the function 
  1. calculates the minimum block start date and the maximum end date (from {GOPS-1}) using both the planned subjects and registered subjects where the application year is between these minimums and maximums
  2. check if the difference in weeks between the minimum start date and end date is less than or equal to the number of weeks specified in parameter 2.
  • If this is true the function sets the 'Success' field equal to 'Y'
  • If not true the function sets the 'Success' field equal to 'N'
Rule: 10
MATRICENDORS Test the validity of the Students matric type against that of the undergraduate Qualification Type. Rule: UJME
MOE_ENROL_CHECK The student is valid according to all the New Zealand MOE checks.

A function in the AUTOENROL package i51pkg is doing the validation.
Rule: Z029

This rule is only applicable if
the country code is New Zealand and rule CHK_AUTOENROL_ALLOWED did not fail.
NATIONALSTUDNO Is the status of the National Student Number in compliance with the institution's requirements?

The function will check if the student has a National Student Number.

  • If not, the function sets the 'Success' field equal to 'N'
  • Else, the function will match the status of the applicant's National student number with any value entered in parameter 1.
  • If a match is found, the function sets the 'Success' field equal to 'Y'
  • Else, the function sets the 'Success' field equal to 'N'
Rule: 1A

Note: The fields 'National  Student Number' and 'National Student Number  Status' are currently only visible on the special New Zealand biographical screen.
NUMPREVENRL Will the applicant exceed the number of times that he/she can register for subject without achieving a 'Pass' result?

For each planned subject, the functions counts the number of time the applicant was registered previously without achieving a pass result.
  • It matches this count with the value in parameter 1. 
  • If the count is less than the value in parameter 1, the function sets the 'Success' field equal to 'Y'
  • Else, the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 2 using the person number indicated in parameter 3
Rule: 39

Result codes are defined in {SCODE-22}.
PREREQ Does the applicant comply with pre-requisites for each of the planned subjects?

The function checks if each of the planned subjects has pre-requisites. It then checks if the applicant has passed the pre-requisite or one of the substitutes of the pre-requisites (an exemption of any of these pre-requisite or substitutes is taken as a pass).
  • If the applicant has passed all the pre-requisites, the function sets the 'Success' field equal to 'Y'
  • If the applicant did not pass any one of the planned subject's pre-requisites, the function sets the 'Success' field equal to 'N'
    • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 2 using the person number indicated in parameter 3
Rule: 38

Pre- and co-requisites for subjects are defined in {SACAD-1: Pre-Requisite, Co-requisite, Substitute and Exposure Subjects}
 
PREVENRASSIGNM Was the applicant previously enrolled and did not complete any assignments?

The function will, for each planned subject, check if the applicant was previously enrolled for the subject.
  • If the applicant was not enrolled for any of the planned subjects, the rule is not applicable for this application
  • For each of the subjects that the applicant was enrolled in, the function checks if any work was submitted. This is done by checking for marks and/or results in {SSTUD1-2} or checking if an assignment bundle record exists for the applicant in {TASKS1-1}.
  • If the applicant did submit work for each of the subjects enrolled for, the function sets the 'Success' field equal to 'Y'
  • If the applicant dot not submit any work for any one of the subjects enrolled for,  the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 1 using the person number indicated in parameter 2
Rule: 40
QUALLANGPROF Does the applicant have the required language proficiency for the qualification?

The functions match the current application qualification with any of the values in parameter 1 of the rule.

  • If no match is found, the rule is not applicable for this application
  • If a match is found, the function checks if the applicant is linked to any of the certificates defined in parameter 2 in {SREGB-8} where the expiry date is empty or greater that today's date and the 'Seen' field is equal to 'Y'.
  • If such a record exists, the function sets the 'Success' field equal to 'Y'
  • Else the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 3 using the person number indicated in parameter 4
Rule: 36A

This function differs from the next function QUALLANGPROFEXCL in that specific qualifications are indicated to have specific language proficiency requirements
QUALLANGPROFEXCL Does the applicant have the necessary language proficiency for the qualification?  This rule functions on the 'exception' rule in that all qualifications requires language proficiency except the qualifications referenced in the parameter values of parameter 2)

The function checks if the applicant's home language, as defined in {SREGB-1}, matches any of the values in parameter 1 of the rule
  • If a match is found, the rule is not applicable to this applicant
  • If no match is found, the function checks if the qualification of the application matches any of the values in parameter 2 of the rule.
  • If a match is found, the rule is not applicable to this applicant
  • If no match is found, the function checks if the applicant is linked to any of the certificates defined in parameter 3 in {SREGB-8} where the expiry date is empty or greater that today's date and the 'Seen' field is equal to 'Y'.
  • If such a certificate code match is found, the function sets the 'Success' field equal to 'Y'
  • Else the 'Success' field is set to 'N'
    • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 4 using the person number indicated in parameter 5.
Rule: 46









The certificate codes are defined in {SCODE-22}  and should reflect clearly in the description that it indicates language proficiency.
QUALNZRESIDENT Does the applicant have the required residency codes?

The function matches the applicant's planned subjects with any of the values in parameter 1 of the rule.
  • If no match is found, the rule is not applicable for this application
  • If a planned subject match is found the function matches the applicant's residency code with any of the values in parameter 2 of the rule
  • If a match is found, the function sets the 'Success' field equal to 'Y'
  • Else the 'Success' field is set to 'N'
Rule: 37

An applicant's residency code is set in {SREGB-1} in the field 'Country of Residence' 
SSTUD_TYPE_ENROL_NUMSUBJ Student enrol for  number of main subjects <= maximum number

The function checks if the student's planned subject has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects (pending planned and  registered for the student, year) <= maximum number of subjects enrolled, parameter 4 – if not -> N, else Y
Rule: Z055

This validation is on subject level.
This validation is only applicable to validations in the 'Add-a-subject Automation' process.
SSTUD_TYPE_ENROL_SUBJ Student enrol for  number of main subjects (from a list of subjects) = number of subjects

The function checks if the student's planned subject has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects (pending planned and  registered for the student, year) and defined in the list of parameter 7 = number of subjects enrolled, parameter 4 – if not -> N, else Y (pass validation)
Rule: Z057

This validation is on subject level.
This validation is only applicable to validations in the 'Add-a-subject Automation' process.
SSTUD_TYPE_SCHOOL Student enrol at school that have < maximum number of students

The function checks if the student's planned subject has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check that the number of students at the school (Provider Type = S), defined in {SCODE-1} is < maximum number of student at school, parameter 4. If not -> N, else -> Y (pass validation)
Rule: Z060

This validation is on subject level.
This validation is only applicable to validations in the 'Add-a-subject Automation' process.
STUD_AGE_DOC Student is between certain ages with proof.

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Qualification matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Use the birthdate on {SREGB-1}, check if the student is older than minimum age specified in parameter 3 – if not -> N, return, else continue.
    • Use the birthdate again and check if the student is younger than maximum age specified in parameter 4 – if not -> N, return, else continue.
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else ->Y.
Rule: Z005
STUD_CERTIFICATE Student did submit a certificate

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Qualification matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else ->Y.
Rule: Z004
STUD_CITZ_AGE Student is regarded a citizen of the country where he lives, have the correct age, no financial status and proof

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 – if not -> N (fail validation)
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 4 – if not -> go on , else check age
OR
    • Check Non Resident Indicator {SREGB-1p2} is matching the value specified in parameter 5 – if not -> go on, else check age
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if not -> N, return, else continue.
    • Use the birthdate on {SREGB-1}, check if the student is older than minimum age specified in parameter 6 – if not -> N, return, else continue
    • Check if the student is younger than maximum age specified in parameter 7 – if not -> N, return, else continue
    • Check if student has any status defined in parameter 8 in {FSAO-12}. If not, continue, else -> N, return
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 9. If no record found -> N, else -> continue.
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 10. If no record found -> N, else -> continue.
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 11. If no record found -> N, else -> Y.
Rule: Z007
STUD_CLASSES_PER_SUBJ Student enrol for main subject in class where number of enrolments <= maximum number

A function in the AUTOENROL package i51pkg or i53pkg is doing the validation.
Rule: Z035

This validation is on subject level.
This rule is only applicable if rule CHK_AUTOENROL_ALLOWED did not fail.
STUD_FIN_STAT Student paid fees (When action IF is defined and student not linked to override status)

Note: Parameter 2 is not used anymore
Override status, linked to action EF will be used to indicate that the student is exempted fromthe 'IF' requirement.
A status, linked to action IF, will never be linked to a student.

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule.
  • If no match is found, the rule is not applicable for this student.
  • If a match is found:
    • Check if status - linked to action IF, is defined in {FSAC-1}.
      • If  it is not defined, the rule is not applicable
      • If  it is defined, Check if the student is linked to override status - linked to action EF in {FSAO-12}.
        • If student is linked, validation is passed - no further action.
        • If the student is not linked, Check the student's balance against fees required, taking into account the Status Balance Rule defined in {FSAC-1}.
          • If balance not equal or greater than fees required, the student will not be able to apply or register.
 
Rule: Z011
STUD_ISOLATE Student is certain age and too far from school with proof

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2 and the Birthdate is older than the minimim age in parameter 3 and the Birthdate is younger than the maximum age in parameter 4
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> continue.
    • Check the Remarks of the Certificate, if it is > minimum distance in parameter 6 – if yes -> Y,  else -> N.
Rule: Z015
STUD_NOT_CITZ Student is a foreigner in the country where he lives and have no financial status

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 – if not -> N (fail validation), else continue
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 4 – if does -> N, else continue
OR
    • Check Non Resident Indicator {SREGB-1p2} is matching the value specified in parameter 5if does -> N,return, else continue
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if does -> N, return, else continue..
    • Check if student has any status defined in parameter 6 in {FSAO-12}. If not, -> Y (pass validation), else -> N, return
Rule: Z008
STUD_NOT_CITZ_RESID Student is not regarded a citizen but lives overseas with no financial status

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 – if does -> N (fail validation), return, else continue
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 4 – if does-> N, return, else continue
OR
    • Check Non Resident Indicator {SREGB-1p2} is matching the value specified in parameter 5 – if does -> N,return, else continue
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if does -> N, return, else continue
    • Check if student has any status defined in parameter 6 in {FSAO-12} - if not -> N, else -> Yes (pass validation)
Rule: Z010
STUD_NOT_RESID Student is regarded a citizen but lives overseas with no financial status and proof

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 – if not -> N (fail validation)
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 4 – if not -> continue, else check certificate
OR
    • Check Non Resident Indicator {SREGB-1p2} is matching the value specified in parameter 5 – if not -> continue, else check certificate
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if not -> N, return, else continue
    • Check if student has any status defined in parameter 6 in {FSAO-12}. If not, continue, else -> N, return
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 7. If no record found -> N, else -> Y.
Rule: Z009
STUD_STUDY_PERIOD The student apply for a valid study period.

A function in the AUTOENROL package i51pkg is doing the validation.
Rule: Z032

This rule is only applicable if rule CHK_AUTOENROL_ALLOWED did not fail.
STUD_SUBJ_STYPE Check that the country the student is living in, corresponds with the student type of the subjects the student is enrolled for

The function checks if the student subject has a  Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 – if not -> N (fail validation)
Rule: Z025
STUD_TYPE_AGE Student is between certain ages

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Use the birthdate on {SREGB-1}, check if the student is older than minimum age specified in parameter 3 – if not -> N, return, else continue
    • Check if the student is younger than maximum age specified in parameter 4 – if not -> N, return, else -> Y (pass validation)
Rule: Z002
STUD_TYPE_AGE_DOC Student is between certain ages with proof

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Use the birthdate on {SREGB-1}, check if the student is older than minimum age specified in parameter 3 – if not -> N, return, else continue
    • Check if the student is younger than maximum age specified in parameter 4 – if not -> N, return, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> Y
Rule: Z003
STUD_TYPE_CERTIFICATE Student did submit a certificate
The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> Y
Rule: Z006
STUD_TYPE_ENROL Student enrol for number of main subjects <= maximum number with proof

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects linked to the qualification <= maximum number of subjects enrolled, parameter 4 – if not -> N, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> Y
Rule: Z012
STUD_TYPE_ENROL_CERT Student enrol for subjects with proof

The function checks if the student main subject(s) has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> Y
Rule: Z019

This validation is on subject level.
STUD_TYPE_ENROL_CERTS Student enrol for  number of main subjects <= maximum number, with proof (2 docs)

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects linked to the qualification <= maximum number of subjects enrolled, parameter 4 – if not -> N, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 6. If no record found -> N, else -> Y
Rule: Z021
STUD_TYPE_ENROL_NUMSUBJ Student enrol for  number of main subjects <= maximum number

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects linked to the qualification <= maximum number of subjects enrolled, parameter 4 – if not -> N, else Y
Rule: Z022
STUD_TYPE_ENROL_SCHOOL Student enrol for  number of main subjects <= maximum number and the school have < maximum number of students

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects linked to the qualification <= maximum number of subjects enrolled, parameter 4 – if not -> N, else continue.
    • Check that the number of students at the school (Provider Type = S), defined in {SCODE-1} is < maximum number of student at school, parameter 5. If not -> N, else -> Y (pass validation)
Rule: Z024
STUD_TYPE_ENROL_SP Student enrol for specific study period should have certificate

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if student study period is between start and end study period, parameter 4 and 5 – if not -> N, return, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> Y (pass validation).
Rule: Z023
STUD_TYPE_ENROL_SUBJ Student enrol for  number of main subjects (from a list of subjects) = number of subjects

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects linked to the qualification and defined in the list of parameter 7 = number of subjects enrolled, parameter 4 – if not -> N, else Y (pass validation)
Rule: Z018




STUD_TYPE_ENROL_SUBJ_CERT Student enrol for  number of main subjects (from a list of subjects) = number of subjects, with proof

The function checks if the student's (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, and the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if the student’s number of main subjects linked to the qualification and defined in the list of parameter 7 = number of subjects enrolled, parameter 4 – if not -> N, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 5. If no record found -> N, else -> continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 6. If no record found ->  -> N, else -> Y
Rule: Z020




STUD_TYPE_FIN_STAT Student paid fees (have no financial status) with proof

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule and the Student Type matching any of the values in parameter 2
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if student has any status defined in parameter 3 in {FSAO-12}. If not, continue, else -> N, return
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 4. If no record found ->  -> N, else -> Y
Rule: Z017
STUD_TYPE_RESID Student is regarded a citizen of the country where he lives with proof (2 docs)

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 –  if not -> N , return, else continue
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 4 – if not -> continue, else check certificate
OR
    • Check Non Resident Indicator {SREGB-1p2} is matching the value specified in parameter 5 – if not -> continue, else check certificate
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if not -> N, return, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 6. If no record found -> N, else -> Y.
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 7. If no record found -> N, else -> Y.
Rule: Z016
STUD_TYPE_RESID_CERT Student is regarded a citizen of the country where he lives with proof

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check Country of Residence {SREGB-1p2}is matching the value specified in parameter 3 –  if not -> N , return, else continue
    • Check Citizenship {SREGB-1p2}is matching the value specified in parameter 4 – if not -> continue, else check certificate
OR
    • Check Non Resident Indicator {SREGB-1p2} is matching the value specified in parameter 5 – if not -> continue, else check certificate
OR
    • Check Study Permit Category {SREGB-1p2}is not null – if not -> N, return, else continue
    • Check Certificate {SREGB-8} is matching one of the values specified in parameter 6. If no record found -> N, else -> Y.
Rule: Z026
STUD_TYPE_SP Student enrol for specific study period for qualification

The function checks if the student (application or registration) qualification has an Offering Type matching any of the values in parameter 1 of the rule, the Student Type matching any of the values in parameter 2 and the Qualification matching of the values in parameter 3
  • If no match is found, the rule is not applicable for this applicant
  • If a match is found:
    • Check if student study period is between start and end study period, parameter 4 and 5 – if not -> N, return, else continue
Rule: Z027
SUBJLANGPROF Does the applicant have the required language proficiency for the planned subjects?

The functions match the planned subjects with any of the values in parameter 1 of the rule.
  • If no match is found, the rule is not applicable for this application
  • If a match is found, the function checks if the applicant is linked to any of the certificates defined in parameter 2 in {SREGB-8} where the expiry date is empty or greater that today's date and the 'Seen' field is equal to 'Y'.
  • If such a record exists, the function sets the 'Success' field equal to 'Y'
  • Else the function sets the 'Success' field equal to 'N'
      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 3 using the person number indicated in parameter 4
Rule: 36B

This function differs from the next function SUBJLANGPROFEXCL in that specific subjects are indicated to have specific language proficiency requirements.
SUBJLANGPROFEXCL Does the applicant have the necessary language proficiency for the subject? (This rule works on the 'exception' rule in that all subjects require language proficiency except the subjects referenced in the parameter values of parameter 2)

The function checks if the applicant's home language, as defined in {SREGB-1}, matches any of the values in parameter 1 of the rule
  • If a match is found, the rule is not applicable to this applicant
  • If no match is found, each planned subject is matched against the values in parameter 2 of the rule
  • If a match is found, the rule is not applicable to this applicant
  • If no match is found, the function checks if the applicant is linked to any of the certificates defined in parameter 3 in {SREGB-8} where the expiry date is empty or greater that today's date and the 'Seen' field is equal to 'Y'.
  • If such a certificate code match is found, the function sets the 'Success' field equal to 'Y'
  • Else the 'Success' field is set to 'N'

      • If the validation is run in 'Final' mode, the function starts the route indicated in parameter 4 using the person number indicated in parameter 5.
Rule: 47







The certificate codes are defined in {SCODE-22}  and should reflect clearly in the description that it indicates language proficiency.
VALIDATIONMAIN The main academic application validation function?

This function manages the processing of all active validation rules as defined in {SNAPPA-8}. The function is activated when the user clicks on either one of the buttons 'Trail Validation' or 'Final Validation' in the academic application program {SNAPPA-1/3}. It performs the following actions:
  1. It selects all active application validation rules from {SNAPPA-8} and creates a record for the application if it does not already exists. These records can be viewed in {SNAPPA-9}.
  2. For each rule, it will process the function linked to the rule for the current application. 
    • If a rule exists with a reason code, this function will not call the linked function as it means that manual intervention took place and the rule should not be evaluated again.
  1. The linked function will use the user entered values for the parameters of each rule to evaluate the applicant for the rule
  2. Work flow routes:
  • The 'Trail Validation' will not start a user defined route.
  • The 'Final Validation' will start the user defined route when the application validation is not successful and the rule is defined to start a route.
  1. When all of the active rules have been processed, this function will check each of the application rules in {SNAPPA-9} for this application.
  • If ALL the 'Success' fields either have a 'Y' or a 'A' value, this function will update the 'Application Validated' field in {SNAPPA-1/3} with the value 'Y'
  • If any one of the results have either the value 'N' or 'D' in the 'Success' field, this function will update the 'Application Validated' field in {SNAPPA-1/3} with the value 'N'.
The main function in the package that does all the administrative work
















Routes are defined in {GROU-1} and the results of the different actions of the route are stored in {GROU-2}
 
 See Also:



History of Changes

Date System Version By Whom Job Description
17-May-2007 v01.0.0.0 Charlene van der Schyff t137175 New manual format.
12-Jul-2007 v01.0.0.0 Melanie Zeelie t137001 Routing options added
11-Dec-2007 v01.0.0.0 Melanie Zeelie t131049 Routing options added
28-Jun-2010 v02.0.0.0 Bea Swart t161186 Add new validations - Rule Code starting with 'Z'
11-Apr-2011 v02.0.0.1 Magda van der Schyff f173334 Update validation rule codes: Z012, Z018, Z020, Z021, Z022, Z023, Z024
07-Dec-2012 v02.0.0.2 Magda van der Schyff f179624 Update validation rule Z011
06-Oct-2014 v02.0.0.3 Magda van der Schyff t203912 Add missing/new validations