ADELIA |
VADELIA |
SADELIA |
WADELIA |
MADELIA |
(I/B) |
(I/B) (S) |
(B) (S) |
(I/B) (S) |
(I) (S) |
Paragraphe d'utilisation
Tous
Syntaxe
LIRE_AVANT NomVue Option Paramètre
Option |
→ |
*UNLCK | Rien |
Paramètre |
→ |
*NON_RG | *RG | Rien |
Description
Cet ordre correspond à une lecture de l'enregistrement suivant dans le chemin d'accès du fichier lié à la vue NomVue.
Il est possible de tester si la lecture a abouti par une instruction du type :
|
SI NomVue EXISTE |
ou |
SI NomVue N_EXISTE_PAS. |
Si la lecture n'aboutit pas, le système ne lit aucun enregistrement et la valeur des zones du fichier n'est pas changée.
N_EXISTE_PAS est VRAI si la fin du fichier est atteint.
Il est également possible de s'assurer que l'enregistrement n'est pas verrouillé, en le testant à l'aide du mot réservé *BLOQUE :
|
L'enregistrement est verrouillé. |
|
L'enregistrement n'est pas verrouillé. |
Par défaut, un enregistrement de fichier est verrouillé après lecture si la vue NomVue de ce fichier est déclarée en mise à jour et que le mot réservé *UNLCK n'est pas utilisé.
Voir également l'ordre LIBERER qui permet de libérer un enregistrement de fichier.
Si *UNLCK est indiqué, la lecture ne verrouille pas l'enregistrement. Ce paramètre, utilisé sur un fichier ouvert en mise à jour, permet d'avoir le même effet que s'il avait été déclaré en lecture seule.
Le paramètre *RG permet de générer les règles de gestion implicites de lecture liées à l'entité correspondant à la vue, même si le programme est généré sans l'option de génération des règles de gestion implicites.
Le paramètre *NON_RG permet de ne pas générer les règles de gestion implicites de lecture liées à l'entité correspondant à la vue, même si le programme est généré avec l'option de génération des règles de gestion implicites.
Par exemple
Le fichier VENTES a pour clés : code client et numéro de ligne.
La vue VENTES est utilisée avec W_CODE_CLIENT seulement comme clé d'accès.
CODE_CLI_VTES |
NUM_LIGNE_VTES |
0002 |
01 |
0002 |
02 |
0002 |
03 |
0002 |
04 |
0006 |
01 |
0006 |
02 |
0011 |
01 |
W_CODE_CLIENT = '0006'
POSITIONNER_AV VENTES
* Le pointeur sera positionné avant l'enregistrement client 0006, ligne 01
*
SI VENTES EXISTE
LIRE_AVANT VENTES
TANT_QUE VENTES EXISTE
IMPRIMER DETAIL_VENTES
LIRE_AVANT VENTES
* tous les enregistrements seront lus jusqu'à la fin du fichier
REFAIRE
SINON
EDITER FMT_ZERO_VENTE
FIN