Question

J'utilise les commandes de contrôle du programme CICS, Link, XCTL et RETOURS afin de passer les données entre le programme COBOL. La mémoire partagée CICS est corrompue pendant l'un de mes traitements. Il semble que les communs passaient écraser la mémoire qui n'appartient pas aux CIC. Pour découvrir pourquoi ce problème s'est produit, j'ai besoin de mieux savoir comment les CIC gèrent la mémoire partagée lorsque j'utilise les commandes de contrôle du programme CICS EXEC. Copie-t-il des communautés ou utilise-t-il le pointeur? En utilisant des exécutions imbriquées, combien de gardiens sont stockés dans la mémoire partagée?

Configuration : J'utilise le compilateur Microfocus Net Express et l'environnement est Unikix.

PS: Vérifiez cette question Qu'est-ce qui peut provoquer la rédaction de la transaction CICS dans la mémoire allouée CICS? Si vous en savez plus sur l'éclairage à l'aide de cics exécutifs.

Était-ce utile?

La solution

Je ne suis pas sûr de Net Express, mais dans CICS, la gueule est accessible à l'aide d'un pointeur.

Donc, si le programme x liens vers le programme y, toutes les mises à jour effectuées sur la gueule en y seront visibles dans x.

Je deviens pire si la définition de la gueule en y est plus grande que la définition de X - vous pouvez mettre à jour les variables après la gueule.

Pour XCTL, la gueule serait copiée dans une zone de contrôle CICS et un pointeur est passé au programme

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top