OP
La specifica '@OP apre un file ed è preliminare ad ogni operazione di accesso al medesimo. Ad ogni file è associato un canale che identifica il file e la chiave, nel caso di file ad indice, cui fare riferimento all'interno del programma. All'interno di un programma BC è possibile utilizzare un massimo di 100 canali e 9 chiavi per file: per identificare le chiavi si assume che la chiave 0 sia la chiave primaria, la chiave 1 la prima chiave secondaria e così via. Si considera chiave primaria la prima chiave definita nel file di definizione del tracciato record; le chiavi secondarie sono, in ordine, tutte le altre. Se un file ad indice prevede più chiavi, deve essere definita una specifica '@OP per ognuna delle chiavi che si intendono utilizzare nel programma, definendo comunque sempre lo stesso canale (si tenga presente che la open del file viene eseguita solo la prima volta, mentre la definizione delle chiavi non esegue alcuna open fisica del file ma serve solo per definire delle viste logiche). Esistono due modalità di apertura del file:
- '@OP: apertura normale di una tabella.
- '@OPZ: apertura di una tabella; se la tabella esiste vengono eliminati tutti i record presenti in essa mentre se non esiste viene creato. Viene utilizzata qualora si abbia la necessità di avere una tabella vuota prima di iniziare un'elaborazione, evitando di eseguire la cancellazione e la conseguente creazione della tabella e ottimizzando quindi i tempi per la creazione e l'apertura del file. Se la tabella oggetto della '@OPZ ha al suo interno un tipo record R1, questo deve essere esplicitamente creato dal programma dopo l'esecuzione della specifica. Le specifiche '@OP\'@OPZ possono essere utilizzate indistintamente per l'apertura di file ad accesso diretto o di file ad indice. Nel caso di apertura di file ad accesso diretto deve sempre essere indicato il numero di chiave 0. Un caso particolare di Open è l'apertura di un file sul quale è stata eseguita una operazione di Sort (vedete '@STF, '@STO o '@STR). Dopo l'esecuzione delle operazioni di Sort, viene creato un file di indirizzi, che serve per leggere i dati ordinati (per una documentazione sul nome di tale file, vedete specifica '@STF). Prima di eseguire la lettura del file sul quale è stato eseguito il Sort, necessario aprire sia tale file che il file contenente gli indirizzi. Si deve quindi indicare, nella Open del file sortato, il numero di canale del file di indirizzi e in seguito aprire tale file con il numero di canale indicato, come mostrato nell'esempio sotto riportato: