| Contourner le problème d'accès par clé en CLP |
|
Il n'existe pas de solution simple pour lire un fichier par en clp (comme un chain RPG) mais voici une astuce qui peut vous permettre de contourner ce problème dans certains cas (par exemple paramètage) L'idée est simple il faut utiliser un fichier message 1) Créer le fichier message CRTMSGF MSGF(MALIB/MONMSGF) TEXT('Fichier message') 2) Ajouter vos messages texte de premier niveau 132 caractères, texte de deuxième niveau 3000 caractères par exemple les mois avec le nombre de jour ADDMSGD MSGID(MOI0001) MSGF(MONMSGF) MSG(31) SECLVL(JANVIER) SEV(64) ADDMSGD MSGID(MOI0002) MSGF(MONMSGF) MSG(28) SECLVL(FEVRIER) SEV(64) ADDMSGD MSGID(MOI0003) MSGF(MONMSGF) MSG(31) SECLVL(MARS) SEV(64) ADDMSGD MSGID(MOI0004) MSGF(MONMSGF) MSG(30) SECLVL(AVRIL) SEV(64) ADDMSGD MSGID(MOI0005) MSGF(MONMSGF) MSG(31) SECLVL(MAI) SEV(64) ADDMSGD MSGID(MOI0006) MSGF(MONMSGF) MSG(30) SECLVL(JUIN) SEV(64) ADDMSGD MSGID(MOI0007) MSGF(MONMSGF) MSG(31) SECLVL(JUILLET) SEV(64) ADDMSGD MSGID(MOI0008) MSGF(MONMSGF) MSG(31) SECLVL(AOUT) SEV(64) ADDMSGD MSGID(MOI0009) MSGF(MONMSGF) MSG(30) SECLVL(SEPTEMBRE) SEV(64) ADDMSGD MSGID(MOI0010) MSGF(MONMSGF) MSG(31) SECLVL(OCTOBRE) SEV(64) ADDMSGD MSGID(MOI0011) MSGF(MONMSGF) MSG(30) SECLVL(NOVEMBRE) SEV(64) ADDMSGD MSGID(MOI0012) MSGF(MONMSGF) MSG(31) SECLVL(DECEMBRE) SEV(64) 3) Vous pouvez maintenant utiliser dans un programme CLP // DCL &MOIS *CHAR 2 DCL &JOURS *CHAR 2 DCL &LIBMOIS *CHAR 10 DCL &SEV *DEC 2 // RTVMSG MSGID('MOI00' *TCAT &MOIS) MSGF(MONMSGF) + |