At line 1 added 55 lines |
%%(display:none) |
{{{ |
WikiUp |
}}} |
/% |
[{TableOfContents }]\\ |
!!! Obiettivo\\ |
\\ |
Dichiarare sotto script (invece che scrivere programmi) dei check da fare affinchè un avanzamento possa essere dichiarato.\\ |
\\ |
!!! Tipologie di check\\ |
\\ |
I check possono essere:\\ |
* Generici, cioè eseguiti SEMPRE prima dell'avanzamento;\\ |
* Di scelta, cioè associati a una scelta utente WHN/OTH ed eseguiti solo se l'utente effettua quella scelta.\\ |
\\ |
I check di scelta, in particolare, nascono con l'obiettivo di risolvere il tema dell'obbligatorietà di campi da non controllare in caso si scelgano strade di tipo "annullamento".\\ |
Quando, ad esempio, ho una modifica di oggetto seguita da una scelta di tipo Prosegui/Annulla: se scelgo Prosegui non devo potere avanzare se non ho inserito i dati necessari, mentre se scelgo Annulla non voglio introdurre vincoli non necessari.\\ |
\\ |
Tipologia di controlli, rappresentati dalle diverse istruzioni che cominciano con CHK:\\ |
* Espressione con variabili relative a oggetti del workflow (es. &AWF.OMS%I/10<>CLASSE1) - istruzione CHK.CON.\\ |
* Chiamata a un programma specifico, passando un parametro - istruzione CHK.PGM.\\ |
\\ |
\\ |
!!! Un esempio\\ |
\\ |
Si consideri questo script, che definisce una transizione:\\ |
\\ |
%%quote |
Name="005" Des="Modifica articolo" Sst="1" ecc... |
Fun="A(WFAZB£_02;GES;02) 3(AR;;&AWF.OMS)" Des="Avanza" |
|
Name="L01" Tip="I" Des="Partenza" |
Tip="C" |
Con="1" Des="Prosegui" |
Name="005" |
Chk="&AWF.OMS%I/10<>" Msg="X100001" Fil=" MSGX1" |
Des="Annulla" |
Name="025" |
/% |
---- |
\\ |
Esso rappresenta il passo di modifica di un articolo, alla fine della quale si sceglie (tramite scelta standard) se avanzare o annullare il tutto.\\ |
Solo sulla scelta "Prosegui" è stato aggiunto un check (la classe materiale deve essere valorizzata), quindi:\\ |
* Se all'esecuzione, dopo la modifica articolo, scegliamo "Prosegui" la classe materiale deve essere compilata, altrimenti il workflow non avanza (restituendo il messaggio MSGX1/X100001).\\ |
* Se invece scegliamo "Annulla" si avanza senza particolari controlli.\\ |
\\ |
!!! Osservazioni e limitazioni\\ |
\\ |
Si noti bene che:\\ |
* I check sono associabili solo a impegni eseguiti da utente, non a impegni ad esecuzione automatica.\\ |
* I check di scelta sono associabili solo a scelte standard (attributo Sst valorizzato), ovvero a scelte effettuate dall'utente tramite G08. Se la scelta è automatica, infatti, (e.g. condizioni su OAV dell'oggetto master) le condizioni stesse sono già una forma di check.\\ |
* La chiamata a WFA in CHK assume che sto lavorando sull'ordine con cui sono entrato nell'attività. Se una DIC.FUN chiamasse la £WFA con lo stesso livello di chiamata su ordini diversi (es. sottoworkflow) darebbe problemi.\\ |
\\ |
\\ |