PreviousNext
Help > Développement > Fonctions W-Langage pour AS/400 > ASErreurAide - ASErreurDonnee
ASErreurAide - ASErreurDonnee

 En plus des fonctions ErreurInfo et HErreurInfo, voir rubrique sur la gestion des erreurs, il existe deux fonctions complémentaires qui permettent de remonter le détail complet d'une erreur AS400 de type CPF.

 

Ces fonctions remontent les informations qui seraient affichées par un DSPMSGD.

ASErreurAide renvoie le texte d'aide complet de la dernière erreur rencontrée.

ASErreurDonnee permet d'extraire les données de la dernière erreur, en donnant une position et une longueur.

 

Pour connaître les positions et longueurs des variables de messages, utilisez la commande DSPMSGD sur un terminal.

 

Syntaxe

 

sResult = ASErreurAide([Connexion])

sResult = ASErreurDonnee(Position,Longueur [,Connexion])

 

En anglais : ASErrorHelp et ASErrorData

 

Paramètres

 

sResult

Chaîne de caractères. Résultat de la récupération.

Position

Entier - position de la variable dans la chaîne

Longueur

Entier - longueur de la variable

Connexion (optionnel)

Connexion - Nom de la connexion

 

Exemple

 

Récupérer le nom de la contrainte en cas d'erreur d'intégrité

 

s1 est chaînes

contr_nom est chaîne

contr_parfic, contr_parlib est chaîne

contr_fic, contr_lib est chaîne

 

s1 = HErreurInfo(hErrMessage)

SI ExtraitChaîne(s1, 6, RC) = "Message: CPF503A" ALORS

// Nom de la contrainte

contr_nom = SansEspace(ASErreurDonnee(176, 258))

contr_parfic = SansEspace(ASErreurDonnee(448, 10))

contr_parlib = SansEspace(ASErreurDonnee(458, 10))

contr_fic = SansEspace(ASErreurDonnee(10, 10))

contr_lib = SansEspace(ASErreurDonnee(20, 10))

Info("Erreur intégrité sur contrainte: "+contr_nom+RC+"Fichier parent: "+contr_parlib+"/"+contr_parfic+RC+"Fichier de base: "+contr_lib+"/"+contr_fic)

 

FIN

Info("Erreur AS/400:" +Milieu(ExtraitChaîne(s1, 7, RC),14)+RC+"Aide :"+RC+ ASErreurAide())