At line 1 added 98 lines |
::REL D(21/11/2010)::TIT Revisione architettura programmi |
Nelle release precedenti di Sme.UP i Gruppi di Attivazione erano utilizzati in modo non |
strutturato. |
|
Questo comportava vari problemi, il più grave dei quali era il malfunzionamento del cambio |
ambiente. In alcuni casi, dopo aver effettuato un cambio di sistema informativo, alcuni file |
restavano "aperti" sul precedente ambiente. |
Un altro problema "minore" era il funzionamento disomogeneo dello stesso programma in base |
al "tipo" di gruppo di attivazione in cui veniva eseguito. Lo stesso programma poteva avere |
due funzionamenti diversi in base al fatto che venisse eseguito nel gruppo di attivazione di |
default o uno specifico. |
|
Per ovviare a tutti questi problemi è stata fatta una profonda revisione della struttura dei |
richiami dei programmi Sme.UP. |
|
La differenza fondamentale rispetto al passato è che ora tutti i programmi Sme.Up vengono |
eseguiti in un gruppo di attivazione NON DEFAULT. |
Nessun programma di Sme.UP viene eseguito nel gruppo di attivazione di default (come è |
giusto che sia in una struttura ILE). |
Questo risultato è stato ottenuto associando un gruppo diverso dal default a tutti i |
"primi" programmi nello stack dei richiami. |
Per questo motivo, lo stack dei richiami di un qualunque job Sme.UP avrà in testa un |
programma specifico (B£QQ50, B£QQ02, B£QQ01 ecc.). |
Tali programmi, oltre a garantire l'esecuzione in un gruppo di attivazione non default |
si occupreanno della corretta impostazione dei separatori decimali e delle tabelle B£1 e B£2. |
|
|
Per mantenere tutta questa struttura coerente, il programmatore dovrà tenere conto di alcuni |
accorgimenti. |
Questi accorgimenti sono elencati di seguito e saranno approfonditi in PTF specifiche. |
|
|
SBMJOB tramite B£QQ01 o B£QQ02 |
Per le motivazioni esposte precedentemente non sarà più possibile effettuare il SBMJOB di un |
programma qualunque. Bisognerà sempre fare il SBMJOB del B£QQ02 oppure usare direttamente il |
comando B£QQ01 |
Vedi SBMJOB tramite B£QQ01 o B£QQ02 (MBPTF-B£01027D)\\ |
|
No cambio ambiente run-time |
Non è possibile effettuare un cambio ambiente tramite programmi o comandi. Per cambiare ambiente |
è necessario tornare alla lista ambienti iniziale. |
Vedi Cambio ambiente solo da lista (MBPTF-B£01027E)\\ |
|
No RCLACTGRP(*ELIGIBLE) |
Questo comando non può essere utilizzato in quanto andrebbe a chiudere anche gruppi di |
attivazione pensati per non essere mai chiusi. |
|
No RCLRSC |
Il comando RCLRSC diventa inutile, tale comando infatti ha effetto solo se eseguito nel |
gruppo di attivazione di default. |
|
Attenzione a *INLR e *INRT |
La chiusura in *INLR di un programma non causa più la chiusura effettiva dei programmi da |
lui richiamati. |
Vedi *INLR, *INRT, e comandi di reclaim (MBPTF-B£01027C)\\ |
|
Scope degli override |
Lo scope di default degli override (OVRDBF, OVRPRTF e DLTOVR) è il gruppo di attivazione. |
Per riportarsi ad una struttura di override a livello di chiamata, è necessario impostare |
i parametri corretti. |
Vedi Normalizzazione Override (MBPTF-B£01027B)\\ |
|
|
Nuovi gruppi di attivazione PARTICOLARI |
In questa versione sono stati introdotti 2 gruppi di attivazione che meritano un'attenzione |
particolare. |
__SM_ENDLESS__ |
Questo gruppo di attivazione si chiude solo al cambio ambiente. |
__SMEUP__ |
Questo gruppo di attivazione non si chiude MAI, nemmeno al cambio ambiente. Va usato con molta |
cautela solo da (pochi e ben identificati) programmi standard. Tali prorammi devono necessariamente |
appartenere alla categoria dei B£QQ in quanto devono sempre chiudere con certezza tutti i file che |
aprono. |
|
|
Nota sui programmi richiamati da menù e da riga di comando |
I programmi richiamati da menù vengono sempre eseguiti in un gruppo di attivazione nuovo, quindi |
alla loro uscita consentono la riacquisizione delle risorse (chiudono i file aperti). |
Per ottenre lo stesso effetto da riga di comando, è necessario utilizzare il comando C e non |
il comando CALL. |
Quindi quando di vuole eseguire un programma da riga di comando è estremamente consigliato |
l'utilizzo del comando C (a cui è stata aggiunta la possibilità di ricevere i parametri). |
I comandi T e UP hanno lo stesso comportamento (eseguono l'azione in un nuovo gruppo di |
attivazione. |
|
|
Contestualmente a questo intervento è stata modificata la £INZSR e anche il meccanismo di lettura |
dele tabelle B£1 e B£2. |
Anche in merito a questi cambiamenti sarà necessario prestare alcune attenzioni. |
Vedi Modifica e "obbligatorietà" £INZSR (MBPTF-B£01027F)\\ |
Vedi Nuova gestione B£1 e B£2 e nuova Exit (MBPTF-B£01027G)\\ |
|
|
NOTA sul B£UT50 |
Il programma B£UT50 è stato sostituito dal B£QQ50. L'oggetto PGM B£UT50 rimane (come replica del |
B£QQ50) per non dover necessariamente modificare tutti i profili utente. |
Si consiglia comunque, ove possibile, di modificare i profili utente indicando il programma |
B£QQ50 invece del B£UT50. |