programmi richiamati

37 views
Skip to first unread message

antonio

unread,
Jun 20, 2012, 2:15:12 AM6/20/12
to cgidev2...@googlegroups.com
Salve,
ho notato che usando le CALL per richiamare altri programmi ho 2 tipi di problemi:
  1. se vario il programma richiamato, la modifica non ha effetto fino a quando non và giu e poi risale il servizio HTTP. Come posso ovviare a cio?
  2. alcune volte (mi succede spesso su un cliente) se cambio il programma richiamato, il lavoro và proprio in msgw.

 

Giovanni B. Perotti

unread,
Jun 20, 2012, 2:26:57 AM6/20/12
to cgidev2...@googlegroups.com

Il fatto che una nuova versione di un programma richiamato non venga eseguita, ma venga eseguita invece la sua vecchia versione, non dipende da CGIDEV2.

A mio parere dipende dal fatto che l’OS/400, per migliorare le prestazioni, trasforma la CALL dinamica in un link statico.

Quando si ricrea il pgm richiamato, la sua vecchia versione non va distrutta, ma finisce nella libreria QRPLOBJ ed il link si mantiene.

Il modo per uscirne è quello di ricreare anche il programma chiamante.

 

G.B. Perotti

 

Da: cgidev2...@googlegroups.com [mailto:cgidev2...@googlegroups.com] Per conto di antonio
Inviato: mercoledì 20 giugno 2012 08:15
A: cgidev2...@googlegroups.com
Oggetto: [CGIDEV2 Italia:197] programmi richiamati

antonio

unread,
Jun 20, 2012, 2:34:55 AM6/20/12
to cgidev2...@googlegroups.com
Perfetto,
quindi mi pare di capire che per ovviare al problema ho 2 strade:
  1. ricompilare tutti i programmi che richiamano quella routine
  2. buttare giu il servizio

Giusto? 

Il giorno mercoledì 20 giugno 2012 08:26:57 UTC+2, per...@easy400.net ha scritto:

Il fatto che una nuova versione di un programma richiamato non venga eseguita, ma venga eseguita invece la sua vecchia versione, non dipende da CGIDEV2.

A mio parere dipende dal fatto che l’OS/400, per migliorare le prestazioni, trasforma la CALL dinamica in un link statico.

Quando si ricrea il pgm richiamato, la sua vecchia versione non va distrutta, ma finisce nella libreria QRPLOBJ ed il link si mantiene.

Il modo per uscirne è quello di ricreare anche il programma chiamante.

 

G.B. Perotti

 


Inviato: mercoledì 20 giugno 2012 08:15


Oggetto: [CGIDEV2 Italia:197] programmi richiamati

Giovanni B. Perotti

unread,
Jun 20, 2012, 2:46:08 AM6/20/12
to cgidev2...@googlegroups.com

Non proprio buttare giù.

Utilizzando il comando STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(myinstance) 

non si provoca interruzione di servizio, in quanto eventuali transazioni ancora in corso vengono completate.

Certo, la ripartenza ha un suo costo in termini di tempo di CPU e la prima transazione risulta più lenta.

 

Giovanni

 

Da: cgidev2...@googlegroups.com [mailto:cgidev2...@googlegroups.com] Per conto di antonio
Inviato: mercoledì 20 giugno 2012 08:35
A: cgidev2...@googlegroups.com
Oggetto: Re: [CGIDEV2 Italia:199] programmi richiamati

 

Perfetto,

quindi mi pare di capire che per ovviare al problema ho 2 strade:

  1. ricompilare tutti i programmi che richiamano quella routine
  2. buttare giu il servizio

Giusto? 

Il giorno mercoledì 20 giugno 2012 08:26:57 UTC+2, per...@easy400.net ha scritto:

Il fatto che una nuova versione di un programma richiamato non venga eseguita, ma venga eseguita invece la sua vecchia versione, non dipende da CGIDEV2.

A mio parere dipende dal fatto che l’OS/400, per migliorare le prestazioni, trasforma la CALL dinamica in un link statico.

Quando si ricrea il pgm richiamato, la sua vecchia versione non va distrutta, ma finisce nella libreria QRPLOBJ ed il link si mantiene.

Il modo per uscirne è quello di ricreare anche il programma chiamante.

 

G.B. Perotti

 


Inviato: mercoledì 20 giugno 2012 08:15


Oggetto: [CGIDEV2 Italia:197] programmi richiamati

antonio

unread,
Jun 20, 2012, 2:52:33 AM6/20/12
to cgidev2...@googlegroups.com
Grazie
 
Reply all
Reply to author
Forward
0 new messages