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
Ecrire le programme point de sortie
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 cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Communication d’entreprise : la voix s’impose à nouveau comme canal critique à l’ère de l’IA
- Réforme de la facturation électronique : une préparation largement théorique
- Le futur de la cryptographie post-quantique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
