|
VADELIA |
SADELIA |
WADELIA |
MADELIA |
|
(I/B) (C/S) |
(B) (S) |
(I/B) (C/S) |
(I) (C/S) |
Paragraphe d'utilisation
DECLARATION
Syntaxe
RUPTURE SuiteIdVarGlobale FinRupt
SuiteIdVarGlobale |
Þ |
SuiteIdVarGlobale IdVarGlobale |
|
|
| IdVarGlobale |
|
|
|
FinRupt |
Þ |
*VUE(NomVue) | *LISTE(NomListe) | *SQL | *SQL(NomEntité) |
Description
Déclaration d'une rupture sur les zones SuiteIdVarGlobale (au moins une zone définie pour une rupture).
Cet ordre doit se trouver dans la partie DECLARATION du paragraphe "DEBUT_RUPTURE NomRupture". Les zones de rupture doivent être des variables globales.
Le paramètre FinRupt permet de définir la prise en compte de l'arrivée en fin de scrutation.
S'il vaut *VUE, il y aura une rupture en fin du fichier correspondant à la vue NomVue.
S'il vaut *LISTE, ce sera à la fin de la liste NomListe.
S'il vaut *SQL, ce sera lors d'un accès SQL avec une valeur de *SQLCODE <> 0.
S'il vaut *SQL(NomEntité), ce sera lors d'un accès SQL sur l'entité NomEntité avec une lecture n'ayant pas abouti.
L'ordre INIT_RUPTURE permet d'initialiser les zones internes de la rupture NomRupture.
Par exemple
* Le programme suivant permet la recherche et l'affichage dans une liste
* graphique des derniers avenants d'un contrat pour un assuré donné
* Déclaration d'un curseur portant sur les CONTRATS d'un assuré de nom ZANOM_ASS
CURSEUR CURS_CON_NOMASS CONTRAT *COND(CNOM_ASS = :ZANOM_ASS) *TRI(CNUM_CON, CNUM_AVE_CON *ASC)
...
* Dans le programme, ouverture du curseur, lecture des enregistrements
* correspondants, puis fermeture
OUVRIR_SQL_C CURS_CON_NOMASS
LIRE_AV_SQL_C CURS_CON_NOMASS
TANT_QUE *SQLCODE = *NORMAL
TRAITER_CHG RUPT_AVENANT
PRESENTER CONTRAT
LIRE_AV_SQL_C CURS_CON_NOMASS
TRAITER_TOTAL RUPT_AVENANT
REFAIRE
FERMER_SQL_C CURS_CON_NOMASS
...
* La zone CNUM_CONTRAT définit la rupture dans son paragraphe DECLARATION
RUPTURE CNUM_CONTRAT *SQL(CONTRAT)
...
* Dans le paragraphe TRT_TOTAL de la rupture, on insère l'enregistrement
* dans la liste graphique LST_CONTRAT
INSERER_ELT FEN_SEL_CONT.LST_CONTRAT:LISTE *FIN
* L'enregistrement inséré est celui du dernier avenant