Ansicht
Dokumentation

BAPI_HRMASTER_SAVE_REPL_MULT - BAPI für Replikation von HR-Stammdaten, HR-Organsiationsdaten

BAPI_HRMASTER_SAVE_REPL_MULT - BAPI für Replikation von HR-Stammdaten, HR-Organsiationsdaten

General Material Data   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book


Funktionalität

Diese Methode steuert die Replizierung der Daten des Organisationsmanagements und des Personalstamms. Sie speichert die Replikate von Objekten.

Anwendung findet das BAPI im ALE-Szenario 'HR-ONLY', bei dem in einem Nicht-HR-System die HR-Daten verprobt eingespielt werden sollen. Da die Anzahl der unterstützten Infotypen von 'HR-ONLY' vorgegeben wird, ist das BAPI für eine vollständige Altdatenübernahme weniger geeignet.

Kopfdaten der zu replizierenden Objekte werden über den Parameter 'HR_Object_Header' übergeben: Neben dem Objektschlüssel, bestehend aus Planvariante, Objekttyp und Objekt-ID, gibt es das 'Proof-Flag', das auf 'X' gesetzt sein muß, sowie das Feld 'Operator'. Über dieses Feld wird festgelegt, in welchem Modus das entsprechende Objekt eingespielt werden soll. Zu unterscheiden ist zwischen dem Insert- und dem Update-Modus:

Insert-Modus:

Die Datensätze zu dem Objekt werden komplett übernommen. Falls ein zu übernehmendes Objekt bereits vorhanden ist, wird es komplett ersetzt, d.h. zuerst gelöscht und dann mit den übergebenen Datensätzen neu angelegt.

Update-Modus:

Für das Objekt werden im Zielsystem für die mitgegebenen Infotypen für dieses Objekt, diejenigen Sätze, die vollständig in dem Zeitraum liegen, der über den Parameter 'HR_Infotype_Header' festgelegt wird, zuerst vollständig gelöscht und dann mit den übergebenen Infotypdaten neu angelegt.

Um ein Objekt anlegen zu können, muß sichergestellt sein, daß zumindest die Infotypen 0000, 0001 und 0002 für Personen bzw. der Infotyp 1000 (Objekt) für Objekte der Personalplanung und des Organisationsmanagements mitgegeben werden.

Pro Objekt wird über den Parameter 'HR_Infotype_Header' angegeben, welche Infotypen für einen bestimmten Zeitraum übergeben werden. Sämtliche Sätze zum jeweiligen Infotyp für das betreffende Objekt, die vollständig in diesen Zeitraum fallen, werden in einer weiteren, entsprechenden Infotyp-Tabelle mitgegeben.

Beispiel

Einspielen einer Organisationseinheit im Insert-Modus

(Existenz-Infotyp 1000):

BAPIHROBJ[1]-PLAN_VER = '01'.

BAPIHROBJ[1]-OBJ_TYPE = 'O '.

BAPIHROBJ[1]-OBJ_ID = '12345678'.

BAPIHROBJ[1]-PROOF = 'X'.

BAPIHROBJ[1]-OPERATOR = 'I'.

BAPIHRINF[1]-PLAN_VER = '01'.

BAPIHRINF[1]-OBJ_TYPE = 'O '.

BAPIHRINF[1]-OBJ_ID = '12345678'.

BAPIHRINF[1]-INFOTYPE = '1000'.

BAPIHRINF[1]-SUBTYPE = ' '.

BAPIHRINF[1]-FROM_DATE = '19980101'.

BAPIHRINF[1]-TO_DATE = '99991231'.

PD_OBJECT[1]-CLIENT = '000'.

PD_OBJECT[1]-PLAN_VER = '01'.

PD_OBJECT[1]-OBJ_TYPE = 'O '.

PD_OBJECT[1]-OBJ_ID = '12345678'.

PD_OBJECT[1]-INFOTYPE = '1000'.

