Funktion CalcDateBOC - aber wie? (cc)

7. Juli 2014 19:34

Guten Abend zusammen,

ich verzweifel gerade an einem kleinen Problem.
Mit Hilfe des Basiskalenders und der CU 7600 Calendar Management möchte ich gerne das Datum "Heute + x Werktage" errechnen.

Dafür habe ich einem Debitor einen zuvor angelegten Basiskalendercode hinterlegt.
Des Weiteren habe dem Debitoren einen Spezifischen Kalender erstellt, in dem Samstage und Sonntage als Frei gekennzeichnet sind.

In einer "Test-Form" habe ich eine Textbox (TestDate) auf dessen Grundlage nun das neue Datum plus x Tage errechnet werden soll.

Code:

MESSAGE(FORMAT(
  CalendarManagement.CalcDateBOC(FORMAT('2T'),
  TestDate,
  CalMgtChanges."Source Type"::Customer,'07019',
  '',
  CalMgtChanges."Source Type"::Customer,'07019',
  '',
  TRUE)));


Wenn ich nun '-2T' rechnen lasse, komme ich bei Eingabe von heute (07.07.14) auf den 03.07.14, was ja völlig korrekt ist.
Ändere ich das ganze nun auf '2T' (oder auch '+2T') lande ich beim 08.07.14.

Genauer gesagt, lasse ich das Datum zurück rechnen, passt es immer.
Möchte ich aber ein Datum in der Zukunft errechnen, lande ich IMMER beim 08.07.2014.

Leider kann ich via google sehr wenig bis garkeine nützlichen Informationen über diese Funktion finden.

Kann mir einer erklären, was ich hier verkehrt mache?

Nachtrag:
Lasse ich vom 05.07.14 '2T' rechnen, lade ich auf dem 07.07.14.
Lasse ich vom 04.07.14 '3T' rechnen, lade ich auf dem 06.07.14.

Den Sonntag scheint er als, wieso auch immer, zu überspringen...

Des Weiteren habe ich schon probiert, die freien Tage nur im Basiskalender einzugeben und dem Debitoren keinen Spezifischen Kalender zuzuweisen.
Hier komme ich auf das selbe Ergebnis.


Einen schönen Feierabend!

mfg howare
Zuletzt geändert von howare am 7. Juli 2014 19:47, insgesamt 1-mal geändert.

Re: Funktion CalcDateBOC - aber wie? (cc)

7. Juli 2014 19:47

Hast du schon gedebuggt?

Re: Funktion CalcDateBOC - aber wie? (cc)

7. Juli 2014 19:52

Ja soeben,
wobei ich gestehen muss, dass ich daraus nicht schlauer geworden bin.

Re: Funktion CalcDateBOC - aber wie? (cc)

7. Juli 2014 19:55

howare hat geschrieben:wobei ich gestehen muss, dass ich daraus nicht schlauer geworden bin.
Falls es dich tröstet: Debuggen war mir lange Zeit suspekt ;-) (Ist aber schon lange her).

Das Debuggen soll dir helfen, herauszufinden, warum genau aus deinem +2T ausgerechnet der 08.07. wird. Dazu kannst du dir Variablen deiner Wahl in das Beobachtungsfenster ziehen. Von Breakpoint nach Breakpoint siehst du, wie sich die Werte verändern - nicht nur der Datumsvariable, sondern vor allem der anderen Hilfsvariablen.

Re: Funktion CalcDateBOC - aber wie? (cc)

8. Juli 2014 09:30

Wie debuggen funktioniert weiß ich so in etwa, aber leider komme ich damit nicht weiter.
Vllt. beobachte ich eine entscheidene Variable nicht, aber ich glaube ehr, dass ich dort etwas falsch verstehe.
Debugge ich die komplette Funktion, ist mir vollkommen klar, wie er auf +1 Tag kommt, aber da dies ja nicht der Sinn der Funktion ist, kann ich nur etwas falsch verstehen :oops:

Hat jemand nähere Infos zu dieser Funktion?
Ich kann hierzu so ziehmlich garnichts finden.