CRS100
InteractiveSalesperson maintenance — 'Salesperson. Open', where the sales representatives assigned to customers, quotations, and order lines are defined; one of the basic-data programs a company sets up before customer orders can be entered and invoiced
This program works over the tables below. For analytics at scale, land the raw tables — the SQL further down reads them directly, joined on their keys and CONO. When to land tables vs call MI APIs
The salesperson register has no file of its own — its rows live in the shared system table CSYTAB under constant value SMCD, which Infor documents as using neither division nor language code, so a decode join needs neither. CRS171 covers salesperson selection at order-line level; the order-line salesperson file CRSMCD is maintained through CRS114 / CRS114MI, but its column structure is not publicly verifiable, so it is not cataloged here.
Boilerplate SQL
Databricks SQLStarting point for reading the tables behind CRS100 from landed data — the backing tables joined on their keys and CONO. Set your Unity Catalog location, company, and filter values below.
3 parameters not filled: <catalog>, <schema>, <company>
-- ============================================================
-- Program: CRS100 — Salesperson maintenance — 'Salesperson. Open', where the sales representatives assigned to customers, quotations, and order lines are defined; one of the basic-data programs a company sets up before customer orders can be entered and invoiced
-- Purpose: Read the tables behind program CRS100 — auto-generated from program-table-map
-- Grain : One row per CSYTAB record
-- Tables : CSYTAB
-- Notes : Auto-generated skeleton for Infor Data Lake-landed M3 data. Dates are numeric YYYYMMDD (0 = none, mapped to NULL); status ladders decoded inline where verified; company-partitioned tables are joined on CONO to prevent cross-company fan-out. Audit columns (RGDT/RGTM/LMDT/CHNO/CHID) omitted — see the quirks guide.
-- ============================================================
SELECT
ct.CTCONO AS "Company",
ct.CTDIVI AS "Division — blank rows hold the company-level defaults",
ct.CTSTCO AS "Constant naming the logical code table this row belongs to — the discriminator that splits CSYTAB into hundreds of code tables",
ct.CTSTKY AS "Code key — the value coded fields elsewhere match against",
ct.CTLNCD AS "Language code — texts repeat per language; filter to one or names multiply",
ct.CTTX40 AS "Description (40 characters) — the text a decode join selects",
ct.CTTX15 AS "Short description (15 characters)"
FROM <catalog>.<schema>.CSYTAB ct
WHERE
ct.CTCONO = <company>
ORDER BY ct.CTSTCO;