Per un oggetto, viene utilizzato il programma GOBJET. Questo programma integra l'insieme delle funzioni di base (visualizzazione, gestione della lista di selezione e dei bottoni, funzione di selezione, chiamata delle liste standard, gestione degli oggetti collegati e del workflow, creazione, modifica, duplicazione, annullamento...). Vi sono 3 tipi di oggetto: semplice, riquadro e combinato; alcune azioni sono diverse per tipo di oggetto.
L'attivazione di un filtro dal menù/selezione agisce sulla lista di selezione principale e la aggiorna. Non agisce sulle liste di selezione supplementari.
Fa riferimento a dei programmi allegati, che sono i seguenti:
Programmi generati
· un programma generato in modo automatico alla validazione dell'oggetto. Questo programma si chiama GESXXX, dove XXX è il codice dell'oggetto. Non bisogna modificare questo programma, in quanto viene comunque riscritto ad ogni validazione dell'oggetto.
. dei programmi generati in modo automatico alla validazione della finestra. Questi programmi si chiamano WOXXX e WGOXXX, dove XXX è il codice dell'oggetto. Non bidsogna modificare questi programmi, in quanto vengono comunque riscritti ad ogni validazione della finestra.
Programma riservato allo standard
· un programma chiamato SUBXXX, dove XXX è il codice dell'oggetto. Questo programma, fornito da ADONIX contiene un'etichetta ACTION, che gestisce i diversi eventi che possono accadere al momento dell'esecuzione dell'oggetto. Ogni evento viene identificato da un codice alfanumerico, contenuto nella variabile ACTION. Se non è presente codice per un evento, il funzionamento della funzione dell'oggetto non sarà di ostacolo.
Programma riservato agli specifici
Si hanno due livelli di programma:
· è previsto un programma chiamato SPEXXX per lo specifico, dove XXX è il codice dell'oggetto.
· è previsto un programma chiamato SPVXXX per il verticale, dove XXX è il codice dell'oggetto. Il verticale è un livello intermedio, sviluppato da un distributore, sul quale è possibile applicare successivamente dello specifico.
Questi programmi non sono forniti in standard. Possono essere sviluppati in specifico (sia per oggetti standard per i quali si desidera aggiungere delle funzioni particolari, sia per oggetti specifici sui quali non viene utilizzato il programma SUBXXX). Questi programmi, se esistono, devono contenere un sotto-programma ACTION.
Concatenamento dei programmi
La sequenza di chiamata dei programmi è la seguente:
- programma SPEXXX
- programma SPVXXX (non eseguito se la variabile GPV=1)
- programma SUBXXX (non eseguito se la variabile GPE=1)
Quando si scrive dello specifico, si ha la possibiltà di bypassare il verticale e/o lo standard.
E' possibile cambiare l'ordine di esecuzione dei programmi chiamando i programmi verticale e standard direttamente dallo specifico, ed inibendo la chiamata di tali programmi da parte del supervisore. Esempio di scrittura di un'azione specifica:
Gosub ACTION From SUBXXX (chiamata dello standard)
... ( programma specifico)
GPE = 1 (nessuna chiamata dello standard a seguito dello specifico)
Return
L'utilizzo di un oggetto semplice permette di gestire sia delle schede semplici (un record in una tabella, per esempio la scheda articolo), sia dei file di tipo testata e riga (caso degli ordini, dei movimenti contabili...). Per la gestione della tabella dettaglio si dispone di sotto-programmi definiti nel programma TABLEAUX.
La chiamata ad un oggetto può essere effettuata da una delle azioni del dizionario il cui programma è di tipo oggetto.
Prima dell'esecuzione dell'azione, è possibile limitare i diritti di accesso a tale oggetto posizionando la variable globale GCONSULT:
· GCONSULT=0 significa che è possibile gestire l'oggetto in funzione dei suoi diritti
· GCONSULT=1 significa che non è possibile modificare, ma si può cambiare di scheda
· GCONSULT=2 significa che non è possibile né modificare, né cambiare di scheda e che non vi è nemmeno la lista di selezione.
Queste azioni sono chiamate tramite l'istruzione Gosub ACTION From SUBXXX. Permettono quindi di utilizzare e di definire delle variabili locali al programma di gestione d'oggetto. Nel sotto-programma action, si testeranno i differenti valori possibili per la variabile ACTION:
$ACTION
Case ACTION
When "..."
...
Endcase
Return
Di default, non c'è azione associata e quindi si svolge il programma "standard", ma quando si desiderano aggiungere delle funzioni particolari, il dirottamento verrà effettuato a questo livello.
E' qui presente in allegato l'elenco delle azioni in ordine alfabetico. Sarà poi presente la descrizione dettagliata di queste azioni. Viene descritto il contesto chiamante e l'obiettivo di queste azioni.
Se l'azione è chiamata durante una transazione, il sotto-programma chiamato dall'azione può alimentare la variabile GOK nel seguente modo:
se si riporta nella variabile GOK un valore negativo, si considera che un blocco d'informazioni da altre postazioni fa sì che non venga effettuato l'aggiornamento. Viene allora effettuato un annullamento di transazione (Rollback), seguito da un nuovo tentativo (fino a concorrenza di un numero di tentativi definito dalla variabile GROLLBACK: viene allora richiesto all'utente se vuole continuare o annullare).
se si riporta nella variabile GOK un valore positivo non nullo, viene effettuato un annullamento della transazione (Rollback).
Autorizzato.
Il programma specifico si chiamerà "SPE" + il codice oggetto.
L'azione specifica è chiamata prima dell'azione standard. Può annullare e sostituire l'azione standard se posiziona la variabile GPE al valore 1. Può venir eseguita dopo, se l'azione specifica è scritta nel modo seguente: chiamata dell'azione standard tramite Gosub, di seguito scrittura del corpo dell'azione specifica, poi GPE=1.