> Tech > Bien maîtriser les conditions

Bien maîtriser les conditions

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

La compilation conditionnelle est normalement facile à utiliser : il suffit généralement de quelques blocs conditionnels simples. Pour des situations plus complexes, voici quelques conseils :

Gardez les blocs de conditions courts. Si vous voulez que le compilateur saute à la fin d’un membre source, utilisez

/IF DEFINED(VERSION1)

Bien maîtriser les conditions

/>/EOF
/ENDIF

plutôt que le bloc suivant avec /ENDIF à la fin du membre :

/IF NOT DEFINED(VERSION1)
.
.
.
/ENDIF

Utilisez des blocs de conditions imbriqués pour simuler AND :

/IF DEFINED(CONDITION1)
/IF DEFINED(CONDITION2)
.
.
.
/ENDIF
/ENDIF

Définissez des noms de conditions supplémentaires pour simuler OR :

/IF DEFINED(CONDITION1)
/DEFINE CONDITION1_OR_2
/ELSEIF DEFINED(CONDITION2)
/DEFINE CONDITION1_OR_2
/ENDIF
/IF DEFINED(CONDITION1_OR_2)
.
.
.
/ENDIF

Définissez aussi des noms de conditions supplémentaires pour éviter de répéter des AND :

/IF DEFINED(CONDITION1)
/IF DEFINED(CONDITION2)
/DEFINE CONDITION1_AND_2
/ENDIF
/ENDIF
/IF DEFINED(CONDITION1_AND_2)
.
.
.
/ENDIF
.
.
.
/IF DEFINED(CONDITION1_AND_2)
.
.
.
/ENDIF

Utilisez des commentaires au début du programme source pour documenter les noms de conditions qui doivent être définis sur le paramètre DEFINE sur les commandes CRTBNDRPG et CRTRPGMOD. Si un nom de condition nécessaire n’est pas spécifié sur le paramètre DEFINE, le programme peut quand même se compiler. On peut forcer une erreur de compilation au début du membre source si rien n’est spécifié :

/NOT IF DEFINED(CONDITION1)
/NOT IF DEFINED(CONDITION2)
H Required condition not defined on CRT command
/ENDIF
/ENDIF

La H-spec invalide causera une erreur qui arrêtera la compilation.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010