Montag, 31. August 2015

CATS - Kundenfelder in Selektion CATS_DA aufnehmen

Wenn man die Datenbanktabelle des Arbeitszeitblattes um Kundenfelder erweitern möchte so gelingt das relativ einfach über den User-Exit CATS0005. Hier kann man zusätzliche Felder in den Kunden-Include CI_CATSDB aufnehmen. Diese Felder stehen dann auch automatisch den Auswertungen - hier insbesondere der Transaktion CATS_DA - zu Verfügung.
Komplizierter ist es da schon wenn man auf diese Felder in der Auswertung auch selektieren möchte. Auch hier hat SAP Vorkehrungen getroffen, allerdings sind diese sehr gut versteckt.
Zunächst einmal sollen die Felder auf dem Selektionsbild erscheinen. Der Report RCATS_DISPLAY_ACTIVITIES bietet hierzu zwei Includes an, die mit dem Modifikationsassistenten bearbeitet werden müssen:
Für CATS_DA werden die Felder im ersten Include definiert mit PARAMETERS oder SELECT-OPTIONS und erscheinen nach Aktivierung auch prompt auf dem Selektionsbild.
Wer nun den Report ausführt und erwartet dass die Selektionen nun auch übernommen werden wird allerdings enttäuscht. Die Eingabe ist zwar möglich, bewirkt aber rein gar nichts.

Um die Selektionsoptionen oder Parameter tatsächlich im Programm zu benutzen muss man sie über das BADI CATS_REPORTING und den Umweg der freien Selektionen einschleusen.
Zu diesem BADI gibt es eine Beispielimplementierung. Die Dokumentation verrät dass die Methode BEFORE_CATS_DATA_SELECTION implementiert werden muss und die Methoden  GET_SELECTION_VALUE und SET_FREE_SELECTIONS der Klasse CL_DBSEL_CATS verwendet werden können.

Doch der erste Blick auf die Methode ist ernüchternd. Weder gibt es Import- noch Exportparameter. Wie soll also die Klasse CL_DBSEL_CATS - als Interfacekomponente GR_DBSEL_CATS überhaupt angesprochen werden? Die Antwort ist über ein Alias in der BADI-Implementierung.
Nun kann es losgehen. Die Rückgabe der Methode gr_dbsel_cats->get_selection_value ist eine Selektionstabelle in der Form:

  TYPES:   BEGIN OF selt1,
          selname(8TYPE c,
          kind(1TYPE c,
          sign(1TYPE c,
          option(2TYPE c,
          low(45TYPE c,
          high(45TYPE c.
  TYPESEND OF selt1.


Diese Werte müssen nun in die Tabelle vom Typ RSDS_EXPR_TAB der tiefen Strukur RSDS_TEXPR geschrieben werden.
Sollen mehr als eine Bdingung übergeben werden dann ist zu beachten dass die erste Zeile der Tabelle die logische Verknüpfung und die Anzahl der Argumente enthalten muss, also etwa:
....
  LOOP AT t_sel INTO wa_sel WHERE high <> space OR low <> space ).
    MOVE-CORRESPONDING wa_sel TO wa_zexptab.
    MOVE wa_sel-selname TO wa_zexptab-fieldname.
    APPEND wa_zexptab TO zexptab.
  ENDLOOP.

  CLEAR wa_zexptab.
  DATAlinnum TYPE i.
  DESCRIBE TABLE zexptab LINES linnum.
  IF linnum > 1.
    MOVElinnum TO wa_zexptab-arity'AND' TO wa_zexptab-logop.
    INSERT wa_zexptab INTO zexptab INDEX 1.
  ENDIF.

...

ZEXPTAB = Tabelle vom Typ RSDS_EXPR_TAB, alle Bedingungen mit AND verknüpft.

Donnerstag, 13. August 2015

PY DE - Inhalt Support package 13.08.2015 (Nummer 90 für Release 6.04)

* Nachtrag - ELStAM *

Hinweis 2158101 - Anzeige ELStAM-Informationen im Infotyp 0012 wurde noch in letzter Sekunde mit aufgenommen - einen herzlichen Dank an Heiko Michels für diese Information

Abrechnung allgemein
Hinweis 2187660 - IT0021: Anlegen von Familienmitgliedern/Bezugspersonen mit Geschlecht "unbekannt" im Batch: Programmkorrektur, im Batch muss Geschlecht = SPACE explizit vorgegeben werden

ELStAM Verfahren
Hinweis 2148763 - ELStAM: Korrekturen und Verbesserungen 11/2015: Ergänzung Fehlermeldung bei Verwendung mehrerer Zertifikate LSTK
Hinweis 2188744 - ELStAM: Korrekturen und Verbesserungen 13/2015: Programmkorrektur
Hinweis 2191965 - ELStAM: Fehler bei der Zuordnung der Personalnummer zur IDNR: Sonderfälle bei der Meldungszuordnung (1 Ident für mehrere Personalnummern)

EEL, AAG, Zahlstellenverfahren
Hinweis 2169547 - EEL: Fehlermeldung DBVO061: Beseitigt Fehlermeldung DBVO061 "Bei Meldungen ungleich Stornierungen ist die Grundstellung unzulässig"
Hinweis 2185535 - EEL: Ermittlung von unbezahlten Abrechnungszeiträumen (DBAE): In Sonderfällen wurde ein Monat als unbezahlt gewertet obwohl nur einige Tage unbezahlt waren
Hinweis 2192244 - EEL - Korrekturen 9/2015 (Version 2): Korrigiert Fehlermeldungen DBZE130 (unnötig, bei Kind krank) und DBUN031 (Fehlendes Institutonskennzeichen UV)
Hinweis 2193276 - EEL: Fehler in der Abrechnung (Erkrankung Kind) nach Hinweis 2164695: Korrigiert Hinweis 2164695 aus Supportpackage 89

Mutterschutzgesetz 
Hinweis 2188526 - Abbruch RPCALCD0 in Verbindung mit Mutterschutz: Werden unbezahlte Abwesenheiten gelöscht kann es zu einem Abbruch kommen

Direktversicherung/Altersversorgung 
Hinweis 2185186 - IT 0026: Fehlermeldung bei Verwendung Empfängerschlüssel und IBAN: Behebt "Bitte geben Sie entweder Empfängerschlüssel oder Empfängerdaten an" in Sonderfällen (Kontonummer mit initialen 0en)
Hinweis 2191303 - CALC: Rückrechnungsdifferenzen nach SAP-Hinweis 2149985: Fehler wenn Mitarbeiter nicht steuerpflichtig und inaktiv
Hinweis 2194828 - IT 0026: Fehler beim Stornieren: Stornieren durch Sperren + Korrekturlohnart war nicht möglich

Sozialversicherung 
Hinweis 2167413 - PDF Anzeige für Krankenkassendaten: Krankenkassendaten aus IT0013 können als PDF angezeigt werden
Hinweis 2182874 - §23c SGB IV: Korrekturen XXVIII: Fehler bei Wechsel Angestellter zu Beamten bei gleichzeitiger beitragspflichtiger Einnahme
Hinweis 2196423 - Mehrfachbeschäftigung: Laufzeitfehler im Abrechnungsprogramm RPCALCD0: Abbruch bei Vorgabe Einmalzahlung anderer Arbeitgeber bei Mehrfachbeschäftigung

Steuern
Hinweis 2184016 - CALC: Aufteilung sonstiger Bezüge bei DBA und ATE: Falsche Aufteilung wird berichtigt
Hinweis 2196242 - Abrechnung: Überflüssiges Zusatzprotokoll bei Fehler "keine Steuertage": Bei Start als Job werden im Fehlerfall leere Seiten gedruckt

Public Sector
Hinweis 2182134 - EntgO: Entgeltordnungen im öffentlichen Dienst, Zulagenbewertung: Neue Funktionalität
Hinweis 2182645 - Tariferhöhung TV-L 2015: Erhöhung der Tabellenentgelte und Konstanten
Hinweis 2186339 - Auswertungen Nebentätigkeit: Dienstart wird nicht angezeigt: Korrektur RPLNBTD0
Hinweis 2187515 - Stufengleiche Höhergruppierung im TVöD/Bund in Gruppe mit Endstufe 5: Fehlermeldung RP100 wird zu Unrecht ausgelöst
Hinweis 2190114 - Stufensteigerung mit DEPBS_NEU: Meldung "Maximale Anzahl der Schleifendurchläufe wurde überschritten": RPIPSR00 bricht ab
Hinweis 2194946 - EntgO: Tätigkeit kann nicht als Mussfeld geschlüsselt werden: Problem beim Customizing T588M
Hinweis 2195473 - Operation VAKEY für Felder des Infotyps Familienzuschläge (0595 ) liefert keine Rückgabewerte bei Subtyp 3 (Ehegattenbestandteill ledig): Erweiterung

Versorgungsadministration 
Hinweis 2154382 - Absenkung von Prozentsätzen: 1. Dienstunfall i.V.m. Erhöhung 14a; 2. HGVH Rente im PTV Auskunft Familiengericht: Korrektur
Hinweis 2161801 - Fehlerhafte Ermittlung der Endstufe bei Berechnung des Zus.UntBs: Korrektur
Hinweis 2162747 - Die Wertehilfe in Personalteilvorgang "Hinterbliebene" wird nicht entsprechend zum Dienstrecht aktualisiert: Korrektur
Hinweis 2164283 - Fehler Bescheiderstellung: Rundungsregel nicht eindeutig: Fehlermeldung HRPBSDEVASEN603
Hinweis 2171438 - VersAusglBerechtDaten fehlen im Bescheid: Name wird u.U. nicht gedruckt
Hinweis 2172754 - Dienstrechte Sachsen, Niedersachsen, Schleswig-Holstein IV: Anpassungen
Hinweis 2174675 - Rechtsverhältnis zum Verstorbenen wird nicht ausgegeben: Bescheid HRPBSDEVA_STERBEGELD_P18 wird korrigiert
Hinweis 2181123 - Dienstrecht Land Bayern: Mütterrente IV: GGf. falsches Berechnungsergebnis wird korrigiert
Hinweis 2185123 - Dienstzeit Teildienstfähigkeit (0612) bei Versorgungsabschlag nicht berücksichtigt: Korrektur

Zusatzversorgung
Hinweis 2186156 - Abbruch bei der Abrechnung und Stammdatenpflege (Infotyp 0051): Korrektur Hinweis 2154457
Hinweis 2193106 - Fehler bei Splitzuordnung im Falle einer rückgerechneten Jahressonderzahlung: Korrektur

Bescheinigungswesen 
Hinweis 2191457 - Besch. über Nebeneinkommen § 313 SGB III, Version 04.15: Aktuelle Version des Formulars