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 fichierUNI85
: 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:
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 1taux_employeur
: Colonne de données 2
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):
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:
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é.
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
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
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 1011 CDI Temps travail
: Colonne de données pour le code 1112 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.
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
.
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.
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
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
- Champs d’en-tête de la tabelle. L’identifiant doit correspondre à la construction faite dans
SAL02
. La combo doit êtreS Statique
avecSAL_TAUX_DATES
afin d’obtenir les bonnes valeurs dans le sous-panel. - Les tranches sont à laisser vides.
- Données des plancher/plafond et taux correspondants.
Configuration dans le moteur
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).