Previous page

Next page

NLX validation

This rule checks that NLX clauses for payroll rules are valid. The check includes employee, qualifying and action clauses.

Note: When you run the Integrity Checker to check NLX validation only, you do not need to select any tables.

 

Clauses are syntactically correct

Check identifies whether the NLX clauses can be recognised before they are run. The clauses must be syntactically correct and all of the function names that are used must be recognised.

Common syntax errors are:

 

Parameter lists are correct

The Integrity Checker checks that the parameter list for each function is correct.

The number of parameters must be correct. For example, when you post the award code for the allowance that will be generated (NlxPrArAllwPostAwardCode), there should be only one parameter, which is the award code to use.

The parameters are a list of values (in curly parentheses) and the list contains the correct number of values. For example, when rounding an accumulator to the nearest given value (NlxPrArAccumRndN), one parameter is enclosed in curly parentheses. This parameter should be a list with two values; the first value is the rounding factor and the second value is the index of the accumulator.

The parameters supplied are the correct type. For example, when adding a value to an accumulator (NlxPrArAccumAdd), there is one parameter that is a list of values. The first value in this list is the index of the accumulator that the value will be added to. This value is an integer, such as 1,2,3, which means this value must be:

  1. The result of a function evaluation that is an integer.
  2. A string that can be recognised as an integer (‘4’ is a valid string, ‘4.2’ and 'text' are not).

 

Updating an accumulator from an entity field

Accumulators can be updated from the following entities:

The following example shows a clause that is used to update an accumulator from an entity:

NlxPrArAccumFieldPost(‘Salary’), NlxPrArAccumEmField(‘1’)

The following checks are performed:

  1. The field name exists (including user defined fields).
  2. The field represents a numerical type. For example, you would not accumulate from the birth date.

 

Retrieving entity field values

When you apply a qualifying clause, PayGlobal compares the values on the left-hand side against a list of values on the right-hand side. For example, for the oEQ(NlxEmField(‘DaysWorked’),{’0’}) clause, 'DaysWorked' is the field in the Employee table, and '0' is the field value.

The Integrity Checker checks whether the list on the right-hand side is compatible with the left-hand side.

Date type functions are also verified to ensure that they are dates and use one of the following formats: 'YYYYMMDD' or 'YYYY-MM-DD hh:mm:ss.mmm'.

 

Updating an employee field from an accumulator

The following type of clause updates an employee field from an accumulator:

NlxPrArFieldAccumPost(‘Salary’),NlxPrArEmFieldAccum(‘1’)

The following checks are performed on this type of clause:

  1. The field exists (including user defined fields).
  2. The field is a numeric type. For example, you would not update the employee birth date from an accumulator.

 

Updating an employee field to a specified value

The following type of clause updates an employee field to a specified value:

NlxPrArFieldPost(‘Salary’),NlxPrArEmField(‘$10A00’)

The following checks are performed on this type of clause:

  1. The field exists (including user defined fields).
  2. The value is appropriate.
  3. The employee code is never updated.
  4. Referential integrity is respected. For example, when you update the employee award code, you must use an award code that is in the awards table. This applies to all foreign key entries.

 

Checking that generated transactions are correct

When constructing a current allowance or a current deduction to be paid, the following checks are performed:

  1. The associated allowance or deduction exists.
  2. The award, reason, position and other associations (foreign keys) exist.
  3. Superannuation fund allowances or deductions are not posted for Superannuation funds that do not exist.
  4. Superannuation fund field names are one of the following:

Unlike most of the other rules, this rule is run independently of the tables that you select. This rule checks a specific set of NLX tables: PayrollRuleEmployeeClause, PayrollRuleQualifyingClause and PayrollRuleActionClause.

This rule does not automatically correct errors.

Previous page

Next page

Topic: 9529