Infor SyteLine

SyteLine IDO Request Object: Complete Property Reference

Every data operation in SyteLine passes through an IDO Request object. Understanding the Request object's properties, filter syntax, and configuration options is essential for building efficient custom integrations, form scripts, and extension methods. This reference covers the core request types and their most important properties.

Core Request Types and Their Properties

The SyteLine IDO layer defines several request types, each inheriting from the base RequestBase class. LoadCollectionRequestData handles read operations, UpdateCollectionRequestData wraps inserts, updates, and deletes, and InvokeMethodRequestData calls named methods. Each request type carries properties that control filtering, pagination, property selection, and transaction behavior. The RequestBase properties include IDOName, MethodName, PropertyList, Filter, OrderBy, and RecordCap, all of which shape how the IDO runtime translates your request into SQL.

  • LoadCollectionRequestData: IDOName, PropertyList (comma-separated), Filter, OrderBy, RecordCap, Distinct
  • UpdateCollectionRequestData: IDOName, IDOCommands (collection of InsertCommand, UpdateCommand, DeleteCommand)
  • InvokeMethodRequestData: IDOName, MethodName, Parameters (ordered parameter collection)
  • RequestBase.Filter syntax: PropertyName LIKE 'value%' AND PropertyName = N'exact' with SyteLine filter operators
  • RequestBase.PropertyList: specify only needed columns to minimize SQL payload and network overhead

Filter Syntax and Advanced Query Patterns

The IDO filter string uses a SQL-like syntax with SyteLine-specific operators. String comparisons support LIKE with % wildcards, exact match with = and N-prefixed Unicode strings, and range queries with BETWEEN. Numeric and date filters follow standard comparison operators. For complex queries, combine conditions with AND/OR and use parentheses for grouping. The filter is translated server-side into a WHERE clause appended to the IDO's base query, so ensure your filter columns are indexed for performance.

  • String filter: Filter = "CustNum LIKE N'C001%'" for prefix matching on customer numbers
  • Date filter: Filter = "OrderDate >= '2024-01-01' AND OrderDate < '2025-01-01'" for date ranges
  • Null check: Filter = "DueDate IS NOT NULL" to exclude records with null due dates
  • Compound filter: Filter = "(Status = N'O' OR Status = N'F') AND Whse = N'MAIN'"
  • RecordCap = 500 limits result set size; use with OrderBy for paginated data retrieval

Request Configuration for Performance

Tuning IDO Request properties directly impacts SyteLine application performance. Always specify a minimal PropertyList rather than retrieving all properties, which forces the runtime to select every column from the underlying tables and joins. Set RecordCap to a reasonable limit for grid-bound requests to prevent loading tens of thousands of rows. Use the Distinct flag when querying lookup data to avoid redundant rows. For UpdateCollection requests, batch multiple commands into a single request to reduce round-trips between the client and the IDO Runtime server.

  • Specify only required properties: PropertyList = "Item, Description, QtyOnHand" instead of all columns
  • Set RecordCap = 100 for grid loads and increase only when users explicitly request more data
  • Use OrderBy with indexed columns to leverage SQL Server query plan optimizations
  • Batch InsertCommand and UpdateCommand objects into a single UpdateCollectionRequestData for transactional saves
  • Monitor IDO request duration in SyteLine Performance Monitor to identify slow queries

Let Netray AI agents analyze your IDO request patterns and recommend optimizations. Our tools detect inefficient filters, oversized property lists, and missing indexes automatically.