Bonjour,
Voici le problème :
Cette Api est appelée par un programme développé en Adélia dont voici une partie du code
ALPHA(10) PW_LOGIN
ALPHA(10) PW_PASSWORD
ALPHA(16) PW_ERR
ALPHA(12) PW_HAN
SI CHS_LOGIN <> *BLANK ET CHS_PASSWORD <> *BLANK
/* appel de l’api 400 pour vérification du profil
PW_LOGIN = &MAJUSCULE(CHS_LOGIN)
PW_PASSWORD= &MAJUSCULE(CHS_PASSWORD)
PW_ERR = *BLANK
PW_HAN = *BLANK
APPELER AD_CONNEXION PW_LOGIN PW_PASSWORD PW_ERR PW_HAN
SI PW_ERR <> *BLANK
WW_NUM_MSG = &EXTRACTION(PW_ERR ;9 ;7)
Comme vous le verrez dans le fichier ci-joint AD_CONNEXION appelle le CLP WCTLPRF dont voici la description
PGM PARM(&PRF &PWD &ERR &HAN)
DCL VAR(&PRF) TYPE(*CHAR) LEN(10)
DCL VAR(&PWD) TYPE(*CHAR) LEN(10)
DCL VAR(&ERR) TYPE(*CHAR) LEN(16)
DCL VAR(&HAN) TYPE(*CHAR) LEN(12)
DCL VAR(&LEN) TYPE(*INT) LEN(4) VALUE(10)
DCL VAR(&CCS) TYPE(*INT) LEN(4) VALUE(37)
CALL QSYGETPH (&PRF &PWD &HAN &ERR &LEN &CCS)
Quand on appelle le CL ci-dessus en passant les paramètres suivants et qu’on le debug
&PRF = XCITC33582 (compte existant sur l’AS)
&PWD = ‘TITI’ (mot de passe non valide)
&HAN = ‘ ‘
&ERR = ‘ ‘
On a le résultat suivant dans :
&HAN = ‘????????????’
&ERR = ‘ ????CPF22E20’
Le problème est qu’en retour de AD_CONNEXION le paramètre PW_ERR est toujours vide.
Que faut-il faire?
Partager