Where allowed to run:
|
Parameters Examples Error messages |
https://www.neroni.it/NERONI2/JRTVFD.NERONI2.HTML
Recupera in apposite variabili alcune caratteristiche di un file di database.
A simiglianza del nativo RTVMBRD "Retrieve Member Description", tutte le variabili di ritorno sono facoltative e l'assenza delle altre variabili non pregiudica il recupero di quelle cercate.
Il recupero delle informazioni avviene tramite le API di sistema a cio' delegate. In particolare la QDBRTVFD "Retrieve Database File Description" reperibile al link www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/qdbrtvfd.htm
Il comando recupera un sottoinsieme arbitrario dei campi messi a disposizione dall'API ed e' stato implementato nel tempo secondo le necessita' dei tool e degli applicativi che ne usufruivano.
L'emersione di altri parametri previsti dall'API ma non ancora dal comando e' possibile con relativa facilita' in facsimile di parametri gia' presenti.
Il comando si e' reso necessario in luogo del nativo RTVMBRD quando il file esaminato non contiene membri e per i valori non altrimenti previsti.
Top |
Keyword | Description | Choices | Notes |
---|---|---|---|
FILE | File | Name | Required, Positional 1 |
LIB | Library | Character value, *LIBL, *CURLIB, *USRLIBL | Optional, Positional 2 |
ERROR | Error in retrieving *LGL | Logical value | Optional, Positional 3 |
RTNFILE | Return file 10 | Character value | Optional, Positional 4 |
RTNLIB | Return library 10 | Character value | Optional, Positional 5 |
MAXRCDLEN | Maximum record length 5,0 | Decimal number | Optional, Positional 6 |
NBRRCDFMT | Nbr of record format 4,0 | Decimal number | Optional, Positional 7 |
ACCPTHTYP | Access path type 2 | Character value | Optional, Positional 8 |
INLRCDS | Initial number of records 10,0 | Decimal number | Optional, Positional 9 |
INCRCDS | Increment nbr of records 5,0 | Decimal number | Optional, Positional 10 |
MAXINCS | Maximum nbr of increments 5,0 | Decimal number | Optional, Positional 11 |
FILETYPE | File type (*DATA *SRC) 5 | Character value | Optional, Positional 12 |
MBRSNBR | Current members number 5,0 | Decimal number | Optional, Positional 13 |
LVLCHK | Level id for levelcheck 13 | Character value | Optional, Positional 14 |
FILEATR | File attribute (*PF *LF) 3 | Character value | Optional, Positional 15 |
LVLCHKON | Level check on (Y N) 1 | Character value | Optional, Positional 16 |
MAXMBRS | Maximum members 5,0 | Decimal number | Optional, Positional 17 |
JRNNAM | Journal name 10 | Character value | Optional, Positional 18 |
JRNLIB | Journal library 10 | Character value | Optional, Positional 19 |
IMAGES | Journal record images 10 | Character value | Optional, Positional 20 |
OMTJRNE | Journal entries omitted 10 | Character value | Optional, Positional 21 |
STARTDATE | Journal start date/time 13 | Character value | Optional, Positional 22 |
ACTIVE | Journal active (Y N) 1 | Character value | Optional, Positional 23 |
SQLTABLE | SQL table (Y N) 1 | Character value | Optional, Positional 24 |
SQLMQT | SQL mqt (Y N) 1 | Character value | Optional, Positional 25 |
SQLVIEW | SQL view (Y N) 1 | Character value | Optional, Positional 26 |
SQLINDEX | SQL index (Y N) 1 | Character value | Optional, Positional 27 |
TRGNBR | Triggers number 5,0 | Decimal number | Optional, Positional 28 |
RCDFMT | First record format name 10 | Character value | Optional, Positional 29 |
Top |
Il nome individua il file di database del quale si cercano le caratteristiche.
Il valore e' obbligatorio.
Valori permessi:
Top |
Il nome individua la libreria del file di database del quale si cercano le caratteristiche.
Valori permessi:
Valori speciali:
Top |
Variabile di ritorno facoltativa di tipo logico o di un carattere adatta a contenere il flag di avvenuto errore durante il recupero delle informazioni dal file tramite l'API.
Valori permessi:
Valori restituiti:
Gli altri dati recuperati sono validi ed utilizzabili.
Nessun altro dato recuperato e' valido.
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere il nome del file indagato come restituito dall'API.
Contiene il nome effettivo del file indagato che potrebbe essere diverso da quello richiesto solo se l'API venisse chiamata con il flag di reindirizzamento acceso. Attualmente la chiamata imposta il flag a spento, quindi il nome restituito e' identico a quello cercato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere il nome della libreria del file indagato come restituito dall'API.
Contiene il nome effettivo della libreria del file indagato dopo la risoluzione dei valori speciali *LIBL, *CURLIB, *USRLIBL con il nome della libreria effettiva.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 cifre 0 decimali adatta a contenere la massima lunghezza record tra i record contenuti nel file indagato.
Nome del campo al link ibm sull'API: Qdbfmxrl
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 4 cifre 0 decimali adatta a contenere il numero di formati record contenuti nel file indagato.
Nome del campo al link ibm sull'API: Qdbffmtnum
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 2 caratteri adatta a contenere il tipo di sentiero di accesso del file indagato.
Nome del campo al link ibm sull'API: Qdbfpact
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 cifre 0 decimali adatta a contenere il numero iniziale di record disponibili nel file indagato.
Nome del campo al link ibm sull'API: Qdbfprnum
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 cifre 0 decimali adatta a contenere il numero di record aggiunti ad ogni incremento alla disponibilita' nel file indagato.
Nome del campo al link ibm sull'API: Qdbfpri
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 cifre 0 decimali adatta a contenere il numero massimo di incrementi applicabili alla disponibilita' del file indagato.
Nome del campo al link ibm sull'API: Qdbfprinum
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 caratteri adatta a contenere il tipo file del file indagato.
Nome del bit al link ibm sull'API: Qdbfhfsu
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 cifre 0 decimali adatta a contenere il numero corrente di membri presenti nel file indagato.
Nome del campo al link ibm sull'API: Qdbfhmnum
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 13 caratteri adatta a contenere l'identificatore di livello del file indagato.
Nome del campo al link ibm sull'API: Qddfseq
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 3 caratteri adatta a contenere l'attibuto del file indagato.
Nome del bit al link ibm sull'API: Qdbfhfpl
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 1 carattere adatta a contenere il consenso al controllo automatico del livello del file indagato.
Nome del bit al link ibm sull'API: Qdbfhflc
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 cifre 0 decimali adatta a contenere il massimo numero di membri permesso nel file indagato.
Nome del campo al link ibm sull'API: Qdbfhmxm
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere il nome del giornale ultimo collegato al file indagato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere il nome della libreria del giornale ultimo collegato al file indagato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere la scelta di quali immagini del record vengono inserite nel giornale per il file indagato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere la scelta di quali entrate vengono omesse dal giornale per il file indagato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 13 caratteri adatta a contenere la data e ora di collegamento al giornale del file indagato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 1 carattere adatta a contenere il flag di giornale attivo sul file indagato.
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 1 carattere adatta a contenere il flag di tabella SQL relativo al file indagato.
Nome del bit al link ibm sull'API: Qdbfsqlt
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 1 carattere adatta a contenere il flag di materialized query table relativo al file indagato.
Nome del bit al link ibm sull'API: Qdbfmqt
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 1 carattere adatta a contenere il flag di vista SQL relativo al file indagato.
Nome del bit al link ibm sull'API: Qdbfsqlv
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 1 carattere adatta a contenere il flag di indice SQL relativo al file indagato.
Nome del bit al link ibm sull'API: Qdbfsqli
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 5 cifre 0 decimali adatta a contenere il numero di trigger presenti sul file indagato.
Nome del campo al link ibm sull'API: Qdbfltrgn
Valori permessi:
Valori restituiti:
Top |
Variabile di ritorno facoltativa di 10 caratteri adatta a contenere il nome del primo formato record nel file indagato.
Valori permessi:
Valori restituiti:
Top |
Esempio 1: Stralcio del programma di test che fa uso del comando JRTVFD
Il programma JRTVFDIC e' il command processing program del comando dimostrativo JRTVFDI, eseguibile interattivamente e presente tra i sorgenti del tool nella sua forma completa.
Il programma contiene un esempio di chiamata del comando JRTVFD con l'uso di tutti i parametri previsti e genera un messaggio estemporaneo di evidenziazione di tutti i valori recuperabili da un qualunque file di database.
PGM PARM(&FILE &LIB) /* Riceve file e libreria di cui recuperare informazioni. */ DCL VAR(&FILE) TYPE(*CHAR) LEN(10) DCL VAR(&LIB) TYPE(*CHAR) LEN(10) /* Dati messaggi. */ DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(1024) /* Dati di ritorno dal comando JRTVFD Retrieve file desc. */ /* Con redifinizione dei campi numerici per dati messaggi.*/ DCL VAR(&ERROR) TYPE(*LGL) DCL VAR(&ERRORC) TYPE(*CHAR) LEN(6) DCL VAR(&RTNFILE) TYPE(*CHAR) LEN(10) DCL VAR(&RTNLIB) TYPE(*CHAR) LEN(10) DCL VAR(&MAXRCDLEN) TYPE(*DEC) LEN(5 0) DCL VAR(&MAXRCDLENC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&MAXRCDLEN) DCL VAR(&NBRRCDFMT) TYPE(*DEC) LEN(4 0) DCL VAR(&NBRRCDFMTC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&NBRRCDFMT) DCL VAR(&ACCPTHTYP) TYPE(*CHAR) LEN(2) DCL VAR(&INLRCDS) TYPE(*DEC) LEN(10 0) DCL VAR(&INLRCDSC) TYPE(*CHAR) STG(*DEFINED) + LEN(6) DEFVAR(&INLRCDS) DCL VAR(&INCRCDS) TYPE(*DEC) LEN(5 0) DCL VAR(&INCRCDSC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&INCRCDS) DCL VAR(&MAXINCS) TYPE(*DEC) LEN(5 0) DCL VAR(&MAXINCSC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&MAXINCS) DCL VAR(&FILETYPE) TYPE(*CHAR) LEN(5) DCL VAR(&MBRSNBR) TYPE(*DEC) LEN(5 0) DCL VAR(&MBRSNBRC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&MBRSNBR) DCL VAR(&LVLCHK) TYPE(*CHAR) LEN(13) DCL VAR(&FILEATR) TYPE(*CHAR) LEN(3) DCL VAR(&LVLCHKON) TYPE(*CHAR) LEN(1) DCL VAR(&MAXMBRS) TYPE(*DEC) LEN(5 0) DCL VAR(&MAXMBRSC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&MAXMBRS) DCL VAR(&JRNNAM) TYPE(*CHAR) LEN(10) DCL VAR(&JRNLIB) TYPE(*CHAR) LEN(10) DCL VAR(&IMAGES) TYPE(*CHAR) LEN(10) DCL VAR(&OMTJRNE) TYPE(*CHAR) LEN(10) DCL VAR(&STARTDATE) TYPE(*CHAR) LEN(13) DCL VAR(&ACTIVE) TYPE(*CHAR) LEN(1) DCL VAR(&SQLTABLE) TYPE(*CHAR) LEN(1) DCL VAR(&SQLMQT) TYPE(*CHAR) LEN(1) DCL VAR(&SQLVIEW) TYPE(*CHAR) LEN(1) DCL VAR(&SQLINDEX) TYPE(*CHAR) LEN(1) DCL VAR(&TRGNBR) TYPE(*DEC) LEN(5 0) DCL VAR(&TRGNBRC) TYPE(*CHAR) STG(*DEFINED) + LEN(3) DEFVAR(&TRGNBR) DCL VAR(&RCDFMT) TYPE(*CHAR) LEN(10) /* Chiama il comando JRTVFD Retrieve file description. */ JRTVFD FILE(&FILE) LIB(&LIB) ERROR(&ERROR) + RTNFILE(&RTNFILE) RTNLIB(&RTNLIB) + MAXRCDLEN(&MAXRCDLEN) + NBRRCDFMT(&NBRRCDFMT) + ACCPTHTYP(&ACCPTHTYP) INLRCDS(&INLRCDS) + INCRCDS(&INCRCDS) MAXINCS(&MAXINCS) + FILETYPE(&FILETYPE) MBRSNBR(&MBRSNBR) + LVLCHK(&LVLCHK) FILEATR(&FILEATR) + LVLCHKON(&LVLCHKON) MAXMBRS(&MAXMBRS) + JRNNAM(&JRNNAM) JRNLIB(&JRNLIB) + IMAGES(&IMAGES) OMTJRNE(&OMTJRNE) + STARTDATE(&STARTDATE) ACTIVE(&ACTIVE) + SQLTABLE(&SQLTABLE) SQLMQT(&SQLMQT) + SQLVIEW(&SQLVIEW) SQLINDEX(&SQLINDEX) + TRGNBR(&TRGNBR) RCDFMT(&RCDFMT) /* Edit dei campi logici. */ IF COND(&ERROR) THEN(CHGVAR VAR(&ERRORC) + VALUE(*WRONG)) ELSE CMD(CHGVAR VAR(&ERRORC) VALUE(*RIGHT)) /* Messaggia il risultato. */ CHGVAR VAR(&MSGDTA) VALUE(&LIB *CAT &FILE *CAT + &ERRORC *CAT &RTNLIB *CAT &RTNFILE *CAT + &MAXRCDLENC *CAT &NBRRCDFMTC *CAT + &ACCPTHTYP *CAT &INLRCDSC *CAT &INCRCDSC + *CAT &MAXINCSC *CAT &FILETYPE *CAT + &MBRSNBRC *CAT &LVLCHK *CAT &FILEATR *CAT + &LVLCHKON *CAT &MAXMBRSC *CAT &JRNNAM + *CAT &JRNLIB *CAT &IMAGES *CAT &OMTJRNE + *CAT &STARTDATE *CAT &ACTIVE *CAT + &SQLTABLE *CAT &SQLMQT *CAT &SQLVIEW *CAT + &SQLINDEX *CAT &TRGNBRC *CAT &RCDFMT) SNDPGMMSG MSGID(JFD0201) MSGF(JRTVFD) MSGDTA(&MSGDTA) + MSGTYPE(*COMP) ENDPGM /*--------------------------------------------------------*/
Esempio 2: Chiamata da un RPGLE dell'interfaccia verso l'API usata dal comando JRTVFD senza l'uso del comando stesso
Il programma JAIRFD e' il programma usato dal tool per accedere all'API QDBRTVFD.
L'API restituisce una montagna di parametri ma il programma JAIRFD ne estrapola solo quelli che mi sono stati necessari in altri tool.
JAIRFD puo' essere chiamato anche direttamente con un numero di parametri inferiore ai 27 attualmente previsti perche' i parametri oltre il piu' elevato non vengono usati se non vengono ricevuti.
Le specifiche necessarie alla chiamata completa di JAIRFD si possono trovare nel sorgente JAIRFDS nel file JAI e sono riportate in forma compressa qui di seguito.
*---------------------------------------------------------- * Chiama Api interface for RtvFileDesc * Buttare i parametri oltre l'ultimo che e' necessario * recuperare. * La libreria cercata puo' essere *LIBL e restituisce * libreria effettiva. *---------------------------------------------------------- C call 'JAIRFD' 50 C parm 'FILE' PPFIL 10 1 U File C parm 'LIBRARY' PPLIB 10 2 U Library C *in50 parm PPERR 1 3 O ReturnErrorFlag C parm PPMRL 5 0 4 O MaxRcdLen C parm PPNRF 4 0 5 O NbrOfRcdFmt C parm PPAPT 2 6 O AccPathTyp C parm PPINL 10 0 7 O InlNbrOfRcds C parm PPINC 5 0 8 O IncNbrOfRcds C parm PPMAX 5 0 9 O MaxNbrOfIncs C parm PPFTY 5 10 O FileType C parm PPNRM 5 0 11 O NbrOfMbrs C parm PPLVL 13 12 O LevelCheck C parm PPFAT 3 13 O FileAttribute C parm PPLVC 1 14 O RcdFmtLvlChk C parm PPMXM 5 0 15 O MaxMbrs C parm PPJNM 10 16 O Jrn Name C parm PPJLB 10 17 O Jrn Library C parm PPJIM 10 18 O Jrn Images C parm PPJOE 10 19 O Jrn OmtJrnE C parm PPJDT 13 20 O Jrn StartDate C parm PPJAC 1 21 O Jrn Option C parm PPTAB 1 22 O SQL TABLE ind C parm PPMQT 1 23 O SQL MQT ind C parm PPVIE 1 24 O SQL VIEW ind C parm PPIDX 1 25 O SQL INDEX ind C parm PPTRN 5 0 26 O Nbr of triggers C parm PPRFN 10 27 O Rcd format name *----------------------------------------------------------
Top |
Nessun messaggio previsto. In caso di errore il comando restituisce soltanto la variabile del parametro ERROR in on.
Top |