<%@LANGUAGE="VBSCRIPT"%> <% ' ================================ ' AIS Debug variables ' ================================ Dim AISdebugSet AISdebugSet = "N" ' ===================================== ' Make sure to catch any database error ' ===================================== On Error Resume Next ' ================================ ' AISNews Recordset and variables ' ================================ Dim AISNews Dim AISNewsError Dim AISNewsIndex Set AISNews = Server.CreateObject("ADODB.Recordset") AISNews.ActiveConnection = MM_Foundation_STRING AISNews.Source = "select M.msg_id,M.title,M.abstract,M.author,M.details,M.urgency,M.msg_date,M.expiry_date,M.app_name,A.name from navigator.app_messages M, navigator.sys_applications A where M.app_name = A.code and trunc(sysdate) between M.msg_date and M.expiry_date-1 order by msg_date desc" AISNews.CursorType = 0 AISNews.CursorLocation = 2 AISNews.LockType = 1 AISNews.Open() ' Check that DB connection and SQL run went fine If Err.Number <> 0 Then AISNewsError= Err.Description Else AISNewsError= "None" End If AISNewsIndex = 0 ' ================================ ' AISFocus Recordset and variables ' ================================ Dim AISFocus Dim AISFocusError Dim AISFocusIndex Dim AISFocusShownAlways Dim AISFocusToBeShown Dim AISFocusRequestedId Dim AISFocusContent Dim AISUpperLeftImage Dim AISUpperRightImage Dim AISNextFocusId Dim AISPreviousFocusId Set AISFocus = Server.CreateObject("ADODB.Recordset") AISFocus.ActiveConnection = MM_AISweb_STRING AISFocus.Source = "SELECT id, title, text, upper_right_image, upper_left_image, date_from, date_to, always_shown FROM articles WHERE (articles.date_from<=Date() Or IsNull(articles.date_from)) And (articles.date_to>=Date() Or IsNull(articles.date_to)) ORDER BY articles.always_shown,articles.id;" AISFocus.CursorType = 0 AISFocus.CursorLocation = 2 AISFocus.LockType = 1 AISFocus.Open() ' Check that DB connection and SQL run went fine If Err.Number <> 0 Then AISFocusError= Err.Description Response.Write(""&AISFocusError&"") Else AISFocusError= "None" End If AISFocusRequestedId = Request.QueryString("focusid") ' ================================ ' AIS Procedures used in page ' ================================ sub getFocus() ' =========================================== ' GET FOCUS ' This procedure build the focus and store it ' in the AISFocusContent variable ' =========================================== If (AISFocus.EOF OR AISFocusError<> "None") Then Call AISdebug("Focus query returned NO records - maybe database connection error or no focus active") ' No focus found, maybe an error connecting the database or none is active... ' Display a default hardcoded focus item AISFocusContent= "" AISFocusContent = AISFocusContent & "

AIS: the unique entry point to all administrative computing at CERN

" AISFocusContent = AISFocusContent & "
" AISFocusContent = AISFocusContent & "The AIS website provides you with links, documentation, Frequently Asked Questions pages, Quick Reference Guides etc on all administrative applications and projects at CERN." AISFocusContent = AISFocusContent & "

