C’est une bonne pratique de développer plusieurs modules fonctionnels plutôt que de construire un long programme qui fait toutes les fonctions. Cela rend le programme difficile à maintenir, à comprendre et à déboguer. La taille du programme sera importante et il occupera également plus de ressources. Le fractionnement fonctionnel des sous-modules et l’appel ou le transfert du contrôle à ceux-ci sont réalisés par des commandes de contrôle de programme.
Les commandes de contrôle sont :
- CICS LINK
Passer le contrôle à un programme à un niveau logique inférieur en s’attendant à ce que le contrôle revienne au programme au niveau logique supérieur. - CICS XCTL
Pour passer le contrôle à un autre programme au même niveau sans s’attendre à ce que le contrôle soit rendu. - CICS RETURN
Pour revenir au programme de niveau supérieur logique suivant ou à CICS. - CICS CALL
Pour effectuer un appel COBOL d’un programme CICS vers un autre programme COBOL. - CICS LOAD
Pour charger un programme dans l’espace d’adressage CICS. - CICS RELEASE
Pour libérer le programme de l’espace d’adressage CICS.
Les programmes d’application sous CICS s’exécutent sous différents niveaux logiques. Au plus haut niveau se trouve CICS (niveau 0). Tous les programmes d’application s’exécutent à des niveaux logiques inférieurs.
- Un programme lié s’exécute au niveau logique inférieur suivant à partir du programme de liaison.
- Un programme XCTL s’exécute au même niveau logique que le programme XCTL.
- La commande RETURN redonne toujours le contrôle au programme à un niveau logique supérieur.
Le visuel explique le flux de contrôle entre les programmes.
- Le programme A est au niveau logique le plus élevé sous CICS (niveau 1).
- RETURN du programme A provoque le retour du contrôle vers CICS (niveau 0).
- Lorsque le programme A envoie XCTL au programme B, le programme B sera au même niveau logique (niveau 1).
- Lorsque le programme A émet un LIEN vers le programme C, le programme C sera au niveau 2.
- Le RETURN du programme C passe la commande au niveau 1 (programme A).
- RETURN du programme B passe le contrôle au niveau 0 (CICS).