Mittwoch, 28. November 2012

PY DE - Irrtümlicher/ nicht erfolgter Eintritt nach erfolgter Anmeldung DEÜV

Es kommt zu einem irrtümlichen Eintritt ohne darauf folgenden korrigierten Eintritt nach Erstellung einer DEÜV-Meldung weil...

- Ein neu eingestellter Mitarbeiter hat die Arbeit nie angetreten.
- Eine Personalnummer wird gelöscht, weil z.B. ein Praktikant nicht zur Arbeit erschienen ist.
- Es wurde die Maßnahme Irrtümlicher Eintritt verwendet.
- DEÜV (An)Meldungen werden nicht automatisch storniert.

Dann muss eine bereits erstellte DEÜV (An-)Meldung storniert werden. Der Report RPCD3VD0 (DEÜV-Meldungen erstellen) selektiert die betroffene Person aber nicht, da sie den Beschäftigungsstatus " 0: Mitarbeiter ist nicht in der Firma" hat. Wenn ein Mitarbeiter nie aktiv gewesen ist, kann der Report RPCD3VD0 diesen nicht verarbeiten. Warum?
Aus Performancegründen werden nur Personen selektiert, die mindestens einmal den Status "aktiv" hatten.

Was ist zu tun?

- Ist für den Mitarbeiter danach überhaupt KEIN aktiver Beschäftigungszeitraum (STAT2 im Infotyp 0000) vorhanden? => Dann muss die Meldung manuell über eine Ausfüllhilfe storniert werden. Dabei handelt es sich um eine Fremd-Software, die beispielsweise von der ITSG (Informationstechnische Servicestelle der gesetzlichen Krankenversicherung GmbH) angeboten wird.
- Liegt für die Personalnummer ein aktiver Zeitraum vor (durch einen Eintritt zu einem späteren Zeitpunkt) oder handelt es sich eine Sofortmeldung? => Wenn die Meldung nicht automatisch storniert wird, öffnen Sie bitte eine Kundenmeldung.

Hier steht das auch noch einmal beschrieben:

 1488403 - Keine Stornierung von DEÜV Meldungen bei Maßnahme Irrtümlicher Eintritt (Personalabrechnung DE)

Dienstag, 27. November 2012

PY DE - Entgeltbescheinigungsrichtlinie wird voraussichtlich Verordnung in 07/ 2013

Die Entgeltbescheinigungsrichtlinie (EBeschR) soll - nach dem aktuellen Entwurf - zum 01.07.2013 durch die Entgeltbescheinigungsverordnung (EBV) abgelöst werden.(Sobald das genaue Datum bekannt ist, wird das in diesem Hinweis ergänzt.)

Der Inhalt der Verordnung wird gegenüber der Richtlinie nur leicht an seitdem hinzugekommene Anforderungen (z.B. der gewählte Faktor für das Faktorverfahren) angepasst.

An den Musterformularen (gemäß EBeschR) ändert sich dadurch nichts.
Das sind in der Auslieferungskomponente SAP_HR(CDE) die Formulare 'DF01', 'DFB1' und 'DFKA' für den Report RPCEDTD0 und in der Auslieferungskomponente EA-HR(CDE) das Formular SAP_PAYSLIP_DE_P (mit Formbuilder-/PDF-Layout) für HRForms.

Hinweis 1769896 - Entgeltbescheinigungsverordnung (EBeschV) ab 01.07.2013

Die Richtlinie finden Sie hier http://www.bmas.de/DE/Service/Gesetze/entgeltbescheinigungsrichtlinie.html.

Die Unterschiede zwischen Gesamtbrutto und Netto nach Entgeltbescheinigungsrichtlinie und ohne /101 <> /10E bzw. /550 und /55E hat die SAP in diesem Dokument zusammengefasst Gesamtbrutto und Netto nach EBeschr, das aus Hinweis Hinweis 1400108 - Gesamtbrutto und gesetzliches Netto nach EBeschR.

Siehe auch: http://blog.hr-manager.de/2013/04/py-de-entgeltbescheinigungsverordnung.html

Montag, 19. November 2012

ABAP - Verhindern Laufzeitfehler wegen Zeitüberschreitung in HR Reports

Um einen Laufzeitfehler wegen Zeitüberschreitung in eigenen Programmen zu umgehen kann man ähnlich wie im RPCALCD0 die Personalnummern in der Statusleiste durchzählen mit dem Coding:
 
DATAZPROCESSED TYPE I.
.... 
GET PERNR. 
....
 ADD TO ZPROCESSED. 

  CALL FUNCTION 'PROGRESS_INDICATOR'
   EXPORTING
     I_TEXT                     'Verarbeitete Personalnummern &1'
