Sviluppo > Dizionario script > Transazioni di aggiornamento 

Questa funzione permette di creare delle transazioni sistema nel dizionario. Queste transazioni saranno utilizzate dalla funzione di esecuzione di transazioni sistema per effettuare un aggiornamento di massa del database (creazione, modifica o eliminazione di record).

E' importante notare, inoltre, che le transazioni sistema fanno parte del dizionario dei dati. Ciò significa che una rivalidazione di dossier elimina tutte le transazioni sistema non protette da un codice attività specifico, ed è in grado di trasferire nel dossier le transazioni sistema standard, se l'editore decide di consegnarne un giorno nel dossier di riferimento del software (attualmente, ciò non avviene).

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

La definizione di una videata si effettua tramite 2 folder: il folder generale di definizione della transazione e il folder che comprende le formule di selezione dei record da elaborare e le tabelle da aggiornare.

Testata

Presentazione

La testata permette d'identificare la transazione.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

  • Codice (campo COD)

Questo codice identifica la transazione di sistema da lanciare.

  • Descrizione (campo ZINTIT)

 

Chiudi

 

Folder Generale

Presentazione

Si definisce, in questo folder, il contesto generale collegato alla transazione sistema:

  • da una parte, la tabella principale e le tabelle eventualmente collegate che potranno essere aggiornate.
  • d'altra parte, gli eventuali parametri da inserire (in un riquadro di massimo 6 righe). Questi parametri sono in seguito utilizzabili sotto forma di variabili chiamate da V1 a V6 nel riquadro del secondo folder.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Blocco numero 1

  • Modulo (campo MODULE)

Modulo di appartenenza della parametrizzazione. Questo campo permette di precisare se la videata deve essere creata nel database del dossier. Lo è se il modulo al quale è collegata la videata è attivo per il dossier.

  • Descr. breve (campo ZINTITSHO)

 

Un codice attività permette:

  • di rendere opzionale un elemento del dizionario se il valore associato al codice attività è nullo.
  • di approvare gli elementi specifici da quando sono evidenziati da un codice che inizia per X, Y o Z.
  • di dimensionare un numero di righe massimo quando il codice attività evidenzia degli elementi di un riquadro.

Così, se il codice attività non è attivo, l'elemento evidenziato non sarà utilizzabile, e il codice associato (se ne ha) non verrà generato né sarà attivabile.

Questo codice di accesso permette di limitare l'accesso alla scheda corrente ad alcuni utenti.
Se il campo viene indicato, solo gli utenti che dispongono di questo codice di accesso nel loro profilo possono visualizzare e modificare questa scheda.

Il diritto d'esecuzione che può essere collegato al codice accesso permette di autorizzare l'esecuzione della transazione di sistema.

Tenuto conto del fatto che questa funzione è sensibile, viene consigliato di indicare un codice accesso e di limitare accuratamente il numero di utenti che hanno diritto d'esecuzione. 

Definisce la tabella principale sulla quale verrà eseguita la transazione.

Riquadro Tabelle collegate

Identifica le tabelle collegate alla tabella principale.

  • Legame (campo LNKEXP)

Questo campo è definito con una o più espressioni calcolate separate da un punto e virgola. Ogni espressione viene interpretata, ed il risultato permette di conoscere il valore della chiave utilizzata per realizzare la joint. Quando sono autorizzate le joint multiple, si possono fornire solo i primi elementi della chiave.

Nelle espressioni, si possono utilizzare delle costanti e dei campi delle tabelle precedentemente definite nell'elenco dei collegamenti.

Riquadro Parametri

Definisce il tipo di dati corrispondente al parametro inserito. Ciò permette all'occorrenza di controllare il suo valore tramite una tabella.

  • Descrizione (campo ZVARINTIT)

 

  • Lung (campo VARLNG)

Definisce il numero dei caratteri massimo che devono essere inseriti per indicare il parametro.

  • Menù (campo VARMEN)

Quando il parametro da inserire è di tipo menù locale, si definisce qui il numero del menù interessato.

  • Parametro oggetto (campo VARPAR)

Questo campo definisce un complemento necessario alla definizione del tipo di dati, quando serve. Nell'ambito di una tabella diversa, il complemento definisce, per esempio, il numero della tabella.

  • Valore di default (campo VARDEF)

Permette di definire un valore di default tramite una espressione calcolata che può contenere costanti e variabili.

Il codice di una tabella di controllo può essere inserito in questo campo per realizzare un controllo di validità particolare associato al parametro definito nella transazione di sistema.

Chiudi

 

Folder Dettagli

Presentazione

Questo folder permette di precisare utilizzando dei criteri di selezione le righe lette della join, e di specificare nel dettaglio gli aggiornamenti fatti dalla transazione sistema su queste righe. Può trattarsi di:

  • una creazione di record a partire da un record selezionato (occorrerà parametrizzare una sola riga di questo tipo per creazione richiesta, per il campo chiave corrispondente). E' l'equivalente di una duplicazione di record.
  • una modifica del valore di uno o più campi (una riga per campo).
  • una eliminazione di record (non si specifica niente per i campi).

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro Selezioni

  • Formule (campo SELFRM)

Questo campo permette di definire delle espressioni logiche per filtrare i record da aggiornare o da eliminare. E' possibile utilizzare i campi della tabella principale, delle tabelle collegate e delle variabili definite nel riquadro dei parametri di lancio del primo folder (da V1 a Vn).

Se il risultato di una di questa espressioni è falso, il record non verrà toccato.

Riquadro Aggiornamento

Definisce la tabella su cui deve essere effettuata una operazione.

  • Transazione (campo FLDSUP)

L'operazione realizzata può essere:

  • una modifica (poi conteggio dei campi da modificare).
  • una eliminazione (non si deve fornire nessuna informazione supplementare oltre al nome della tabella).
  • una creazione (in questo caso, alimentare i campi registrazione dopo registrazione).
  • Campo (campo FLD)

Definisce il campo di cui si vuole dare il valore (in modifica o in creazione). Questo campo è contenuto nella tabella inserita sulla riga.

  • Formule (campo FLDFRM)

Questa formula viene interpretata per dare il valore al campo da alimentare. Si possono utilizzare in questa formula i campi delle tabelle in linea, delle costanti ed anche le variabili da V1 a Vn definite dal riquadro dei parametri di lancio del primo folder.

Chiudi

 

Bottoni specifici

La validazione permette di generare il programma automatico. Contiene tutta l'elaborazione personalizzata dalla transazione:

  • Dichiarazione delle variabili chiamate V1, V2,…, V6
  • Dichiarazione delle tabelle
  • Collegamento tra tutte le tabelle (istruzione Link)
  • Filtro dei record sulla tabella, se è unica, o sull'abbreviazione risultante del legame.
  • Transazione di aggiornamento
  • Scrittura nel file espion.tra nella cartella tmp

I seguenti campi sono presenti sulla finestra aperta da questo bottone :

Blocco numero 1

  • Codice (campo COD)

Questo codice identifica la transazione di sistema da lanciare.

  • campo DES

Descrizione associata al codice precedente.

Blocco numero 2

  • Modalità test (campo TEST)

Se questa casella viene contrassegnata, la transazione viene eseguita senza alcun aggiornamento delle tabelle e la traccia restituisce i dati che verrebbero aggiornati se l'elaborazione venisse lanciata in effettivo.

E' allora possibile fornire un numero massimo di transazioni da elaborare.

  • Numero di transazioni (campo NOMBRE)

In modalità test, questo campo limita il numero di righe delle tabelle elaborate.

Riquadro

  • Variabile (campo VARDES)

Descrizione di ogni variabile che è possibile inserire come parametro della transazione di sistema.

  • Valore (campo VALEUR)

Definisce i valori associati ai parametri della transazione durante la sua esecuzione.

Chiudi

Questo bottone permette di eseguire direttamente la transazione. Si tratta dello strumento di transazioni sistema.

I seguenti campi sono presenti sulla finestra aperta da questo bottone :

Blocco numero 1

  • campo OBJET

 

  • campo CLES

 

Blocco numero 2

  • Dal dossier (campo DOSORG)

Questo campo permette di definire il dossier a partire dal quale sarà copiata la scheda. Le sintassi possibili sono descritte nell'allegato dedicato.

  • Tutti i dossiers (campo TOUDOS)

Questa opzione permette di copiare la scheda verso tutti i dossier definiti nel dizionario (tabella ADOSSIER della soluzione corrente).

  • Al dossier (campo DOSDES)

Questo campo permette di definire il dossier nel quale sarà copiata la scheda. Le sintassi possibili sono descritte nell'allegato dedicato.

Chiudi

Questo bottone permette di copiare la definizione della transazione verso un altro dossier. Attenzione, occorrerà validare la transazione nel dossier di destinazione.

Algoritmo e programma generato

E' importante notare che si possono fare duplicazioni e modifiche contemporaneamente nella stessa transazione, a condizione di rispettare l'ordine di dichiarazione. Per esempio, se si inseriscono le seguenti righe:

Tabella

Transazione

Campo

Formule

TABELLA1

Modifica

CAMPO1

ESPRESSIONE1

TABELLA1

Creazione

CAMPO2

ESPRESSIONE2

TABELLA2

Creazione

CAMPO3

ESPRESSIONE3

TABELLA2

Modifica

CAMPO4

ESPRESSIONE4

TABELLA3

Modifica

CAMPO5

ESPRESSIONE5

L'algoritmo applicato sarà il seguente:

Per [tutte le righe della join interessata]

Lettura della riga corrente della TABELLA1, Assegnazione di CAMPO1 e CAMPO2, poi creazione di un riga della TABELLA1

Lettura della riga corrente della TABELLA2, Assegnazione di CAMPO3, poi creazione di una riga TABELLA2

Assegnazione del CAMPO4, poi modifica con riscrittura della riga corrente della TABELLA2

Lettura della riga corrente della TABELLA3. Assegnazione di CAMPO5, poi modifica tramite riscrittura della TABELLA3

In ogni caso, uno sviluppatore potrà visualizzare il programma generato dalla validazione. Il suo nome è definito dal codice della transazione, prefissato dai caratteri WMAMI.

Messaggi di errore

Oltre ai messaggi generici, i seguenti messaggi d'errore possono apparire al momento dell'inserimento :

Lunghezza errata

La lunghezza di una variabile è controllata in funzione del proprio tipo.

Tipo

Lunghezza massima

Descrizione

 30

Intero breve

 4

Intero lungo

 8

Caratteri

 250

Date

4, 6 o 8 (lunghezza autorizzata)

Decimale

32 (per la parte intera e decimale)

Numero Menù locale errato

Il numero indicato corrisponde ad un capitolo di messaggi e non ad un menù locale.

Menù locale non definito

Il numero indicato non corrisponde ad un menù locale esistente.

Valore errato

Non si può aggiornare una tabella non definita in qualità di tabella principale o tabella collegata nella scheda transazione.

Campo inesistente

Il campo deve esistere nel dizionario della tabella precisata su questa stessa riga.

Indice errato

La dimensione espressa per questo campo non deve eccedere quella definito in questo stesso campo nel dizionario della tabella.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione