Re: apparentemente banale
Von: Alberto (alberto.venturi.togli.questo@libero.quasi.it) [Profil]
Datum: 13.10.2006 12:03
Message-ID: <EvJXg.1613$Fk1.2846@twister2.libero.it>
Newsgroup: it.comp.as400
Datum: 13.10.2006 12:03
Message-ID: <EvJXg.1613$Fk1.2846@twister2.libero.it>
Newsgroup: it.comp.as400
Non sono sicuro di aver capito il problema, ma provo a buttare un paio di considerazioni: - se vuoi un controllo preciso sugli intervalli *start* *stop* puoi usare il tempo trascorso (Data/Ora) rispetto ad un momento di riferimento (Esempio "00:00:00 01-01-2000") convertito in secondi - per un controllo più preciso (mai puntuale causa natura intrinseca del delay) potresti memorizzare l'ultima volta che il processo ha terminato (non iniziato) ES - Monitor - look dtaara if nolook then sbmjob - Job - alcobj dtaara [Data.e.Ora.di.Adesso] --> Adesso If (UltimoStop - Adesso).Come.Minuti > 20Minuti Then ** Tutte le Operazioni che Vuoi ** [Data.e.Ora.di.Adesso] --> UltimoStop STOP Endif Dove UltimoStop sta dove ti fa comodo (Dtaara, file db, ... magari per job, utente, fase lunare... :) ) Spero di esserti stato utile... Ciao furega ha scritto: > premessa: > programma monitor che gira e controlla se una data are è allocata o > meno. > se non lo è sbmjob che alloca la data area. > look dtaara > if nolook then sbmjob > > > pgm > alcobj dtaara > ... > ... > > per motivi che non sto qui a spiegare vogli che il programma sottomesso > termini ogni TOT tempo > > esempio : ogni giorno, ogni mese etc. quando decido io. > > siccome ha all'interno un dlyjob di 20 minuti non è pensabile di > testare l'ora > del resto potrei fare > if ora GT.... endjob > ma poi il monitor lo riavvierebbe subito e il programma rfarebbe il > test dell'ora richiudendosi subito (già provato) > potrei testare il giorno, ma succederebbe lo stesso. > > potrei aggiornare una variabile count (siccome il dly è di 20 minuti ) > add 1 ogni 20 minuti calcolo che se voglio che si chiudi il lavoro una > volta al mese: > (30 g *24ore *60minuti)/20 conter = 2160 > > potrei chiuderlo forzatamente alle ore 00.00 ma siccome ha un dly non > riesco a beccare il minuto esatto: > cioè se il programma termina il dlyjob alle 23.50 e testa se l'ora è > 00.00 il test e negativo e il prossimo test lo fa 20 minuti dopo quindi > alle 00.10 e pertanto non posso "beccare il minuto esatto". > dovrei considerare un test su dintervallo di ora tipo >20 minuti e <25 > minuti > if ora gt 23.00 and ora lt 23,29 then endjob > > avevo anche pensato ad una dtaara dove memorizzare il numero lavoro > utente ecc. > e poi chiuderlo dal pgm monitor . > > > mi sembra che quella del count incrementato sia la più fattibile > ma se qualcuno mi dà un'idea più elegante...... > > ps > non c'è problema per rilanciare il programma in quanto il monitor > appena trova la data area non allocata lo rilancia >[ Auf dieses Posting antworten ]
Antworten
- furega (13.10.2006 13:45)
