L’objectif de ce Wiki est de rassembler, petit à petit, des informations utiles sur SAP HR et sur ses spécificités pour la France.
Si vous voyez des informations à ajouter / compléter / rectifier, n’hésitez pas à prendre contact.
SAP HR (Human Resources) est un module de l’ERP SAP dédié à la gestion des ressources humaines. Il est décomposé en sous modules, dont les principaux sont :
Il existe aussi d'autres modules (LSO, E-Rec, ...)
En 1986, après 3 ans de développement, SAP propose sa solution RH via le module RP (Personnel) de SAP R/2. D'où, vraisemblablement, le nom de certains programmes HR: RPCALCF0, RPCEDTF0, RPCIPE00...
En 1992, avec le lancement de SAP R/3, la solution RH devient le module HR.
En 1995, la paie France est disponible dans le module HR.
En 2004, avec le lancement de SAP ECC 5.0, le module change à nouveau de nom est devient SAP HCM (Human Capital Managment). Néanmoins, le nom SAP HR reste couramment utilisé.
En 2012, SAP rachète la solution RH cloud SuccessFactors. Au début, SuccessFactors est plutôt présenté comme un complément à SAP HR pour tous ce qui est GRH (recrutement, formation, compétences...). Mais avec le temps SuccessFactors se développe avec Employee Central (dossier salarié) entre autre.
En 2015, SAP annonce que le module HR ne fait pas partie du socle des premières versions de S/4HANA (mais en gardant la possibilité de l'utiliser via un "compatibilty pack"). C'est maintenant SuccessFactors la solution RH officielle de SAP.
En 2018, SAP réintègre le module HR dans le socle S/4HANA sous le nom "SAP HCM for SAP S/4HANA" (aussi appelé H4S4 de manière non officielle) à partir de la version S/4HANA 2022. H4S4 a la même plage de maintenance que S/4. En théorie, H4S4 ne bénéficiera principalement que de mises à jour légales alors que SuccessFactors aura le droit à des évolutions (ce dernier restant la solution officielle de SAP).
Jusqu'à présent, le module SAP HR était installé sur des machines hébergés au sein de la société ("On Premise"). Soit sur la même machine que les autres modules SAP, soit sur une machine dédiée (pour la confidentialité des données).
Avec l'arrivée de SuccessFactors et de S/4, il existe maintenant d'autres architectures possibles: SAPHR/H4S4 seul (On Premise, Cloud privé), SAPHR/H4S4 + SF (SAPHR/H4S4 maitre), SAPHR/H4S4 + SF (SF maitre), SF + ECP (Cloud public)...
Aide SAP (version H4S4): https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/c6c3ffd90792427a9fee1a19df5b0925/18cbddfa5691416d8f004dc97ac98634.html
Roadmap SAP HR + SuccessFactors (choisir "Products" = "ERP" pour limiter à SAP HR): https://roadmaps.sap.com/board?range=CURRENT-LAST&PROCESS=E2E_TWM
Customer Influence program (outil de recueille des besoins utilisateurs, dernière campagne en 2018 pour SAP HR): https://influence.sap.com/sap/ino/#/campaigns?search=HCM
Le module PA est utilisé pour la gestion des informations du dossier salarié.
Dans SAP HR, chaque salarié est identifié par un matricule. Il s'agit d'un nombre sur 8 positions (nom technique: PERNR).
Les informations d'un matricule sont stockées dans des infotypes.
Un infotype est une table de base de données (exemple: PA0001 pour infotype 0001) avec un écran associé. Chaque infotype stocke un type d'informations différents (identité, adresse, rémunération ...).
Les infotypes sont principalement accessibles via les transactions de gestion du dossier salarié (PA20/PA30).
Chaque infotype à pour clé: le matricule, une date de début, une date de fin et un sous type (qui peut être vide).
Il existe, à l'origine, 2 principales façon de mettre à jour le dossier d'un salarié:
Une mesure est une séquence d'infotype liée à un événement: embauche, sortie, changement de fonction ...
Tous les infotypes impactés par cet événement seront ainsi traités à la suite.
Les principaux infotypes sont:
Code | Libellé | Description |
0000 | Mesures | Contient le type de mesure et le motif associé (exemple: mesure "Augmentation" et motif "Augmentation Générale"). Si il existe plusieurs mesures le même jour (et que le paramétrage l'autorise) alors seule la mesure principale sera en IT 0000, les autres mesures iront en IT 0302. |
0001 | Affectation | Contient plusieurs informations importantes: -L'établissement (en fonction du domaine et sous domaine indiqué SAP détermine la société) -Le poste (qui permet à SAP de déterminer fonction, unité structurelle, centre de coût ...) -Le type de contrat -La tranche de décompte (pour le calcul de paie) |
0002 | Données individuelles | Contient les informations d'identité (nom, prénom, date de naissance ...) |
0003 | Statut de la paie | Contient différentes dates utiles à la gestion du calcul paie et du calcul des temps. Plus d'informations dans chapitre PY. |
0006 | Adresses | Contient les informations d'adresse (rue, code postal, ville ...) et quelques informations de contact (n° téléphone ...). Le sous type permet de gérer plusieurs types d'adresse si besoin. |
0007 | Durée théorique du travail | Contient les horaires de travail théorique du salarié (plan de roulement). |
0008 | Rémunération de base | Contient les rubriques de salaire de base du salarié ainsi que sont taux d'activité (ETP). Plus d'informations dans chapitre PY. |
0009 | Coordonnées bancaires | Contient les informations de paiement du salarié (Virement (RIB IBAN),chèque...). Le sous type permet de gérer plusieurs coordonnées bancaires si besoin. |
0014 | Indemnités/retenues permanentes | Contient des rubriques utilisées pour un paiement ou une retenue sur plusieurs mois. |
0015 | Paiement complémentaire | Contient des rubriques utilisées pour un paiement ou une retenue ponctuelle. |
0016 | Eléments du contrat | Contient quelques informations supplémentaires sur le contrat (type de contrat (différent de celui de l'infotype 0001), période d'essai...) et aussi pour la France des informations importantes pour la DSN (numéro de contrat, date de fin de contrat si CDD...) Les informations pour la France sont stockées dans la table d'infotype complémentaire PA3316. |
0041 | Dates de gestion | Contient différentes dates liées à la gestion du dossier salarié. Quelques exemples: 01: Date d'embauche 50: Date d'ancienneté 99: Date de sortie |
0064 | Assurance sociale France | Contient les cotisations (modèle de charges) pour le salarié. Spécifique à la France. Plus d'informations dans chapitre PY. |
0080 | Maternité/Congé parental | Contient maternité / congé parental. |
0217 | Contrat de travail: infos compl. | Contient diverses informations complémentaires, par exemple: -Qualification -Code PCS -Collèges électoraux -... |
0272 | Saisie-arrêt France | Contient les saisies arrêts du salarié |
0416 | Compensations | Infotype utilisé pour modifier le décompte d'un ou plusieurs contingents (avec paiement ou non). |
0424 | Arrêt de travail | Contient les arrêts de travail d'un salarié. Créé automatiquement une absence en infotype 2001. |
0425 | Bordereau IJSS | Saisie des bordereaux IJSS correspondant aux arrêts de travail de l'infotype 0424. |
2001 | Absences | Contient les absences du salariés. |
2006 | Contingents d'absences | Contient les contingents d'absences du salariés. |
2013 | Corrections de contingent | Infotype utilisé pour augmenter ou diminuer le droit d'un contingent. |
3331 | B2A: traitement ultérieur | Infotype de suivi des DSN avec B2A pour le salarié. |
Infotypes moins courant:
Code | Libellé | Description |
0004 | Handicap | Utilisé pour le suivi des handicaps. |
0005 | Droit au congé | Ancien infotype pour le suivi des contingents. Remplacé par l'infotype 2006.
Complétement supprimé sur H4S4. |
0011 | Virements externes | Permet de faire un paiement direct pour des coordonnées bancaires différentes de celles utilisées pour le salaire. Comme pour paiement via infotype 0014 ou 0015, pas besoin de calcul de paie et utilisation du programme RPCDTBF0. |
0019 | Suivi des échéances | Infotype utilisé pour créer des rappels (fin de période d'essai par exemple). |
0021 | Famille/Pers. réf. | Utilisé pour le suivi des membres de la famille du salarié. |
0022 | Formation initiale | Suivi formations et diplômes du salarié. |
0027 | Ventilation des coûts | Permet de définir un analytique (centre de coût, domaine fonctionnel, domaine d'activité...) différent de ce qui est défini dans l'infotype 0001 ou OM. |
0028 | Médecine d'entreprise | Suivi des visites médicales. |
0048 | Statut de séjour | Suivi des titres de séjour. |
0105 | Communication | Contient des informations de type identifiant, téléphone, mail... Par exemple: 0010: mail pro 0030: mail perso |
0128 | Messages | Saisie possible de messages pour affichage sur le bulletin de salaire. 2 types de messages: |
2002 | Présences | Saisie des présences. |
2003 | Remplacements | Permet la saisie d'une modification de l'horaire par défaut (infotype 0007). |
2007 | Contingents de présences | Contingents pour présences (infotype 2002). |
2010 | Notes de paiement | Contient des rubriques de paie. |
2011 | Mouvements | Badgeages. |
2012 | Valeurs par défaut transfert temps | Contient des catégories de temps. |
Les principales transactions pour PA sont:
Code | Description |
PA20 | Affichage du dossier salarié |
PA30 | Modification du dossier salarié. Attention la PA30 bloque le matricule en saisie dès le 1er écran (bloquant les autres utilisateurs ou un calcul de paie réel). |
PA40 | Nouvelle mesure |
D'autres transactions utiles:
Code | Description |
PA41 | Modifier date d'entrée/sortie |
PA70 | Saisie rapide d'infotypes |
PU00 | Suppression d'un matricule (sous certaines conditions). |
SO10 | Création texte pour messages infotype 0128. |
S_PH0_48000513 | Requête ad hoc |
Pour les infotypes:
Code | Type | Description |
PM01 | Transaction | Création d'infotype |
T582A | Table (vue V_T582A) | Comportement général de l'infotype: gestion sous-type, chevauchement, rétroactivité time/paie... |
T588M | Table (vue T588M) | Gestion de l'affichage des zones de l'infotype en fonction d'une caractéristique (PE03). |
T591A | Table (vue V_T591A) | Sous-types pour infotype. Texte sous-type dans la table T591S. |
Pour les mesures:
Code | Type | Description |
T529A | Table (vues T529A, V_529A_B) | Caractéristiques des mesures (infogroupe, statut infotype 0000, priorité...) |
T530 | Table (vue V_T530) | Motifs pour mesure. |
T588D | Table (vue V_T588D) | Infotypes d'un infogroupe |
Le module OM est utilisé pour décrire la structure de la société.
La gestion de l'organisation fonctionne avec des objets de différents types:
Comme pour PA, les informations de ces objets sont stockées dans des infotypes (table HRP1001 pour infotype 1001).
Ces objets sont liés entre eux par des relations. Par exemple:
Les infotypes OM varient d'un type d'objet à l'autre mais les plus courants sont:
Code | Objet | Libellé | Description |
1000 | Tous | Objet | Libellé court et long de l'objet |
1001 | Tous | Relations | Relation entre l'objet et les autres objets. |
1002 | Tous | Description | Une description longue de l'objet |
1008 | O S | Caract. d'imputation | Imputation domaine d'activité |
1018 | O S | Ventilation des coûts | Permet de définir un analytique (centre de coût, domaine fonctionnel...) pour l'objet. |
Code | Description |
PP01 | Gérer objet |
PPOME | Gestion plus "ergonomique" de l'organisation (représentation sous forme de hiérarchie). Attention aux modifications avec cette transaction! (pas toujours très clair). |
PPOSE | Comme PPOME mais en affichage uniquement. |
Code | Type | Description |
PPCI | Transaction | Création d'infotype |
T777I | Table (vue T777I) | Infotype pour type d'objet et occurrence. |
Le module PY est utilisé pour la gestion de la paie.
Chaque matricule est rattaché à une tranche de décompte.
Une tranche de décompte permet de regrouper des matricules dont l'exploitation de la paie se fait de la même manière (exemple: par société, décalé versus non décalé...).
Une tranche de décompte définie le mois de paie courant, le statut du processus de paie pour ce mois de paie et la profondeur de rétroactivité maximum.
Les statuts possibles sont:
La gestion de la tranche de décompte se fait avec la transaction PA03.
L'exécution d'un calcul de paie se fait avec le programme RPCALCF0. Il y a 2 modes d'éxécution: test ou réel.
Le mode test est juste une simulation et n'a aucun impact sur le matricule. Il peut être utilisé peut importe le statut de la tranche de décompte.
Le mode réel va mettre à jour l'infotype 0003 et va créer un cluster de paie avec les résultats du calcul de paie.
Un cluster est un regroupement de tables. Pour la paie France, le cluster est RF et contient, principalement, les tables suivantes:
Code | Description |
WPBP | Contient les principales informations PA. Un changement sur le mois d'une de ces informations va créer une nouvelle ligne dans cette table appelé SPLIT WPBP. Chaque SPLIT est identifié par un code qui s'incrémente (APZNR). |
RT | Contient les rubriques calculées sur le mois. Chaque rubrique doit avoir au moins un nombre (ANZHL), un taux (BETPE) ou un montant (BETRG). Les rubriques peuvent être rattachées à des SPLIT (WPBP, SV, AB...). |
CRT | Cumul des rubriques. La lettre donne le type de cumul. |
BT | Contient les rubriques pour paiement (salaire, saisie-arrêt -> voir table T520S). Après paiement, une date et heure sont indiqués dans la table BT (codification) empêchant de réexécuter le paiement. |
AB | Contient les absences. |
VERSION | Informations sur la création du cluster (date, heure, utilisateur...) |
SV | Contient les informations sur les modèles de charges. Un changement sur le mois d'une de ces informations va créer une nouvelle ligne dans cette table appelé SPLIT SV. Chaque SPLIT est identifié par un code qui s'incrémente (CNTR1). |
RECOT | Calcul des cotisations. |
CTT | Informations contrat pour DSN. |
PAYM | Pour DSN. |
REM | Pour DSN. |
ACTI | Pour DSN. |
Un cluster RF est identifié par un numéro de séquence et contient les informations d'un mois (Période recalculée) calculé lors d'un mois de paie (Période courante). Exemple: mois de juin calculé lors de la paie de juin ou mois de juin recalculé lors de la paie de juillet.
Un code (SRTZA) sur le cluster indique si il s'agit du cluster le plus à jour ou non pour un mois:
Il faut savoir que requêter les résultats de paie n'est pas simple (notamment à cause du principe de cluster). Les différentes transactions/programmes (PC_PAYRESULT, H99CWTR0, RPCLGA00) sont utiles mais ont certaines limitations.
Et le croisement avec les données PA du salarié oblige à se débrouiller dans Excel ou à développer des états dédiés. Il existe un infotype de paie (0402) pouvant extraire des données de la paie au moment du calcul et ainsi requêter les données avec les autres infotypes mais là aussi des limitations l'empêche d'être la solution idéale (peu évolutif).
Les principaux infotypes PY sont:
Code | Libellé | Description |
0003 | Rémunération de base | Les informations concernant le calcul des temps sont dans l'encadré "Paie/Calcul rétroactif": -Date CR la + éloignée (PRDAT): pas de calcul rétro avant cette date (permet donc de bloquer la rétro). -Calculé jusqu'au (ABRDT): date du dernier jour du dernier mois calculé en paie. -1re modification DB (RRDAT): date du 1er jour à calculer lors du prochain calcul de paie. Vide après un calcul des paie sur le mois. Date d'effet de la modification la plus éloignée après la saisie d'un infotype rétro paie (permet donc de forcer la rétro). |
0008 | Rémunération de base | Contient les rubriques de salaire de base du salarié ainsi que sont taux d'activité (ETP). Les rubriques sont déterminées à partir de la caractéristique LGMST et de la table T539A. |
0014 | Indemnités/retenues permanentes | Contient des rubriques utilisées pour un paiement ou une retenue sur plusieurs mois. Voir table T512Z pour rubriques autorisées. |
0015 | Paiement complémentaire | Contient des rubriques utilisées pour un paiement ou une retenue ponctuelle. Voir table T512Z pour rubriques autorisées. |
0064 | Assurance sociale France | Contient les cotisations (modèle de charges) pour le salarié. Spécifique à la France. La détermination des modèles de charges se fait via la caractéristique 06FCO. |
Les principales transactions PY sont:
Transaction | Programme | Description |
PA03 | Gestion de la tranche de décompte | |
PC00_M06_CALC | RPCALCF0 | Calcul de paie (test ou réel). Il existe aussi la transaction PC00_M06_CALC_SIMU uniquement pour calcul de paie test. |
PC00_M06_CDTA | RPCDTAF0 | Programme de virement des salaires (table BT). Création d'un cycle de paiement qui sera ensuite converti en fichier bancaire avec le programme SAPFPAYM. |
PC00_M06_RPCDTBF0 | RPCDTBF0 | Programme de virement autres (acompte par exemple). A partir des infotypes 0011, 0014 ou 0015. Création d'un cycle de paiement qui sera ensuite converti en fichier bancaire avec le programme SAPFPAYM. |
PC00_M99_FPAYM | SAPFPAYM | Création du fichier bancaire à partir d'un cycle de paiement (identifié par une date + un code). Plusieurs normes de fichier se sont succédées: ETEBAC, SEPA et actuellement CGI XML (voir transaction DMEE). |
PC00_M99_CIPE | RPCIPE00 | Création d'un cycle de comptabilisation à partir des résultats de paie. |
PCP0 | Enregistrement en comptabilité des cycles de comptabilisation. |
D'autres transactions (ou programmes) utiles:
Transaction | Programme | Description |
PC_PAYRESULT | Permet d'accéder au contenu des différentes tables (RT, SV, WPBP...) du cluster de paie pour un matricule. | |
PC00_M99_CLGA00 | RPCLGA00 | Report permettant de requêter des rubriques dans les résultats de paie. |
PC00_M99_DKON | RPDKON00 | Report sur le paramétrage comptable des rubriques avec comptes symboliques et comptes comptables. |
PC00_M99_DLGA20 | RPDLGA20 | Utile pour retrouver les rubriques rentrant dans une classe de traitement, d'exploitation, de cumul. |
PC00_M99_WT_INFO | Report permettant de requêter certaines tables de paramétrage des rubriques. La transaction est pas tout à fait finalisée pour la France (il manque des traductions) car elle est initialement développée pour les Etats Unis. | |
H99CWTR0 | Report permettant de requêter des rubriques dans les résultats de paie. | |
RPDLGA40 | Utile pour retrouver les rubriques rentrant dans une classe de traitement, d'exploitation, de cumul. |
Pour les rubriques:
Code | Type | Description |
OH11 | Transaction | Création d'une rubrique. On créé une rubrique par copie d'une autre (à cause des nombreuses tables de paramétrage). Attention à bien choisir la rubrique modèle pour la copie pour ne pas hériter d'un comportement non voulu. |
T512B | Table | Contient une sauvegarde de la table T512W suite au lancement du programme RPU12W0S (gestion d'un numéro de version pour chaque sauvegarde). Fait généralement avant support packages. La table T599U contient une synthèse des versions. |
T512E | Table (Transaction PE51) |
Rubriques rentrant dans les fenêtres du formulaire de bulletin de paie. |
T512Q | Table (Transaction PE51) |
Rubriques rentrant dans les zones du formulaire de bulletin de paie. |
T512T | Table | Libellé rubrique |
T512W | Table (vue V_512W_D) |
La table principale des rubriques contenant les classes de traitement, cumul, exploitation. |
T512Z | Table (vue V_T512Z) |
Rubriques saisissables par infotype (0014, 0015, 2010...) |
T520S | Table (vue V_T50S) |
Rubriques pour paiement. |
T52C5 | Table (Transaction PE02) |
Rubriques en entrée de cycle de paie. |
T52D7 | Table (vue V_T52D7) |
Regroupement (SAP) de rubriques. |
T52DZ | Table (vue V_T52DZ) |
Stocke informations sur création de la rubrique (date, heure, rubrique modèle). |
T52EL | Table | Comptes symboliques pour rubriques. |
T539A | Table (vue V_T539A) |
Rubriques pour infotype 0008. Fonctionne en combinaison avec caractéristique LGMST. |
T554C | Table (vue V_T554C) |
Valorisation des absences. |
T555K | Table (vue V_T555K) |
Rubriques pour transfert catégorie de temps. |
T556W | Table (vue V_T556W) |
Rubriques pour compensation contingent. |
T591B | Table (vues V_T591B V_T512Z) |
Complément sur la rétro pour table T512Z. |
T5F1C | Table (vue V_5F1C_C) |
Rubriques pour cotisations (assiette, tranches). |
T5F2F | Table (vue V_T5F2F) |
Rubriques prises en compte pour calcul IJSS. |
T5F99FX | Table (vue V_T5F99FX) |
Rubriques pour DSN (blocs 50, 51, 52, 53, 58). Fonctionne en combinaison avec la table T5FWG. |
Le module GT est utilisé pour la gestion des temps.
On retrouve quelques similarités avec le fonctionnement du calcul de paie.
L'exécution d'un calcul des temps se fait avec le programme RPTIME00 (transaction PT60).Il y a 2 modes d'éxécution: test ou réel.
Le mode test est juste une simulation et n'a aucun impact sur le matricule.
Le mode réel va mettre à jour l'infotype 0003 et va créer des clusters (B1 et B2) avec le résultat du calcul des temps.
Les principaux infotypes GT sont:
Code | Libellé | Description |
0003 | Statut de la paie | Les informations concernant le calcul des temps sont dans l'encadré "Exploitation des temps": -Date CR la + éloignée (PRTEV): pas de calcul rétro avant cette date (permet donc de bloquer la rétro). -Calcul rétro. SDE (BDERR): date du 1er jour à calculer lors du prochain calcul des temps. 1er jour du mois suivant après un calcul des temps sur le mois. Date d'effet de la modification la plus éloignée après la saisie d'un infotype rétro time. |
0007 | Durée théorique du travail | Contient les horaires de travail théorique du salarié (plan de roulement). |
2001 | Absences | Contient les absences du salariés. |
2006 | Contingents d'absences | Contient les contingents d'absences du salariés. Chaque contingent à un droit, un pris, un solde. Sur l'infotype en PA20/PA30, via le menu->Saut->Décompte on peut voir les infotypes 2001 ou 0416 pris en compte dans le décompte. |
Les principales transactions sont:
Transaction | Programme | Description |
PT60 | RPITME00 | Calcul des temps |
D'autres transactions (ou programmes) utiles:
Transaction | Programme | Description |
PA61 | Comme la PA30 mais juste avec les infotypes de temps. | |
PA71 | Saisie rapide infotype de temps. | |
PT_BAL00 | RPTBAL00 | Requête cluster de temps tables ZES, SALDO et ZL. |
RPCLSTB1 | Affichage cluster B1 par matricule | |
RPCLSTB2 | Affichage cluster B2 par matricule |
Code | Type | Description |
T554Y | Table (Vue V_T554Y) |
Réaction chevauchement pour infotype de temps |
Avec SAP HCM for S/4HANA (alias H4S4), SAP a fait un peu de nettoyage dans le module HR et a supprimé certaines fonctionnalités (complétement obsolète ou co existant avec une autre solution plus récente). La note 3091160 fait la synthèse des fonctionnalités non reconduites et des alternatives.
Peut être un peu dommage par contre que SAP n'en ai pas profité pour remplacer les clusters par des tables et ainsi bénéficier des fonctionnalités de la base HANA.
Quelques informations intéressantes pour faire de l'ABAP sur SAP HR.
Lors de la création d'un programme avec une écran de sélection classique des matricules, la base de données logique PNP (ou PNPCE) facilite le travail.
Il faut indiquer PNP dans la zone "Nom BD logique" dans les propriétés du programme. Cela va automatiquement rajouter un écran de sélection par défaut au programme.
Ensuite dans le START-OF-SELECTION, l'ajout de l'instruction GET PERNR va créer une boucle sur les matricules sélectionnées par SAP jusqu'au END-OF-SELECTION.