Newsgroup: it.comp.appl.notes-domino
Titolo: Agente richiamato con RunOnServer

Buongiorno a tutti!
Ho una Subroutine che richiama un agente utilizzando il metodo “RunOnServer”
e passandogli l’ID del documento. L’agente viene correttamente eseguito, si
collega al db2 e preleva i dati che gli servono.
Ma al ritorno nella subroutine, come posso ‘prelevare’ i dati che l’agente
ha recuperato?
Nei parametri per il richiamo dell'agente c'è solo l'ID del documento....
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Potresti
1) all'inizio dellìagente creare un TAG con Doc_Id+DATA_ORA
2) Scrivere i doc che scarichi con questo Tag in un DB durante
l'estrazione
3 ) riprendere i dati che hai salvato
Claudia ha scritto:


 ha scritto nel messaggio 
news:1157028662.8...@m79g2000cwm.googlegroups.com...



Grazie per il 'doppio' suggerimento!
Ho risolto cosi' il problema:
faccio scrivere all'agente un file .txt con i dati che preleva dal db2
intanto la Function che ha lanciato l'agente, legge il .txt.
In questo modo quando il .txt è disponibile, significa che l'agente ha
terminato la sua esecuzione ed
è andato a buona fine; in caso contrario riesco a gestire l'eventuale
errore.
Forse è una soluzione un po' troppo 'pratica' ma mi sembrava la piu'
semplice...
Grazie ancora!


 Grazie ancora!
E se "contemporaneamente" devi leggere dal db2
per 2 volte?
(ma come scrivo? insomma... intendo... e se l'agente
RunOnServer viene chiamato 2 volte in breve tempo?)
GTFedelissimo 


In effetti l'osservazione è giustissima...
.... questa applicazione è gestita da una sola persona.
L'agente viene eseguito come evento di un 'click' e quindi TEORICAMENTE non
dovrebbe esserci quel problema..


 dovrebbe esserci quel problema..
Allora... sei salva :-D
-- 
GTFedelissimo
Membro accolto con lode nella
Federazione Italiana Giovani Artisti 

Allora... sei salva :-D
Al momento sě!.... se poi l'applicazione viene allargata a piu' utenti avro'
comunque il problema da risolvere.
P.S. Complimenti per la Federazione...



Ooooooooooops, scusa... la firma me la appende di default...
E di solito la toglievo...
/me Blush!
GTFedelissimo 

Ciao!
Ritorno su un problema che avevo già esposto.
Agente richiamato cun "RunOnSever" che legge il db2.
Per avere i dati di ritorno scrivevo un .txt che poi' nell'applicazione
andavo a leggere.
Ho deciso di seguire il suggerimento che mi avevate dato a suo tempo di
scrivere un documento di appoggio nell'agente.
Cosa faccio:
Nel form prima di richiamare l'agente, creo un documento ( set doc=
db.CreateDocument)
Richiamo l'agente con RunOnServer passandogli l'ID di quel documento
L'agente aggiorna correttamente questo documento con tutti i dati che mi
servono dal db2
ma quando vado a rileggerlo nel form, i nuovi campi non li vede ancora... è
come se prendesse
la versione non aggiornata... (ho anche messo un 'banale' sleep(3) per dare
il tempo all'agente di essere eseguito).
Cosa devo fare????
Grazie!


 la versione non aggiornata...
Ciao,
Capita spesso questo "problema" a chi sviluppa applicazioni...
Occhio che tu stia leggendo un document e non un UIDocument...
Se il tuo agente ha scritto su un documento (e quindi su "disco"),
la versione che hai tu in memoria non si aggiornerà mai...
Devi quindi ri-aprire/leggere quel documento dal disco.
Chiedo venia se non son stato + esaustivo, ma son
mesi che non metto mano a Lscript.
-- 
GTFedelissimo