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.
Prerequisites
Section titled “Prerequisites”You need:
- An Infor administrator for the environment you want to connect
- A backend-service Authorized App with access to the Data Fabric Compass API
- A service account that can query the required Data Lake objects
- The tenant, client ID, client secret, service-account username, and
service-account password from the backend-service
.ionapiconfiguration - 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.
Connect Infor Compass
Section titled “Connect Infor Compass”- In Infor OS, create or select the backend-service Authorized App and its service account.
- Grant that principal read access to Data Fabric Compass and the required Data Lake objects.
- Download the app’s
.ionapiconfiguration and keep it open while connecting. - In Resplendent, open Settings -> Integrations.
- Select Infor Compass.
- Enter the tenant, client ID, client secret, service-account username, and service-account password in their matching fields.
- Leave the API Gateway and SSO URLs at their Infor CloudSuite defaults unless
the
.ionapiconfiguration specifies different hosts. - Click Save and Test.
- 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.
Available Datasets
Section titled “Available Datasets”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.
Schema, labels, and data types
Section titled “Schema, labels, and data types”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.
Sync behavior
Section titled “Sync behavior”How Resplendent chooses an identity
Section titled “How Resplendent chooses an identity”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.
Incremental Datasets
Section titled “Incremental Datasets”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_lastmodifiedis 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.
Snapshot Datasets
Section titled “Snapshot Datasets”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.
Eric inspection samples
Section titled “Eric inspection samples”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.
Environment rollout
Section titled “Environment rollout”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.
Troubleshooting
Section titled “Troubleshooting”- Authentication fails: Download a fresh backend-service
.ionapifile, 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.