Les rapports d'intégrité standard du Grand Livre (GL) comme le R09701 ou le R09702 s'avèrent insuffisants dès lors qu'une entreprise utilise des types de registres personnalisés, des réévaluations multi-devises ou des règles de sous-registres non standard. Les équipes financières demandent fréquemment aux administrateurs de bases de données (DBAAdministrateur de base de données, responsable de la gestion, de la sécurité et des performances des systèmes de données.) des requêtes SQLLangage de requête standardisé utilisé pour interagir avec les bases de données relationnelles et extraire des données. brutes pour identifier les lots non validés ou les déséquilibres du GL lors de la clôture de période. Cependant, les scripts de base de données directs contournent la sécurité au niveau des lignes (Row SecurityFonctionnalité de sécurité de JD Edwards restreignant l'accès aux données au niveau des lignes d'une table selon l'utilisateur.) d'EnterpriseOneLe progiciel de gestion intégré (ERP) de JD Edwards développé par Oracle pour la gestion d'entreprise., échouent aux exigences d'audit SOXLoi Sarbanes-Oxley, réglementation américaine imposant des règles strictes de contrôle interne et d'audit financier. et ne peuvent pas être planifiés de manière fiable via les files d'attente du moteur de traitement par lots (batchProgramme s'exécutant en arrière-plan sans interaction utilisateur pour traiter de gros volumes de données.).
Dans presque tous les environnements EnterpriseOne 9.2La version moderne du progiciel de gestion intégré (ERP) JD Edwards d'Oracle. matures que j'audite, je trouve des dizaines d'UBEsUniversal Batch Engines : traitements par lots (batchs) exécutés en arrière-plan dans JD Edwards. spécifiques exécutant du code de validation copier-coller directement depuis des écrans interactifs. Lorsque les règles de gestion changent — qu'il s'agisse d'ajuster les contrôles de stock de sécurité par succursale, les limites de crédit client ou la validation croisée du Grand Livre (GL) — les développeurs mettent inévitablement à jour les Form Event Rules interactives tout en négligeant les traitements batch nocturnes. Configurer les Event RulesLangage de programmation propriétaire de JD Edwards utilisé pour coder la logique métier. d'un UBE JDE pour appeler une NERNamed Event Rule : fonction de business réutilisable écrite avec le langage Event Rules de JD Edwards. pour une validation réutilisable comble cet écart de maintenance et prévient la corruption silencieuse des données dans les tables clés.
Si vous déclenchez Set System Error ou Set Action Code dans les Event RulesLe langage de programmation événementiel propriétaire utilisé pour développer dans JD Edwards. d'un UBEUniversal Batch Engine, le moteur d'exécution des traitements par lots (batchs) dans JD Edwards., le moteur batch ignore silencieusement ces appels d'interface utilisateur interactive. Les développeurs issus de la conception d'APPLApplications interactives de JD Edwards avec lesquelles les utilisateurs interagissent via des écrans. tombent fréquemment dans ce piège, laissant les travaux batch échoués soit se terminer avec une corruption de données invisible, soit déverser des erreurs génériques ambiguës dans la table du Work CenterLe système de messagerie interne de JD Edwards pour suivre les erreurs et les flux de travail. F01131. Lorsqu'une validation batch personnalisée échoue en raison d'une limite de crédit manquante dans la F03012 ou d'un compte invalide dans la F0901, l'exécution standard de l'UBE ne fournit aucun contexte exploitable à l'utilisateur final sur le PDF de sortie.
La plupart des goulots d'étranglement de performance des UBEUniversal Batch Engine, le moteur d'exécution de traitements par lots (batchs) de JD Edwards. proviennent du fait que les développeurs traitent les Event RulesLe langage de programmation événementiel propriétaire utilisé dans JD Edwards pour définir la logique métier. comme du code procédural standard. L'insertion d'une business function CUn composant logiciel écrit en langage C exécuté par JD Edwards pour réaliser des traitements complexes. ou d'un accès table répétitif dans le Do SectionÉvénement d'un rapport JD Edwards qui s'exécute de manière répétitive pour chaque enregistrement lu dans la base de données. d'une boucle batch à fort volume transforme une exécution de quatre minutes en un calvaire de plusieurs heures pour la base de données. Pire encore, le mauvais positionnement des réinitialisations de variables à travers les événements de section crée une corruption silencieuse des données dans les variables d'accumulation, que le débogage interactif standard d'étecte rarement.
Lorsqu'un processus Universal Batch Engine (UBE)Moteur de traitement par lots de JD Edwards, utilisé pour exécuter des rapports et des traitements de données en arrière-plan. passe au statut « Status E » dans Work With Submitted Jobs (P986110B)Application JD Edwards permettant de surveiller, gérer et dépanner les travaux soumis sur le serveur., les développeurs ont souvent tendance à recompiler immédiatement les Event RulesLangage de programmation propriétaire de JD Edwards utilisé pour définir la logique métier des applications et des rapports.. En réalité, la plupart des plantages fatals de rapports ne sont pas des pannes de serveur spontanées, mais des désalignements déterministes entre des Business Functions C (BSFN)Programmes écrits en langage C pour exécuter des calculs complexes ou des processus métier dans JD Edwards. personnalisées, des pointeurs JDECACHEMécanisme de stockage temporaire en mémoire utilisé par JD Edwards pour manipuler rapidement des données durant une session. corrompus et des paramètres nuls non gérés transmis lors de la sélection dynamique des données.

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.
Page 13 sur 19