Téléchargement des produits


Version anglaise


 


ADELIA

VADELIA

SADELIA

WADELIA

EADELIA

(I/B)

(I/B) (S)

(B) (S)

(I/B) (S)

(B) (S)


Paragraphe d'utilisation 

Tous


Syntaxe

LIRE NomVue Option Paramètre


Option

*UNLCK | Rien

Paramètre

*NON_RG | *RG | Rien


Description

Cet ordre correspond à une lecture de fichier par clé ou par numéro de rang. Il sous-entend qu'une vue NomVue a été définie avec accès par clé (ou direct), et que la clé d'accès correspond à celle du fichier.


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.


Il est également possible de s'assurer que l'enregistrement n'est pas verrouillé, en le testant à l'aide du mot réservé *BLOQUE :

  • Si *BLOQUE = 1

L'enregistrement est verrouillé.

  • Si *BLOQUE = 0

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 et W_NUM_LIGNE comme clés 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'

W_NUM_LIGNE = '01'

LIRE VENTES

SI   VENTES N_EXISTE_PAS

PREPARER_MSG 0024 W_CODE_CLIENT

ERREUR

FIN

* Le pointeur est positionné dans le fichier sur client 0006, ligne 01

* L'enregistrement existe, donc le message 0024 n'est pas envoyé

*

W_CODE_CLIENT = '0006'

W_NUM_LIGNE = '03'

LIRE VENTES

SI   VENTES N_EXISTE_PAS

PREPARER_MSG 0024 W_CODE_CLIENT

ERREUR

FIN

* L'enregistrement n'existant pas, le message 0024 est envoyé.

*


Autre exemple d'utilisation


LIRE ENTCDE_DA

SI   ENTCDE_DA EXISTE

* test verrouillage

SI *BLOQUE = '1'

PW_COD_RET = 'BL'

SINON

PRESENTER ENTCDE_DA

LIRE CLIENT_DB

......

FIN

FIN


↑ Haut de page

  • Aucune étiquette