> Tech > L’API CEETREC

L’API CEETREC

Tech - Par iTPro - Publié le 24 juin 2010
email

On peut remplacer la commande RclActGrp par l'API CEETREC. En général, les programmes API IBM sont difficiles à  utiliser à  cause de leurs structures de paramètres compliquées. En revanche, CEETREC est plus simple (en ce qui concerne les paramètres) que l'API QCMDEXC. CEETREC n'a aucun paramètre obligatoire, mais uniquement deux

L’API CEETREC

paramètres
facultatifs, non décrits dans cet article. On peut invoquer CEETREC depuis un
programme RPG ILE de la façon suivante :

CallB ‘CEETREC’

Contrairement à  la commande RclActGrp, CEETREC ne fonctionne que dans le groupe
d’activation où il est émis. C’est pratiquement le contraire de RclActGrp qui
ne fonctionne qu’à  l’extérieur du groupe d’activation qu’elle tente de récupérer.

Pour comprendre comment CEETREC fonctionne, il faut apprendre quelques termes
nouveaux. Une limite de contrôle est une ligne imaginaire séparant deux entrées
de pile d’appels qui s’exécutent dans des groupes d’activation différents. Une
limite de contrôle dure est une ligne imaginaire séparant deux entrées de la pile
d’appels où la deuxième entrée s’exécute dans un groupe d’activation différent
de la première et est aussi la première entrée de son groupe d’activation.

Figure 2, les quatre lignes pointillées représentent les limites de contrôle.
La première se trouve entre la ligne de commande AS/400 (qui s’exécute dans le
groupe d’activation par défaut) et PGMA (qui s’exécute dans ACT1). Comme PGMA
est le premier programme s’exécutant dans ACT1, la limite de contrôle est dite
limite de contrôle dure.

La limite de contrôle suivante se trouve entre PGMB et PGMC parce qu’ils s’exécutent
dans des groupes d’activation différents. C’est aussi une limite de contrôle dure
parce que PGMC est le premier programme s’exécutant dans ACT2.

La troisième limite de contrôle se trouve entre PGMD et PGME parce que ces deux
entrées de la pile d’appels s’exécutent dans des groupes d’activation différents.
Mais ce n’est pas une limite de contrôle dure parce que PGME n’est pas la première
entrée de la pile d’appels s’exécutant dans ACT1 (même si je ne souscris pas entièrement
à  la définition que donne IBM d’une limite de contrôle, j’ai aussi tracé une limite
de contrôle après la dernière entrée dans la pile d’appels (PGMF) pour simplifier
la description du comportement de l’API CEETREC.)
Voyons maintenant comment CEETREC fonctionne compte tenu de ces limites. Premièrement,
tout programme qui émet l’API CEETREC est désactivé. Si un programme émettant
CEETREC s’exécute dans le groupe d’activation par défaut, il est simplement désactivé.
Sinon, le comportement de CEETREC est plus compliqué.

Quand CEETREC est émis depuis un groupe d’activation *New, tous les programmes
s’exécutant dans celui-ci sont désactivés et il est supprimé. Plusieurs groupes
d’activation *New peuvent s’exécuter en même temps dans un job. CEETREC n’affecte
que le groupe d’activation *New dans lequel elle est émise.

Quand CEETREC émane d’un programme dans un groupe d’activation nommé, ses effets
dépendent principalement de la nature de la limite de contrôle précédente la plus
proche. Si c’est une limite de contrôle dure, le groupe d’activation est supprimé
et tous les programmes qui s’y exécutent sont désactivés.

Figure 2, si CEETREC est émise depuis PGMA ou PGMB, le groupe d’activation ACT1
est supprimé et tous les programmes qui s’y exécutent (PGMA, PGMB, PGME et PGMF)
sont désactivés parce que la limite de contrôle précédente la plus proche est
dure. Pour la même raison, si CEETREC est émis depuis PGMC ou PGMD, ACT2 est supprimé
et PGMC et PGMD sont désactivés.

Quand CEETREC provient d’un programme s’exécutant dans un groupe d’activation
nommé où la limite de contrôle précédente la plus proche n’est pas dure, seuls
les programmes dans la pile d’appels allant de la limite de contrôle précédente
à  la limite de contrôle suivante sont désactivés. Dans ce cas, le groupe d’activation
n’est pas supprimé et les éventuelles entrées de la pile d’appels avant la limite
de contrôle précédente restent activées. Figure 2, si CEETREC est émise depuis
PGME ou PGMF, ces deux programmes seront désactivés, mais tous les programmes
précédents (PGMA, PGMB, PGMC et PGMD) resteront activés.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 24 juin 2010