i have an action menu item on salesLine grid, when clicked, it selects a custom field as yes for all lines or no for all other lines
How would you rewrite this code?
is this line good:
if(_args && _args.record() && _args.dataset() == tableNum(SalesLine))
and what is inside method 'updateSalesLineSelection' to refresh form datasource, is what i did correct? (i know it's working but i want to know if the code can be better)
public class SelectOrDeselectAllLines
{
public static void main(Args _args)
{
if(_args && _args.record() && _args.dataset() == tableNum(SalesLine))
{
SelectOrDeselectAllLines selectOrDeselectAllLines= SelectOrDeselectAllLines::construct();
SelectOrDeselectAllLines.updateSalesLineSelection(_args.record());
}
}
public void updateSalesLineSelection(SalesLine _salesLine)
{
if (_salesLine)
{
FormDataSource salesLineDataSource = FormDataUtil::getFormDataSource(_salesLine);
if (salesLineDataSource)
{
this.selectionChanged(_salesLine.SalesId, !_salesLine.FieldX);
}
salesLineDataSource.research(true);
}
}
public void selectionChanged(SalesId _salesId, NoYesId _select)
{
SalesLine salesLine;
ttsbegin;
update_recordset salesLine
setting FieldX = _select
where salesLine.SalesId == _salesId
&& salesLine.FieldX != _select;
ttsCommit;
}
public static SelectOrDeselectAllLines construct()
{
return new SelectOrDeselectAllLines();
}
}

Report
All responses (
Answers (