IBM i - CLP - Taille des données dans une variable

Trucs & Astuces - Langages

AddThis Social Bookmark Button

 

Connaitre la taille des données dans une variable RPG est assez simple en soit.

Récupérer cette information dans un programme CLP peut s'avérer compliqué.

Contre toute attente, la commande RTVMSG permet de récupérer la taille des données dans une variable.

 Voici un exemple de code permettant de déterminer la taille du texte "christophe" dans la variable &TEST

 

 DCL &TEST TYPE(*CHAR) LEN(20) VALUE('christophe')

DCL &LEN TYPE(*DEC) LEN(5 0)

 RTVMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&TEST) MSGLEN(&LEN)

La variable &LEN sera égale à 10

 

Une autre méthode consiste à modifier la valeur de la variable &LEN comme suit :

 CHGVAR     VAR(&Len) VALUE(%BIN(&TEST   1 2))