Hi,
As Martin rightly said, your code is fine, however suspect it is to do with the Name field. This is a problem that has been existing since the Ax2012 R3 days where we have the Name field and a combo field together breaking the lookup.
Fix to the problem:
Recommendation is to group the fields together CarrierCode,Name and VendorCode in a field group called TMSShippingCarrierGroup on table TMSCarrier through an extension. In this case, named the Field group as TMSShippingCarrierGroup.
public void lookupCarrier(FormStringControl _formStringControl)
{
Query query = new Query();;
QueryBuildDataSource qbds;
//SysFieldGroupLookup addition
SysFieldGroupLookup lookup = SysFieldGroupLookup::newParameters(tableNum(TMSCarrier),_formStringControl);
//SysFieldGroupLookup addition
//SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(TMSCarrier),_formStringControl);
//sysTableLookup.addLookupfield(fieldNum(TMSCarrier, CarrierCode));
//sysTableLookup.addLookupfield(fieldNum(TMSCarrier, Name));
//sysTableLookup.addLookupfield(fieldNum(TMSCarrier, VendorCode));
qbds = query.addDataSource(tableNum(TMSCarrier));
qbds.addRange(fieldNum(TMSCarrier,Active)).value(queryValue(NoYes::Yes));
lookup.parmQuery(query);
//Field Group Lookup
lookup.parmFieldGroupNameForLookup(fieldGroupStr(TMSCarrier,TMSShippingCarrierGroup));
//Assuming you have CarrierCode as your default selection id field
lookup.parmCloseSelectFieldId(fieldnum(TMSCarrier,CarrierCode));
//Field Group Lookup
sysTableLookup.performFormLookup();
}
Hope this helps. Happy to answer questions, if any.