Skip to content

Infor Compass Integration

The Infor Compass integration reads Data Catalog objects from an Infor CloudSuite tenant through asynchronous Compass V2 SQL jobs. It does not call Infor transaction APIs and does not create, update, or delete ERP records.

You need:

  1. An Infor administrator for the environment you want to connect
  2. A backend-service Authorized App with access to the Data Fabric Compass API
  3. A service account that can query the required Data Lake objects
  4. The tenant, client ID, client secret, service-account username, and service-account password from the backend-service .ionapi configuration
  5. Data Catalog metadata synchronization enabled for the objects you need

Each Infor environment has its own tenant ID, API gateway, authorization server, client credentials, and service-account credentials. Copy values from the .ionapi file for the exact environment you are connecting. Do not reuse credentials from another customer or from production when connecting a training tenant.

  1. In Infor OS, create or select the backend-service Authorized App and its service account.
  2. Grant that principal read access to Data Fabric Compass and the required Data Lake objects.
  3. Download the app’s .ionapi configuration and keep it open while connecting.
  4. In Resplendent, open Settings -> Integrations.
  5. Select Infor Compass.
  6. Enter the tenant, client ID, client secret, service-account username, and service-account password in their matching fields.
  7. Leave the API Gateway and SSO URLs at their Infor CloudSuite defaults unless the .ionapi configuration specifies different hosts.
  8. Click Save and Test.
  9. Open Sync Datasets and choose the Data Catalog objects to import.

The client secret and service-account password are stored in the source’s encrypted secret field. Resplendent does not require tenant URLs, client secrets, or service-account secrets in code or environment-wide settings.

Resplendent lists objects from the tenant’s default Data Lake schema. Dataset names match Infor Data Catalog object names. The exact list depends on the CloudSuite product, enabled extraction tables, object permissions, and the environment’s Data Catalog.

The selector automatically loads titles and descriptions for every discovered table from Infor’s Data Catalog, in batches of up to 100 objects. Titles such as LM_ALLOWANCE_ELEMENT are displayed as LM Allowance Element, alongside the original technical name. Descriptions appear beside the preview when Infor provides them, and search matches names, labels, and descriptions.

If a title is missing or repeats the technical name, Resplendent uses a documented label for known Distribution tables (for example, Warehouse Inventory (icsw)) or formats the source name’s words. It does not invent descriptions or expand unknown abbreviations. Source table names remain unchanged for previews and syncing. If the service account lacks Data Catalog permission, tables remain available with an explicit metadata-access warning and labels based on their names.

The Infor Data Catalog API provides object schemas through POST /datacatalog/v1/object/fetch. Documented fallback labels use Infor’s setup function reference and table documentation.

For CloudSuite Distribution, common examples include:

Area Example objects
Inventory and products icsw, icsp, icsl, icswu
Sales orders oeeh, oeel
Purchase orders poeh, poel
General ledger gleb, glee, glet

icsw is the warehouse-product inventory object. Common availability fields include on-hand, reserved, committed, back-order, demand, and received quantities. Confirm the exact field names and business rules against your Infor data dictionary before publishing inventory measures.

Common icsw fields include:

Property Dataset label Meaning
icswrowid ICSW Row ID Stable warehouse-product record identifier
cono Company Number CSD company number
whse Warehouse Warehouse code
prod Product Product code
qtyonhand Quantity On Hand Current total stock in the warehouse
qtyreservd Quantity Reserved Quantity reserved
qtycommit Quantity Committed Quantity committed to orders
qtybo Quantity Back Ordered Back-ordered quantity
qtyunavail Quantity Unavailable Stock that is not currently available

Infor defines total available now as on hand minus reserved minus committed. Treat that as a derived measure rather than a source column, and validate the calculation with the tenant owner before publishing it.

The integration queries information_schema.columns for each selected object. It uses that metadata to:

  • show every available property in the Dataset column picker
  • preserve the Infor property name as the warehouse column name
  • provide a default alias from the column’s Data Catalog title, when available
  • prefill string, integer, decimal, Boolean, date, and datetime types
  • add infor_lastmodified, the UTC timestamp when a record variation reached the Data Lake

