Tabelles

Une tabelle contient un tableau de données datées permettant de déterminer une valeur (montant, taux, etc) selon un ou deux paramètres d’entrée. Généralement ces paramètres sont basés sur des champs du dossier de l’employé.

Il y a 3 façons dont les tabelles sont stockées:

  • UNI19: tabelles stockées en mémoire interne (legacy, ne plus utiliser)
  • UNI18: tabelles stockées sous forme de fichier
  • UNI85: tabelles intégrées directement dans l’application

Le fonctionnement des tabelles UNI18 et UNI19 fonctionne de la même manière, seul le stockage diffère. Il est préférable d’utiliser la tâche UNI18 pour stocker les tabelles, la tâche UNI19 étant gardée pour des raisons historiques.



Tabelles simples (1 code - UNI18/UNI19)

Une tabelle simple se présente de la manière suivante:

UNI18

  • Valeur: Date de début de validité.
  • Classe: Code correspondant à une combo dans les données de l’employé.
  • Description: Description du code (peut être laissé vide, uniquement présente pour facilier la compréhension).
  • taux_employe: Colonne de données 1
  • taux_employeur: Colonne de données 2
Note:

Il est important que toutes les colonnes aient un nom unique sur la 1ère ligne. Sans cela, le moteur de calcul générera une erreur.

Format du fichier (CSV)

La tabelle doit être enregistrée au format CSV. Il se peut que Excel prenne des de libertés quand aux données enregistrées (surtout les dates). Voici ce qui doit être affiché lorsque la tabelle est ouverte avec un éditeur de texte (notepad):

UNI18

Enregistrement dans UNI18

Une fois le fichier CSV créé avec Excel (ou directement en format texte), voici comment la tabelle est enregistrée dans SAINet:

UNI18

Le nom de la tabelle est préfixée par la langue: <langue><tabelle>.CSV (ici, FRLPP.CSV). La langue correspond à la langue de l’utilisateur. Le préfixe de langue est facultatif, le moteur va de toute façon faire un fallback sur le nom de la table sans la langue.

Configuration dans le moteur

Dans l’exemple ci-dessous, la ligne L50 est de type 5 Base * taux. La tabelle contient les taux à appliquer selon le status de l’employé.

SAL02

Le champ de l’employé FORMBASE.POSITIONPROF est chargé dans T Table, indiquant au moteur de l’utiliser pour trouver la ligne correspondante dans la tabelle.

La tabelle LPP.CSV va automatiquement pointer vers <langue>LPP.CSV, la langue étant celle de l’utilisateur exécutant le SAL24.

La dérivation TBR/RATE est un code spécial: TBR/ indique au moteur que la tabelle se trouve dans UNI18 ou UNI19 et RATE est une variable indiquant ou la valeur de la tabelle doit être stockée. Par défaut, si RATE n’est pas indiqué, la valeur sera stockée dans le montant (AMOUNT).

Finalement, le paramètre taux_employe indique quelle doit être la colonne lue pour retourner le résultat. En l’occurrence, ce paramètre est facultatif ici car s’il n’est pas précisé, c’est la 1ère colonne de données qui sera utilisée.

Résultat du calcul

SAL02


Tabelles croisées (2 codes - UNI18/UNI19)

Ces tabelles se présentent comme les tablles simples, mais utilisent 2 codes pour faire leur recherche. Cela implique que la tabelle est définie différemment:

Format du fichier

UNI18

  • Valeur: Date de début de validité.
  • Classe: Code correspondant à une combo dans les données de l’employé.
  • Description: Description du code (peut être laissé vide, uniquement présente pour facilier la compréhension).
  • 10 CDI mensuel: Colonne de données pour le code 10
  • 11 CDI Temps travail: Colonne de données pour le code 11
  • 12 CDI horaire: Colonne de données pour le code 12

Comme dans une tabelle simple, chaque en-tête de colonne doit être unique. De plus, dans les colonnes de données, le code doit toujours se trouver avant le premier espace. Ce qui vient après le code est un libellé libre qui sera ignoré par le moteur de salaire.

Note:

Les mêmes remarques s’appliquent quant aux modifications faites par Excel.

Configuration dans le moteur

La ligne L51 est configurées avec le type 4 Montant directement.

SAL02

Les champs FORMBASE.POSITIONPROF puis FORMBASE.TYPECONTRAT sont tous les deux chargés dans le T Table. L’ordre de chargement est déterminant ! En effet, le moteur de salaire va utiliser le premier code chargé pour chercher la ligne, puis le deuxième pour chercher la colonne.

Dans ce cas-ci, seule la dérivation TBR/ est précisée puisque les valeurs de la tabelles sont directement des montants.

Note:

Si le 2ème code est fixe (ne dépend pas de l’employé), il est possible de le préciser directement dans le champ Paramètre.

Résultat du calcul

SAL02


Tabelles intégrées (UNI85)

Ces tabelles sont directement stockées dans la tâche UNI85. Leur identifiant dépend de la construction qui est faite au niveau du moteur de salaire.

Saisie d’une tabelle

UNI85

  1. Champs d’en-tête de la tabelle. L’identifiant doit correspondre à la construction faite dans SAL02. La combo doit être S Statique avec SAL_TAUX_DATES afin d’obtenir les bonnes valeurs dans le sous-panel.
  2. Les tranches sont à laisser vides.
  3. Données des plancher/plafond et taux correspondants.

Configuration dans le moteur

SAL02

La dérivation TBL/ indique que la tabelle se trouve dans UNI85. Il faut indiquer ensuite le préfix de la tabelle qui va constituer son identifiant (ici LAAC).

Le suffix de l’identifiant de la tabelle est ensuite constitué de deux code provenant de CODEMSAI.CODLAAC1 puis de COSEXE.

Il est possible d’ajouter un paramètre correspondant au code combo à utiliser dans la combo SAL_TAUX_DATES. Par défaut, cette valeur est à T (taux employé), et sinon pourrais être à E (taux employeur).

Résultat du calcul

SAL02