Avatar billede ulricho Juniormester
19. april 2004 - 19:26 Der er 5 kommentarer og
3 løsninger

Dato ved batch-kørsel

Hvis jeg definerer en batchkørsel f.eks. d. 1/4-2004. Hvilken værdi har de, hvis batchen kører den f.eks. 19/4-2004
  Today()    = ?
  &SystemDato = ?

Jeg synes at have set dem antage begge værdi på forskellige tidspunktet - derfor spørgsmålet!
Avatar billede jasman Nybegynder
20. april 2004 - 09:04 #1
Tør man spørge til, hvilken kørsel du sætter i batch ?
Avatar billede ulricho Juniormester
20. april 2004 - 09:52 #2
Jamen, det må du da. Det er rent faktisk flere forskellige med udgangspunkt i Efterberegn kostværdi. Den arbejder med mange forskellige datoer og derfor er det vigtigt at vi kan styre bl.a. posteringsdatoen.
Avatar billede jasman Nybegynder
20. april 2004 - 10:11 #3
Hejsa igen,

today() har selvfølgelig maskinens dato.
&systemdato har den dato, du nu har sat den til.

Jeg lavede en lille test, hvor jeg skrev disse to værdier ned i en fil
fra den query der efterberegner.

Så hvis du sætter systemdato til dagen i går, INDEN du lægger kørslen i batch,
Så vil systemdato selvfølgelig være forskellige fra today()
Avatar billede ulricho Juniormester
20. april 2004 - 10:24 #4
Det tror jeg ikke helt, jeg forstår.

Kan du ikke skrive, hvilke værdier, du mener, datoerne antager i mit ovenstående eksempel?
Avatar billede jasman Nybegynder
20. april 2004 - 12:07 #5
Today = 19/4/2004 (det er altid maskinens tid)
&SystemDato = 19/4/2004 (med mindre du har sat den til noget andet, inden du starter batch-afvikleren).
Avatar billede ulricho Juniormester
20. april 2004 - 12:13 #6
Det mener jeg ikke, at du har ret i.

Jeg har lavet en kørsel til automatisk efterkalkulation af færdigmeldte produktioner. Den afbrydes af mærkelige grunde. Jeg tror, det er fordi, at datoen er ældre end den, hvor produktionen blev færdigmeldt.

Jeg er også i andre henseender stødt på problemer, som jeg mener, kommer fra datoen.

Er du skråsikker?
Avatar billede jasman Nybegynder
20. april 2004 - 12:51 #7
Ja. Jeg er skråsikker.

Du kan prøve at checke din kørsel på følgende måde.
Først i koden (selvfølgelig efter variabelerklæringerne), skriver du følgende:

WRITE "c:\fil.txt" AS COMMA FROM(today(),&SystemDato)
CLOSE("c:\fil.txt")

Prøv så at stille maskintiden, og evt. også systemdato tilbage, og start din kørsel og læg den i batch.

Stil så tiden på maskinen frem igen, og afvikl batch-afvikleren, så du får kørt kørslen.

Når batch-afvikleren er færdig med din kørsel, så prøv at checke filen
c:\fil.txt.
Avatar billede dma Nybegynder
20. april 2004 - 13:33 #8
Man skal passe lidt på med de datoer. Som jasman skriver, er Today() altid maskindatoen. &SystemDato sættes ved programstart, så hvis man kører hen over midnat - eller f.eks. lader batch-pc'en være logget ind flere dage ad gangen, vil &Systemdato forblive på datoen som da programmet loggede ind. Skal dette ændres, skal der laves en lille kørsel som løbende opdaterer &SystemDato med ToDay()!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester