Skip to main content

Integrity Reports

The Integrity reports system template holds a list of SQL checks that compare NomaUBL with a source system and list what is missing or wrong: print jobs that were never integrated, accounting records whose amounts differ from the e-invoices… Each check is a SELECT run read-only against a database connector, and every row it returns is one anomaly. The results are shown on the Integrity tab of the Reports page, where a check can also carry an action on the selected rows.

Open it under Configuration → System → Integrity reports. On an installation that does not have the template yet, an Add integrity reports button creates it without restarting the service. The template ships empty: nothing appears on the Reports page until a check is defined.


At a glance​

Checkmissing-pdfSELECT … NOT IN F564230connector · key columnsoptional actionRead-only runperiod → date placeholdersSELECT / WITH onlyrow cap · timeoutReports → Integrityone row = one anomalysearch · filters · exporttick the rows to fixActionIntegrate BIP jobsfetch-single … bipcheck run againintegrated rows disappear from the next result

Global settings​

FieldDefaultDescription
Max rows5000Row cap per run. A larger result is cut and flagged result truncated at the row cap on the Reports page.
Timeout (s)120Statement timeout, in seconds.

Checks​

Each check is a collapsible group — click its title to open it, × removes it, + Add check appends one.

FieldDescription
NameIdentifier shown on the Reports page (e.g. missing-pdf). Keep it stable.
DescriptionOne line explaining what the check finds (e.g. PDF print jobs not integrated).
ConnectorThe database connector the SELECT runs against — the JD Edwards database, the NomaUBL database or any other connector declared on the platform.
Key columnsOptional. Comma-separated result columns that identify the record an action works on (e.g. JCPID, JCVERS, JCJOBNBR, or document number + type + company).
SQL (SELECT only)The query. A single SELECT (or WITH) statement; anything else is refused before it reaches the database. The connection is opened read-only.
ActionWhat the Reports page can do with the selected rows: none, or Integrate BIP jobs.

Date placeholders​

The SQL can use the period picked on the Reports page. Placeholders are replaced before the run; without a period, the range is 1900-01-01 → today.

PlaceholderFormatExample
{from} / {to}yyyy-MM-dd2026-09-01
{fromJde} / {toJde}JDE Julian date (CYYDDD)126244
{fromDMY} / {toDMY}dd-MM-yyyy01-09-2026

The SQL field suggests the usual shape of a check — the source records of the period that never reached the NomaUBL log (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​

JDE-specific

This action extracts JD Edwards BI Publisher jobs. Checks without an action work on any source system.

When Action is set to Integrate BIP jobs, the selected rows are integrated exactly like the command fetch-single <template> bip <job> (see Command line), through the Fetch Invoices batch. Five fields map the result columns:

FieldDescription
Job columnResult column holding the JDE job number (RJJOBNBR). Required.
Template columnResult column holding the document template name. Leave empty to use the fixed template.
Fixed templateDocument template used when the template column is empty or missing.
Host columnResult column holding the JDE execution host — only on JD Edwards installations with several hosts. Optional.
Processing typeAUTO (default), SINGLE, BURST, UBL or BOTH.

On the Reports page​

Checkmissing-pdf ▾📅 Last 30 days▶ RunShow SQL
Connector: db-jde · Key columns: JCPID, JCVERS, JCJOBNBR · Action: fetch-single invoices bip {JCJOBNBR}
3 anomaly(ies)Integrate selection (2)
JCPIDJCVERSJCJOBNBRJCSTDTIM
☑R42565ZJDE000113533062026-10-08 06:12
☑R42565ZJDE000113534122026-10-09 06:10
☐R42565ZJDE000213535202026-10-10 06:11
  1. Pick a check and a period (last 30 days by default), then Run. Show SQL displays the query of the check.
  2. The header line recalls the connector, the key columns and the configured action. The result reads No anomaly or N anomaly(ies), every row being one anomaly in the standard grid — search, filters, column chooser and export.
  3. When the check carries an action, tick the rows and click Integrate selection (N). A confirmation recalls that the jobs are extracted and processed like a normal run — validation, storage and sending follow the template settings.
  4. After the action, the check runs again: integrated rows drop out of the result, and a summary banner shows N integrated, N failed out of N, with the name of every failed job.

API​

EndpointPurpose
GET /api/reports/integrityLists the configured checks (name, description, connector, key columns, SQL).
POST /api/reports/integrity/runRuns one check — body { "name", "dateFrom", "dateTo" } — and returns the result columns and rows.
POST /api/reports/integrity/actionRuns the check's action on the selected rows — body { "name", "jobs": [...], "templates": [...], "hosts": [...] } — and returns the per-job result and the summary.

See the API reference for the full schemas.


Tips & best practices​

  • One question per check. A check that answers a single question (jobs not integrated, amounts that differ) gives a result that can be acted on row by row.
  • Return the key columns. Even without an action, key columns make each anomaly easy to trace back to its source record.
  • Bound the query with the period. The date placeholders keep the query on the window the user picked and well under the timeout.
  • Point the action at the job number, not a label. The job column must contain the JDE job number; rows without one are ignored by Integrate selection.