PD_OBJECT[1]-SUBTYPE = ' '.

PD_OBJECT[1]-PL_STATUS = '1'.

PD_OBJECT[1]-PRIORITY = ' '.

PD_OBJECT[1]-FROM_DATE = '19980101'.

PD_OBJECT[1]-TO_DATE = '99991231'.

PD_OBJECT[1]-CHANGED_ON = '19980101'.

PD_OBJECT[1]-CHANGED_BY = 'MUSTERUSER'.

PD_OBJECT[1]-OBJ_ABB = 'ORG_EH_A'.

PD_OBJECT[1]-OBJ_NAME = 'Organisationseinheit A'.

PD_OBJECT[1]-LANGU_ISO = 'DE'.

Einspielen des Infotyp 0006 mit den Subtypen 1 und 2 zu einer Person

im Update-Modus:

BAPIHROBJ[1]-PLAN_VER = '01'.

BAPIHROBJ[1]-OBJ_TYPE = 'P '.

BAPIHROBJ[1]-OBJ_ID = '00112233'.

BAPIHROBJ[1]-PROOF = 'X'.

BAPIHROBJ[1]-OPERATOR = 'U'.

BAPIHRINF[1]-PLAN_VER = '01'.

BAPIHRINF[1]-OBJ_TYPE = 'P '.

BAPIHRINF[1]-OBJ_ID = '00112233'.

BAPIHRINF[1]-INFOTYPE = '0006'.

BAPIHRINF[1]-SUBTYPE = '1 '.

BAPIHRINF[1]-FROM_DATE = '19980205'.

BAPIHRINF[1]-TO_DATE = '99991231'.

BAPIHRINF[2]-PLAN_VER = '01'.

BAPIHRINF[2]-OBJ_TYPE = 'P '.

BAPIHRINF[2]-OBJ_ID = '00112233'.

BAPIHRINF[2]-INFOTYPE = '0006'.

BAPIHRINF[2]-SUBTYPE = '2 '.

BAPIHRINF[2]-FROM_DATE = '19980304'.

BAPIHRINF[2]-TO_DATE = '19991231'.

EMPLOYEE_PRIVATE_ADDRESS[1]-OBJ_ID = '00112233'.

EMPLOYEE_PRIVATE_ADDRESS[1]-INFOTYPE = '0006'.

EMPLOYEE_PRIVATE_ADDRESS[1]-SUBTYPE = '1 '.

EMPLOYEE_PRIVATE_ADDRESS[1]-TO_DATE = '19980630'.

EMPLOYEE_PRIVATE_ADDRESS[1]-FROM_DATE = '19980205'.

EMPLOYEE_PRIVATE_ADDRESS[1]-CHANGED_ON = '19980701'.

EMPLOYEE_PRIVATE_ADDRESS[1]-CHANGED_BY = 'MUSTERUSER'.

EMPLOYEE_PRIVATE_ADDRESS[1]-STREET = 'Hauptstraße'.

EMPLOYEE_PRIVATE_ADDRESS[1]-CITY = 'Heidelberg'.

...

EMPLOYEE_PRIVATE_ADDRESS[2]-OBJ_ID = '00112233'.

EMPLOYEE_PRIVATE_ADDRESS[2]-INFOTYPE = '0006'.

EMPLOYEE_PRIVATE_ADDRESS[2]-SUBTYPE = '1 '.

EMPLOYEE_PRIVATE_ADDRESS[2]-TO_DATE = '99991231'.

EMPLOYEE_PRIVATE_ADDRESS[2]-FROM_DATE = '19980701'.

EMPLOYEE_PRIVATE_ADDRESS[2]-CHANGED_ON = '19980701'.

EMPLOYEE_PRIVATE_ADDRESS[2]-CHANGED_BY = 'MUSTERUSER'.

EMPLOYEE_PRIVATE_ADDRESS[2]-STREET = 'Fischergasse'.

EMPLOYEE_PRIVATE_ADDRESS[2]-CITY = 'Heidelberg'.

