Ansicht
Dokumentation

HRSFI_DECIDE_HIRE_RE - BAdI: Einstellung oder Wiedereinstellung festlegen

HRSFI_DECIDE_HIRE_RE - BAdI: Einstellung oder Wiedereinstellung festlegen

RFUMSV00 - Advance Return for Tax on Sales/Purchases   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Dieses Business Add-In (BAdI) wird für die Integration zwischen SuccessFactors Employee Central und SAP ERP HCM verwendet. Für dieses BAdI gibt es verschiedene Anwendungsfälle. Es werden zwei Beispielimplementierungen bereitgestellt.

Beachten Sie, dass dieses BAdI die automatisch festgestellte Standardentscheidung darüber, ob eine neue Personalnummer abgerufen werden sollte, übersteuert.

Methode: IF_PAOCF_EC_DECIDE_HIRE_REHIRE~ DECIDE_HIRE_REHIRE

In diesem Fall implementieren Sie das BAdI, um zu ermitteln, ob aufgrund der replizierten Mitarbeiterstammdaten eine neue Personalnummer (PERNR) erforderlich ist, d.h., ob die Aktion "Einstellung" ausgeführt wird oder nicht. Die Standard-SAP-Implementierung legt eine Personalnummer (PERNR) pro Buchungskreis (BUKRS) an. Deshalb führt eine Änderung der Stelleninformationshistorie aufgrund einer neuen Unternehmenszuordnung dazu, dass eine neue Personalnummer angelegt wird, es sei denn, die beiden juristischen Einheiten aus Employee Central sind demselben Buchungskreis zugeordnet.

Die bereitgestellte Beispielimplementierung CL_EC_TOOLS_DECIDE_HIRE_REHIRE entscheidet anhand des Ländercodes (MOLGA), ob eine Wiedereinstellung erforderlich ist. Falls die Organisationsdaten des Mitarbeiters zu einem Datensatz des Infotyps 0001 für denselben Ländercode führen, wird die vorhandene Personalnummer für diesen Ländercode (MOLGA) verwendet. Andernfalls wird eine neue Personalnummer (PERNR) angelegt.

In diesem Fall implementieren Sie das BAdI, um zu prüfen, ob ein einzustellender Mitarbeiter bereits im SAP-ERP-System vorhanden ist. Dies ist wichtig, um zu verhindern, dass Mitarbeiter (Ereignis: Einstellung) angelegt werden, die normalerweise nur wiedereingestellt werden müssten, weil sie bereits im System vorhanden sind. Dies kann vorkommen, wenn das SAP-ERP-System früher das Legacy-System war und in der Zwischenzeit Employee Central das führende System geworden ist. Wenn ein Mitarbeiter vor dem Systemwechsel im SAP-ERP-System eingestellt wurde, zum Zeitpunkt des Wechsels inaktiv war und nun im Employee-Central-System eingestellt wird, behandelt das System dies nicht automatisch als Wiedereinstellung, sondern legt Dubletten an.

Die bereitgestellte Beispielimplementierung CL_EC_TOOLS_REHIRE_DUPLICATE prüft, ob der aus Employee Central in das SAP-ERP-System replizierte Mitarbeiter bereits auf der SAP-ERP-Seite vorhanden ist. Wenn eine Dublette ermittelt wird, wird eine Fehlermeldung generiert, die angibt, dass der Ereignisgrund in Employee Central in Folgendes geändert werden muss:

  • REHIREDUPL: wenn der Mitarbeiter wiedereingestellt werden soll
  • IGNOREDUPL: wenn die gefundene Dublette ignoriert und der übertragene Mitarbeiter als neuer Mitarbeiter eingestellt werden soll

Für die gefundene Dublette wird ein Schlüsselzuordnungseintrag angelegt, um das Vorhandensein des Mitarbeiters auf der Employee-Central-Seite zu simulieren und die beiden Personalnummern (PERNR) derselben Person (CP) zuzuordnen.

Für die Dublettenprüfung werden die Attribute Vorname, Nachname, Geburtsdatum und Geschlecht verwendet. Wenn das Land des Mitarbeiters "USA" ist, wird zusätzlich die Sozialversicherungsnummer (PERID) verwendet. Die Dublettenprüfung erwartet, dass entweder nur eine Dublette oder keine Dubletten gefunden werden. Wenn die Prüfung mehrere Dubletten findet, wird eine entsprechende Fehlermeldung generiert.

Für das BAdI gibt es keine Standardimplementierung.

Weitere Informationen zu den Standardeinstellungen (Filter, Einzel- oder Mehrfachverwendung) finden Sie auf der Registerkarte "Erw.spot-Elementdefinitionen" im BAdI-Builder (Transaktion SE18/SE20).

Das BAdI-Methoden-Interface enthält die folgenden Daten, die den Mitarbeiterstammdatensatz bestimmen:

  • Mitarbeiter-ID: IV_EMPLOYEE_ID
  • Beschäftigungs-ID: IV_EMPLOYMENT_ID
  • Externe Mitarbeiter-ID: IV_EMPLOYEE_ID_EXTERNAL
  • Benutzer-ID: IV_USER_ID
  • Arbeitsvertragsdaten: IS_WORKAGREEMENT
  • Ausweisnummerndetails (optional): IT_NATIONAL_ID
  • Referenz zum Message-Handler: IO_MESSAGE_HANDLER
  • Referenz zum Schlüsselzuordnungs-Handler: IO_EE_KEY_MAPPING

Diese Daten können Sie unabhängig davon verwenden, ob ein Mitarbeiterstammdatensatz zu einer neuen Personalnummer (PERNR) führt.

