Supprimer les indicateurs en RPG
 

Il est souhaitable de ne plus utiliser les indicateurs pour des questions de compréhension du code et de performance.

Voici une méthode pour éliminer les indicateurs associés aux touches de fonction qui, histoire oblige, sont encore beaucoup utilisés.


F*  déclaration du fichier écran avec une DS associée
FGescli  CF   E             WORKSTN INFDS(WSDS)
D*  déclaration des constantes figuratives pour les touches de fonction
D* ou /copy ici
D F1              C                   CONST(X'31')
D F3              C                   CONST(X'33')
D F12             C                   CONST(X'3C')
D ENTER           C                   CONST(X'F1')
D*  déclaration de la DS d'info fichier
D WSDS            DS
D  FKey                          1A   Overlay(WSDS:369)
C* utilisation en carte "C"
C                   dou       FKey = F3
c*....
C                   if       FKey = F12

Ci-dessous un squelette utilisable des principales touches de fonction
    D*
     D* déclaration des touches de fonction
     D*    
     D F1              C                   CONST(X'31')
     D F2              C                   CONST(X'32')
     D F3              C                   CONST(X'33')
     D F4              C                   CONST(X'34')
     D F5              C                   CONST(X'35')
     D F6              C                   CONST(X'36')
     D F7              C                   CONST(X'37')
     D F8              C                   CONST(X'38')
     D F9              C                   CONST(X'39')
     D F10             C                   CONST(X'3A')
     D F11             C                   CONST(X'3B')
     D F12             C                   CONST(X'3C')
     D F13             C                   CONST(X'B1')
     D F14             C                   CONST(X'B2')
     D F15             C                   CONST(X'B3')
     D F16             C                   CONST(X'B4')
     D F17             C                   CONST(X'B5')
     D F18             C                   CONST(X'B6')
     D F19             C                   CONST(X'B7')
     D F20             C                   CONST(X'B8')
     D F21             C                   CONST(X'B9')
     D F22             C                   CONST(X'BA')
     D F23             C                   CONST(X'BB')
     D F24             C                   CONST(X'BC')
     D CLEAR          C                   CONST(X'BD')
     D ENTER           C                   CONST(X'F1')
     D HELP         &nsp;  C                   CONST(X'F3')
     D ROLLDN          C                   CONST(X'F4')
     D ROLLDOWN      C                   CONST(X'F4')
     D ROLLUP          C                   CONST(X'F5')
     D PRINT           C                   CONST(X'F6')
     D HOME            C                   CONST(X'F8')

Vous pouvez copier ce code, le mettre dans un membre source et faire un /copy