Préférer les procédures aux sous routines.
Bonne pratique :
Remplacer, dans les programmes RPG, les sous-routines (BEGSR … ENDSR) par des procédures (DCL-PROC…END-PROC).
Pourquoi :
Les procédures offrent les avantages suivants :
- Elles peuvent recevoir des paramètres en entrée.
- Elles peuvent retourner un paramètre en sortie.
- Elles disposent de leurs propres variables locales indépendantes du reste du programme.
- Elles peuvent facilement, si le besoin est, être exportées sous forme de services.
Remarque :
Nommer la procédure avec un nom explicite et nommer la fin de procédure avec ce même nom afin de faciliter la navigation dans le code source.
Exemple :
//————————————–
// Procédure : ma_procedure
//————————————–
DCL-PROC ma_procedure;
DCL-PI *N CHAR(2);
END-PI;
DCL-S code_retour CHAR(2) INZ(‘OK’);
…
…
…
RETURN code_retour;
END-PROC ma_procedure;