Wenn der Mitarbeiterstammdatensatz zu einer neuen Personalnummer führen soll, setzen Sie die angegebenen Änderungsparameter auf die Werte:

  • CV_NEW_HIRE --> ABAP_TRUE
  • CV_PERNR --> 00000000

Wenn der Mitarbeiterstammdatensatz zu einer bereits vorhandenen Personalnummer führen soll, setzen Sie die angegebenen Änderungsparameter auf die folgenden Werte:

  • CV_NEW_HIRE --> ABAP_FALSE
  • CV_PERNR --> Personalnummer Ihrer Wahl

Wichtig:

  • Es empfiehlt sich nicht, neue Personalnummern (PERNR) mit einer feineren Granularität anzulegen, als das standardmäßige SAP-Coding besitzt: eine Personalnummer (PERNR) pro Beschäftigung und Buchungskreis (BUKRS).
  • Selbst wenn die BAdI-Implementierung CV_NEW_HIRE = ABAP_FALSE und in CV_PERNR eine PERNR zur Wiederverwendung zurückgibt, kann es sein, dass diese PERNR nicht zum Speichern der Mitarbeiterdaten verwendet werden kann. Die Änderungen in Infotyp 0001 können solcher Art sein, dass die SAP-ERP-Logik eine neue Personalnummer (PERNR) erfordert, z.B. bei einer Änderung des Ländercodes (MOLGA). Daraus folgt eine fehlgeschlagene Replikation mit den entsprechenden Fehlermeldungen im Protokoll.
  • Versuchen Sie nicht, Daten für unterschiedliche Beschäftigungsdatensätze innerhalb einer Personalnummer (PERNR) zu kombinieren. Dies würde zu Dateninkonsistenzen führen, da in Employee Central getrennte Datensets für Stelleninformationen, Vergütungsinformationen usw. pro Beschäftigung gepflegt werden. Dieses BAdI ist für neue Personalnummern relevant, die nur aufgrund von Änderungen in der Stelleninformationshistorie angelegt wurden. Wenn in Employee Central ein neues Beschäftigungsobjekt angelegt wird (über die Funktion "Auslandseinsatz", "Rentenzahlung" oder "Mehrfachbeschäftigung"), ist unabhängig von den Details der Stelleninformationen eine neue Personalnummer (PERNR) erforderlich.
  • Wie in CL_EC_TOOLS_REHIRE_DUPLICATE ersichtlich ist, stellt der Parameter IO_EE_KEY_MAPPING die Möglichkeit bereit, das Vorhandensein inaktiver Mitarbeiter durch das Anlegen von Schlüsselzuordnungseinträgen zu simulieren, so dass das System Dubletten erkennen kann. Achten Sie darauf, die Beispielimplementierung genau zu befolgen.

Weitere Informationen darüber, wie Sie BAdIs im Enhancement Framework implementieren, finden Sie in der SAP-NetWeaver-Bibliothek unter "Funktionsorientierte Sicht -> Application Server -> Application Server ABAP -> Applikationsentwicklung auf AS ABAP -> ABAP Customer Development -> Enhancement Framework".

Die bereitgestellte Beispielimplementierung CL_EC_TOOLS_DECIDE_HIRE_REHIRE entscheidet anhand des Ländercodes (MOLGA), ob eine Wiedereinstellung ausgeführt werden muss. Wenn die Organisationsdaten des Mitarbeiters zu einem Datensatz des Infotyps 0001 für denselben Ländercode führen, wird die vorhandene Personalnummer für diesen Ländercode (MOLGA) wiederverwendet. Andernfalls wird eine neue Personalnummer (PERNR) angelegt.

Die bereitgestellte Beispielimplementierung CL_EC_TOOLS_REHIRE_DUPLICATE prüft, ob der aus Employee Central in das SAP-ERP-System replizierte Mitarbeiter bereits auf der SAP-ERP-Seite vorhanden ist. Falls eine Dublette ermittelt wird, wird eine Fehlermeldung ausgegeben, die angibt, dass der Ereignisgrund in Employee Central in Folgendes geändert werden muss:

  • REHIREDUPL: wenn dieser Mitarbeiter wiedereingestellt werden soll
  • IGNOREDUPL: wenn die gefundene Dublette ignoriert und der übertragene Mitarbeiter als neuer Mitarbeiter eingestellt werden soll

Für die gefundene Dublette wird ein Schlüsselzuordnungseintrag angelegt, um das Vorhandensein des Mitarbeiters auf der Employee-Central-Seite zu simulieren und die beiden Personalnummern (PERNR) für diese spezifische Person zu verbinden. Zusätzlich können Sie den Parameter EV_FULL_TRANS_START_DATE auf das Wiedereinstellungsdatum setzen, um dem System mitzuteilen, dass bei der Eingangsverarbeitung keine Infotypdatensätze verarbeitet werden sollen, deren Gültigkeit vor diesem Datum liegt.

Für die Dublettenprüfung werden die Attribute Vorname, Nachname, Geburtsdatum und Geschlecht verwendet. Wenn das Land des Mitarbeiters "USA" ist, wird zusätzlich die Sozialversicherungsnummer (PERID) verwendet. Die Dublettenprüfung erwartet, dass entweder eine Dublette oder keine Dubletten gefunden werden. Wenn die Prüfung mehrere Dubletten findet, wird eine entsprechende Fehlermeldung generiert.

Wenn Sie beide Anwendungsfälle in Ihrem Unternehmen benötigen, können Sie die beiden Implementierungen kombinieren, indem Sie am Ende des Quelltextes des Anwendungsfalls 2 den Quelltext des Anwendungsfalls 1 hinzufügen.






Vendor Master (General Section)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 10516 Date: 20240602 Time: 093736     sap01-206 ( 211 ms )