Rapports d'intégrité
Le modèle système Integrity reports regroupe des contrôles SQL qui comparent NomaUBL à un système source et listent ce qui manque ou diverge : travaux d'impression jamais intégrés, écritures comptables dont les montants diffèrent des factures électroniques… Chaque contrôle est un SELECT exécuté en lecture seule sur un connecteur de base de données, et chaque ligne renvoyée est une anomalie. Les résultats s'affichent dans l'onglet Intégrité de la page Rapports, où un contrôle peut aussi proposer une action sur les lignes sélectionnées.
Il s'ouvre dans Configuration → Système → Integrity reports. Sur une installation qui ne dispose pas encore du modèle, le bouton Add integrity reports le crée sans redémarrer le service. Le modèle est livré vide : rien n'apparaît dans la page Rapports tant qu'aucun contrôle n'est défini.
Vue d'ensemble
Paramètres généraux
| Champ | Défaut | Description |
|---|---|---|
| Max rows | 5000 | Nombre maximal de lignes par exécution. Au-delà, le résultat est tronqué et signalé résultat tronqué au plafond de lignes dans la page Rapports. |
| Timeout (s) | 120 | Délai maximal d'exécution de la requête, en secondes. |
Contrôles
Chaque contrôle est un groupe repliable — un clic sur son titre l'ouvre, × le supprime, + Add check en ajoute un.
| Champ | Description |
|---|---|
| Name | Identifiant affiché dans la page Rapports (par ex. missing-pdf). À garder stable. |
| Description | Une ligne qui dit ce que le contrôle détecte (par ex. Travaux d'impression PDF non intégrés). |
| Connector | Le connecteur de base de données sur lequel s'exécute le SELECT — la base JD Edwards, la base NomaUBL ou tout autre connecteur déclaré sur la plateforme. |
| Key columns | Facultatif. Colonnes du résultat, séparées par des virgules, qui identifient l'enregistrement visé par une action (par ex. JCPID, JCVERS, JCJOBNBR, ou numéro + type de document + société). |
| SQL (SELECT only) | La requête. Une seule instruction SELECT (ou WITH) ; toute autre instruction est refusée avant d'atteindre la base. La connexion est ouverte en lecture seule. |
| Action | Ce que la page Rapports peut faire des lignes sélectionnées : aucune action, ou Integrate BIP jobs. |
Variables de date
Le SQL peut reprendre la période choisie dans la page Rapports. Les variables sont remplacées avant l'exécution ; sans période, l'intervalle va du 1900-01-01 à aujourd'hui.
| Variable | Format | Exemple |
|---|---|---|
{from} / {to} | yyyy-MM-dd | 2026-09-01 |
{fromJde} / {toJde} | Date julienne JDE (CYYDDD) | 126244 |
{fromDMY} / {toDMY} | dd-MM-yyyy | 01-09-2026 |
Le champ SQL propose la forme habituelle d'un contrôle — les enregistrements source de la période qui n'ont jamais atteint le journal NomaUBL (F564230) :
SELECT … FROM … WHERE JCSTDTIM > TO_DATE('{fromDMY}','dd-MM-yyyy')
AND … NOT IN (SELECT TRIM(FEWDS1) FROM PRODDTA.F564230 WHERE FEUPMJ > {fromJde})
Action Integrate BIP jobs
Cette action extrait des travaux JD Edwards BI Publisher. Les contrôles sans action fonctionnent avec tout système source.
Avec Action = Integrate BIP jobs, les lignes sélectionnées sont intégrées exactement comme par la commande fetch-single <template> bip <job> (voir Ligne de commande), via le lot Fetch Invoices. Cinq champs indiquent les colonnes du résultat à utiliser :
| Champ | Description |
|---|---|
| Job column | Colonne du résultat qui porte le numéro de travail JDE (RJJOBNBR). Obligatoire. |
| Template column | Colonne du résultat qui porte le nom du modèle de document. À laisser vide pour utiliser le modèle fixe. |
| Fixed template | Modèle de document utilisé quand la colonne modèle est vide ou absente. |
| Host column | Colonne du résultat qui porte le serveur d'exécution JDE — uniquement sur les installations JD Edwards à plusieurs serveurs. Facultatif. |
| Processing type | AUTO (défaut), SINGLE, BURST, UBL ou BOTH. |
Dans la page Rapports
- Choisir un contrôle et une période (30 derniers jours par défaut), puis Exécuter. Voir le SQL affiche la requête du contrôle.
- La ligne d'en-tête rappelle le connecteur, les colonnes clés et l'action configurée. Le résultat indique Aucune anomalie ou N anomalie(s) ; chaque ligne est une anomalie, dans la grille standard — recherche, filtres, choix des colonnes et export.
- Quand le contrôle porte une action, cocher les lignes puis cliquer sur Intégrer la sélection (N). Une confirmation rappelle que les travaux sont extraits et traités comme lors d'un traitement normal — validation, stockage et envoi selon le paramétrage du modèle.
- Après l'action, le contrôle est relancé : les lignes intégrées sortent du résultat, et un bandeau de synthèse affiche N intégré(s), N en échec sur N, avec le nom de chaque travail en échec.
API
| Endpoint | Rôle |
|---|---|
GET /api/reports/integrity | Liste les contrôles configurés (nom, description, connecteur, colonnes clés, SQL). |
POST /api/reports/integrity/run | Exécute un contrôle — corps { "name", "dateFrom", "dateTo" } — et renvoie les colonnes et les lignes du résultat. |
POST /api/reports/integrity/action | Exécute l'action du contrôle sur les lignes sélectionnées — corps { "name", "jobs": [...], "templates": [...], "hosts": [...] } — et renvoie le résultat par travail et la synthèse. |
Les schémas complets se trouvent dans la référence API.
Conseils & bonnes pratiques
- Une question par contrôle. Un contrôle qui répond à une seule question (travaux non intégrés, montants différents) donne un résultat exploitable ligne par ligne.
- Renvoyer les colonnes clés. Même sans action, elles permettent de remonter facilement de chaque anomalie à l'enregistrement source.
- Limiter la requête à la période. Les variables de date la cantonnent à la fenêtre choisie et la gardent bien en deçà du délai maximal.
- Pointer l'action sur le numéro de travail. La colonne travail doit contenir le numéro de travail JDE ; les lignes qui n'en ont pas sont ignorées par Intégrer la sélection.