ERRMSG

RPG (3 et 4, free), CL, SQL, etc...
Répondre
nanble
Messages : 3
Enregistré le : ven. 22 déc. 2017, 16:46:00

ERRMSG

Message par nanble »

Bonjour à tous

J'ai un problème de message sur mon écran avec le mot clef ERRMSG.
Si le code pays est erroné, le message s'affiche mais je suis obligé d'appuyer deux fois sur la touche CTRL pour faire disparaître le message. A noter qu'en débug, un appui suffit.
Ci-dessous les mots clés niveau écran, format et zone.

Merci d'avance

Ecran
A*%%FD Gestion des fichiers CLIENTT et NOMTIERS
A DSPSIZ(27 132 *DS4)
A REF(QGPL/QINVREC INVREC)
A**** CHGINPDFT
A*** MSGLOC(27)
A*** PRINT
A R E01

Format
A R F02
A*%%TS SD 20180221 140508 GIRAUDINEA REL-V7R3M0 5770-WDS
A CA01(01)
A CA02(02)
A N50 CF04(04)
A N50 CF05
A CF06(06)
A CF07(07)
A CF08(08)
A CF09(09)
A CF10(10)
A RTNCSRLOC(&FORMAT &CURSEU &POSCUR)
A CSRLOC(LIG COL)
A CHANGE(80)
A OVERLAY
A*

Zone
A 7 5'Pays...................... :'
A COLOR(YLW)
A F02CODPAYS 2 B 7 34
A 50 DSPATR(PR)
A N50 DSPATR(UL)
A N50 COLOR(PNK)
A 24 ERRMSG('Code Pays inconnu' 24)

Le code rpg
IF F02CODPAYS <> *blank;
CLEAR A0I258DS;
I258MOD = 'C';
I258COD2 = F02CODPAYS;
EXSR APP_A0I258;
IF ALL_CRET <> C_TF2;
F02CODPAYS = I258COD2;
F02NOMPAYS = I258NOMFRA;
// gestion des erreurs uniquement en 'M'odification
if ALL_CACT = 'M ';
IF I258ERR =*on;
ERR = 1;
*in24 = *on;
F02NOMPAYS = *blanks;
ENDIF;
ENDIF;
ENDIF;
ELSE;
if ALL_CACT = 'M ';
ERR = 1;
*in24 = *on;
F02NOMPAYS = *blanks;
ENDIF;
ENDIF;

Répondre