Blog – der SAP HCM Notizzettel

EEL/ SV Aktuelle Hinweise (Release 4.7 Stand Support packages C1)

Update 09.11.

     0001568770 Auswertung IT0700 bei der Arbeitsbescheinigung § 312 SGB III
     0001570409 AAG: Falsche Anzahl Tage in Grundlagenmonat für MuschG
     0001583960 SV: Sammelhinweis für Verbesserungen und Korrekturen
     0001586897 Korrekturen Bescheinigungswesen 07/2011
     0001592357 EEL: Sachbearbeiterliste Prozesssicht
     0001593621 DEÜV Datensatz-Version 02: Korrekturen II
     0001595255 Wegfall von Rückmeldungswegen in SV-Meldeverfahren
     0001595618 DEÜV: Korrekturen bei der Meldungserstellung
     0001600293 EEL: Korrekturen und Erweiterungen 1
     0001601899 EEL: Korrekturen und Erweiterungen 2
     0001602564 SV: Technische Änderung B2A-Manager für den Beitragsnachweis
     0001604180 EEL: Korrekturen und Erweiterungen 3
     0001605377 EEL: Korrekturen und Erweiterungen 4
     0001606024 EEL: Vorgabe Defaultwerte für Beschäftigungsbetrieb
     0001606249 EEL: Keine Selektion der Abwesenheit / falscher Zeitraum
     0001607909 EEL: Korrekturen und Erweiterungen 5
     0001608897 EEL: Korrekturen und Erweiterungen 6
     0001610523 EEL: Korrekturen und Erweiterungen 7
     0001610884 EEL: FAQ
     0001611040 EEL: Vorgabe abweichender Werte für Bescheinigungslohnarten
     0001611633 EEL: Änderungen an Infotyp 0651
     0001611930 EEL: Korrekturen und Erweiterungen 8
     0001612872 EEL: Korrekturen und Erweiterungen 9
     0001613126 EEL: Falsche Daten in Statustabelle
     0001613443 EEL: Korrekturen und Erweiterungen 10
     0001614456 EEL / BEW: Fehler bei Bescheinigungsfunktion KUZR
     0001615410 EEL: Korrekturen und Erweiterungen 11
     0001616045 EEL: Protokollierung Ermittlung Brutto- / Nettobeträge
     0001616536 EEL: Korrekturen und Erweiterungen 12
     0001617344 EEL: Meldung der beitragspflichtigen Einnahmen
     0001619053 EEL: Korrekturen und Erweiterungen 13
     0001619790 EEL / BEW: Fehler bei Bescheinigungsfunktion CAAT
     0001620938 Knappschaft: Schließung der Weiterleitungsstelle 98094032
     0001621523 EEL: Überarbeitung Report ‚Rückmeldungen EEL verarbeiten‘
     0001623073 EEL: Prozesssicht – Korrekturen und Erweiterungen 1
     0001624666 EEL: Korrekturen und Erweiterungen 14
     0001626107 EEL: Stornierungen im Status initial
     0001626520 EEL: Korrekturen und Erweiterungen 15
     0001636098 EEL: Ermittlung der Abwesenheiten für Vorerkrankungsabfrage
     0001633983 EEL: Korrekturen und Erweiterungen 16
     0001633006 EEL: Emittlung des letzten Abrechnungszeitraums



Report RPCEELD0_PROCESS steht ohne September CLC-Package nicht zur Verfügung!

Aber Vorsicht beim Einspielen in Release 6.00 =>

ACHTUNG – Release 6.00 – Ergänzung am 9.9.2011, Hinweis 1610398 Mit dem HRSP 73 / CLC 73 für das Release 6.00 wurde ein Fehler ausgeliefert. Es wird kein AVMG berechnet ! Die Korrektur wurde mit Hinweis 1629659  ausgeliefert.

PY – Umstellung DEÜV-Schlüssel auf TS2010

Die Umstellung auf den TS2010 muss bis Dezember erfolgt sein, ansonsten werden die DEÜV-Meldungen abgewiesen. In der Minimalvariante muss lediglich der neue 5-stellige Tätigkeitsschlüssel festgelegt werden pro Personalnummer, der Rest läßt sich aus dem TS2003 bzw. IT0008 bzw. IT0016 ableiten.
SAP hat dazu den Report RPUD3SD0_TSFILL ausgeliefert. Ich verwende den nicht sondern benutze lieber die LSMW wenn die neuen 5-Steller bereits pro Personalnummer vorliegen. SAP benutzt übrigens zur Ermittlung ob Teilzeit oder nicht im Standard das Teilzeitkennzeichen in IT0007 – hier halte ich persönlich den Beschäftigungsgrad in IT0008 für besser, aber das kommt natürlich auf den konkreten Fall an.
Die LSMW ist schnell zusammengestellt, Input ist Personalnummer und neuer Tätigkeitsschlüssel, das Datum ist fix, der Rest wird abgeleitet. Das geschieht durch eine Routine auf das Feld PERNR.