Column titles and descriptions are fetched from the selected object’s Data Catalog schema. Boilerplate such as The Taxable Type Schema becomes Taxable Type. Missing or unhelpful titles keep the existing readable-name fallback. Vendor wording is preserved even when it is abbreviated or vague; no meanings are invented. These aliases use the shared Dataset editor defaults and do not overwrite saved or custom column labels. The source column names and query behavior remain unchanged.

Dataset previews load column metadata and the bounded row sample concurrently. They authenticate normally and use the preview queries to validate Compass access, avoiding a separate SQL connection-probe job. Explicit connection tests and sync jobs retain their full connection check. Previews still order rows by the Data Lake last-modified timestamp and respect selected columns and the requested row limit. Compass job execution time varies with the tenant’s workload and data preparation.

Infor notes that column metadata can depend on prior Compass query activity. If an expected field is missing, query the object in Compass and confirm Data Catalog metadata synchronization before retrying the Dataset preview.

Infor Data Catalog metadata does not expose relational primary-key constraints. Resplendent reads optional IdentifierPaths from each object’s Data Catalog properties when they are available. A scalar declaration selects that column as the Unique Key. A composite declaration uses a virtual primary key built from every declared component while Compass queries still use the physical columns.

When IdentifierPaths are absent, Resplendent may default snapshot imports to a common row-ID column name such as rowid, row_id, or an object-specific name like icswrowid. Row-ID names and preview samples do not prove that a column is unique across the full table.

When IdentifierPaths are present but inaccessible, or when declared paths do not resolve to supported scalar columns in the live schema, Resplendent does not guess a key for a new import. Choose an identity explicitly or use snapshot syncing. Existing configured identities are preserved.

When a supported identity is confirmed, Resplendent treats the object as an incremental Dataset:

  • the selected identity is the Unique Key, or a virtual primary key for composite declarations
  • infor_lastmodified is the Last Updated column
  • the first sync reads one configured row batch
  • later history ticks continue with the next bounded page
  • scheduled updates use a two-minute watermark overlap so same-minute arrivals are not skipped
  • update bursts larger than 50,000 rows continue on later ticks, resuming after the last saved timestamp and row ID
  • nightly resync replaces the Dataset with its first batch, then recrawls history to reconcile hard deletes and missed changes

The default batch size is 1,000 rows. One Compass result request is capped at 50,000 rows.

When no supported identity is available or confirmed, Resplendent treats the object as a snapshot Dataset:

  • each scheduled sync reads up to the configured row batch size, newest first
  • the warehouse Dataset is replaced only after the snapshot is retrieved
  • history paging and watermark updates are disabled
  • the default refresh interval is 24 hours

Snapshots default to 1,000 rows and support a cap of up to 50,000 rows. Rows beyond that cap are outside the configured snapshot. Increasing the cap makes the next refresh replace the Dataset with the larger snapshot.

If an object has a documented stable business key but no usable identity metadata, contact Resplendent before changing its sync strategy.

In Main Eric Chat, Staff with full Dataset access can ask Eric to include up to five source sample rows when he inspects a named Infor endpoint before import. Samples are read-only evidence for planning; they are not imported and do not become Published Data. Import still requires confirming a Dataset Provisioning Proposal.

Connect and validate a training tenant first. Keep production credentials in a separate Infor Compass source. Adding Compass Datasets does not overwrite or remove legacy sources; organize the new Datasets separately and compare the old and new reporting until the tenant owner approves a cutover.

For inventory validation, start with a narrow icsw Dataset and compare known warehouse-product balances after representative order, allocation, picking, and receiving activity. Do not make production ERP changes merely to test the integration.

  • Authentication fails: Download a fresh backend-service .ionapi file, re-enter its discrete connection values, and confirm it belongs to the intended tenant and environment.
  • Compass access is denied: Confirm the Authorized App’s service account has Data Fabric Compass access and permission to query the object.
  • A Dataset is missing: Confirm the object is registered in the default Data Catalog schema, extraction is enabled, and the service account can see it.
  • A column is missing: Confirm Data Catalog metadata synchronization and run a narrow query against the object in Compass to refresh its column metadata.
  • The first load is incomplete: Incremental Datasets load one configured batch at a time. Let the history crawl finish.
  • Deleted rows remain: Confirm nightly resync is enabled for the incremental Dataset. Compass updates do not provide a general tombstone feed through this integration.