Ansicht
Dokumentation

OFTV_MOD_BADI_04 - BAdI: Abweichende Lohnarten zuordnen

OFTV_MOD_BADI_04 - BAdI: Abweichende Lohnarten zuordnen

rdisp/max_wprun_time - Maximum work process run time   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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.






PERFORM Short Reference   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6645 Date: 20240523 Time: 055103     sap01-206 ( 101 ms )