...

EMPLOYEE_PRIVATE_ADDRESS[3]-OBJ_ID = '00112233'.

EMPLOYEE_PRIVATE_ADDRESS[3]-INFOTYPE = '0006'.

EMPLOYEE_PRIVATE_ADDRESS[3]-SUBTYPE = '2 '.

EMPLOYEE_PRIVATE_ADDRESS[3]-TO_DATE = '19991231'.

EMPLOYEE_PRIVATE_ADDRESS[3]-FROM_DATE = '19980304'.

EMPLOYEE_PRIVATE_ADDRESS[3]-CHANGED_ON = '19980304'.

EMPLOYEE_PRIVATE_ADDRESS[3]-CHANGED_BY = 'MUSTERUSER'.

EMPLOYEE_PRIVATE_ADDRESS[3]-STREET = 'Breite Strasse'.

EMPLOYEE_PRIVATE_ADDRESS[3]-CITY = 'Walldorf'.

Einschränkungen

In einem Personalwirtschaftssystem, welches über ALE mit einem Rechnungswesensystem verbunden ist, ist von einem Einsatz des BAPIs aus technischen Gründen abzuraten, da eine synchrone Verprobung zu einem COMMIT führt. Dies verhindert im Fehlerfall beim Einbuchen einen ROLLBACK.

Beim Einbuchen der Daten über das BAPI werden keine ALE-Änderungszeiger geschrieben.

Die Maßnahme 'AL', bestehend aus den Infotypen 0001 und 0002, wird mit ausgeliefert und darf nicht modifiziert werden. Mit ihr werden nicht existente Personalnummern angelegt. Anschließend wird der Infotyp 0000 (Maßnahmen) gemäß der übergebenen Parameter unverprobt überschrieben.

Ebenso wird der Infotyp 1000 vom BAPI unverprobt angelegt. Der Infotyp 0003 (Abrechnungsstatus) wird gemäß der Logik beim Anlegen von Personalstammdaten neu angelegt.

Bei Infotypen mit der Zeitbindung 1 muß auf Lückenlosigkeit der Datensätze geachtet werden.

Die Felder 'Änderungsdatum' und 'Letzter Änderer' in allen Infotypen beinhalten das Datum des BAPI-Aufrufs und den User, unter dem das BAPI im Zielsystem aufgerufen wird (RFC-User).

Infotypen dürfen in dem System, in dem die Daten eingespielt werden, nicht mit dynamischen Maßnahmen verknüpft sein.

Um eine konsistente Anzeige der Maßnahmen zu gewährleisten, müssen die ergänzenden Maßnahmen (Schalter 'ADMIN EVSUB' in der T77S0 = 0) ausgeschaltet sein.

Die Methode findet im Szenario Verteilte HR-Stammdaten keine Anwendung.

Hinweise

Sollten die Fehlermeldungen nicht ausreichend sein, um den Fehler zu lokalisieren, so können anstelle des BAPIs die entsprechenden Daten mit dem Funktionsbaustein 'HRMaster_Save_Repl_Mult' ins R/3-System eingespielt werden. Dort werden die Datensätze zur Fehleranalyse mit dem Report 'RHALEBAPIPROOF' im Dialog angeboten.

Da die Daten verprobt eingespielt werden, kann es insbesondere bei einem großen Datenvolumen zu Laufzeitproblemen kommen. Eine mögliche Abhilfe bestünde beispielsweise darin, die Datenmenge pro BAPI-Aufruf geringer zu halten.





Parameter

