Téléchargement des produits


Version anglaise


 


ADELIA

VADELIA

SADELIA

WADELIA

EADELIA

(I/B)

(I/B) (S)

(B) (S)

(I/B) (S)

(B) (S)


Attention : dans le cas des programmes de type ADELIA, cet ordre est uniquement compatible avec le générateur RPG.


Paragraphe d'utilisation

Tous


Syntaxe

LIRE_SQL  SuiteEntités  SélectionColonnes  ConditionAdélia  Paramètre


SuiteEntités

SuiteEntités, Entité | Entité



Entité

NomEntité NomCorrélation | NomEntité



SélectionColonnes

*COL(SuiteZonesEntité) | Rien | *COL(SuiteFcts)



SuiteZonesEntité

SuiteZonesEntité, IdVarEntité | IdVarEntité



SuiteFcts

SuiteFcts, FctCol :IdVarHote | FctCol :IdVarHote



FctCol

 

NomFct(IdVarEntité) | NOMBRE(*)



NomFct

SOMME | MOYENNE | MAX | MIN | NOMBRE_DISTINCT



IdVarHote

IdVar | IdVar :IdVarIndicatrice



Paramètre

*NON_RG | *RG | Rien

Description

Cet ordre lit la ou les entités SuiteEntités en respectant la condition ConditionAdélia (facultative), et met les valeurs des champs de l'entité dans les variables fichier.


Il correspond à l'ordre SQL : "Select into SuiteVariablesEntité from SuiteEntités where ConditionAdélia ".


NomCorrélation est utilisé pour empêcher des ambiguïtés entre des champs portant le même nom, mais appartenant à des entités différentes.

Si un nom de corrélation est utilisé, c'est seulement lui qui sera utilisé dans la ConditionAdélia.

Un nom de corrélation est représenté par une seule lettre alphabétique. Il est souvent utilisé pour raccourcir le nom des entités.



Par défaut l'ordre renvoie les valeurs de l'ensemble des colonnes des entités.

Il est cependant possible de ne récupérer que les valeurs des colonnes indiquées dans SélectionColonnes.

Il est également possible de récupérer dans IdVarHote les éléments suivants :

  • le nombre de lignes correspondant à la condition (fonction NOMBRE),
  • le nombre de lignes distinct pour la colonne IdVarEntité correspondant à la condition (Fonction NOMBRE_DISTINCT),
  • la somme (fonction SOMME) ou la moyenne (fonction MOYENNE) des valeurs de la colonne IdVarEntité (de type numérique) pour les lignes correspondant à la condition,
  • la valeur maximum (fonction MAX) ou la valeur minimum (fonction MIN) pour la colonne IdVarEntité, parmi les lignes correspondant à la condition.


Attention : sur AS/400, si la condition aboutit à la sélection de plusieurs enregistrements (ou lignes), la lecture échoue et les zones des entités peuvent être modifiées.
Sur les bases SQL micro (DB2, Oracle, SQL Server, ODBC), si la condition aboutit à la sélection de plusieurs enregistrements (ou lignes), la lecture aboutit (*SQLCODE = *NORMAL) mais seul le premier enregistrement lu est renvoyé.


Le paramètre *RG permet de générer les règles de gestion implicites de lecture liées à l'entité, 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é, même si le programme est généré avec l'option de génération des règles de gestion implicites.


Après exécution de l'ordre, il est possible de tester le code retour SQL à l'aide du mot réservé *SQLCODE.


Par exemple

LIRE_SQL CLIENT, COMMANDE A *COND(A.NUM_CDE=1028 et CCODE_CLIENT=A.CCODE_CLIENT)


* Lecture du nom de l'assuré correspondant à un numéro d'assuré

LIRE_SQL ASSURE *COL(ANOMASS) *COND(ANUMASS = :ZANUMASS)


 * Récupération dans la variable NB_ASSURES du nombre d'assurés habitant Paris

LIRE_SQL ASSURE  *COL(NOMBRE(*) :NB_ASSURES) *COND(AS_VILLE = 'PARIS')


* Récupération de la valeur maximum du CA client

LIRE_SQL CLIENT *COL(MAX(CMHT_CAF_CLI) :ZZ_CAF_MAXI)



↑ Haut de page

  • Aucune étiquette