ADELIA |
VADELIA |
SADELIA |
WADELIA |
MADELIA |
(I/B) |
(I/B) (S) |
(B) (S) |
(I/B) (S) |
(I) (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
MAJ_SQL_C NomCurseur ParamètreNull ParamètreRG
ParamètreNull |
→ |
*INDIC_NULL | Rien |
ParamètreRG |
→ |
*NON_RG | *RG | Rien |
Description
Cet ordre met à jour l'enregistrement courant du curseur NomCurseur.
Ce curseur doit être déclaré avec l'option *MAJ. La mise à jour ne se fait que sur les zones définies dans l'option *MAJ.
Le paramètre *INDIC_NULL permet de prendre en compte la gestion des valeurs NULL (alimentées suite à une lecture ou à l'utilisation de l'ordre AFFECTER_INDIC) lors de l'écriture de la ligne.
Le paramètre *RG permet de générer les règles de gestion implicites de mise à jour 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 mise à jour 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.
Attention : sur plateforme micro, cet ordre nécessite que les programmes soient compilés avec contrôle de validation.
Par exemple
RNOOBJ='PGM_1'
MAJ_SQL_C CURSEUR_PGM
* Déclaration d'un curseur en syntaxe Visual Adélia sur l'entité DETAIL_COMMANDE
CURSEUR CURS_DET_CDE DET_CDE *COND(DNOM_CLI = 'DUPONT' ET DDATE_CDE > '30/08/2004') -
*MAJ (DMONT_LIGNE)
...
OUVRIR_SQL_C CURS_DET_CDE
LIRE_AV_SQL_C CURS_DET_CDE
TANT_QUE *SQLCODE = *NORMAL
DMONT_LIGNE = DMONT_LIGNE * 0,8
MAJ_SQL_C CURS_DET_CDE
LIRE_AV_SQL_C CURS_DET_CDE
REFAIRE
FERMER_SQL_C CURS_DET_CDE
* Ce programme ouvre le curseur, lit les enregistrements correspondants
* et met à jour pour chacun le montant de la ligne de commande
* (diminution de 20 %)
Autre exemple d'utilisation
MAJ_SQL_C CURS_CLIENT *INDIC_NULL
*INDIC_NULL permet de prendre en compte les valeurs nulles.