Die BI-Aufzeichnung heißt COP_0020, da IT0020 zum Datum 01.11.2011 kopiert wird.
Es gibt eine globale Variable ZSKIP, mit der in einer weiteren Routine auf das Feld TTSCH geprüft wird, wenn es nicht initial ist dann wird ‚/‘ übergeben, d.h. der Wert nicht überschrieben.

* Eigene Routine
FORM UR_WERTE_FUELLEN
     USING P_IN
  CHANGING P_OUT.

  TYPES:
    ABAP_BOOL TYPE C LENGTH 1.
  DATA: ZPA0020 TYPE P0020.
  DATA: ZPA0002 LIKE PA0002.
  DATA: ZPA0016 LIKE PA0016.
  DATA: ZPA0008 LIKE PA0008.
  DATA: PA_VTFRM TYPE X_FLAG VALUE ‚X‘.

  DATA:
        L_BEFRISTET TYPE          ABAP_BOOL,
        L_TEILZEIT  TYPE          ABAP_BOOL,               „YCTN1532667
        L_VTFRM     TYPE          P01_D3_VTFRM.            „YCTN1532667

  DATA: G_DATUM_INDIV TYPE BEGDA VALUE ‚20111101‘.

  CONSTANTS:
    ABAP_TRUE      TYPE ABAP_BOOL VALUE ‚X‘,
    ABAP_FALSE     TYPE ABAP_BOOL VALUE ‚ ‚,
    ABAP_UNDEFINED TYPE ABAP_BOOL VALUE ‚-‚.

* Daten lesen
  SELECT SINGLE * FROM PA0020 INTO
  CORRESPONDING FIELDS OF ZPA0020 WHERE PERNR = P_IN AND BEGDA
  LE G_DATUM_INDIV AND ENDDA GE G_DATUM_INDIV.
  IF SY-SUBRC NE 0.
    SKIP_RECORD.
    WRITE:/ P_IN, ‚IT0020 nicht gefunden.‘.
    EXIT.
  ENDIF.
  SELECT SINGLE * FROM PA0002 INTO ZPA0002 WHERE PERNR = P_IN AND BEGDA
  LE G_DATUM_INDIV AND ENDDA GE G_DATUM_INDIV.
  IF SY-SUBRC NE 0.
    SKIP_RECORD.
    WRITE:/ P_IN, ‚IT0002 nicht gefunden.‘.
    EXIT.
  ENDIF.
  SELECT SINGLE * FROM PA0016 INTO ZPA0016 WHERE PERNR = P_IN AND BEGDA
  LE G_DATUM_INDIV AND ENDDA GE G_DATUM_INDIV.
  IF SY-SUBRC NE 0.
    SKIP_RECORD.
    WRITE:/ P_IN, ‚IT0016 nicht gefunden.‘.
    EXIT.
  ENDIF.
  SELECT SINGLE * FROM PA0008 INTO ZPA0008 WHERE PERNR = P_IN AND BEGDA
  LE G_DATUM_INDIV AND ENDDA GE G_DATUM_INDIV.
  IF SY-SUBRC NE 0.
    SKIP_RECORD.
    WRITE:/ P_IN, ‚IT0008 nicht gefunden.‘.
    EXIT.
  ENDIF.
* Abschluss und Berufsausbildung umsetzen.
  CASE ZPA0020-AUSBG.
    WHEN 1.
      COP_0020-ABSCH = 9.
      COP_0020-ABBRF = 1.
    WHEN 2.
      COP_0020-ABSCH = 9.
      CASE ZPA0020-STBRF.
        WHEN 3.     COP_0020-ABBRF = 3.
        WHEN OTHERS. COP_0020-ABBRF = 2.
      ENDCASE.
    WHEN 3.
      COP_0020-ABSCH = 4.
      COP_0020-ABBRF = 1.
    WHEN 4.
      COP_0020-ABSCH = 4.
      CASE ZPA0020-STBRF.
        WHEN 3.      COP_0020-ABBRF = 3.
        WHEN OTHERS. COP_0020-ABBRF = 2.
      ENDCASE.
    WHEN 5.
      COP_0020-ABSCH = 4.
      COP_0020-ABBRF = 5.
    WHEN 6.
      COP_0020-ABSCH = 4.
      COP_0020-ABBRF = 5.
    WHEN 7.
      COP_0020-ABSCH = 9.
      COP_0020-ABBRF = 9.
  ENDCASE.
