SyteLine Custom Table CREATE Script Generator (with Standard Columns)
Custom SyteLine tables follow a set of conventions: a site_ref column, a business key, a RowPointer GUID and standard audit columns. This generator builds a CREATE TABLE script with those pieces already in place, so a developer starts from the right shape instead of copying an old table.
Fill in
Table script
-- Custom table following SyteLine conventions. Test in a development database first. CREATE TABLE dbo.ue_tool_crib_log_mst ( site_ref nvarchar(8) NOT NULL, log_id nvarchar(30) NOT NULL, tool_id nvarchar(30) NOT NULL, issued_to nvarchar(30) NULL, issue_date datetime NULL, qty decimal(19,8) NOT NULL DEFAULT 0, NoteExistsFlag tinyint NOT NULL DEFAULT 0, RecordDate datetime NOT NULL DEFAULT GETDATE(), RowPointer uniqueidentifier NOT NULL DEFAULT NEWID(), CreatedBy nvarchar(128) NOT NULL DEFAULT SUSER_SNAME(), UpdatedBy nvarchar(128) NOT NULL DEFAULT SUSER_SNAME(), CreateDate datetime NOT NULL DEFAULT GETDATE(), InWorkflow tinyint NOT NULL DEFAULT 0, CONSTRAINT PK_ue_tool_crib_log_mst PRIMARY KEY CLUSTERED (site_ref, log_id) ); GO CREATE UNIQUE NONCLUSTERED INDEX IX_ue_tool_crib_log_mst_RowPointer ON dbo.ue_tool_crib_log_mst (RowPointer); GO
Smoke test
-- Insert and read back one row, then roll back BEGIN TRAN; INSERT INTO dbo.ue_tool_crib_log_mst (site_ref, log_id) VALUES (N'DEFAULT', N'TEST-001'); SELECT TOP (5) * FROM dbo.ue_tool_crib_log_mst; ROLLBACK TRAN;
Custom tables in production SyteLine should be registered and exposed through the supported extension mechanism for your release (table definition, IDO and forms) so that upgrades and the framework see them. Treat this script as a starting point for development, adjust data types to match your standards, and remove or edit the smoke test key type if your key is not text.
Want a map of your SyteLine customizations?
An optional review that lists custom tables, IDOs, forms and event handlers, and flags those most likely to need work in an upgrade.
Optional. The tool and every export work without this. No spam.
How to use the generator
Enter a table name without the _mst suffix, choose the key column and type, and paste your additional columns. Each extra line should end with a comma because the standard columns follow. Copy the result into SSMS on a development database. After the table exists, register it in the framework so that an IDO and forms can use it, following the extension guidance for your release.
- Prefix custom objects consistently to avoid collisions with Infor tables
- Keep site_ref at the front of the primary key
- Keep RowPointer unique, since the framework uses it to identify rows
Why the standard columns matter
RowPointer lets the framework and IDO layer address a specific row regardless of the business key, and it is also how notes and attachments link to records. site_ref supports multi-site isolation, and the audit columns support who and when reporting. A table missing these columns may work in SQL but will behave unpredictably in forms, workflows and notes.
Common mistakes
Teams often create tables directly in production, name them without a custom prefix and forget the site_ref column. Others skip documenting the table, so the next upgrade team has no idea what it feeds. Keep a short design record for each custom table: purpose, owner, related IDO, forms and any integration that writes to it.
- Create in dev, promote through a controlled change
- Record owner and purpose for each custom table
- Include custom tables in the upgrade regression test
Frequently Asked Questions
Can I just create a table in SQL and use it in SyteLine?
The table will exist, but forms and IDOs only see it once it is defined through the framework's extension process. Use the supported method for your release so that the table survives upgrades and respects security.
What is RowPointer used for?
RowPointer is a unique identifier for each row. The framework uses it to find a specific record, to attach notes and to link related data. Every custom table should have it, with a unique index.
Should the table name end in _mst?
Standard multi-site tables use the _mst suffix, with a site-aware view in front. Follow the pattern your release and customization guidelines specify, and keep custom names clearly separate from Infor names.
Can I change the data types of the audit columns?
You can, but matching the types used in standard tables reduces surprises with tools and the framework. Check an existing table in your own database and mirror it.
If you have a growing set of custom tables and extensions, Netray can help inventory them and prepare a documented upgrade impact list.
Related Tools
SyteLine Database Tables Reference
Searchable lookup of the main SyteLine SQL tables, what each holds and its usual business key, for writing queries and reports.
Infor SyteLineSyteLine IDO Names Reference
Searchable list of common SyteLine IDO names with the underlying tables, to speed up REST integrations and form work.
Developer ToolsSyteLine SQL Blocking and Long Running Query Script Generator
Builds read-only SQL Server diagnostic scripts for blocking, head blockers, open transactions and slow requests on a SyteLine database.
Infor SyteLineSyteLine Customization Technical Debt Scorer
Measure how much upgrade drag, risk, and maintenance cost your SyteLine customizations have accumulated, and learn where to pay it down first.
More Developer Tools tools
See all- SyteLine IDO REST Request Generator
- SyteLine SQL Query Generator for Item, Job and Order Tables
- SyteLine Mongoose Framework Events Reference
- SyteLine Event Action Types Reference
- SyteLine Event Action Parameter Functions Reference
- SyteLine WinStudio Standard Form Events Reference
- SyteLine Mongoose API Options Reference
- SyteLine SQL User-Defined Data Types Reference
- SyteLine IDO Extension Class Method Generator
New to Infor SyteLine? Start with the Infor SyteLine guide and toolkit, or plan with Training Path Builder, ERP Certification Study Planner, Upgrade Path Planner.
Keep exploring
Free tools
- SyteLine Form Script GeneratorFill in the form, IDO, properties and target variable to get a VB form script method for SyteLine 9/10 that loads related data and shows it on the form.
- SyteLine SQL Blocking and Long Running Query Script GeneratorBuilds read-only SQL Server diagnostic scripts for blocking, head blockers, open transactions and slow requests on a SyteLine database.
- SyteLine IDO Custom Load Method GeneratorGet a working C# custom load method that returns a DataTable of late customer order lines, the IDO metadata steps to expose it, and a REST call to test it.
ERP fixes and how-tos
- How to Build SQL Views for Custom SyteLine ReportingWhy custom SyteLine reports should read from purpose-built SQL views, not core tables directly, and how to build and place those views safely.
- How to Add a Custom Method to a SyteLine IDO in C#How to expose a new server-side operation on a SyteLine IDO: define the method on the IDO Collection, implement it in C#, and call it safely.
- How to add a private AI layer to a custom MES on SQL ServerAdd a private AI layer to an in-house MES on SQL Server: readable replica, CDC, row-level security, tool server and local model, with audit and rollout.
Guides
- How to Create Custom Reports in SyteLineStep-by-step guide to creating custom reports in Infor SyteLine using Report Builder, IDO queries, and SQL views for tailored manufacturing analytics.
- How to Create Custom Workflows in SyteLineLearn how to create custom workflows in Infor SyteLine using the Workflow Designer, including approval routing, notifications, escalation rules, and integration triggers.
- How to Create Custom Forms in SyteLineStep-by-step guide to creating custom forms in Infor SyteLine using the Form Designer, including layout configuration, data binding, and IDO integration for tailored ERP interfaces.