| At line 1 added 140 lines |
| %%(display:none) |
| {{{ |
| WikiUp |
| }}} |
| /% |
| [{TableOfContents }]\\ |
| !!! Passaggio interno forzatura e congelamento\\ |
| Nel processo di schedulazione è possibile impostare forzatura e congelamento.\\ |
| Queste informazioni non possono essere immediatamente registrate nell'archivio finale (S5IRIS) in quanto devono andare perse se si rinuncia al salvataggio della schedulazione.\\ |
| Non pare opportuno salvare le informazioni originali, scrivere nell'archivio quelle della sessione, e all'uscita, per rinuncia, eseguire il ripristino: se si verificasse una fine anomala del lavoro, gli archivi definitifi risulterebbero deteriorati.\\ |
| Tuttavia di esse si deve tener conto nella rischedulazione all'interno della stessa sessione. Inoltre, si deve tener conto dell'eliminazione di una forzatura o di un congelamento.\\ |
| Per questo motivo è stato realizzato un procedimento articolato di memorizzazione e ripristino.\\ |
| \\ |
| \\ |
| !!! Campi di DSIRIS\\ |
| !! Campi generali (G)\\ |
| XITFOR - Tipo risorsa forzata / congelata\\ |
| XICFOR - Codice risorsa forzata / congelata\\ |
| XINFOR - N.ro congelamento\\ |
| !! Campi di sessione (S)\\ |
| XITFSE - Tipo risorsa forzata / congelata\\ |
| XICFSE - Codice risorsa forzata / congelata\\ |
| XINFSE - N.ro congelamento\\ |
| \\ |
| \\ |
| !!! DSFORZ (di appoggio per memorizzazione)\\ |
| !! Campi generali\\ |
| XFNFOR - N.ro occorrenza\\ |
| !! Campi per individuare l'impegno in DSIRIS (I)\\ |
| XFTIOG - TIpo oggetto\\ |
| XFPAOG - Parametro oggetto\\ |
| XFCDOG - Codice oggetto\\ |
| XFFASE - Codice fase\\ |
| XFFSUD - Numero progressivo suddivisione\\ |
| !! Campi di appoggio (A)\\ |
| XFTFSE - Tipo risorsa forzata / congelata\\ |
| XFCFSE - Codice risorsa forzata / congelata\\ |
| XFNFSE - N.ro congelamento\\ |
| \\ |
| \\ |
| !!! Modalità esecutiva\\ |
| Nel programma di caricamento DSIRIS a partire da S5IRIS\\ |
| Vedi IRIS Caricamento Impegni Risorse (S (OJ*PGM-S5SMES_01I)\\ |
| I campi dell'archivio vengono copiati in (G)\\ |
| Alla prima costruzione della DS (quando questo programma non è richiamato per rischedulazione) oppure se l'impegno è iniziato, i campi (G) vengono copiati in (S). Il motivio per cui questa operazione viene eseguita anche in rischedulazione, se l'impegno è in corso, deriva dal fatto che su di esso può essere stato dichiarato un avanzamento dopo il primo richiamo, che fa divenatre l'impegno in corso, cosa che ha la precedenza su congelamenti e forzature.\\ |
| In tutti i programmi vengono utilizzati i campi (S): il motivo che, ad ogni caricamento, vengono riportati i campi (G) è puramente documentativo. In questo modo si potrebbe rispondere alla domanda: che modifiche sono state fatte in questa sessione?\\ |
| In particolare, le forzature e i congelamenti (inseriti, variati o eliminati) vengono registrati nei campi (S) nel programma di interazione con il GANTT\\ |
| Vedi IRIS Presentazione Carico x Risorsa (OJ*PGM-S5SMES_D4)\\ |
| \\ |
| Successivamente, sempre nella fase iniziale di caricamento, se presenti forzature (almeno un elemento in DSFORZ), viene eseguito il programma di aggiornamento forzature\\ |
| Vedi IRIS Ripresa forzature (OJ*PGM-S5SMES_01F)\\ |
| Viene scandito DSFORZ e, per ogni elemento, viene letto il corrispondente elemento di DSIRIS e si copiano i campi da (A) a (S).\\ |
| All'inizio, dopo il primo caricamento di DSIRIS, D0FORZ è vuota, quindi questa funzione viene eseguita solo dal secondo richiamo (di rischedulazione), successivamente alla reinizializzazione DS che andiamo ad illustrare.\\ |
| \\ |
| Quando si chiede la rischedulazione, come primo passo viene eseguita la reinizializzazione delle DS\\ |
| Vedi IRIS Reinizializzazione DS (OJ*PGM-S5SMES_03)\\ |
| In questo programma viene ricostruita DSFORZ a partire dai campi (S), in modo da essere disponibili per l'aggiornamento forzature. Dopo di ciò, sempre in questo programma, viene eliminato DSIRIS.\\ |
| \\ |
| Ci si ricollega poi al normale caricamento iniziale:\\ |
| Costruzione di DSIRIS. Non essendo il richiamo iniziale, i campi (S) rimangono vuoti.\\ |
| Aggiornamento forzature, in base a quanto memorizzato in DSFORZ.\\ |
| \\ |
| Nel seguito riportiamo lo schema di quanto esposto\\ |
| \\ |
| %%quote |
| --> S5SMES_01I |
| | Sempre: riempie campi G |
| | Se primo richiamo: copia i campi da G a S |
| | Altri richiami: i campi S restano puliti |
| | | |
| | | |
| | S5SMES_01F |
| | Se DSFORZ non è vuota (può esserlo solo dal secondo |
| | richiamo) copia i campi da A a S |
| | | |
| | | |
| | S5SMES_D4 |
| | Aggiorna i campi S |
| | | |
| | | |
| | Rischedulazione ? NO ---> S5SMES_25 (aggiorna S5IRIS dai |
| | SI campi S) |
| | | |
| | | |
| | S5SMES_03 |
| | Ricostruisce DSFORZ dai campi S |
| | Elimina DSIRIS |
| | | |
| | | |
| ----------- |
| /% |
| ---- |
| \\ |
| \\ |
| \\ |
| Dato che questo processo implica una modifica alle DS della schedulazione, per altre informazioni che si intendono inserire e utilizzare nel corso della sessione, ma memorizzare soltanto se si conferma la schedulazione, è stata prevista un'altra modalità (più compatta, in quanto raggguppata in un unico programma).\\ |
| Essa è stata implementata per la gestione del "Vincolo esterno al più presto", attivata nello script dei parametri (posizione 94)\\ |
| \\ |
| !!! Gestione vincolo esterno al più presto (VPP)\\ |
| Vedi Script schedulazione di massa: modello (MBBCDSRC-PAR_SCP)\\ |
| E' stato realizzato a questo scopo il programma\\ |
| Vedi IRIS Mongolfiere vincoli pp (OJ*PGM-S5SMES_65)\\ |
| che ha le seguenti funzioni:\\ |
| INZ - Per inizializzare la DS di memorizzazione (lanciato da S5SMES_01I prima della lettura degli impegni, se è il primo richiamo, e da S5SMES_03)\\ |
| MEM - Per memorizzare il VPP presente in S5IRSE (lanciato sempre da S5SMES_01I per ogni impegno letto)\\ |
| RIF - Per rifasare il VPP (lanciato da S5SMES_03 prima di pulire DSIRIS)\\ |
| RIT - Per ritornare se il VPP è bloccato (lanciato da S5SMES_D4 e da S5SMES_67)\\ |
| Il richiamo dal S5SMES_D4 del S5SMES_65 in RIT, nella scrittura della riga di GANTT, ha lo scopo di decidere il disegno della cella (che è diverso a seconda che essa non abbia in VPP, lo abbia modificabile o non modificabile).\\ |
| \\ |
| Esponiamo infine il colloquio, interessante per conoscere la modalità di aggiunta informazioni ad un dettaglio o a un impegno BCD, attraverso una finestra di emluazione.\\ |
| Quando, sempre nel S5SMES_D4, si seleziona la voce di POPUP di gestione del VPP, esso richiama il S5SMES_67, che, a sua volta, richiama S5SMES_65 in RIT, per conoscere se il VPP è modificabile.\\ |
| Questa informazione, insieme alle altre necessarie per la gestione del VPP, repertite dalla memoria attrraverso il puntatore ricevuto e parcheggiate nella DS\\ |
| Vedi /COPY di work della schedulaz.di massa (MBQILEGEN-£S5SM_D2)\\ |
| sono memorizzate con la £G00.\\ |
| Dopo di ciò, il S5SMES_67 (in un lavoro LOOCUP LO_E) fa eseguire (tramite RFunction) il programma S5SMES_68 (in un lavoro di emulazione, da cui la necessità del colloquio tramite £G00), che presenta il VPP e, se è il caso, permette di aggiornarlo.\\ |
| A sua volta, questo programma scrive l'informazione del VPP (inserito, modificato o annullato) nella £G00.\\ |
| Al ritorno, S5SMES_D4 rilegge la £G00 e aggiorna la DS dell'impegno con gli estremi del VPP.\\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |
| \\ |