Activate wage type for PERSG/PERSK and WERKS/BTRTL#

V_511_BGrouping
V_503_GPERSG/PERSK
V_001P_KWERKS/BTRTL

Cluster#

To see what is stored in which cluster table (PCLx) under which ID,
you can check the domain values:
  • table PCL1 see domain.RELID_PCL1 > values
  • table PCL2 see domain RELID_PCL2 > values
To check payroll results you can use transaction PC_PAYRESULT for ALL countries !

Payroll function missing#

We had a case that the source code of a payroll function could not be found though it was available in a custom include.
1. x.PE04
2. Name=<payroll function>, class=Payroll, type=Function
3. Button "Source" (Ctrl+F7)
=> f.SHOW_SOURCE_PE04 > P0/825 = "Formroutine <function> konnte nicht gefunden werden."

The related form is searched in a tree called "PG_RPCALCD0", which is defined in

t.DIRTREEBaumverwaltung
t.DWTREEBaumobjekte der Entwicklungsumgebung
DWTREE is a cluster table, this tree is saved under RelID=TR.

There are certain management reports and functions

r.RS_APPL_REFRESHRefresh der Komponentenhierarchie auf der DWTREE
r.RDDEXECLAusführung von Reports nach Import zu Transportaufträgen aus TRBAT
r.SAPRSEUTUpdate Object Lists After Transport
r.SAPRSEUBGenerate Where-Used List (For All Programs)
r.SAPRSLOGRefresh Navigation Indexes and Object Lists
f.WB_TREE_NEW_VERSIONProduziert eine neue Baum-Version(snummer) in DIRTREE über T
f.WB_TREE_SET_OBJECTLISTPositioniert für ein gegebenes Objekt auf die Objektliste
f.WB_TREE_SET_OBJECTLIST_ENHPositioniert für ein gegebenes Objekt auf die Objektliste

We compared Dev with Qual and it was visible that the object list in the tree was not up to date. You can use following report to display the objects (or put a breakpoint in a/m function)

r.SAPMSEU2Testutility zur Anzeige der Objektlisten
To update the object list all a/m reports and functions were useless, only the following function corrected it:
f.WB_TREE_ACTUALIZE_RFCAktualisiert die Objektliste/Indizes zu
Anyway it seems that this tree is only used as index. The payroll itself worked properly and was not affected.

A payroll function is of type R3TR/PFCC. In our case the function itself was saved within following tables

T52BWInput-/Outputparameter
T52A0Interne Nummer von Objekten
T52A0_TTexte zu Objekten der T52A0
T52B5Zuordnung von Werten zu Objekten
T52B6Funktionsparameter
T52B7Gültige Werte von Funktionsparametern
T52B8Texte zu den Funktionsparametern
T52B9Verwendung von Infotypen bei Objekten
T52BBTexte von Werten für Funktionsparameter
T52BGVerwendung von Grouping Reasons bei Objekten

Connection between payroll function and source code#

1. Create function within PE04
2. Create source code in Include PCBURZxxy

PCBURZxxy with xx = country and y = running number starting with 0 can contain customer operations and functions.
There is a note at the top saying "* Attention: Never change or transport this include in SAP systems". This note is for SAP itself, e.g. SAP itself should not modify or transport anything here, because it is for the customer. So you must NOT be confused, this is the right place!

Payroll ReportCustomer Include
r.RPCALCD0PCBURZCH0
r.RPCALCD0PCBURZDE0
r.RPCALCX0PCBURZ990

Inside the payroll reports the functions are called via dynamically created report source.

r.RPUCT700Generate code to call functions (via r.RPUCT300)
This report is executed, when you activate the payroll function in x.PE04. Depending on the assignments of the payroll function to the countries (including "All Countries"), the various Includes (RPCASFxx) are generated. So you can prevent to have the payroll function included in those includes by removing assignments.

Note: We removed the assignment from "All Countries" to exclude the payroll function from RPCASFX0. Everything compiled fine, but the payroll function index was not in synch with the schema anymore. You get a dump "PERFORM_INDEX_TOO_LARGE" and there is note 330389 which describes the solution (in our case point 1):

  1. The numbers in the generated schema or calculation rules are not up-to-date. These errors can usually be corrected by regenerating the schema (force it via x.PE01 or r.RPUCT800)
  2. The include that contains the indexed perform is not current. These errors can usually be corrected by regenerating the function (x.PE04 or r.RPUCT700)
  3. The number assignment in table T52A0 is not correct for some reason. For example, numbers may have been assigned twice or they appear in the incorrect number interval

