ChangeItemController controller = ChangeItemController ::construct();
ChangeItemContract contract = controller ? controller.getDataContractObject() : null;
if (!contract)
throw error(Error::wrongUseOfFunction(funcName()));
// Set contract fields
contract.parmItemId(this.ItemId);
contract.parmInventSiteId(this.SiteId );
controller.parmExecutionMode(SysOperationExecutionMode::ScheduledBatch); // Set execution mode
controller.parmShowDialog(false);
controller.parmLoadFromSysLastValue(false);
controller.parmInBatch(true);
controller.parmDialogCaption('Change Item');
controller.startOperation();