CICS – CICS CALL

Commande CICS CALL :

Pour effectuer un appel COBOL d’un programme CICS vers un autre programme COBOL.

Le programme appelé doit être édité en lien avec le programme appelant. Si de nombreux programmes appellent le même programme, cela entraînera une plus grande occupation de la mémoire.

Le programme peut être appelé de deux manières :

  1. CALL statique
  2. CALL dynamique

CALL statique :

Un programme appelé statiquement ne nécessite pas d’être enregistré dans PPT.

Commande d’appel statique CICS

L’appelant et le programme appelé doivent être édités ensemble en un seul module de chargement.


CALL dynamique :

L’appel dynamique est disponible uniquement dans VS-COBOL II et CICS 2.1 ou version ultérieure. Les programmes appelés dynamiquement sont des modules de chargement distincts et peuvent donc être partagés par plusieurs appelants. Lors de l’exécution, CICS chargera dynamiquement le programme appelé.

Commande d’appel dynamique CICS

Le programme appelé dynamiquement nécessite d’être enregistré dans PPT.


Transmission de données en CALL :

Voici un exemple de programme COBOL utilisant un appel statique. Le format décrit pour la transmission des paramètres s’applique également aux appels dynamiques.

  • Les deux premiers paramètres du CALL doivent être DFHEIBLK et DFHCOMMAREA (dans cet ordre), puis les variables définies par l’utilisateur suivront.
  • Le traducteur insère toujours DFHEIBLK dans la LINKAGE SECTION.
  • Le programme appelé doit émettre un GOBACK pour revenir à l’appelant.

Question importante de l’entretien d’embauche avec le SCIC :

Différence entre CALL et XCTL/LINK ?
CALLXCTL/LIEN
Le programme CALL’ed (appelé) est édité en lien avec le module principal.Le ou les programmes XCTLed/LINKed (liés) sont compilés séparément et édités en lien.
Taille de module plus élevée et besoin de mémoire plus élevéLe chargement dynamique peut ralentir la vitesse d’exécution
Toute modification du programme CALL nécessite la compilation de tous les autres modules à l’aide du programme CALL.Les modifications apportées au(x) programme(s) XCTLed/LINKed n’affecteront pas les autres modules utilisant ce