Lohnarten, LGART#

T512WLohnartenbewertung
T512TLohn-Gehaltsarten-Text

Cluster#

RDD=Deutschland
RAA=Austria
.....

RPCALCD0Abrechnung
RPCEDTD0Entgeltnachweis
x.PU03Frühestes Rückrechendatum leer = keine Rückrechnung!

Results #

RPCLSTRD (last two is the cluster).
  • This open a view per employee on the table RGDIR.
  • The employee together with the sequence will be the key.
  • A double click will open the sub-tables.
  • For each payroll a copy is made here from the master data, so they may not be equal.

NameDescr
WPBPIT 0,1,7,8 effective dated, maybe splitted also for month-parts
RTLohnart
RT_LA komprimiert, Sortiert nach Modifikator der Abr. (V_503_ALL->AbrRegel), daher LA ggf. mehrfach
CRTkummulierte Jahressumme
BTÜberweisungen, ggf. mit Zeitstempel (das Fehlen ist allerdings kein Indiz für keine Überweisung)
C1IT 14,15,2001 Kostenzuordnung (100%) pro LA (sichtbar im IT14/15 mit Button "Kostenzuordnung")
C0IT 27 alle LA, aber xx% => ggf. mehrere Zeilen in WPBP
ABIT 2001, Abwesenheiten
SVIT 13
STIT 12
SCRTSteuerl. Kummulation
DUVDeüv
MODIFRegeln
VERSCStati der Abrechnung (ersichtlich hier auch: Ist Rückrechnung durchgeführt)
VERSION+PCL2Letzte Änderung am Cluster (welches ABAP + Stamp)

ZP00CU_ZZU_CLUSTERABAbw.arten im Cluster AB verferkeln
ZP00CU_ZZU_CLUSTERRDLohnarten im Cluster RD verferkeln

Clustername ist PCL2.#

Clustertypen#

Aactual
Pprevious
Oold

Die Übersicht zeigt auch AbrKreis (der nicht änderbar ist!) und JuPer, ggf. mehrfach wenn Wechsel

Beispiele ABAP#

SE24: Z_HRPAYDE

SE38: ZP01PS_MELDE_CONTI_2008, Z*FA_BESCHEINIGUNG

FB "CD_READ_RGDIR", "HR_GET_PAYROLL_RESULTS", "PYXX_READ_PAYROLL_RESULTS"

Entgeltnachweis#

RPCEDTD0 (Dx = Deutschland)

PE51 Forms

&CAG
>Temic
(Teves

PC00_M99_CWTR_NO_OC - Lohnarten-Reporter #

unter Personalabrechnung > Europa > Deutschland > Folgeaktivitäten > Pro Abrechnungsperiode > Listen/Statistik
oder SE38:H99CWTR0

Reports#

ZP00CL_PCL1_LGARTNACHWEISfrom Aequitas
ZP01ZL_LOHNARTENKATALOG_KUG
ZHR_LART_VERGLEICH_ZTABSK
ZP01ZL_LA_KUMUL_VKLASKummulationen & Verarbeitungsklassen
RPDLGA20Verwendung der Lohn- und Gehaltsarten in der Abrechnung
RPDKON00Zuordnung Lohnarten – Sachkonten
V_512W_OGesamtübersicht T512W (Lohnarten Verarbeitungsklassen etc.)
V_512W_BBewertungsgrundlagen
V_512W_CDuschschnitte
V_512W_DVerarbeitungsklassen, Kummulationen und Auswertungsklassen
V_512W_TLohn- und Gehaltsartentexte

Payroll Control Record#

T569VHolds the general control record per ABKRS and period
T569UHolds the current status of the control record
If you select from this use "ORDER BY PRIMARY KEY", example report ZPWI0000

FI Customizing#

Profitcentervorschläge#

x.FAGL3KEHHauptbuch: Vorschlagsprofitcenter
x.3KEHEC-PCA: Zusätzl. Bil. u. GuV.Konten
t.FAGL_T8A30Hauptbuch: Vorschlagsprofitcenter
t.T8A30EC-PCA: Definition weitere Konten
t.T9GSB und t.KO03Profitcenter einem Auftrag zuordnen

Steuerkennzeichen#

V_FAGL_SPLIT_FLDBelegaufteilungsmerkmale für Hauptbücher
VV_T52SWCODISTAktivierung der Kostenverteilung (Deutschland), see Note 1039346