*   I_MSGID                    =
*   I_MSGNO                    =
    I_MSGV1                    ZPROCESSED
*   I_MSGV2                    =
*   I_MSGV3                    =
*   I_MSGV4                    =
*     I_PROCESSED                = ZPROCESSED
*   I_TOTAL                    =
    I_OUTPUT_IMMEDIATELY       'X'
* IMPORTING
*   E_PROGRESS_SENT            =
            .
 
END-OF-SELECTION.


Sonntag, 18. November 2012

ALV - Excel Inplace/ Kundeneigenes Excel-Template/ eigene Pivottabelle II

Im ersten Teil wurde gezeigt, wie man eigene Excel-Templates erstellen und im System verfügbar machen kann. Doch was genau kann man mit diesen Templates alles tun?
Um diese Frage beantworten zu können empfiehlt sich ein genauer Blick auf das Template, das eine Kopie von sap_mm.xls ist.

Es stehen folgende Arbeitsblätter standardmäßig zur Verfügung:


- Format: "1:1"-Abbildung der Daten,  Summen- und Zwischensummenzeilen mit Interaktionsmöglichkeit (Auf- und Zuklappen), Keyeinfärbungen, etc.
- Header: wie Format plus Umsetzung eines existierenden HTML-Headers vom ALV Fullscreen. Allerdings muss dieser von der Anwendung nach bestimmten Regeln erstellt worden sein
- Pivot: Darstellung der Daten im Pivotformat
- SubN: Summenzeilen der Stufe N
- Rawdata: reine Tabellenanzeige der Daten aus dem Tabellenkörper
- RawHeader: Zeilen des HTML-Headers

Zusätzlich gibt es schon zwei vordefinierte Makros:



Das Makro ALV_CUS_EXIT ist für Kundenanpassungen vorgesehen und wird nach den Standardformatierungen automatisch aufgerufen. Im Originalzustand hat es folgenden Inhalt:



Dieser Code legt den benutzten Datenbereich im Sheet "RawData" als Datenbereich für alle Diagramm-Objekte in der Datei fest. Das gibt uns auch schon einen Hinweis darauf, welche Daten verwendet werden sollten als Basis für neue Objekte - die Daten im Arbeitsblatt "RawData".

In unserem Beispiel soll jetzt eine neue Pivottabelle in einem neuen Arbeitsblatt angelegt werden. Hierzu wird zunächst unserer Beispieldatei CUS_template.xls (Kopie von sap_mm.xls) ein neues Arbeitsblatt "Auswertung" hinzugefügt.



Das Anlegen der Pivottabelle sowie das Auswählen der Spalten und Zeilen erledigt das Makro. Hierzu sind einige Vorarbeiten zu erledigen:
Innerhalb der Unterroutine (sub) müssen zunächst Objekte deklariert werden für die Pivottabelle.
Das ist einmal die Tabelle selbst, die Felder und der temporäre Datenspeicher für die Pivottabelle, der Cache.



Dann empfiehlt es sich, einem Fehlerabbruch vorzubeugen und das Datenobjekt Pivottabelle "ZPT"- so wollen wir es nennen - zu initialisieren. Das wird durch folgendes Coding erreicht:



Dann wird der Cache definiert und die Pivottabelle angelegt:



Damit haben wir unser Ziel fast schon erreicht. Nun muss nur noch definiert werden welche Felder Zeilen und welche Spalten darstellen. Das hängt natürlich davon ab wie die Felder heißen. Als Beispiel soll hier eine Query benutzt werden, die die Felder Personalnummer, Vorname, Nachname, Lohnart und Betrag enthält. Die ersten drei Felder sollen dabei die Zeile markieren, das Feld Lohnart die Spalte und die Zelle sollte der Betrag sein. So sieht das aus mit der Standard Excel-Ausgabe im ALV:



Das wollen wir jetzt für unsere Pivottabelle verwenden und das bedeutet für das Coding:


Das Zeilen-/ Spaltenformatierung erfolgt in einer Schleife "With" und die Formatierungen sind Row, Column und Data.

Somit wären wir am Ende angelangt. Wenn alles funktioniert dann sieht das Ergebnis so aus:



Das Beispiel läßt sich noch beliebig verfeinern, formatieren etc. Um herauszufinden welche Befehle dazu verwendet werden können empfiehlt sich die Verwendung des Makrorekorders in Excel. Dieser zeichnet die Aktionen und setzt sie in VB um, allerdings muss die Schleifenverarbeitung selbst ergänzt werden um es im automatisierten Template verwenden zu können.

Weitere Informationen zu Excel und VBA: Microsoft Developer Network.

Hier können Sie sich den Code zum Beispiel und die Datei CUS_Template.xls herunterladen - Verwendung wie immer auf eigene Gefahr.