
Une compilation sans erreur des Event Rules (ER)Règles d'événements dans JD Edwards, utilisées pour programmer la logique métier sans écrire de code C. dans Report Design AssistantOutil de JD Edwards permettant de concevoir et de configurer des rapports et des traitements batch (UBE). garantit la validité de la syntaxe, mais elle ne dit rien sur l'intégrité mathématique. Sur des builds 9.2 matures exécutant des traitements batch sur plus de 100 000 lignes de grand livre ou d'inventaire, un mauvais timing de réinitialisation des variables ne déclenche jamais d'erreur d'exécution ou de violation de mémoire C-BSFNFonction d'entreprise écrite en langage C, utilisée par JD Edwards pour exécuter des traitements complexes et rapides.. Au lieu de cela, l'UBEUniversal Business Engine, le moteur de JD Edwards responsable de l'exécution des traitements par lots (batchs). se termine avec un Status 60 tout en générant discrètement des sous-totaux décalés d'une unité ou des totaux généraux doublés à la frontière des sections.
Dans les environnements d'entreprise JDEJD Edwards, un progiciel de gestion intégré (ERP) d'Oracle utilisé pour gérer les ressources de l'entreprise. où les tables de grand livre principales comme la F0911La table principale du grand livre général dans JD Edwards, contenant toutes les écritures comptables. ou les registres de transactions comme la F4111 dépassent les 20 millions de lignes, une seule clause RDAReport Design Aid, l'outil de JD Edwards utilisé pour concevoir et modifier des rapports et des traitements batch. mal structurée peut transformer un traitement batchUn traitement informatique exécuté automatiquement en arrière-plan, sans intervention de l'utilisateur. de moins d'une minute en un goulot d'étranglement de plusieurs heures dans la file d'attente. Lorsque les fenêtres de traitement nocturnes explosent, les équipes d'infrastructure rejettent généralement la faute sur les allocations de files d'attente CNCConfigurable Network Computing, l'architecture technique de JD Edwards et l'équipe responsable de l'administration du système. ou réclament des mises à niveau de la mémoire de la base de données. En réalité, une grande majorité des UBEUniversal Batch Engine, le moteur de JD Edwards qui exécute les rapports et les traitements par lots en arrière-plan. personnalisés qui s'éternisent — souvent les trois quarts ou plus — proviennent directement d'un SQLStructured Query Language, le langage standard utilisé pour communiquer avec et interroger les bases de données relationnelles. inefficace généré par des critères de sélection défectueux.
Lorsque les équipes financières ou de la chaîne d'approvisionnement exigent un rapprochement quotidien automatisé entre les tables de grand livre standard comme la F0911 et des systèmes tiers, les administrateurs de bases de données écrivent souvent par réflexe des scripts SQL externes ou des déclencheurs de base de données. Cette approche se retourne régulièrement contre eux : elle contourne les contrôles de cycle de vie de l'Object Management Workbench (OMW)Outil de gestion du cycle de vie et des modifications des objets dans JD Edwards. de JDE, ignore les règles de sécurité et risque de verrouiller les tables de transactions actives pendant les pics d'activité des traitements par lots.
J'audite régulièrement des parcs de rapports personnalisés où une part importante du code des Event RulesLangage de programmation propriétaire de JD Edwards utilisé pour définir la logique métier. — souvent 30 % à 40 % — consiste en une logique identique copiée-collée sur trois ou quatre sections conditionnelles. Les développeurs clonent une section simplement pour modifier une mise en page visuelle pour une succursale ou un type de commande spécifique, dupliquant ainsi des centaines de lignes d'EREvent Rules, le langage de programmation interne de JD Edwards. complexes de calcul d'inventaire ou de taxes. Lorsque les règles de gestion changent inévitablement, un développeur corrige la Section A, oublie la Section B et introduit une corruption de données silencieuse qui prend des semaines à être détectée en production.
Dans les environnements EnterpriseOne 9.2 matures, une part importante des échecs de traitements par lots en production — souvent 30 % à 40 % — provient d'UBEsUniversal Batch Engine : programmes de traitement par lots dans JD Edwards pour générer des rapports ou traiter des données en masse. personnalisés qui s'exécutaient correctement sur les clients de développement locaux. Les développeurs valident généralement les rapports par rapport à un petit jeu de données DVEnvironnement de développement (Development) dans JD Edwards. de 1 000 à 2 000 lignes à l'aide des spécifications de version par défaut, en ignorant complètement le comportement de la logique d'exécution sur un Enterprise ServerServeur central qui exécute la logique métier et les traitements par lots (UBEs) de JD Edwards. sous une exécution multithread simultanée, des jointures non indexées sur des tables majeures comme F0911Table maîtresse du grand livre (Account Ledger) dans JD Edwards, contenant les transactions financières. ou F4111Table de l'historique des transactions d'inventaire (Item Ledger) dans JD Edwards., et des allocations de mémoire JDECACHEMécanisme de stockage temporaire en mémoire utilisé par JD Edwards pour améliorer les performances d'exécution. non libérées.
Page 4 sur 6