Folgende Benutzer bedankten sich beim Autor GastX für den Beitrag:
Abapanfänger
Folgende Benutzer bedankten sich beim Autor GastX für den Beitrag:
Abapanfänger
GastX hat geschrieben: ↑12.11.2019 09:59Bin gespannt.
Aktuell nutzen wir einen "home-made" Workaround, bei dem wir hart auf die Tabellen schreiben. Passt erstmal, da auf dem Entwicklungssystem und keine HR-Komponente weit und breit im Einsatz. Aber eine schöne Lösung sieht anders aus, daher sind wir noch dran.
Falls es interessiert: das Feld Benutzername ist ja kein Feld des GP. Stattdessen wird im Hintergrund eine zentrale Person angelegt und der GP über die CP mit dem Usernamen durch zwei Einträge in der HRP1001 verknüpft:
CP xxx 01 B 207 … BP abc
CP xxx 01 B 208 … US username
Was nach Anlage des GP und der Rollenzuordnung auf dem Hana-System noch fehlt, ist die zweite Zeile (B208).
Die Notlösung sieht dann so aus, dass wir nach Anlage des GP (inkl. Rollenzuordnung) in einem weiteren Report die zugeordnete zentrale Person (CP) ermitteln (also die Zeile mit Verknüpfung B207) und für diese die Verknüpfungszeile zum Usernamen (B208) selbst erzeugen und hart auf die DB / in die HRP1001 schreiben. (Das Variationsfeld kriegt dabei den Inhalt "US<username>".)
Ich habe eine Lösung gefunden die sich am Standard orientiert. Es gibt FUBA's.GastX hat geschrieben: ↑20.11.2019 10:08Zwischenstand: haben die Kommunikation mit SAP nochmal aufleben lassen. Deren Vorschlag ist ein von ihnen zur Verfügung gestellter Report zum Anlegen von BPs mit User-ID. Allerdings funktioniert das auch noch nicht und es geht noch hin und her.
@Abapanfänger: gibt es bei Euch schon was neues?
Code: Alles auswählen.
* Zuerst überprüfen ob CP existiert
CALL FUNCTION 'BP_CENTRALPERSON_GET'
EXPORTING
iv_bu_partner_guid = ls_but000-partner_guid
IMPORTING
ev_person_id = lv_personid
ev_bu_partner_guid = lv_partner_guid
EXCEPTIONS
no_central_person = 1
no_business_partner = 2
no_id = 3
OTHERS = 4.
* Falls nicht existiert anlegen
IF lv_personid IS INITIAL.
MOVE-CORRESPONDING ls_but000 TO ls_bus000.
lv_emnam = |{ ls_but000-name_first } { ls_but000-name_last }|.
CALL FUNCTION 'BP_BUPA_CREATECENTRALPERSON'
EXPORTING
iv_bu_partner_guid = ls_but000-partner_guid
* iv_user_id = lv_uname
iv_name = lv_emnam
is_bus000 = ls_bus000
iv_no_commit = 'X'
IMPORTING
ev_person_id = lv_personid.
ENDIF.
* Anschliessend User verknüpfen
CALL FUNCTION 'BP_CENTRALPERSON_ASSIGN_USER'
EXPORTING
iv_person_id = lv_personid
iv_user_id = lv_uname
iv_no_commit = 'X'
iv_asynchron = space
iv_with_authority = space.