Question

Puis-je inclure une section de code en fonction de si une variable est définie dans mon programme, ou est le préprocesseur totalement incapable d'accéder à ces informations, seules les conditions de compilation? C'est à dire. Je suis après quelque chose comme:

/IF DEFINED(myVariable)
D myOtherVariable       S                  like(myVariable)
/ELSE
D myOtherVariable       S             20A
/ENDIF

semble suggérer est pas possible. Si oui quelqu'un sait d'une autre façon d'y parvenir?

Était-ce utile?

La solution

Ce serait une caractéristique agréable d'avoir, mais malheureusement, il ne fonctionne pas de cette façon aujourd'hui. La valeur entre parenthèses après DEFINIES doit être défini nom de la condition , pas un nom variable. La façon de le faire fonctionner est d'avoir une / define directive chaque fois que vous définissez cette variable spécifique dans l'un des programmes ou copybooks. Tout dépend de l'utilisation de ces situations dans la mesure où que ce soit ou non une pratique recommandée.

Le lien fourni dans votre question est sur place et je suis d'accord avec les conclusions.

Autres conseils

Comme un indice supplémentaire, utilisez des livres de programmation C pour ce sujet, pas les livres IBM RPGLE. Les livres IBM décrivent ce qui peut être fait avec les directives. Les livres C décrivent comment il est utilisé dans les programmes du monde réel (par exemple Linux programmes open source). À la suite de ce style rend vos sources de RPG beaucoup plus facile à lire pour d'autres programmeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top