* keine Arbeitnehmerüberlassung
  COP_0020-ANUEB = ‚1‘.

* bereits gefüllte Felder nicht überschreiben
  CLEAR ZSKIP.
  IF NOT ZPA0020-TTSCH IS INITIAL.
    ZSKIP = ‚X‘.
  ENDIF.
  IF NOT ZPA0020-ABSCH IS INITIAL.
    COP_0020-ABSCH = ‚/‘.
  ENDIF.
  IF NOT ZPA0020-ABBRF IS INITIAL.
    COP_0020-ABBRF = ‚/‘.
  ENDIF.
  IF NOT ZPA0020-ANUEB IS INITIAL.
    COP_0020-ANUEB = ‚/‘.
  ENDIF.
* Vertragsform füllen
  IF ZPA0020-VTFRM IS INITIAL.
* alles ausser 01 ist befristet
    IF ZPA0016-CTTYP NE ’01‘.
      L_BEFRISTET = ‚X‘.
    ENDIF.
* wenn Beschäftigungsgrad <> 100 dann Teilzeit
    IF ZPA0008-BSGRD LT ‚100‘.
      L_TEILZEIT = ‚X‘.
    ENDIF.
* möglicherweise alter Schlüssel nicht richtig
    IF L_TEILZEIT = ‚X‘ AND NOT ( ZPA0020-STBRF = ‚8‘
    OR ZPA0020-STBRF = ‚9‘ ).
      WRITE:/ P_IN, ‚Teilzeit laut IT0008 aber Vz. laut IT0020!‘.
    ENDIF.

   CASE L_TEILZEIT.                                         „YCTN1532667
      WHEN ABAP_TRUE.     “ Teilzeit                                   „
        CASE L_BEFRISTET.                                              „
          WHEN ABAP_TRUE.      “ befristet                             „
            L_VTFRM = 4.                                               „
          WHEN ABAP_FALSE.     “ unbefristet                           „
            L_VTFRM = 2.                                               „
        ENDCASE.                                                       „
      WHEN ABAP_FALSE.    “ Vollzeit                                   „
        CASE L_BEFRISTET.                                              „
          WHEN ABAP_TRUE.      “ befristet                             „
            L_VTFRM = 3.                                               „
          WHEN ABAP_FALSE.     “ unbefristet                           „
            L_VTFRM = 1.                                               „
        ENDCASE.                                                       „
   ENDCASE.                                                 „YCTN1532667

   IF L_VTFRM IS INITIAL.                                   „YCTN1532667
*   Vertragsform kann aus IT0008/ IT0016 nicht ermittelt werden
      CASE ZPA0020-STBRF.
        WHEN 8 OR 9. „Teilzeit
          CASE L_BEFRISTET.
            WHEN ABAP_TRUE. „befristet
              L_VTFRM = 4.
            WHEN ABAP_FALSE. „unbefristet
              L_VTFRM = 2.
            WHEN ABAP_UNDEFINED.     “ nicht ermittelbar
              CLEAR L_VTFRM.
          ENDCASE.
        WHEN OTHERS. „Vollzeit
          CASE L_BEFRISTET.
            WHEN ABAP_TRUE. „befristet
              L_VTFRM = 3.
            WHEN ABAP_FALSE. „unbefristet
              L_VTFRM = 1.
            WHEN ABAP_UNDEFINED.     “ nicht ermittelbar
              CLEAR L_VTFRM.
          ENDCASE.
      ENDCASE.
    ENDIF.

    IF NOT L_VTFRM IS INITIAL.
      COP_0020-VTFRM = L_VTFRM.
    ELSE.
      SKIP_RECORD.
      WRITE:/ P_IN, ‚Vertragsform nicht ermittelbar.‘.
    ENDIF.
  ENDIF.

  P_OUT = P_IN.

* …

ENDFORM.                    „ur_WERTE_FUELLEN

Wenn Sie diese Routine verwenden dann nur auf eigene Gefahr!