Autor Thema: Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400  (Gelesen 3892 mal)

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Hi Leute,


hat jemand eine Ahnung was Datumsproblem mit 29.2.2004 auf AS/400 angeht in Verbindung mit Scriptfunction datevalue?

Folgendes Umfeld:
Selbstgeschriebener LS - Serveragent läuft in einer Anwendung.
Ging jetzt 3 Jahre problemlos und die Woche hats gescheppert.

Im log steht illegal function call.
Hab mir dann das Dokument angesehen bei dem es vermeintlich kracht und mir fiel das Datum dort drin auf.

Mit Printanweisungen habe ich mich dann durch den Quelltext gehangelt und mir im Log angesehen an welcher Stelle es scheppern muß.

Richtig. Beim Datum das ich seit 3 Jahren mit Datevalue mir zusammensetze.

Die Printanweisung davor steht noch im log, die Priintanweisung danach nicht mehr.

Sch***

Dominoversion ist 5.06a und läuft auf AS/400.

Weiß jemand etwas ? Bug ?
Helfen neuere Server-Versionen ?

Danke schonmal. Gruß. Alexander
 

 
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Glombi

  • Gast
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #1 am: 18.02.04 - 17:58:02 »
Füttere uns doch mal mit etwas Quellcode - selbst Microsoft veröffentlich den  ;D

Andreas

Glombi

  • Gast
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #2 am: 18.02.04 - 18:08:32 »
Das mit dem 29.02.2004 scheint für die AS/400 tatsächlich ein Problem zu sein, so das Ergebnis meines googelns.

Das kommt dann noch auf uns zu:
http://www.iee.org/Policy/Areas/it/practice/problemdates/index.cfm

Andreas

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #3 am: 18.02.04 - 18:13:10 »
Hallo Andreas,

nett, daß Du (wie fast immer) antwortest.

Am Quellcode liegts nicht (wette ich ... einen sixpacvk Bier).
Weil:
Der Agent läuft täglich auf hunderte von Dokumenten seit fast drei Jahren !!!

Ohne Erklärung wirds auch nicht viel helfen, aber bitteschön.

Ich bastel mir aus 4 Feldern wie sie via LEI kommen einen Datumswert zusammen. (jj für Jahr, mm für monat, tt für tag und jh für jahrhundert).


   Print  "jetzt lidat berechnen bis"
   '// Lieferterminbisdatum berechnen
      If sdoc.lbtta1(0) <> 0  And sdoc.lbmma1(0) <> 0 Then
         einstelligLb = "0" + Cstr(sdoc.LBJJA1(0))
         zweistelliglB = Cstr(sdoc.LBJJA1(0))
         If sdoc.LBJJA1(0) < 10 Then
            mjlb = einstelliglv
         Else
            mjlb = zweistelliglv
         End If
         lieferterminbis = Datevalue(Cstr(sdoc.lbmma1(0))+"/"+ Cstr(sdoc.lbtta1(0))+"/"+ Cstr(sdoc.lbjha1(0)) + mjlb)
      End If
      
      Print  "jettzt kundendaten schreiben"


Im log seh ich noch die erste printanweisung, die zweite nicht mehr.
Also MUSS es am Datevalue scheitern.  


Ich nehme an, daß es ein Serverbug ist.

Wenn keiner hier was weiß:
Das einzige was ich dann noch sehe, daß ich die Stammdaten (Liefer bis Datum) ändere.

Mit SQL auf der AS/400 in Db2 mir die Einträge mir 29.2.2004 zusammensuchen

Das Datum auf 28.2.2004 ändere. LEI dann wieder anwerfe und dann meinen Agenten nochmal laufen lasse.

Muß mir dann aber noch das OK holenb, die Stammdaten im Auftragssystem aufd er AS/400 zu ändern.  <grmpf>

Gruß, Holcomb


Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #4 am: 18.02.04 - 18:15:44 »
Andreas, danke für den Link . Werde ich gleich ansehen.

Mit welchen Begriffen hast Du da gesucht ?
Ich hab auf lotus.com und in der knowl4edgebase mal gesucht.

Gruß, holcomb
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Glombi

  • Gast
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #5 am: 18.02.04 - 18:43:13 »
Also, ich habe mal gesucht nach: AS/400, february 29, leap year

Ergebnis:
http://www-912.ibm.com/a_dir/as4ptf.NSF/0/b81ad40fe5d2fdc8862567650062bcf0?OpenDocument

Kapier ich zwar nicht - die AS/400 Leute aber wahrscheinlich.
Vielleicht gibt es einen Patch für die AS/400, den ihr noch nicht eingespielt habt. Du solltest mal mit Eurem Rechenzentrum Kontakt aufnehmen - oder wo immer die AS/400 steht.

Andreas

Glombi

  • Gast
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #6 am: 18.02.04 - 18:46:20 »
Sieh mal hier
http://www-912.ibm.com/a_dir/as4ptf.nsf/as4ptfhome
und suche nach "leap year".

Andreas

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #7 am: 18.02.04 - 21:25:57 »
Abend Glombi,

kurze Antwort noch (nein nicht aus Büro, zu Hause und Frau & Tochter sind bereits im Bett).

Es ist kein AS/400 Problem sondern ein Domino Prob.
Die Maschine selbst hat ja kein Problem mit 29.2.2004
Ich nehme mal an, daß es nur in einigen Versionen und vielleicht auch nur in Kombination mitd er AS/400 und der Scriptfunktion datevalue auftritt, sonst wäre es bestimmt schon leichter auffindbar mit ner web recherche.

Demnächst werde ich endlich mal die Dominobversion updaten.

Morgen sollte ich mehr wissen, da ich tatsächlich (vielleicht zuerst in einer Test DB Kopie) bei den betroffenen Dokumenten auf 28.2. umstellen werde.  

Wenn es dann geht, isses klar, daß es ein Bug ist.

Grüße , Holcomb

Wie sagte mein Exkollege immer.   Aber Hauptsache WAP geht  ;-))
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #8 am: 19.02.04 - 08:40:09 »
It´s a bug  :-(

Mit 28.2.2004 als Datum gings, mit 29.2.2004 bringt mir datevalue wenn es in einem Agenten auf dem Server (AS/400 mit Domino 5.06) läuft einen illegal function call.


Und ich muß jetzt jeden Datumswert den ich mir für Notes zusammenbaue (Auftragdsdatum, Lieferscheindatum, Liefervondatum, Lieferbisdatum, Rechnungsdatum .... ) den 29.2. ausschliessen.


Werden demnächst mal den Server updaten und sehen obs mit höheren Versionen auch die Probleme gibt.

Wenn jemand noch was weiß, was ich sonst tun kann, raus damit.

Merci . Frustrierte Grüße, Holcomb



Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #9 am: 19.02.04 - 14:13:07 »
Wens interessiert.
Letztes posting zu dem Thema.

Das Prob hat mich doch nicht in Ruhe gelassen und ich habe weiter getestet mit nem Agenten der am Server läuft und probiert.

Ich konnte den Fehler nicht nochmal herbei zwingen.

An anderer Stelle hat es mit Datevalue udn dem 29.2. geklappt.
Also ist es doch kein genereller bug was 29.2 angeht,  

Fest steht aber, daß der Agent gestern ausstieg und zwar genau an der Stelle.

Fehlerhafte Daten als Ursache scheiden eigentlich auch aus, da die Felder die ich mit dem Agenten auslese via LEI aus einer DB auslese und da nur "richtige" Daten herüber kommen können (weil die AS/400 Anwendung nur korrekte EIngaben zulässt).

An die Originaldaten komme ich nicht mehr heran, da ich ja mit SQL auf der Datenbank das Datum 29.2.2004 durch 28.2.2004 ersetzt habe.

Es wird also solange ein Geheimnis bleiben, bis der Fehler wieder auftritt (wenn überhaupt).  


Strange das ganze.

Gruß Holcomb - und fertig

 

Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Glombi

  • Gast
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #10 am: 19.02.04 - 14:24:23 »
Was ich in Deiner Formel nicht verstehe, ist
Cstr(sdoc.lbjha1(0)) + mjlb

Wozu ist mjlb da?

Andreas

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #11 am: 19.02.04 - 14:53:00 »
Was ich in Deiner Formel nicht verstehe, ist
Cstr(sdoc.lbjha1(0)) + mjlb

Wozu ist mjlb da?

Andreas


Hi Andreas  ,


uhhh lange her daß ichs geschrieben habe.... über zwei jahre.

Also...
Im Dokument, daß ich über LEI aus der AS/400 Anwendung bekomme, habe ich 4 einzelne Felder in denen Zahlen stehen.
Diese 4 Felder bilden auf der AS/400 in der entsprechenden Anwendung zusammen ein einzelndes Datum.

Aus diesen 4 Zahlen bilde ich dann (mit dem Umweg über einen string und datevalue) das Datum für das neue zu erstellende Notesdokument .

die feldnamenkomponenten bedeuten folgendes.
Die ersten zwei Buchstaben lb heisst "liefer bis"

jj bedeutet Jahr z.B. 4 , JH bedeutet Jahrhundert (20), mm bedeutet Monat  (zb 2 für Februar) und tt eben Tag.


a1 ist glaube ich ein tel des Tabellennamens in der UrsprungsDB.

mjlb ist ein Variablenname im Script den ich kreiert habe.
Könnte heisen "mein Jahr liefer bis"

Jetzt baue ich mir au den 4 Feldern einen STring zusammen.
Und da wir nun das jahr 04 haben , ich aber als Zahl nur die 4 erhalte muß ich dies abprüfen und ggf. eine Null (weil ja kleiner 10) davor setzen.
 
Damit stelle ich sicher daß mjlb zweistellig ist sonst erhalte ich als Jahresangabe ja 204 statt 2004.


Verstanden oder wars zu umständlich erklärt ?

Auf der AS/400 mit Domino ist anderes Datumsformat, deshalb setze
ich den string zusammen mit "mm/tt/jhjj" und nicht wie
im deutschen üblich mit "tt.mm.jhjj"

Gruß Holcomb

Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Glombi

  • Gast
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #12 am: 19.02.04 - 15:07:01 »
Alles klar, jetzt habe ich es verstanden - das Jahr ist in Jahrhundert und Jahreszahl zwischen 0 und 99 aufgeteilt.

Andreas
« Letzte Änderung: 19.02.04 - 15:07:19 von Glombi »

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 366
  • Geschlecht: Männlich
Re:Datevalue: Probs mit 29.2.2004 auf Server 5.06a AS/400
« Antwort #13 am: 19.02.04 - 15:12:04 »
Alles klar, jetzt habe ich es verstanden - das Jahr ist in Jahrhundert und Jahreszahl zwischen 0 und 99 aufgeteilt.

Andreas

Jou :-)

Wird so in der AS/400 Anwendung bzw. Datenbank verwaltet.

Gruß, Holcomb

Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz