At line 1 added 263 lines |
%%(display:none) |
{{{ |
WikiUp |
}}} |
/% |
[{TableOfContents }]\\ |
!!! Definizione\\ |
La tabella è contenuta in archivi tabelle, TABEL0P, TABEL0I, ecc..., a loro volta suddivisi in settori.\\ |
Ogni settore è costituito da una definizione e da eventuali sottosettori, ognuno dei quali offre un numero libero di elementi.\\ |
Il sottosettore di una tabella è un sottogruppo della stessa (es.: ogni sottosettore rappresenta un capitolo particolare della tabella, dedicato a particolari gestioni) e gli elementi in esso hanno la medesima struttura del settore di appartenenza.\\ |
La definizione delle tabelle si realizza attraverso il programma di gestione delle tabelle__ B£DT10 __(UP DEF), che consente di definire interattivamente il settore e i sottosettori presenti.\\ |
\\ |
!! Settore\\ |
Per ogni Settore si definiscono:\\ |
* __Codice del Settore__ (3 caratteri), ossia il codice della tabella;\\ |
\\ |
* __Descrizione della tabella__;\\ |
\\ |
* __Programma di Ricerca__ (si indica qualora si voglia attivare una particolare ricerca sui campi legati alle tabelle. Viene attivato quando nel campo di ricerca si immette il prefisso /, mentre i caratteri a seguire possono essere utilizzati dall'utente come condizionamento);\\ |
\\ |
* __Condizionamento ricerca__ (si possono inserire dei parametri di condizionamento utilizzati dal programma di ricerca, se inserito);\\ |
\\ |
* __Funzione per autorizzazioni__ (la tabella può essere sottoposta ad autorizzazioni a livello di settore, sottosettore e singolo elemento);\\ |
\\ |
* __Cartella per Help__: definisce un nome di sottocartella interna alla cartella smehlp dove la tabella viene descritta;\\ |
\\ |
* __Applicazione Specifica__ (permette di indicare la sigla specifica dell'applicazione cui la tabella appartiene);\\ |
\\ |
* __Archivio di Appartenenza__ (identifica l'archivio tabelle a cui appartiene il settore inteso come insieme dei suoi elementi);\\ |
\\ |
* __Programma di Controllo__ (previsto per le tabelle particolarmente complesse caratterizzate da una gestione con un programma specifico). Tale programma deve esistere al momento della codifica del settore (es.: per la tabella OLG di gestione degli orari di lavoro ci deve essere un programma che controlli che la somma degli intervalli di lavoro sia inferiore a 24 h);\\ |
\\ |
* __Tabella a elemento Fisso__ (le tabelle particolari devono avere un solo elemento, per ottenere il quale è necessario inserire * in questo campo, indicante il relativo codice identificativo **;\\ |
\\ |
* __Gestione subsettore__: permette di impostare in sede di definizione tabella se questa sarà una tabella forzatamente con sottosettori oppure forzatamente senza oppure a discrezione utente;\\ |
\\ |
* __Oggetto in subsettore__ (può essere libero, o il codice azienda o il codice nazione);\\ |
\\ |
* __Risalita al subsettore__ (definisce le modalità di risalita quando il sottosettore richiesto è assente).\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_03.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
! Dettagli sul significato di alcuni campi\\ |
__Gestione subsettore__\\ |
Questo campo, come detto precedentemente, consente di impostare eventuali risalite sul sottosettore.\\ |
Questi i valori possibili:\\ |
\\ |
__1__ (Assume il bianco)\\ |
Qualunque settore venga indicato viene ignorato e viene usato il sottosettore blank.\\ |
\\ |
__2__ (Al bianco se manca o deviazione)\\ |
Se viene indicato un sottosettore inesistente, viene usato quello blank o quello di devizione (se impostato)\\ |
Se viene indicato un sottosettore esistebnte, viene usato quello.\\ |
Se viene indicato il sottosettore blank, viene usato quello deviato (se impostato)\\ |
\\ |
__3__ (Risale oggetto, se passo bianco)\\ |
Se viene indicato un sottosettore, viene usato quello (indipendentemente dall'esistenza del sottosettore e dell'aventuale impostazione dell'oggetto del sottosettore)\\ |
Se viene indicato sottosettore blank, viene usato l'oggetto impostato (campo "Oggetto in subsettore") se esiste\\ |
\\ |
__4__ (Assume oggetto, se manca bianco)\\ |
Se viene indicato sottosettore blank, viene usato l'oggetto impostato (se impostato e se esiste)\\ |
Se viene indicato un sottosettore inesistente, viene usato l'oggetto impostato (se impostato e se esiste)\\ |
Se viene indicato un sottosettore esistente, viene usato quello.\\ |
\\ |
__blank __(Non risale )\\ |
Non viene effettuata nessuna risalita\\ |
\\ |
!! Campi (Tracciato del Settore)\\ |
Per definire i campi della tabella si devono impostare per ogni campo:\\ |
* __Nome__ (per definizione il nome campo viene codificato con__ T$tabx__, dove __tab__ è il codice della tabella e __x__ è un progressivo alfanumerico dei campi della tabella. Una volta definito, il campo può essere ricercato nel dizionario dei campi con il carattere di richiesta dettaglio "!", "?");\\ |
\\ |
* __Intestazione__ (descrizione del campo);\\ |
\\ |
* __Tipo e Parametro__ (per definire se il campo può essere uno degli oggetti Sme.up);\\ |
\\ |
* __Lunghezza - Decimali__ (caratteristiche del campo);\\ |
\\ |
* __Obbligatorio - Non Controllare__ (per indicare se il campo è obbligatorio o se non deve essere eseguito il controllo di validità quando è riferito ad un oggetto);\\ |
\\ |
* __Annullare__ (si usa in caso di manutenzione di una tabella successivamente al suo utilizzo, qualora si voglia eliminare un campo dalla gestione).\\ |
In questi casi, poiché la tabella è in uso, non è possibile ridefinire il tracciato record e, anche annullando un campo, è necessario tenere fisse le posizioni di tutti gli altri.\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_04.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
!! Sottosettori\\ |
La struttura (tracciato) è quella del settore di appartenenza e sono richieste soltanto la definizione del Codice del Sottosettore (2 caratteri) e la Descrizione, che permettono di identificare il sottosettore univocamente.\\ |
\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_05.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
!! Note Strutturate (vedi Documento Note Strutturate)\\ |
* __Definizione Settore__ (nel contenitore __B£S__ vengono inserite le note relative al settore);\\ |
* __Campo__ (nel contenitore __B£C__ vengono inserite le note relative al campo);\\ |
* __Elemento__ (nel contenitore __B£E__ vengono inserite le note relative all'elemento).\\ |
\\ |
!!! Impostazioni (assegnazione dei settori)\\ |
!! Creazione /COPY\\ |
Dopo la creazione della tabella, deve essere definito il codice RPG (mediante l'opzione 14) per permettere la mappatura del tracciato ai programmi.\\ |
L'utente deve indicare la libreria, il file e il nome della /copy della tabella da richiamare all'interno dei programmi.\\ |
\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_06.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
!! Gestione dei Campi di un Settore\\ |
__1) Ricerca nel Dizionario dei Campi__\\ |
È attivabile una ricerca alfabetica, digitando il carattere "!","?" nel nome del campo.\\ |
\\ |
__2) Tipologia__\\ |
Indica la natura del campo e viene ricercata nella tabella __*cn/tt__.\\ |
Ad un campo può essere associato qualsiasi oggetto: un fornitore, un cliente, una tabella, un numero, un oggetto dell'as/400, ecc...\\ |
Si noti che il tipo di campo è :\\ |
* __Numerico__, quando è indicato con NR oppure se implicitamente previsto dal tipo stesso;\\ |
* __Oggetto__, quando è indicato con OJ (il tipo oggetto deve essere indicato nel campo 3 dei vincoli/limiti);\\ |
* __Elemento del DataBase__, se il campo è /C;\\ |
* __/V__, quando individua intestazioni esplicative della videata del pgm di gestione elementi tabelle. La sequenza di tali campi deve essere maggiore o uguale a 9000;\\ |
* __V1__ o __V2__, quando si tratta di campi particolari, aventi valori fissi, standard o di Sme.up (es.: partita IVA, codice fiscale, ecc...).\\ |
__3) Azioni sulla riga del Campo__\\ |
\\ |
||C||Azione |
|X | Esplode la riga in dettaglio\\ |
|B | Azzera tutte le posizioni a video dei campi partendo dal campo su cui è digitata sino al successivo con scelta F escluso\\ |
|C | Identifica, durante la funzione di posizionamento automatico, la riga di riferimento l'incolonnamento.\\ |
|F | Cessa l'azione delle scelte funzionali B e C\\ |
\\ |
__4) Filler__\\ |
Indica quanti caratteri liberi devono separare l'ultima posizione dell'ultimo campo di cui è stata calcolata la posizione sul database dalla prima posizione del campo attuale.\\ |
\\ |
__5) Valori/limiti__\\ |
È permesso indicare i valori o i limiti assumibili dai campi (per descrivere i parametri necessari ad individuare un oggetto o un membro di un file).\\ |
Le funzioni concesse sono:\\ |
* __V __ (il pgm gestione tabelle controllerà che il valore del campo, se inserito, corrisponda a uno dei quattro valori ammessi);\\ |
* __L__ (il pgm gestione tabelle controllerà che il valore del campo, se inserito, sia compreso tra un limite inferiore e il corrispondente superiore);\\ |
* __OJ__ (il terzo campo indica il tipo di oggetto e il quarto definisce la libreria in cui esso si deve trovare);\\ |
* __MB__ (il terzo campo indica il file fisico nel quale il membro deve essere contenuto e il quarto la libreria in cui tale oggetto si deve trovare).\\ |
__6) Prova schermo (F9)__\\ |
Dalla videata globale o da quella di dettaglio è possibile richiedere la presente funzione. Sono elaborati in ordine di sequenza tutti i campi che abbiano indicate le posizioni video per l'intestazione o per il campo o per la decodifica.\\ |
Sono esclusi i campi:\\ |
* tipo /C\\ |
* nome T$ELEM\\ |
__7) Costruzione formato video (F6)__\\ |
Il tasto funzionale F6 consente di attribuire valori automatici in lunghezza e posizione video ai campi che presentano le seguenti caratteristiche:\\ |
* non sono campi di tipo "/C"\\ |
* non sono campi di tipo "/V"\\ |
* non hanno il nome T$ELEM\\ |
\\ |
!! Suggerimenti\\ |
# __/Copy__\\ |
Nel caso si personalizzi una tabella da un cliente, la /Copy deve essere creata con il prefisso "£TAB" nel file QRPGGEN della libreria di personalizzazione PER-XX.\\ |
# __Campi__\\ |
Mettendo !AR verrà effettuata una ricerca nel dizionario dei campi e verranno visualizzati solamente quei campi che hanno un nome che inizia per AR. Quindi nel dizionario si trovano le informazioni sul campo, a che settore appartiene, la sua tipologia, ecc..\\ |
# __Filler__\\ |
Se si cancella un campo lungo 13 per evitare problemi nei programmi dove è usata la tabella, inserisco il valore 13 nel filler del campo successivo in modo che le posizioni dei campi nel database rimangano invariate.\\ |
\\ |
!! Gestione degli elementi\\ |
*__ Posizionamento/Scansione__: facendo un roll up/down si visualizzano gli elementi della tabella in ordine ascendente/discendente. Il posizionamento è effettuato sul primo elemento della tabella superiore/inferiore al codice elemento immesso a seconda che il roll sia up o down.\\ |
\\ |
* __Controlli specifici__: previsti per tabelle particolarmente complesse che necessitano di una gestione con un programma specifico. Tale programma viene selezionato al momento della definizione del settore.\\ |
\\ |
!!! Deviazione Tabelle\\ |
Questa modalità permette a Sme_up di leggere nativamente tabelle appartenenti ad altri gestionali come se fossero tabelle proprie (es. Sme_up può leggere la tabella Valute di PROJ come se fosse la propria tabella _8_VAL_n_)\\ |
Per deviare una tabella su un'altra si deve impostare, nella definizione della tabella da deviare, "**" come applicazione specifica.\\ |
\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_07.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
L'elemento della tabella "B£I" (con nome tabella da deviare) stabilisce la modalità della deviazione (tabella su cui devia, ambiente applicativo a cui appartiene la tabella):\\ |
\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_08.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
!!! Archivi\\ |
!! Archivi di definizione dei settori\\ |
Gli archivi di definizione possono stare in una libreria comune a diversi sistemi informativi poiché è normale che lo stesso settore non abbia due definizioni diverse sulla stessa macchina.\\ |
Abbiamo in particolare:\\ |
* __TABDS__ = Descrizione settori\\ |
\\ |
* __TABDC__ = Dettagli campi\\ |
\\ |
!! Archivi tabelle\\ |
Possono esistere più archivi contenenti le tabelle. Essi devono tutti iniziare con "TABEL" ed essere seguiti da un carattere specifico, che sarà sufficiente ad individuare completamente l'archivio interessato.\\ |
Abbiamo in particolare:\\ |
* __TABEL P__ (tabelle generali di Impostazione);\\ |
* __TABEL V __(tabelle valori fissi di Sme.up);\\ |
* __TABEL 0__ (tabelle base).\\ |
\\ |
!!! Autorizzazioni\\ |
Le autorizzazioni delle tabelle possono essere gestite in due modi :\\ |
__1.__ Autorizzazione alla Gestione, con la classe RITSM\\ |
\\ |
__2.__ Autorizzazione all'Utilizzo, con la classe STATI\\ |
\\ |
!! Autorizzazione alla Gestione\\ |
Le autorizzazioni per la gestione delle tabelle necessitano di altre due specifiche che sono:\\ |
__1.__ la "funzione di autorizzazione", che viene definita nella testata;\\ |
\\ |
__2.__ l'utente.\\ |
\\ |
La funzione di autorizzazione può assumere significati diversi in base alla protezione a livello di:\\ |
\\ |
__1) Gruppo di Settori__\\ |
Si attribuisce una unica funzione (libera) a tutti i settori che si vogliono raggruppare. L'autorizzazione viene gestita considerando il nome assegnato alla funzione stessa per identificarne il gruppo di appartenenza.\\ |
Si assume come funzione il nome stesso del settore. In mancanza di indicazioni diverse il sistema assume questo come livello.\\ |
\\ |
__3) Sottosettore__\\ |
Si attribuisce come il nome del settore seguito da due asterischi. Ciò indica al programma di rilevare la funzione di autorizzazione dai subsettori. Normalmente tutti i subsettori sono protetti dalla stessa funzione.\\ |
\\ |
__4) Elemento__\\ |
Si attribuisce come funzione il nome del settore seguito dal segno __-__. Tale azione può essereeseguita a livello di settore e di subsettore. Il sistema assumerà come funzione il valore precedentemente immesso seguito dall'elemento__ xxx-yyyyyy__.\\ |
\\ |
Esempio\\ |
# Tutti gli utenti possono eseguire sulle tabelle tutte le azioni, ad esclusione della cancellazione\\ |
# Le tabelle V5A, V5B e V5C sono raggruppate come VENDITE e modificabili solo dall'utente UTE003\\ |
# L'utente UTE016 può cancellare ciò che vuole\\ |
# Per la tabella __CRN__ solo l'utente UTE023 può eseguire l'inserimento\\ |
# Il sottosettore "CRNGA" può essere solo visualizzato\\ |
# L'elemento "FAT" della tabella __CRNVE__ può essere modificato solo da UTE020\\ |
# La tabella __CLS __non può essere gestita da nessuno\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_09.png' caption='' width='100%' style='max-width: 100%;'}]__Tabella A - Modalità di definizione delle tabelle__\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_10.png' caption='' width='100%' style='max-width: 100%;'}]__Tabella B - Autorizzazioni__\\ |
\\ |
!! Autorizzazioni all'Utilizzo\\ |
! Condizionamento sulla Ricerca\\ |
Quando nel campo programma di condizionamento è indicato il nome di un programma specifico, si condiziona la modalità operativa presentare all'utente il formato della ricerca.\\ |
Per il programma standard, cioè quando il campo precedente è blank, le eventuali caratteristiche di autorizzazione all'utilizzo degli elementi sono indicate nella tabella stessa.\\ |
\\ |
A tal fine, il valore da inserire dovrà avere la struttura __XX-nnn__, dove __XX__ indica la funzione della classe di protezione "STATI" e __nnn__ è la posizione iniziale del campo utilizzato come indicazione di stato dell'elemento della tabella.\\ |
In questo modo un elemento non autorizzato è, a tutti gli effetti, un elemento mancante (ad eccezione dei programmi dove, per le valutazioni di prestazioni, viene letto direttamente il record dal file).\\ |
Questo caso particolare nasce con lo scopo di aumentare la flessibilità di Sme.up nelle autorizzazioni (es.: autorizzare un gruppo di utenti a particolari azioni diverse da quelle generalmente assegnate). Il meccanismo permette di definire un livello di priorità da [1..99] per discriminare l'utente generico da quello appartenente al gruppo personalizzato, in modo che, se avrà un livello di priorità maggiore allo standard, gli verranno assegnate autorizzazioni diverse.\\ |
\\ |
Esempio\\ |
La tabella __GAR__ contiene un campo controllato dalla tabella B£WRA (tale campo inizia nella posizione 72) e, per attivare le autorizzazioni, è necessario:\\ |
# inserire il valore RA-072 sulla definizione della tabella;\\ |
# definire le autorizzazioni per la classe STATI e per la funzione RA, per tutti gli utenti o per uno specifico;\\ |
# indicare il riferimento alle Autorizzazioni\\ |
Per maggiori informazioni sulle Autorizzazioni, consultare le funzioni di base al relativo paragrafo.\\ |
\\ |
!!! Azioni di massa\\ |
Per azioni di massa si intendono tutte le variazioni applicabili in blocco, senza dover modificareil singolo elemento. Questa è una tipica funzionalità di Sme.up che permette, con una sola operazione, di modificare un numero illimitato di settori, sottosettori, elementi e data base.\\ |
\\ |
!! Copia / Aggiunta / Aggiornamento\\ |
Le funzioni di servizio permettono di lavorare sulle definizioni e/o sul contenuto dei singoli settori per:\\ |
* Spostare gli elementi di tabella\\ |
** da un file ad un altro file\\ |
** da una libreria all'altra\\ |
** da un settore ad un altro\\ |
* Spostare le definizioni tabelle da una libreria ad un'altra\\ |
* Creare un nuovo file\\ |
* Condizionare e Parzializzare in molteplici modi le azioni richieste, quindi richiedere la fasatura completa (allineamento) di tutti i settori compresi nei limiti\\ |
* Limitare l'azione alle sole definizioni, agli elementi di tabella oppure ad entrambi.\\ |
La scelta 5 permette di creare un nuovo file tabelle con tutte le sue vie di accesso.\\ |
Alcuni esempi di azioni possibili sono:\\ |
* Copiare la definizione completa di un settore XXX in un nuovo settore YYY;\\ |
* copiare tutti gli elementi di un settore da un sistema informativo ad un altro;\\ |
* cancellare tutti gli elementi di un settore;\\ |
* fasare due ambienti aggiungendo al secondo solo gli elementi nuovi inseriti nel primo.\\ |
\\ |
[{Image src='immagini/MBDOC-BXTABE_02/BX_TAB_11.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
!!! Funzioni\\ |
!! Tabelle di una applicazione\\ |
È possibile avere un elenco di tutte le tabelle presenti a livello di Applicazione o Applicazione/Modulo e per ogni tabella si possono ricercare gli elementi, aggiungerne di nuovi, interrogare la struttura, consultare la documentazione.\\ |
\\ |
!!! /COPY Tabelle SME.up\\ |
||Copy||Azione |
|__£LETSM__| Aggancia il record di un elemenuto di una tabella SME.up.\\ |
|__£RITSM__| Esegue il controllo e/o la validità/decodifica dell'elemenuto di una tabella SME.up, e su richiesta anche la ricerca alfabetica.\\ |
|__£RITES__| Esegue il controllo e/o la validità/decodifica dell'elemenuto di una tabella SME.up, e su richiesta anche la ricerca alfabetica.\\ |
|__£RITSS__| Esegue la ricerca alfabetica e/o il controllo validità/decodifica settori/sottosettori SME.up.\\ |
|__£RITCA__| Esegue la ricerca dei campi totale o di un settore.\\ |
\\ |