Ansicht
Dokumentation
OFTV_MOD_BADI_05 - BAdI: Anteile einer Reise abweichenden Lohnarten zuordnen
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up ABAP Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
Dieses Business Add-In (BAdI) wird in der Komponente Reisemanagement (FI-TV) verwendet.
Mit diesem BAdI können Sie die vom System angelegte Verkettung wiederkehrender Reiseziele eines Mitarbeiters verändern und die Lohnart einer zur Abrechnung anstehenden Reisekosten- oder Spesenabrechnung umstellen.
Sie können die Verkettung wiederkehrender Reiseziele pro Mitarbeiter einsetzen, um nach Ablauf einer bestimmten Dauer (z.B. drei Monate) das Abrechnungs- und Versteuerungsverfahren zu wechseln. Das System richtet immer dann eine Verkettung ein bzw. ergänzt eine vorhandene Verkettung, wenn die Reisekosten- oder Spesenabrechnungen eines Mitarbeiters dasselbe Ziel enthalten.
Wenn Sie die Verkettung aktiviert haben, speichert das System die Ziele aller Reisen in der Tabelle aller Reiseziele zur Verarbeitung wiederkehrender Ziele (PTRV_TRIP_CHAIN). Findet das System ein Ziel, für welches das Abrechnungs- bzw. Versteuerungsverfahren ab einem bestimmten Datum geändert werden muss, so vermerkt es das Datum in der Tabelle PTRV_TRIP_CHAIN bei allen betroffenen Reisezielen im Feld ACTION_DATE_REQ.
Das BAdI enthält folgende Methoden:
- SET_DIFFERENT_WAGETYPE
- Das System führt diese Methode aus, wenn eine Reisekosten- oder Spesenabrechnung zur Abrechnung vorliegt. Mit dieser Methode können Sie für die Abrechnungsanteile, die zeitlich nach dem errechneten Datum im Feld ACTION_DATE_REQ der Tabelle PTRV_TRIP_CHAIN liegen, eine andere Lohnart zuordnen (und dadurch das Versteuerungsverfahren ändern).
- ADJUST_TRIPS_FOR_CHAIN
- Das System führt diese Methode aus, nachdem es die Ziele von Reisen anhand der Adresse verkettet hat, aber bevor es das Datum ermittelt, an dem das Abrechnungs- bzw. Versteuerungsverfahren zu ändern ist.
- Mit dieser Methode können Sie einzelne Ziele aus der Verkettung (Tabellenparameter DKE_KETTE) herausnehmen, die z.B. einem anderen Kontierungsobjekt als dem der aktuellen Reise zugeordnet sind.
- CHECK_ORIGINAL_CHAIN
- Das System führt diese Methode aus, bevor es die Reisekette(n) löscht. Mit dieser Methode können Sie die aktuelle Kostenzuordnung (Tabellenparameter KONTI, KOSTR, KOSTZ) bewerten und entscheiden, welche geänderte Ketten gelöscht werden müssen (Tabellenparameter AEND_DATEN).
- Ein Beispiel für die richtige Füllung von AEND_DATEN liegt in Funktionsbaustein FITV_RD_START_TABLEMOD vor, gleich vor dem Aufruf der BAdI-Methode.
- COMPARE_DESTINATIONS
- Das System führt diese Methode aus, um verschiedene Ziele zu vergleichen, laut dem ergänzten BMF-Schreiben zum Reisekostenrecht 2014. Mit dieser Methode können Sie bestimmen, ob verschiedene Addressen zu dem gleichen Ziel gehören, und deswegen zusammen bewertet werden müssen, wenn das System die Reiseketten für die Versteuerung der Pauschale bildet.
Sie haben die automatische Verkettung wiederkehrender Reiseziele in der Customizing-Aktivität Reiseabrechnungssteuerung (Expertenview), Zeile Übrige Abrechnung, Position 18 aktiviert, indem Sie für die Position 18 einen anderen Wert als die voreingestellte 0 ausgewählt haben.
Sie haben in der Customizing-Aktivität Reiseabrechnungskonstanten überprüfen die Konstanten für wiederkehrende Reiseziele (z.B. REIDD, REIDM, REIMD, REIGP) gesetzt. Mit diesen Konstanten definieren Sie den Zeitraum, nach dem das ACTION_DATE_REQ gesetzt werden soll.
Sie haben in der Customizing-Aktivität Schemen- und Einzelfeldsteuerung definieren bzw. Schemen- und Einzelfeldsteuerung für Web Dynpro das Kennzeichen Adressen für Reiseziele erfassen pro Reiseregelungsvariante und Reiseschema gesetzt. In der Tabelle PTRV_TRIP_CHAIN identifitziert das System ein Ziel durch die Angabe des Ortes und der Straße. Nur wenn diese Angaben exakt übereinstimmen, verkettet das System die Ziele.
Im Standard ist das BAdI nicht aktiviert.
Beispielhaft könnte die Implementierung der Methode SET_DIFFERENT_WAGETYPE folgendermaßen aussehen:
method IF_EX_TRIP_RECURRENT_DEST~SET_DIFFERENT_WAGETYPE.
data date_req type ptrv_trip_chain-action_date_req.
if t702n_r18 ne 0
and not zikey is initial
and wage_type_tax_free eq 'MJ20'.
* recurrent destination is active and this is meal per diem
* search for a required action date in PTRV_TRIP_CHAIN....
select single action_date_req from ptrv_trip_chain
into date_req
where pernr eq wa_perio-pernr
and reinr eq wa_perio-reinr
and hdvrs eq wa_perio-hdvrs
and perio eq wa_perio-perio
and pdvrs eq wa_perio-pdvrs
and rule_tag eq '3'
and zikey eq zikey.
if sy-subrc is initial and "entry found
not date_req is initial and "chain detected
date_req LE datum. "action necessary
* current date is behind trigger date: taxation is taking place!
* put meal per diem on wage type 3042
wage_type_tax_free = 'MJXX'.
endif.
endif.
endmethod.
Addresses (Business Address Services) CL_GUI_FRONTEND_SERVICES - Frontend Services
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6645 Date: 20240523 Time: 071358 sap01-206 ( 101 ms )