SAP Jobsuche bei DV-Treff
beck
  • beck
  • SAP Forum - Guru Thema Starter
vor 10 Jahre
Hallo zusammen,

mir fehlen in der dynamischen Datumsberechnung (Selektionsvariablen) einige Optionen, die mich noch dran hindern, den einen oder anderen Report zu automatisieren, bspw.

- erster / letzter des aktuellen Jahres

- erster / letzter des Vorjahres

- erster / letzter des Folgejahres

- erster / letzter des ersten / zweiten / dritten / vierten Quartals des aktuellen Jahres

Folgende Fragen:

- Kann man diese Stichtage irgendwie nachpflegen für die Selektionsvariablen D oder X?

- Falls nicht: Ich habe schon die Möglichkeit ausgeggraben, dass man stattdessen auch die Selektionsvariable T nehmen kann und die Variablen selbst dann über die Tabelle TVARVC pflegen könnte (bzw. über die Transaktion STVARV). Mir ist aber der Ablauf leider völlig unklar, eine "griffige" Doku, die das ganze anschaulich beschreibt habe ich nicht gefunden. Es sieht aber für mich so aus, als ob man dort zwar Variablen definieren kann, die dann aber auch erstmal "fix" sind. Jetzt habe ich irgendwo gelesen, dass man die dann periodisch per Job aktualisieren könnte. Aber irgendwie finde ich da gedanklich nicht den richtigen Weg bis zum Ziel. Nach meinem Verständnis könnte das so oder so ähnlich laufen:

- Ich definiere in der STVARV eine Variable "Erster des lfd. Jahres"

- Ich hinterlege da fix den 01.01.2014

- Ich müsste dann jährlich am Jahresersten einen Job laufen lassen, der dann das aktuelle Tagesdatum in der Variablen hinterlegt?!? --> Welches Programm müsste ich dafür nehmen, wie ausgesteuert?

- Wie würdet Ihr dann die Jobs für die anderen Stichtage definieren?

--> Letzter Vorjahr könnte ich ja noch verstehen (am 01.01. des lfd. Jahred das Datum auf aktuelles Datum - 1 Tag ändern)

--> Erster des Vorjahres ist aufgrund Schaltjahren schwierig (-365/-366 Tage)?

--> Letzter des Aktuellen Jahres dito?

Wie gesagt: Wäre super, wenn jemand dazu etwas sagen könnte.

beck

wreichelt
vor 10 Jahre
Hallo,

hier gabs vor einem Jahr schon einmal einen Beitrag dazu:

http://www.dv-treff.de/yaf_postst11795_Eigene-Dynamische-Selektionsvariablen-definieren.aspx 

zufällig auch von Beck

Gruß

Wolfgang

beck
  • beck
  • SAP Forum - Guru Thema Starter
vor 10 Jahre
Oh Mann, ich glaube ich werde wirklich alt, kann mich an meinen eigenen Beitrag nicht erinnern... Zeigt aber: Bin damals auch nicht weiter gekommen.

Wie auch immer: Wenn ich das richtig sehe, schlägt Mr. B. ja (wenn man die Modifikation mal außer Acht läßt) ebenfalls den Weg über die STVARV mit periodischen Jobs zum Update der jeweiligen Daten vor. Und damit wären wir beim größten Fragenblock in meinem Ausgangspost: Wie wären diese Jobs insbesondere für die Vorjahre etc. zu definieren?

Falls Mr. Bojangles mitlesen sollte wäre es nett, wenn Du dazu etwas sagen könntest.

Danke nochmal

beck

wreichelt
vor 10 Jahre
Hallo,

HGift das weiter ?

Selektionsvariable definieren

Verwendung

Selektionskriterien verändern sich beispielsweise für den Periodenabschluß nicht sehr häufig. Kriterien, die sich jedoch ständig ändern, sind zum einen monatlich die Periode, auf die sich der Periodenabschluß bezieht und einmal jährlich das Geschäftsjahr. Für jedes Programm beziehungsweise jede Ablaufdefinition, die als Aufgabe im Aufgabenplan hinterlegt sind, müssen Periode und Geschäftsjahr geändert werden.

Um diese Werte nicht für jedes Programm bzw. jede Ablaufdefinition einzeln ändern zu müssen, können Sie Selektionsvariablen definieren.

Voraussetzungen

Jedem Programm, das für alle Werke einmal laufen soll, müssen Sie eine TVARV-Variable für das Werk zuordnen.

Vorgehensweise

Rufen Sie die Transaktion STVARV (Anzeige der Tabelle TVARV: Variablen in Selektionen) auf.

Wählen Sie Ändern.

Sie können nun neue Variablen anlegen, ändern und löschen.

Hinterlegen Sie einen beliebigen Parameternamen für Ihre Variante.

Rufen Sie die Transaktion SM34 auf.

Gehen Sie in das Viewcluster VSMANTVARV.

Hinterlegen Sie dort denselben Parameternamen für die Variable wie in der Transaktion STVARV.

Änderungen dieser für den Aufgabenplan hinterlegten globalen Selektionsvariablen übertragen sich auf alle Variablen, die in Aufgaben des Aufgabenplans hinterlegt wurden.

Ergebnis

Sie haben eine globale Selektionsvariable für den Schedule Manager hinterlegt.

Weitere Informationen finden Sie unter

Gruß

Wolfgang

MrBojangles
vor 10 Jahre
Hallo beck,

ich habe meinen Vorschlag von damals seinerzeit mal "bebildert":

http://sapmandoo.over-blog.de/article-variablen-in-selektionsvarianten-115554027.html 

Für Deine Anforderung müsstest Du demnach jeweils "erster" und "letzter" Variablen definieren und diese mit geeignetem ABAP/4-Coding (s. Mustercoding in meinem o.g. Blog-Eintrag) in Relation zur aktuellen Berichtsperiode versorgen.


Weiterhin viel Freude mit SAP...

Cheers

MrB.

MrBojangles
vor 10 Jahre
Hallo beck,

konkret zu Deinen benötigten Variablen müsstest/könntest Du folgendes implementieren:

Hinweis: sy-datum enthält das aktuelle Datum in der Form

YYYYMMDD

- erster / letzter des aktuellen Jahres

ERSTER_LFDJAHR = sy-datum(4) && '0101'

LETZTER_LFDJHR = sy-datum(4) && '1231'

- erster / letzter des Vorjahres

ERSTER_VORJHR = sy-datum(4) - 1 & '0101'

LETZTER_VORJHR = sy-datum(4) - 1 & '1231'

- erster / letzter des Folgejahres

ERSTER_FOLGEJHR = sy-datum(4) + 1 & '0101'

LETZTER_FOLGEJHR = sy-datum(4) + 1 & '1231'

- erster / letzter des ersten / zweiten / dritten / vierten Quartals des aktuellen Jahres

ERSTER_Q1 = sy-datum(4) & '0101'

LETZTER_Q1 = sy-datum(4) & '0331'

...usw.

Jeder halbwegs brauchbare Entwickler sollte daraus ABAP-Code machen können.

Hoffe, das hilft Dir weiter, Datumsberechnungen in ABAP sind wirklich kein Hexenwerk.


Weiterhin viel Freude mit SAP...

Cheers

MrB.