Data Language One: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Luckas-bot (discussione | contributi)
FixBot (discussione | contributi)
m Bot: sostituisco l'entitità '—' con '—'
Riga 3:
Viene implementato da un qualunque linguaggio di programmazione chiamando uno stub software, DFSLI000. Questo stub possiede delle interfacce per la gestione di svariati linguaggi di programmazione, ad esempio la chiamata CBLTDLI di un programma scritto in [[COBOL]]. Questo stub viene linkato al programma chiamante, passa la richiesta al sistema IMS e restituisce il risultato ed un codice di stato.
 
In qualunque database IMS, il più piccolo dato prelevabile è un ''segmento''. Ogni segmento è costituito da ''campi'', ognuno dei quali, tipicamente sarà una chiave. I segmenti sono disposti all'interno del database in una gerarchia, alla cima della quale si trova un segmento "radice". In ogni database sono consentiti 255 tipi diversi di segmento, su un massimo di 15 livelli. Un ''record'' di un database consiste in uno specifico segmento radice con tutti i segmenti figli da esso dipendenti — e non c'è alcun limite al numero dei segmenti che compongono un record in un database (escluse quelli fisici dello spazio di memorizzazione).
 
La struttura di un database viene presentata ad un programma applicativo come un ''PCB'' (Program Control Block, blocco di controllo del programma), che viene usato come uno dei [[parametro|parametri]] passati allo stub. Altri tipi di PCB vengono utilizzati per inviare e ricevere messaggi riguardanti una [[Transazione (database)|transazione]], per aver accesso e scrivere sul [[Monitor (video)|monitor]] dell'utente, per stampare report, ed altro ancora.
Riga 9:
Quando detto programma ha accesso ad un segmento del database viene utilizzato come parametro anche un ''SSA'' (Segment Search Argument, argomento di ricerca del segmento), in modo da specificare quali segmenti sono necessari. Usualmente, un SSA contiene il tipo di segmento richiesto, e il contenuto di una qualunque chiave.
 
Il primo parametro di una chiamata è ''Function Code'' — un campo di quattro caratteri, ad esempio: "GU  ” (Get Unique, preleva valore univoco), “GN  ” (Get Next, preleva il valore successivo), “REPL” (Replace, sostituisci), ed “ISRT” (Insert, inserisci).
 
Una tipica chiamata di un programma COBOL Potrebbe essere CALL “CBLTDLI” USING GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA. Il programma attenderebbe quindi automaticamente finché il dato richiesto non venga restituito, e posto nella Segment Area. Il codice di stato contenuto all'interno del PCB verrebbe aggiornato con caratteri segnaposto (se tutto è andato bene) o con qualche codice d'errore o messaggio informativo.