[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Komunikat na serwerze
> -----Original Message-----
> From: Tomasz Fidecki [mailto:tfidecki@jms.com.pl]
> Sent: Thursday, 28 October, 1999 09:53
> To: progress@zeto.bydgoszcz.pl
> Subject: Re: Komunikat na serwerze
>
>
> Wojciech Poznanski wrote:
> >
> > Zauwazylem po raz pierwszy komunikat na serwerze:
> >
> > 08:19:22 SERVER: ** Year is out of range or 0. (79)
> >
> > Blad pojawia się przy przetwarzaniu danych z aplikacji
> PROMIS modul Srodki
> > Trwale. Zaznaczam ze niedawno ustawilem parametr -yy 1910 w pliku
> > startup.pf. Przedtem ten komunikat nie pojawial sie. Aha,
> posiadamy kilka
> > srodkow trwalych uzytkowanych od 1900r.
> > Mam Progressa 7.3C10 na Nowelu 5.0
> >
> > --- Wojciech Poznanski --- wojtek@epwik.com.pl
> > EPWIK S-ka z o.o. ul.Rawska 2-4, 82-300 Elblag
> > tel. +48603762929@text.plusgsm.pl
> > ICQ: 19201299, Linux User #139076
> >
>
> Nie znam PROMIS-a. Czy kod aplikacji został sprawdzony pod kątem roku
> 2000?
> Jesli ustawiłes -yy na 1910 i daty są trzymane na dwóch miejscach, to
> data 01, będzie traktowana jako 2001, a nie 1901.
> Może gdzies w aplikacji wyliczana jest np. ile lat ma dany srodek
> trwały. Następuje odejmowanie TODAY - data z rokiem 01, czyli de facto
> data z przyszłosci. I wtedy może być wesoło...
>
> pozdrawiam
> --
> Tomasz Fidecki
> JMS Serwis Sp. z o.o. ul. Instalatorów 7c 02-237 Warsaw Poland
> phone +48 22 846 47 81 mobile +48 501 136 122
mailto:tfidecki@jms.com.pl
Witam,
Progress zawsze pamieta rok na 4 cyfry, parametr -yy ma wplyw jedynie
na interpratacje dat, ktore dostaja sie do systemu "z zewnatrz", np.
przy konwersji z zapisu tekstowego, oraz na wyswietlanie dat
przy nastawionym formacie na 2 cyfry roku.
Czyli wynik operacii dodawania badz odejmowania dwoch zmiennych typu DATE
da ZAWSZE wlasciwy wynik. Wspomniany problem swiadczy wedlug mnie
o tym, ze PROMIS nie jest zgodny z rokiem 2000, bo zawiera
kod, ktory w niestandardowy sposob pracuje ze datami.
Wydaje mi sie, ze blad 79 moze powstac jedynie w wyniku wywolania
funkcji
DATE(miesiac, dzien, rok)
gdzie miesiac, dzien i rok sa typu INTEGER i rok jest rowny 0,
(lub rok > 32768 lub rok < - 32767, ale to raczej nie wchodzi
w rachube).
Blad taki nie moze natomiast powstac w wyniku
DATE(pom_str)
gdzie pom_str jest typu CHARACTER, nawet jezeli jego wartosc jest np.
"01/01/00". W tym wypadku grozi zla interpretacja daty (przy ustawieniu
-yy 1910 bedzie to odczytane jako 1 stycznia 2000, a przy ustawieniu
-yy 1900 bedzie to 1 stycznia 1900).
Nie moze takze powstac w wyniku konwersji DATE na CHAR, w tym wypadku
mozemy otrzymac blad 74, jezeli uzyjemy formatu z 2 cyframi roku i
daty poza zakresem podanym w -yy.
W kazdym razie polecam jak najszybszy kontakt z autorami programu.
Pozdrowienia,
Piotr Ryszkiewicz
------
Strona WWW: http://pluton.pol.lublin.pl/pugpl/index.htm
Obsluga listy: listserv@zeto.bydgoszcz.pl
Archiwum listy: http://www.zeto.bydgoszcz.pl/progress/index.html
------