nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: Variazione DS descritta esternamente

Von: gio.cot@virgilio.it [Profil]
Datum: 11.04.2008 11:55
Message-ID: <d7feb706-5dd8-4261-b6af-9c5841d077ba@l42g2000hsc.googlegroups.com>
Newsgroup: it.comp.as400
On 11 Apr, 10:14, "Dr.UgoGagliardelli"
<do.not.spam.me.ple...@nettuno.it> wrote:
> il 10/04/2008 14.48, Scrive gio....@virgilio.it 40405760:> Salve a tutti, 
ho una DS descritta esternamente, che utilizzo per
> > passare i parametri al programma di reperimento prezzi del listino;
> > esempio:
>
> > CodArt     15
> > TipLis        1
> > CodLis       3
> > DatVal       8,0
>
> > poniamo che debba aggiungere un campo a tale DS, secondo voi devo
> > ricompilare tutti i programmi che utilizzano questa DS ??
>
> In assoluto no.
> La DS viene valutata solo durante la compilazione, per cui il programma
> RPG compilato con la DS piu' corta, in esecuzione ignorera'
> semplicemente i campi nuovi, comportandosi quindi esattamente come
> prima, banalmente perche' il parametro di input e' definisce un'area
> piu' corta. In RPG i parametri sono sempre definiti BYREF quindi il
> programma riceve il puntatore ad uno spazio dati di cui valuta solo il
> *pezzo* che conosceva quando e' stato compilato. Ovviamente la cosa
> cambia se il parametro di input viene passato piu' corto del previsto,
> ma non e' il tuo caso.
> Anche ricompilandolo, il programma che non e' a conoscenza del nuovo
> campo non cambiera' il suo comportamento, non essendo a conoscenza del
> campo nuovo, e' pero' possibile che la compilazione non finisca se il
> nuovo campo era gia' definito nel programma,  magari anche con attributi

> diversi. Per cui, ricompilando tutti i programmi, nell'immediato
> potrebbe essere controproducente, a lungo termine potrebbe rivelarsi una
> buona scelta per il semplice motivo che in futuro ti ritroverai una
> manutenzione già fatta.
>
>
>
> > Grazie in anticipo
>
> > P.S. sapete dove trovare una utility, che dato un file/ds, mi
> > ricompila tutti i pgm che utilizzano tale file/ds ??
>
> 25+F13 con il nome della DS nel campo ricerca e 14 nel campo opzione.
>
> --
> Dr.Ugo Gagliardelli,Modena,ItalyCertifiedUindoscrasherAñejoAlcoolInside
> Spaccamaroni andate a cagare/Spammers not welcome/Spammers vão à
merda

> Spamers iros a la mierda/Spamers allez vous faire foutre/Spammers loop
> schijten/Spammers macht Euch vom Acker/Spamerzy wypierdalac'

prima di tutto grazie per le vs opinioni, volevo comunque sia
aggiungere che io inizialmente ero convinto del fatto che non era
necessario ricompilare tutti i pgm, però mi è successo che NON avendo
ricompilato il programma chiamante, quando il chiamato restituiva la
DS più lunga, mi sputt.....va i primi campi della DS successiva (non
vi dico che casino mi è venuto fuori) e questo accadeva solo se il
chiamato valorizzava il campo aggiunto nella DS.
Come si spiegat questo  ??!!!








[ Auf dieses Posting antworten ]