" AISFocusContent = AISFocusContent & "Choose one of the menu items on the left. If you are not sure on which option to use, the shortcuts on the right may help you finding the good one." Else Call AISdebug("Focus query returned records") AISFocusToBeShown = 0 ' Check if a given focus has been past as parameter ' In that case search for that focus (supposing it is active and therefore in the query results) If (AISFocusRequestedId) <> "" Then Call AISdebug("Requested focus: " & AISFocusRequestedId) AISFocus.MoveFirst Do Until (AISFocus.EOF) If (Cstr(AISFocus.Fields.Item("id")) = AISFocusRequestedId) Then AISFocusToBeShown = 1 Call AISdebug("Requested focus found: " & AISFocus.Fields.Item("title")) Exit Do Else Call AISdebug("Current focus id = " & AISFocus.Fields.Item("id")& ". Check next.") AISFocus.MoveNext End if Loop If (AISFocus.EOF) Then Call AISdebug("Requested focus not found or not active") End if End if ' Check if there was no requested focus or it has not been found or it is not active If (AISFocusToBeShown = 0) Then Call AISdebug("Choose a focus randomly") AISFocus.MoveFirst ' Check if there are any "Always Shown" focus (should always be on first record) AISFocusShownAlways = AISFocus.Fields.Item("always_shown").Value Call AISdebug("Always shown focus exists = " & AISFocusShownAlways) ' Check how many focus may be displayed (taking into account existence of "always shown" ones) While (NOT AISFocus.EOF) If AISFocusShownAlways Then ' There is at least one "Always Shown" focus, count only those ones If AISFocus.Fields.Item("always_shown").Value Then AISFocusIndex = AISFocusIndex+1 End If Else ' There are no "Always Shown" focus, all are counted AISFocusIndex = AISFocusIndex+1 End If AISFocus.MoveNext Wend Call AISdebug("Number of potential focus found = " & AISFocusIndex) ' Now decides (random) which focus is to be shown Randomize AISFocusToBeShown = Int((AISFocusIndex*Rnd)+1) Call AISdebug("Chosen focus = " & AISFocusToBeShown & "/" & AISFocusIndex) ' Move back to the randomly chosen focus AISFocus.MoveFirst For i = 1 to AISFocusToBeShown-1 AISFocus.MoveNext Next End if ' Now we should be placed on the focus to be displayed ' Get the to be displayed focus id AISFocusToBeShownId = AISFocus.Fields.Item("id") Call AISdebug("Chosen focus id = " & AISFocusToBeShownId) ' Find out what is the next focus id AISFocus.MoveNext If AISFocus.EOF Then AISFocus.MoveFirst End if AISNextFocusId = AISFocus.Fields.Item("id") Call AISdebug("Next focus id = " & AISNextFocusId) ' Move back to shown focus and find out at the same time which is the previous focus id AISFocus.MoveFirst If (AISFocus.Fields.Item("id") = AISFocusToBeShownId) Then ' Chosen focus was the first one, the previous one is therefore the last one Call AISdebug("Chosen focus is the first one") Do Until (AISFocus.EOF) AISPreviousFocusId = AISFocus.Fields.Item("id") AISFocus.MoveNext Loop AISFocus.MoveFirst Else Do While (AISFocus.Fields.Item("id") <> AISFocusToBeShownId) AISPreviousFocusId = AISFocus.Fields.Item("id") Call AISdebug(" - Current focus id = " & AISFocus.Fields.Item("id")) AISFocus.MoveNext Loop End If Call AISdebug(" - Moved back to chosen focus") Call AISdebug("Previous focus id = " & AISPreviousFocusId) ' Display the focus Call AISdebug("Build focus") AISUpperLeftImage = AISFocus.Fields.Item("upper_left_image") AISUpperRightImage = AISFocus.Fields.Item("upper_right_image") AISFocusContent = "" If (Len(AISUpperLeftImage)>0) Then Call AISdebug(" - upper left image is #" & AISUpperLeftImage & "#") AISFocusContent = AISFocusContent & "" Else Call AISdebug(" - no upper left image") End if If (Len(AISUpperRightImage)>0) Then Call AISdebug(" - upper right image is #" & AISUpperRightImage & "#") AISFocusContent = AISFocusContent & "" Else Call AISdebug(" - no upper right image") End if AISFocusContent = AISFocusContent & "

" & AISFocus.Fields.Item("Title").Value & "

" AISFocusContent = AISFocusContent & "
" AISFocusContent = AISFocusContent & AISFocus.Fields.Item("text") End If ' Checked if "any" focus was found end sub %> AIS - SIGAGIP Home Page

AIS Administrative Information Services

Home Previous News AIS Mandate Site Map
Applications
Projects
Business Map
Link
Presentations
AIS People
Ais Support


**Main Applications**
- EDH
- CET
- HRT
- OracleHR
- Qualiac

SIGAGIP Home Page

Welcome to the SIGAGIP payroll application Home page. SIGAGIP Payroll is in production at CERN since March 1995. SIGAGIP is marketed by the french supplier IBM.

 

SIGAGIP.

Gestion du personnel et de la paie de la version SIGAGIP unix, Design 2.0 et paie V11.0

 

Description Gnrale du systme.

L'application Personnel/paie du CERN a t personnalise en dfinissant la base personnel et les crans propres au CERN l'aide de SIGAGIP/Design.

Le systme SIGAGIP standard se construit sur les lments suivants:
- la rglementation du personnel et de la paie
- la base de donnes personnel ( gestion des dossiers du personnel)
- les crans
- les programmes et fonctions

 

