Zeitgenaue Abfrage in einem Zeitwirtschaftsschema

SAP R/3 Personamwirtschaft: Personalmanagement, Personalzeitwirtschaft, Personalabrechnung, Veranstaltungsmanagement, Personalentwicklung, Kostenplanung...
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Zeitgenaue Abfrage in einem Zeitwirtschaftsschema

Beitrag von Nicole_80 (Specialist / 120 / 0 / 0 ) »
Hallo,

ich muss eine neue Regel in unser Zeitabrechnungsschema einbauen, jedoch soll die Regel erst ab 01.03.2008 gezogen werden.

Ich bin leider in den Schemen nicht so fit. Kann mir bitte einer von euch weiterhelfen?! Wie kann ich vor der Regel abfragen, "wenn Tag größer ist als der 01.03.2008, dann nimm die neue Regel ansonsten die alte"

Danke für euere Unterstützung.

Gruß,
Nicole

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Nicole,

das geht mit Standardmitteln meines Wissens nicht. Da wir vor einigen Jahren vor dem gleichen Problem standen, haben wir einfach die Operation CMPER aus der Abrechnung kopiert. Seit dem leistet die ZMPER seine Dienste ohne Probleme.
Natürlich kann man wie im Orginal nicht den Tag abfragen, wenn das Zieldatum mitten im Monat liegt.

Gruß
Ulf.

Beitrag von UKUNZ (ForumUser / 7 / 0 / 0 ) »
Hallo,

wenn man keine kundeneigene Operation anlegen will, kann man die Operation VARST nutzen. Mit VARSTCURYR wird das aktuelle Jahr der Zeitauswertungsperiode in das variable Argument gestellt, mit VARSTCURMO die aktuelle Periode der Zeitauswertung. Leider muss man dann im variablen Argument alle Jahre/Monate aufführen, für die die Bedingung zutrifft. Ist zwar nicht schön, funktioniert aber.

Beispiel:
Regel JAHR
D VARSTCURYR
**** SCOND=F IF
2008 Z GCY MONA
2009 Z GCY MONA
....

Regel MONA
D VARSTCURMO
** SCOND=F IF
03 SCOND=T IF
04 SCOND=T IF
05 SCOND=T IF
...

Eine bessere Lösung haben wir bisher mit Standardmitteln nicht gefunden.

Gruß
Ursel

Beitrag von Gizmo (ForumUser / 14 / 0 / 0 ) »
Leg dir doch einfach eine Konstante (z. B. ZWERT) in der Tablle T511K an. Der gibst Du dann ab dem 01.03.2008 den Wert 1. Diese Konstante kannst Du Dir in einer Regel in das Feld HRS einlesen mir HRS = CZWERT. Dann fragst Du einfach ab ob das Feld HRS gleich 1 ist.

Gruß
Giz

Beitrag von ChrisB (Specialist / 406 / 8 / 20 ) »
Ich würde auch die Variante mit der Konstanten in der T511K empfehlen und würde an der Stelle sogar sagen, dass Du bei der Abfrage dann auf <1 und * reagierst... dann kannst Du die gleiche Variable bei der nächsten Zeitraumabfrage die Du benötigst wieder verwenden und dann auf <2 und * abfragen und in der T511K die Konstante zum neuen Datum abgrenzen und mit dem Wert 2 belegen. Dann brauchst Du nur eine Konstante und kannst damit alle nötigen Zeitraumabfragen handeln.

Zumindest wenn es nicht nur um ein Jahr sondern um einen genauen Stichtag (oder eine Monatsbeginn) geht ist das meiner Meinung nach deutlich übersichtlicher als die Variante mit VARSTCURYR und VARSTCURMO.

Grüße
Chris

PS: Die Variante mit der Konstanten geht in der Abrechnung natürlich auch und je nach genauer Anforderung ist diese Variante dort auch einfacher wie CMPER...

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Die T511k-Variante finde ich auch nicht schlecht, finde aber, dass die Überlegung von Chris zu kompliziert ist um auf Dauer nachvollziehbar zu bleiben (persönliche Meinung ... kein Angriff!!).

Einen (klitze-)kleinen Nachteil sehe ich aber trotzdem: Im Protokoll der Zeitauswertung kann man ohne einen Blick in die T511k zu werfen, nicht sagen, was da jetzt genau abläuft, bzw. welches Grenzdatum denn eingegeben wurde.
Sollte es die einzige zeitliche Abfrage bleiben, dann fällt es wahrscheinlich nicht schwer sich diese zu merken, aber meine Erfahrung mit unserem ältesteten ZW-Schema aus dem Jahre 1996 zeigt, dass es dabei nicht bleibt. Es gibt immer wieder tarifliche/betriebliche Anpassungen, die eine Abgrenzung nötig machen.

Gruß
Ulf
Zuletzt geändert von SkyHobbit am 07.03.2008 15:12, insgesamt 1-mal geändert.

Beitrag von mazu (ForumUser / 60 / 1 / 0 ) »
es geht auch so:
mit einem kleinem Dummy-Programm rechne ich mir immer die Differenztage zum 1.1.2000 aus (steht ja dann in HRS). In diesem Falle 2830 Tage, für den Fall, das auf den 1.10.2007 abgefragt werden soll. Danach kannst Du entscheiden, ob der Wert kleiner ist (also vorher liegt) oder gleich/grösser.

Regel XYZ:
D HRS=YXAA HRS-2830 HRS?0
* SCOND=T IF "AB 1.10.07
< SCOND=F IF "VOR 1.10.07

Einbau der Regel im Schema:
IF /XYZ 01.10.07
irgendwas A
ELSE
irgendwas B
ENDIF

Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hallo zusammen,
wir haben auch die Lösung mit der t511k gewählt, da wir ständig zeitabhängige Änderungen haben.
Um die Lesbarkeit im Protokoll zu gewährleisten, benamsen wir die Konstanten "sprechend", z.B. Y0801 für den 01.01.2008.
Gruß, Klaus

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1963
Views
DB-Abfrage
von Paule » 02.02.2006 11:27 • Verfasst in ABAP® für Anfänger
9
Antw.
2979
Views
SQL-Abfrage
von abap-strizi » 23.02.2006 14:08 • Verfasst in ABAP® Core
1
Antw.
2688
Views
DB-Abfrage mit Inner Join
von pat » 21.11.2009 16:41 • Verfasst in ABAP® für Anfänger
1
Antw.
2751
Views
If-Abfrage Betrag
von Frank Zet. » 13.10.2010 14:05 • Verfasst in ABAP® für Anfänger
2
Antw.
2492
Views
Komplexe SQL-Abfrage
von km216 » 14.03.2011 15:52 • Verfasst in ABAP® für Anfänger

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor einer Woche von Manfred K. 1 / 1938
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Wochen von snooga87 1 / 3762