Share via


Aktualisieren der inaktiven status für einen Massenvorteil/Abzug im Personalwesen

In diesem Artikel wird beschrieben, wie Sie die inaktive status für einen Massenvorteil/Abzug im Personalwesen aktualisieren.

Gilt für: Microsoft Dynamics GP
Ursprüngliche KB-Nummer: 3055314

Symptome

Wenn Sie das HR-Abstimmungs-Hilfsprogramm für Update Benefit Setup und Update Benefit Enrollment ausführen, wird auf der Personalseite auch für Leistungs- und Abzugscodes erstellt, die auf der Gehaltsabrechnungsseite inaktiv sind. Wenn Sie auch festlegen möchten, dass sie auf der Personalseite inaktiv sind, besteht die einzige aktuelle Funktionalität darin, den Code im Fenster HR-Registrierung jeweils mit einem Mitarbeiter inaktiv zu markieren. Die Standard Einrichtung für den Code verfügt nicht über ein inaktives Feld, das heruntergefahren werden soll, sodass es keine Funktionalität gibt, dies in der Masse durchzuführen. Wie können Sie auch festlegen, dass die Leistungs-/Abzugscodes auf der Personalseite auf einmal inaktiv sind?

Ursache

Aktueller Entwurf, um nur einen Mitarbeiter/Code gleichzeitig zu aktualisieren.

Lösung

Führen Sie die unten angegebenen SQL-Skripts für die Unternehmensdatenbank in SQL Server Management Studio für das Szenario aus, das Ihren Anforderungen entspricht, um die Leistungs- und Deduktionscodes in der Masse zu inaktivieren:

*Vor dem Ausführen eines Updateskripts wird immer empfohlen, zuerst eine aktuelle Sicherungskopie der Unternehmensdatenbank zu erstellen!

Szenario 1: NUR ABZÜGE: Das erste skript unten "findet", wo der status Code auf der Personalseite nicht mit dem status Code in demselben Code in der Tabelle Payroll Deduction Master übereinstimmt, sodass Sie sehen können, welche Codes nicht übereinstimmen. Führen Sie dann das zweite Skript aus, um die status auf der Personalseite und das Enddatum zu aktualisieren, um die status und das Enddatum abzugleichen, die auf der Gehaltsabrechnungsseite gespeichert sind. Führen Sie diese Skripts für die Unternehmensdatenbank aus, um sich nur auf Ableitungscodes zu auswirken:

DEDUCTIONS:
---------------------------------------
Select a.EMPLOYID, a.deducton as 'Deduction', b.inactive as 'HR_Active', 
a.inactive as 'Payroll_Active', a.DEDENDDT as 'DED End date' 
from UPR00500 a
join BE010130 b
on a.EMPLOYID = b.EMPID_I
and a.DEDUCTON = b.BENEFIT
where a.INACTIVE <> b. inactive
---------------------------------------
update a set a.inactive = b.inactive, a.BNFENDDT = b.DEDENDDT
from BE010130 a
join UPR00500 b
on b.EMPLOYID = a.EMPID_I
and b.DEDUCTON = a.BENEFIT
where b.INACTIVE <> a.INACTIVE
-------------------------------

Wichtig

Die Vorteils- und Abzugscodes können dieselbe Code-ID aufweisen und in zwei verschiedenen Tabellen auf der Lohnabrechnungsseite (UPR00500 und UPR00600) gespeichert werden. Sie werden jedoch zusammen als ein Datensatz in nur einer Tabelle auf der Personalseite (BE010130) gespeichert. Notieren Sie sich also, welches Skript Sie zuletzt ausgeführt haben, da es die status und das Enddatum im Datensatz in der Personalabteilung überschreibt und sowohl für den Vorteil als auch für den Abzug auf der Personalseite gilt. Wenn Sie also fälle haben, in denen der Abzug inaktiv ist, der Vorteil aber aktiv ist (oder umgekehrt), müssen Sie darauf achten, welches Skript Sie zuletzt ausgeführt haben. Für diese Situationen wird empfohlen, den Code im Front-End anzuzeigen und den im Front-End erforderlichen Code wieder zu aktivieren.

Szenario 2: NUR VORTEILE: Das erste folgende Skript ermittelt, wo der status Code für den Vorteil auf der Personalseite nicht mit dem status Code für denselben Code in der Tabelle "Gehaltsvorteil master" übereinstimmt, sodass Sie sehen können, welche Codes nicht übereinstimmen. Führen Sie dann das zweite Skript aus, um die status auf der Personalseite und das Enddatum zu aktualisieren, um die status und das Enddatum abzugleichen, die auf der Gehaltsabrechnungsseite gespeichert sind. Führen Sie diese Skripts für die Unternehmensdatenbank aus, um nur Leistungscodes zu beeinflussen:

BENEFITS:
---------------------------------------
Select a.EMPLOYID, a.BENEFIT as 'Paycode', b.inactive as 'HR_inactive', 
a.inactive as 'Payroll_inactive', a.BNFENDDT as 'BEN End date' 
from UPR00600 a
join BE010130 b
on a.EMPLOYID = b.EMPID_I
and a. BENEFIT = b.BENEFIT
where a.INACTIVE <> b. inactive
---------------------------------------
update a set a.inactive = b.inactive, a.BNFENDDT = b.BNFENDDT 
from BE010130 a
join UPR00600 b
on b.EMPLOYID = a.EMPID_I
and b.BENEFIT = a.BENEFIT
where b.INACTIVE <> a.INACTIVE
--------------------------------------- 

Wichtig

Die Vorteils- und Abzugscodes können dieselbe Code-ID aufweisen und in zwei verschiedenen Tabellen auf der Personalabrechnungsseite (UPR00500 und UPR00600) gespeichert werden. Sie werden jedoch zusammen als ein Datensatz in nur einer Tabelle auf der Personalseite (BE010130) gespeichert. Beachten Sie also, welches Skript Sie zuletzt ausgeführt haben, da es die status und das Enddatum im Datensatz in der Personalabteilung überschreibt und sowohl für den Vorteil als auch für den Abzug auf der Personalseite gilt. Wenn Sie also fälle haben, in denen der Vorteil inaktiv ist, der Abzug jedoch aktiv ist (oder umgekehrt), müssen Sie darauf achten, welches Skript Sie zuletzt ausgeführt haben. Für diese Situationen wird empfohlen, den Code im Front-End anzuzeigen und den im Front-End benötigten Code wieder zu aktivieren.

Szenario 3: Alle: Verwenden Sie dieses Skript, wenn Sie wissen, dass ein Code (Vorteil und Abzug) auf der Gehaltsabrechnungsseite für "alle" Mitarbeiter inaktiv ist und Sie nur die status für alle darin registrierten Mitarbeiter auch auf der Personalseite aktualisieren möchten: (Das erste Skript findet alle Datensätze für diesen Code, egal ob Vorteil oder Abzug, wenn es auf der Personalseite nicht inaktiv ist und das zweite Skript die status aktualisiert, damit dieser Code für alle Mitarbeiter, die auf hr-Seite registriert sind, inaktiv ist.)

Select * from BE010130 where BENEFITSTATUS_I <> '2' and BENEFIT = 'xxx'
---------------------------------------------------------------
update BE010130 set BENEFITSTATUS_I = '2' where BENEFIT = 'xxx'

Aktualisieren Sie den xxx-Platzhalter für den Vorteils- oder Abzugscode, den Sie auf der Personalseite als inaktiv markieren möchten.

Hinweis

Dieses Skript legt nur die INACTIVE-status fest und aktualisiert nicht das Enddatum des Vorteils/Abzugs auf der Personalseite. Weitere Informationen finden Sie im obigen Hinweis in Szenario 2.

Leistungsstatuswerte mittel: 1=aktiv 2=inaktiv 3=verzichte

Weitere Informationen

Hinweis

Nur die Gehaltsabrechnungsseite für den Vorteil oder Abzug wird in der Auszahlungsausführung verwendet, sodass sich die Verwendung des Codes auf der Hr-Seite überhaupt nicht auf die Auszahlung auswirkt.