General X++ Development

How do I create a custom lookup using `SysTableLookup`?

Asked by Sunny Vasty· Aug 13, 2026· 1 answers

How do I create a custom lookup using SysTableLookup?

SSunny Vasty75 reputation · answered Aug 13, 2026

Build a query, pass it to SysTableLookup, then add the fields you want shown.

X++
Query query = new Query();
QueryBuildDataSource qbds = query.addDataSource(tableNum(CustTable));

qbds.addRange(fieldNum(CustTable, Blocked))
    .value(queryValue(CustVendorBlocked::No));

SysTableLookup lookup =
    SysTableLookup::newParameters(tableNum(CustTable), _formControl);

lookup.parmQuery(query);
lookup.addLookupfield(fieldNum(CustTable, AccountNum));
lookup.addLookupfield(fieldNum(CustTable, NameAlias));
lookup.performFormLookup();

This is the pattern I use when the lookup needs its own filtering or extra display columns.