Téléchargement des produits


Version anglaise


 

 

ADELIA

      

      

      

      

(I/B)

 

 

 

 

 

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

 

Paragraphe d'utilisation

DECLARATION

 

Syntaxe

DECL CURSEUR NomCurseur SuiteEntités Distinct SélectionColonnes ConditionAdélia TriDeZones OptimisationLignes MaxLignes

DECL CURSEUR NomCurseur NomEntité Distinct SélectionColonnes ConditionAdélia TriDeZones OptimisationLignes MaxLignes Maj

 

SuiteEntités

SuiteEntités, Entité | Entité

Entité

NomEntité NomCorrélation | NomEntité

Distinct

*DISTINCT | Rien

SélectionColonnes

*COL(SuiteZonesEntité) | Rien

Maj

*MAJ(SuiteZonesEntité) | *MAJ

SuiteZonesEntité

SuiteZonesEntité, IdVarEntité | IdVarEntité

OptimisationLignes

*OPT(n) | Rien

MaxLignes

*LIGNES(m) | Rien

 

Description

Cet ordre définit un curseur NomCurseur sur la ou les entités SuiteEntités, en respectant la condition ConditionAdélia (facultative) et l'ordre sur certaines zones, déterminé par le paramètre *TRI et les zones concernées SuiteZonesTri et, pour chacune d'elles, le sens Sens du tri. Le sens peut être *ASC pour ascendant, *DESC pour descendant. Si Sens n'est pas indiqué, par défaut la valeur est *ASC.

Cliquez ici pour l'explication de l'élément TriDeZones.

 

Par défaut, le curseur renvoie les valeurs de l'ensemble des colonnes des entités. Il est cependant possible de ne récupérer que les valeurs pour les colonnes indiquées dans SélectionColonnes.

 

Si *DISTINCT est précisé, le curseur ne renvoie que les lignes distinctes (par rapport à l'ensemble des colonnes ou pour les colonnes sélectionnées dans SelectionColonnes).

 

Il est possible de demander à l'optimiseur SQL d'optimiser l'exécution de la requête afin de récupérer plus rapidement les n premières lignes du curseur (paramètre *OPT).

 

En outre, il est possible d'indiquer à l'optimiseur de requête de récupérer uniquement les m premières lignes du curseur (paramètre *LIGNES).

 

Le paramètre *MAJ permet d'utiliser les ordres MAJ_SQL_C et SUPPRIMER_SQL_C sur ce curseur. Il ne peut être utilisé que si le curseur porte sur une seule entité.

 

Si le curseur est utilisé par l'ordre MAJ_SQL_C, il faut préciser les zones de l'entité SuiteZonesEntité qui seront mises à jour.

Si le paramètre *MAJ est employé seul, cela signifie que toutes les zones (à l'exception de l'éventuelle zone auto-incrément) seront mises à jour.

 

Remarque : les versions antérieures à la V6R1 de l'OS/400 n'acceptent pas que les zones de tri soient également des zones à mettre à jour.

 

Par exemple

* Créer un curseur de lecture des clients et société, avec un tri sur nom du client

CURSEUR CurCliSo CLIENT, SOCIETE  *COND(CL_COD_SOC = SO_COD_SOC) *TRI(CL_NOM_CLI)

 

* Créer un curseur de lecture des commandes (numéro de commande, nom du client et montant), avec un tri sur le montant

DECL CURSEUR Curseur1 COMMANDE *COL(CNUM_COMMANDE, CNOM_CLIENT, CMONTANT) *COND(CMONTANT > 1000) *TRI(CMONTANT)

 

* Créer un curseur de lecture des commandes, avec une mise à jour possible sur

* CMONTANT

DECL CURSEUR Curseur2 COMMANDE *COND(CMONTANT > 1000) *MAJ(CMONTANT)

 

* Créer un curseur en mise à jour sur les contrats

DECL CURSEUR CURS_CONTRAT CONTRAT *COND(CCOD_SOC = :ZCODE_STE ET CCOD_PRO = :ZPCOD_PRO) *MAJ

 

Voir aussi la liste des ordres L4G par thème

↑ Haut de page

  • Aucune étiquette