Blog – der SAP HCM Notizzettel

PY CH – Änderungen seit Jahreswechsel

Mit dem Supportpackage E3 (4.7, andere Releases siehe Hinweis) sind auch ein paar relevante Änderungen für die Schweiz ausgeliefert worden:

Hinweis 1806336 – HR-PF-CH: Änderungen BVG – Jahreswechsel 2012/2013
Hinweis 1804638 – HR-CH: Familienzulagen – Jahreswechsel 2012/2013
Hinweis 1806666 – HR-CH: Lohnstrukturerhebung (RPLBGAC3), Bereichsmenü
Hinweis 1809907 – HR-CH: Nachtrag Familienzulagen – Jahreswechsel 2012/2013

Am wichtigsten hierbei sind wohl die geänderten Beitragssätze zu den kantonalen Familienausgleichskassen/ die Leistungen derselben per 01.01.2013:

Kanton Aargau (AG): 1,45%
Kanton Freiburg (FR): 2,35%, Kinderzulage: Fr. 245 für die ersten beiden Kinder, Fr. 265 für das dritte und jedes weitere Kind, Ausbildungszulage: Fr. 305 für die ersten beiden Kinder, Fr. 325 für das dritte und jedes weitere Kind
Kanton Genf (GE): 1,9%
Kanton Schaffhausen (SH): 1,3%
Kanton St. Gallen (SG): 1,6%
Kanton Tessin (TI): 2%
Kanton Waadt (VD): 2,285%, Ausbildungszulage: Fr. 300 für die ersten beiden Kinder, Fr. 470 für das dritte und jedes weitere Kind
Kanton Zug (ZG): 1,6%
Quelle Hinweise 1804638/1809907

Zu beachten sind auch die Änderungen in der BVG – siehe Hinweis.

Supportpackage E5:

Hinweis 1705761 – HR-CH: Lohnausweis, Text 15 Summenlohnart, inaktive Mitarb.
Hinweis 1809059 – HR-CH: Lohnstrukturerhebung (RPLBGAC3), Korrekturen

Die Ausgleichskasse Zürich stellt eine Datei mit den Beitragssätzen/ Leistungen aller Familienausgleichskassen zur Verfügung, hier kann man direkt die Einstellungen im System prüfen. 

ABAP – Makros im HR wie z.B. RP-PROVIDE-FROM-LAST

Schon einmal gefragt was in einem Programm passiert wenn der Befehl: RP-PROVIDE-FROM-LAST P0000 0000 PN-BEGDA PN-ENDDA ausgeführt wird?
Hier wird ein Makro in der Tabelle TRMAC aufgerufen. Dies ist eine HR Besonderheit, funktioniert aber in allen ABAP Programmen. In der TRMAC steht Folgendes:
Name des Makros                    Zeile     Makrotext
RP-PROVIDE-FROM-LAST       001       ****************************************
RP-PROVIDE-FROM-LAST       002       * RP-PROVIDE-LAST INFTY SUBTY BEG END  *
RP-PROVIDE-FROM-LAST       003       ****************************************
RP-PROVIDE-FROM-LAST       004       * SORT &1
RP-PROVIDE-FROM-LAST       005       PNP-SW-FOUND = ‚0‘
RP-PROVIDE-FROM-LAST       006       CLEAR PNP-SY-TABIX
RP-PROVIDE-FROM-LAST       007       LOOP AT &1
RP-PROVIDE-FROM-LAST       008       IF &2 NE SPACE
RP-PROVIDE-FROM-LAST       009       CHECK &1-SUBTY EQ &2
RP-PROVIDE-FROM-LAST       010       ENDIF
RP-PROVIDE-FROM-LAST       011       IF &1-BEGDA LE &4 AND &1-ENDDA GE &4
RP-PROVIDE-FROM-LAST       012       PNP-SW-FOUND = ‚1‘
RP-PROVIDE-FROM-LAST       013       EXIT
RP-PROVIDE-FROM-LAST       014       ENDIF
RP-PROVIDE-FROM-LAST       015       IF &1-BEGDA LE &4 AND &1-ENDDA GE &3
RP-PROVIDE-FROM-LAST       016       PNP-SY-TABIX = SY-TABIX
RP-PROVIDE-FROM-LAST       017       ENDIF
RP-PROVIDE-FROM-LAST       018       ENDLOOP
RP-PROVIDE-FROM-LAST       019       IF PNP-SW-FOUND EQ ‚0‘
RP-PROVIDE-FROM-LAST       020       IF PNP-SY-TABIX NE 0
RP-PROVIDE-FROM-LAST       021       PNP-SW-FOUND = ‚1‘
RP-PROVIDE-FROM-LAST       022       READ TABLE &1 INDEX PNP-SY-TABIX
RP-PROVIDE-FROM-LAST       023       ELSE
RP-PROVIDE-FROM-LAST       024       CLEAR &1
RP-PROVIDE-FROM-LAST       025       ENDIF
RP-PROVIDE-FROM-LAST       026       ENDIF

Wie man sieht gibt es hier nichts Geheimnisvolles, sondern es handelt sich um einen normalen Loop mit IF Abfragen. Trotzdem ist der RP-PROVIDE-FROM-LAST wohl das meistgebrauchte TRMAC Makro im HR Umfeld. Diese Makros funktionieren genau wie Funktionsbausteine oder im Programm definierte Makros mit dem ABAP Befehl DEFINE. Der Nachteil gegenüber einem Funktionsbaustein ist, dass man ein TRMAC Makro nicht debuggen kann und auch mit einem Doppelklick nicht weiterkommt. Die Lesbarkeit des Programms wird dadurch eingeschränkt. Deshalb sollte man – obwohl es prinzipiell möglich ist – nicht unbedingt eigene Makros in die Tabelle aufnehmen, sondern lieber einen Funktionsbaustein erstellen.