> Tech > Ecrire le programme point de sortie

Ecrire le programme point de sortie

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

Comme on l’a vu, une fois enregistré, le point de sortie est un paramètre à l’échelle du système. Et le programme de sortie sera invoqué chaque fois qu’un full open se produira sur de nombreuses tables de bases de données sur le système. Il faut bien comprendre que le job

qui émet la requête d’ouverture de base de données attendra que le programme de sortie se termine avant de traiter la requête d’ouverture. Selon la manière dont le programme de sortie est écrit et ce qu’il fait, cela peut avoir un profond impact négatif sur la performance applicative.

Si vous optez pour le point de sortie, il y a quelques autres aspects à prendre en compte pendant la phase de conception :

• Assurez-vous que votre programme peut traiter des ouvertures de tables multiples (comme dans le cas de jointures de tables multiples définies dans un fichier logique, vue ou requête, ainsi que de tables et/ou de vues multiples spécifiées dans une instruction SQL). Par exemple, si une vue de jointure multitable fait l’objet d’une ouverture, le programme de sortie est appelé une seule fois, mais il reçoit la vue et une liste de chacune des tables qui constituent la vue de jointure. Pour traiter à fond la requête d’ouverture, votre programme doit être capable de traiter chaque vue/table présente dans cette liste.

• Si votre programme de sortie ouvre lui-même une table, vous devez rechercher la présence d’appels de programme récursifs potentiels et les traiter. Faute de quoi, votre programme se trouvera lui-même dans une boucle infinie récursive. En outre, si le programme de sortie est en train d’ouvrir une table en utilisant RLA, vous devez spécifier le mot-clé USROPN dans la section Fspec du programme. Après avoir déterminé que la table qui a causé l’appel du programme n’est pas celle que vous êtes en train d’ouvrir dans le programme de sortie, vous pouvez l’ouvrir explicitement dans votre programme. Là encore, si ces choses ne sont pas bien faites, il y aura une boucle récursive. (Je reviendrai sur le bouclage récursif.)

• Si le programme de sortie change le code de retour en le mettant à zéro, l’ouverture de la base de données échouera. Si le programme ne change pas le code de retour ou lui donne la valeur 1, la demande d’ouverture sera acceptée puis continuera.

• Le programme de sortie doit être exempt de threads.

Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par iTPro - Publié le 24 juin 2010