In diesem Teil des Blogs will ich mich mit dem Abrechnungschema A000 für Österreich auseinandersetzen. Da in den meisten Büchern immer nur auf das Schmea D000 eingegangen wird, will ich hier nun eine Punkte ergänzen und andere mit Dir erarbeiten!
Aber jeder hat einmal klein Angefangen….
Abrechnungsprozess
Bevor wir irgendwas in der Abrechnung machen, müssen wir uns noch einmal den Abrechnungsprozess ins Gedächtnis rufen. Hier haben wird mehrere Eingangsgrößen
- die Infotypen der Personalabrechnung,
- das Ergebnis der Zeitabrechnung.
Diese Daten werden an dem österreichischen Abrechnungstreiber verfüttert (SE38 –> RPCALCA0). Hier laufen die Personaldaten und die Zeitdaten durch das Abrechnungsschema und so SAP wolle, bekommst Du ein Abrechnungsergebnis (Solltest Du keines bekommen, kannst du gern Kontakt zu mir aufnehmen). Dies Ergebnis wird auf die Datenbank geschrieben, den sogenannten Abrechnungscluster (SE38 –> RPCLSTRA). Dieses Ergebnis ist die endgültige Wahrheit. Aus diesem Ergebnis wird die Buchung ins FI/CO erstellt, die Lohn- und Gehaltszettel gedruckt und die komplette außerbetriebliche Abrechnung (ÖGKK, Finanz, Gemeinde, usw.) durchgeführt.
Abrechnungstreiber RPCALCA0
Wie in der Überschrift zu finden, kann der Abrechnungstreiber als Programm se38/sa38 –> RPCALCA0 aufgerufen werden. Und wenn nichts eingestellt ist, bekommt man dieses Bild zu sehen. Fix zu wählen ist ein Abrechnungskreis und ein Abrechnungsschema. In diesem Fall ist A000 als Schema eingetragen, was das SAP Standard Schema ist. Wir kommen später noch auf die Schemen zurück, was man damit alles anstellen kann.
Zum Testen empfiehlt es sich eine Personalnummer auszuwählen und das Protokoll anzeigen zu lassen und Testlauf (kein Update) anzuhaken. Der letzte Punkt ist besonders wichtig sonst schreibst du in dem oben erwähnten Cluster, spricht du veränderst die Echtabrechnung. Aber wenn der Abrechnungskreis nicht frei zur Abrechnung ist, darfst du nicht „scharf“ abrechnen. Hier hat noch wer ein Sicherheitsnetz gespannt, verlassen würde ich mich aber nicht 100%ig drauf.
Die Beschränkung auf die Personalnummer hält die Laufzeit kurz, das Anzeigen des Protokolls verlängert die Laufzeit empfindlich.
Wir wollen aber nur eine Personalnummer Abrechnung und sehen was passiert. Und das was passiert sehen wir im Protokoll. Um die Abrechnung schneller zu machen gibt es einige Kniffe auf die ich ganz am Ende der Thematik zurückkomme.
Schemen und Regeln
Schema für Österreich A000. Da Originale Schema befindet sich in Mandant 000 oder kann mittels der Tabelle T52C0 eingesehen werden.
Das Abrechnung Schema ist eine Sammlung aus Regeln und Funktionen (bzw. Coding), welches in einem Abrechnungstreiber (RPCALCA0 – für Österreich) linear durchlaufen wird. Diese Regeln können mit der Transaktion PE02 eingesehen/geändert werden. Öffnet man das Schema kann man die Subschemen und Regeln einsehen. Mit Doppelklick auf die Schemen kann wiederrum in das Subschema gesprungen werden, bis man auf Regelebene angekommen ist.
Im Folgenden wollen wir uns Regeln und deren Ansprung ansehen, mit Fokus auf die österreichische Abrechnung. Wir nehmen die Initialisierung der Abrechnung fürs erste einmal hin. In einem späteren Teil werden wir nochmal darauf zurückkommen. Also das Schema AGDT betrachten.
Hier finden Sie Funktion (PE04) und Regeln (PE02).
Sehen wir uns die Funktion ENAME an, hierfür die Transaktion PE04 aufrufen und die Funktion ENAME eingeben. Im Allgemeinen können Sie zur Hilfe für eine Regel gelangen, wenn Sie die F1 Taste drücke wenn der Courser auf einer Regel oder Funktion steht, also z.B. auf ENAME
Hier werden dann nähere Informationen zu dieser Regel angezeigt.
Wie aus der Hilfe gelesen werden kann, wird der Name der Person zurück gegeben.
Funktion: ENAME
Was verbirgt sich nun hinter der Rege? Was kommt aus der Datenbank und welche Befehle werde im Hintergrund aufgerufen?
Hierzu in der Funktionseditor PE04 und sich den Quellcode der Funktion anzeigen lassen.
Nun kann man das Coding einsehen (und ggf. Breakpoints) setzen, wenn diese Funktion ausgeführt wird. Was in der Funktion versteckt ist, kann im folgenden Screenshot gesehen werden.
Hier werden 2 Makros verwendet und 2 weitere Performs, welche Daten zurückgegeben. Auf Markos bzw. Performs gehen wir in einem der Programmierteile ein.