Les adaptations de SIGAGIP au CERN.Lles adaptations de SIGAGIP au CERN.

L'utilisation de Oracle/ HR pour la gestion du personnel a conduit utiliser les programmes standards de Sigagip personnel, adapter les programmes de paie aux spcifications et particularits du Cern, et finalement interfacer par des programmes Cern les rsultats de paie avec les systmes connexes.

 

Principe gnral du fonctionnement mensuel de la paie au Cern.

Avant la paie:
- extraction dans les tables Oracle/HR des lments du personnel pour Sigagip
- chargement dans la base personnel Sigagip des lments extraits
- chargement d'lments variables dans Sigagip (tlphones, etc...)
- mise jour manuelles d'lments variables et fixes individuels dans Sigagip

Paie Sigagip
- calcul de la paie
- liste de contrle indiquant les diffrences entre la paie du mois et celle du mois prcdent
- contrle et corrections par la division FI
- recalcul des payes corriger
- fusion des payes corriges
- archivages des rsultats de paie
- impression des bulletins de paie

Aprs la paie:
- extraction du net payer pour le paiement des salaires par QUALIAC et la comptabilisation
- cration de tables pour utilisation par FI dans Business Objects
- extraction des rsultats de paie pour la table PECT
- cration d'une table des rsultats lies aux congs pour alimenter Oracle/HR
- extraction d'un fichier pour alimenter la Caisse de Pension
- scurits des fichiers rsultats

 

La Rglementation.
La rglementation constitue le coeur du logigiel, tout le paramtrage de l'application s'y trouve, entre autres, les definitions de la sructure des dossiers du personnel et des rsultats de paie, les rgles de calcul de chacune des rubriques de paie. Le paramtrage est libre et volutif. Actuellement il n'y a qu'une socit au CERN.

La rglementation prsente trois niveaux hirarchiques diffrents:
- le niveau socit
- le niveau table ( sous-fichier)
- le niveau code

Il existe 2 types de socit:
- la socit blanche de code blanc sur 3 caractres contenant tous les descriptifs techniques de Sigagip.
- la socit 001 contenant les rgles de gestion de l'application du CERN. Ce code fait le lien avec les dossiers du personnel.