EMPLOYEE_ARCHIVED_OBJECTS
EMPLOYEE_BANK_DETAILS
EMPLOYEE_CATS_DEFAULT_VALUES
EMPLOYEE_COMMUNICATIONS
EMPLOYEE_COMPANY_CARS
EMPLOYEE_ORG_ASSIGNMENT
EMPLOYEE_PAYROLL_STATUS
EMPLOYEE_PERSONAL_DATA
EMPLOYEE_PERSONNEL_ACTION
EMPLOYEE_PRIVATE_ADDRESS
EMPLOYEE_SALES_ORG_ASSIGNMENT
EMPLOYEE_TIME_RECORDING_INFO
EMPLOYEE_TRIP_PRIVILEGES
HR_INFOTYPE_HEADER
HR_OBJECT_HEADER
PD_OBJECT
PD_OBJECT_ADDRESS
PD_OBJECT_APPRAISAL_SAMPLE
PD_OBJECT_APPRAISAL_SCALE
PD_OBJECT_AUTHORITY_RESOURCES
PD_OBJECT_B_EVENTKNOWLEDGELINK
PD_OBJECT_B_EVENT_AVAILABILITY
PD_OBJECT_B_EVENT_BLOCKS
PD_OBJECT_B_EVENT_CAPACITY
PD_OBJECT_B_EVENT_COSTS
PD_OBJECT_B_EVENT_DEMAND
PD_OBJECT_B_EVENT_INFO
PD_OBJECT_B_EVENT_NAME_FORMAT
PD_OBJECT_B_EVENT_PRICE
PD_OBJECT_B_EVENT_PROCEDURE
PD_OBJECT_B_EVENT_SCHEDULE
PD_OBJECT_B_EVENT_SCHED_MODEL
PD_OBJECT_B_EVENT_TYPE
PD_OBJECT_COST_ALLOC_INVOICE
PD_OBJECT_COST_DISTRIBUTION
PD_OBJECT_COST_PLANNING
PD_OBJECT_DEPARTMENT_STAFF
PD_OBJECT_DESCRIPTION
PD_OBJECT_EMPL_GROUP_SUBGROUP
PD_OBJECT_EXTERNAL_KEY
PD_OBJECT_HEAD_COUNT_BUDGET
PD_OBJECT_HEALTH_EXAMINATIONS
PD_OBJECT_JOB_MARKET_INFO
PD_OBJECT_MAIL_ADDRESS
PD_OBJECT_OBSOLETE
PD_OBJECT_OVERRIDE_REQMNT
PD_OBJECT_PD_PROFILES
PD_OBJECT_PLANNED_COMPENSATION
PD_OBJECT_POSTING_SPECS
PD_OBJECT_PROCESSING_FM
PD_OBJECT_PROFICIENCY_DESC
PD_OBJECT_RELATIONSHIPS
PD_OBJECT_RESTRICTIONS
PD_OBJECT_ROOM_RESERV_INFO
PD_OBJECT_SHIFT_GROUP
PD_OBJECT_SITE_DEPENDENT_INFO
PD_OBJECT_STANDARD_PROFILES
PD_OBJECT_TASK_CHARACTER
PD_OBJECT_VACANCY
PD_OBJECT_VALIDITY
PD_OBJECT_VALUATION
PD_OBJECT_WORK_EVALUAT_RESULT
PD_OBJECT_WORK_REQMNT_SCALE
PD_OBJECT_WORK_SCHEDULE
PD_REL_APPLICATION_FOR
PD_REL_APPRAISAL_MODEL
PD_REL_APPRAISES
PD_REL_CAREER_DEVELOP_ACTION
PD_REL_IS_EQUIPPED
PD_REL_IS_PREBOOKED_FOR
PD_REL_JOB_REQMNTS
PD_REL_MESSAGE_TYPE
PD_REL_QUALIFICATIONS_REQMNTS
PD_REL_REQUIRES
PD_REL_RESERVES
PD_REL_SESSION
PD_REL_SPECIFIED_SUBSTITUTE
PD_REL_STILL_REQUIRES
PD_REL_TAKES_PART_IN
RETURN

Ausnahmen

Funktionsgruppe

RHABAPI

Fill RESBD Structure from EBP Component Structure   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 19537 Date: 20240523 Time: 121116     sap01-206 ( 162 ms )