Au niveau table, il existe diffrents types:
- les tables de codifications tels que ceux des emplois, services, sexes, pays, etc
- les tables de correspondances ou l'on dcrits des tableaux, coefficients, calendriers, etc.. cela est surtout utilis dans la paie.
- les tables pour codifier les paramtres techniques, la confidentialit etc..
- la table (sous-fichier) YC dcrit la structure du dossier personnel
- la table (sous-fichier) YS dcrit la structure du fichier des rsultats et des archives de paie.
- la table XA contient un certain nombre de renseignements gnraux concernant la rglementation (nombre maximum de rubriques de paie, nombre de codes comptables, nombre de priodes de paie, et des longueurs d'enregistrements, tri, etc..)

Les principales tables spcifiques utilises au CERN.
- la table AP dfinit les codes concernant le risque professionnel et leurs relations avec les calculs de paie.
- la table AS dfinit les codes des fournisseurs l'assurance perte de gain. . la table AU dfinit les codes de l'assurance maladie UNIQA et leurs relations avec les calculs de paie.
- la table AV dfinit les types d'affiliation l'AVS (obligatoire ou facultatif).
- la table CA dfinit la catgorie des personnels prsents au CERN.
- la table CF dfinit les types d'allocations "chef de famille" et conditionne le dclenchement du calcul de paie.
- la table CI contient les indicateurs oui/non/fait.
- la table CP contient les codes professionnels.
- la table CR dfinit les types de rsidence et conditionne le dclenchement du calcul dans la paie.
- la table CS dfinit les types de statuts et conditionne le dclenchement des calculs dans la paie.
- la table CT dfinit les types de statut secondaire
- la table CX contient le code sexe, est utilis dans les calculs de paie (assurance vie).
- la table DE dfinit les codes devises et les taux de change pour la paie.
- la table FC dfinit les codes filire de carrire.
- la table FS dfinit les types de rmunration.
- la table GE dfinit les grades echelons et bandes de traitement depuis le 1-09-2001 et leur valeur, ainsi que la
valeur du coefficient pensionnable "C"
- la table HS dfinit les types de roulement.
- la table IH dfinit la qualit (Monsieur, Madame, Docteur, etc.)
- la table IN contient les codes pays.
- la table OG contient les centres de frais.
- la table PG contient les codes programmes.
- la table PR dfinit la part de rmunration pour les subsistances.
- la table RA contient les dfinitions de la socit 001 (CERN).
- la table RB dfinit les cumuls de paie et la gestion des redus.
- la table RC contient toutes les rgles de paie utilises au CERN.
- la table RD contient les "mots-cls" utiliss dans les formules pour les calculs de paie.
- la table RF dfinit les codes comptables avec leurs libells.
- la table RK dfinit les organismes externes au CERN (Austria, AVS, Caisse de Pension, Assurance-vie, etc) auxquels sont pays des cotisations.
- la table RM dfinit les codes de regroupement pour les dclenchements des rubriques de paie par population.
- la table RN indique le type de paiement du salaire (bancaire, bloqu).
- la table RO dfinit le type de bulletin de paie (manuel, semi manuel).
- la table RV contient les codes des pays membres du CERN.
- la table R7 contient le paramtrage pour les calculs mensuelsl et l'dition de la paie.
- la table SB dfinit les diffrentes units utilises par les calendriers.
- la table SC permet d'indiquer pour chaque mois et pour chaque unit les jours ne pas prendre en compte pour le calcul d'une dure.
- la table SD dfinit les tables de transposition pour convertir les dures.
- la table SJ dfinit les types de rduction de salaire pour maladie.
- la table SL permet de codifier les priodes de paie contenue dans une anne.
- la table SM permet de dfinir des tableaux ou peuvent tre affects unpourcentage (calcul de la non-rsidence statut 96), un montant (calcul de l'assurance-vie).
- la table SP contient les types de contrat et le dclenchement correspondant.
- la table SU dfinit les types de blocage des calculs de paie (paie, rappel)
- la table S1 dfinit les codes types de paie (mensuelle, bi-mensuelle).
- la table S3 contient tous les conditionnements qui dclenchent les calculs de paie par lments fixes collectifs ou codes de regroupements ainsi que l'dition des commentaires sur le bulletin de paie.
- la table S4 contient la dfinition des codes formats utiliss dans les calculs de paie.
- la table S5 dfinit les codes pour l'utilisation des commentaires sur le bulletin de paie.
- la table S6 contient la dfinition des types de calculs utiliss dans la formulation des rgles de paie.
- la table S9 est utilise pour contenir les constantes utilises dans les calculs de paie.

Mise jour de la rglementation.
La mise jour des codes, rgles de paie se fait en acccdant par le menu gnral la rglementation, par la commande "mn", puis en tapant "CTP" pour la gestion du personnel.
Le menu gnral permettant l'accs soit la rglementation, soit au dossier du personnel apparait; cochez sur la ligne rglementation le code mise jour, aprs avoir indiqu votre mot de passe et votre code utilisateur, et faire enter.
L'cran "clich banalis" apparait, indiquer '08'dans fonction et faire "enter". Dans l'cran suivant, indiquez le code socit et le code de la table, vous accder la table demande, ou il est possible de modifier, ajouter ou supprimer des lignes. Il est recommand de lancer priodiquement la procdure de contrle batch, qui effectue des contrles qui ne sont pas faits "on line".

 

La Base Personnel.
La base de donnes personnel est constitu de dossiers, un dossier contient, pour chaque salari, les informations caractre permanent qui lui sont propres et les lments variables du mois.
Chaque dossier est identifi par un matricule qui constitue la cl d'accs , et est form d'un nombre variable d'enregistrements de longueur fixe.
Chaque dossier est constitu de deux types d'informations:
- les informations uniques (nom, date de naissance, sexe, etc)
- les informations rptitives, en gnral classes par dates, qui constituent un historique (statut, enfants allocataires, situation contractuelle, adresse, etc )
L'talement des dossiers:
le tassement des informations permet de gagner une place importante, aussi lors de chaque accs, il faut taler dans une zone de longueur fixe le dossier. La zone d'talement est dcrite dans le programme et la lecture/ou criture se fait par un sous-programme standard gnr aprs la dfinition de la structure de la base personnel.
La mise jour des dossiers se fait mensuellement lors du chargement des donnes extraites de Oracle/HR, sauf pour les informations rptitives 'lments fixes' et 'lments variables' qui sont gres seulement par la division des Finances.
Aprs la mise jour mensuelle la division des Finances a accs toutes les informations des dossiers pour des modifications ventuelles avant les calculs de paie. Aprs la mise jour des donnes, une procdure permet de vrifier cette mise jour et de recrer les indexes ncessaires l'accs aux dossiers.

 

La Base Paie.
La base de donnes paie est constitu de dossiers, un dossier contient, pour chaque salari, et chaque mois les informations contenant les rsultats de paie.
Chaque dossier est identifi par un matricule et la date de paie qui constitue la cl d'accs , et est form d'un nombre variable d'enregistrements de longueur fixe.
Chaque dossier est constitu de deux types d'informations:
- les informations uniques (nom, date de naissance, sexe, statut, priodes de paie etc).
- les informations rptitives, en gnral classes par dates, et rubriques de paie qui constituent l'historique des paie.
Cette strucure est celle qui est utilise pour les archives de paie et les rappels de paie.

 

La Paie.
Le cycle de paie.
Les oprations mensuelles successives se droulent de la faon suivante:
- paramtrages de la paie du mois
- introduction ou mise jour par FI des donnes non gres par Oracle/Hr dans les "Elments fixes" (rduction pour maladie de longue dure) ou le "Elments variables" (indemnit de dpart, capital dcs, primes, rductions ou ajustements)
- extraction des donnes dans Oracle/Hr
- chargement des dossiers Sigagip
- chargement d'lments variables, principalement les retenues pour les appels tlphoniques fixes et gsm
- contrle par FI des dossiers chargs avec les "payschedules" de la division HR
- correction ventuelle des dates d'extrme rappel - mise jour des taux des devises
- calcul de la paie (1er passage)
- vrification des rsultats de la paie et prparation et slection des corrections par FI
- calcul de la paie (2me passage) des dosssier slections corriger
- fusion des rsultats des 1er et 2me passage - dition des bulletins de paie
- transfert du net payer dans Qualiac pour paiement la banque
- lancement des procdures Cern
- archivage des rsultats de paie
- archivages des rappels de paie
- mise jour des dossiers individuels avec les rsultats de paie (en particulier des avances)
- sauvegardes des rsultats et fichiers mensuels



Le rappel de paie.

Il existe deux types de rappel:
- le rappel individuel qui figure dans une informations rptitives (PY) du dossier individuel
- le rappel gnral qui est paramtr dans la table R7 et dclenche les calculs de paie rtroactifs pour l'ensemble des personnes payer
- la limite des priodes de paie du rappel individuel ou gnral est indiqu dans la table R7
- certaines contraintes existent et limitent le rappel, en particulier lorsqu'il y a un changement de statut en cours de mois (CSCP pour Sigagip)



Excution des diffrentes taches
.
Les diffrentes taches sont exécutes avec l'aide du lanceur de travaux.



Liste et fonctionnalit des crans.

Les diffrents crans de gestion du personnel:
- MO menu gnral
- M2 sous menu gestion du personnel et paie
- GK identification, nationalit et statut
- GE allocation de famille, enfants charge et conjoint au Cern
- GQ situation contractuelle, rmunration et subsistance
- GR dductions sur salaire et allocations, pourcentage en dduction sur salaire
- GP assurance maladie, AVS et assurance vie
- MU association du personnel et perte de gain
- PL emploi, nationalit budgtaire et bonus (ancienne rgle)
- PR avances et retenues
- HS heures supplmentaires
- EF lments fixes de paie
- VC lments variables de paie complets ( voir aussi EV)
- PY paie de correction, date dernire paie, blocage de paie et date rappel
- EA affectation organique et centre de refacturation
- EB PPA
- BA domiciliation bancaire et blocage du transfert bancaire
- EC adresse locale
- BU commentaires sur bulletin
- OB observations (non utilis)



Mise jour annuelle prparatoire aux payes de la nouvelle anne.
Mise jour obligatoire:
- table SC (calendriers)
- table SL (priodes de paie)
Mise jour dpendant des dcisions du comit des finances:
- table AU (pourcentages cotisation la caisse maladie, etc..)
- table GE (valeur des bandes et chelons)
- table S9 (diffrents pourcentages, constantes, taux, bases et minimum)
- table RC (formules de calcul eventuellement)