Announcements
[DataContractAttribute] class DeleteOrderContract { FromDateTime fromDateTime; ToDateTime toDateTime; str packedQuery; [DataMemberAttribute('FromDateTime')] public FromDateTime parmFromDateTime(FromDateTime _fromDateTime = fromDateTime) { fromDateTime = _fromDateTime; return fromDateTime; } [DataMemberAttribute('ToDateTime')] public ToDateTime parmToDateTime(ToDateTime _toDateTime = toDateTime) { toDateTime = _toDateTime; return toDateTime; } [ DataMemberAttribute, AifQueryTypeAttribute('_packedQuery', queryStr(xxQuery)) ] public str parmQuery(str _packedQuery = packedQuery) { packedQuery = _packedQuery; return packedQuery; } public Query getQuery() { return new Query(SysOperationHelper::base64Decode(packedQuery)); } public void setQuery(Query _query) { packedQuery = SysOperationHelper::base64Encode(_query.pack()); } }
class DeleteOrderController extends SysOperationServiceController { protected void new() { super(classStr(DeleteOrderService),methodstr(DeleteOrderService,deleteOrder), SysOperationExecutionMode::ScheduledBatch); } public static DeleteOrderController construct() { DeleteOrderController controller = new DeleteOrderController(); controller.parmShowDialog(true); controller.parmShowProgressForm(false); controller.parmLoadFromSysLastValue(false); return controller; } public static void main(Args _args) { DeleteOrderController controller = DeleteOrderController::construct(); controller.startOperation(); } protected ClassDescription defaultCaption() { return "Delete orders"; } protected boolean validate() { DeleteOrderContract contract; boolean ret = true; contract = this.getDataContractObject(); if(contract.parmToDateTime() < contract.parmFromDateTime()) { ret = checkFailed("ToDate can't be less than FromDate"); } return ret; } }
class DeleteOrderService extends SysOperationServiceBase { public void deleteOrder(DeleteOrderContract _contract) { Query query = _contract.getQuery(); if(query) { if(_contract.parmFromDateTime() || _contract.parmToDateTime()) { QueryBuildDataSource queryBuildDataSource = query.dataSourceTable((tablenum(XXTable))); if(queryBuildDataSource) { utcdatetime fromDateTime = DateTimeUtil::applyTimeZoneOffset(_contract.parmFromDateTime(), DateTimeUtil::getUserPreferredTimeZone()); utcdatetime toDateTime = DateTimeUtil::applyTimeZoneOffset(_contract.parmToDateTime(), DateTimeUtil::getUserPreferredTimeZone()); queryBuildDataSource.addRange(fieldnum(XXTable,CreatedDateTime)).value(queryRange(fromDateTime, toDateTime)); } } Query::delete_from(query); } } }
DELETE FROM XXXJOURNALLINE WHERE (((PARTITION=5637144576) AND (DATAAREAID=N'XXX')) AND (XXXLINETRANSID='XXX-721184592'))
DELETE FROM XXXJOURNALLINE WHERE (((PARTITION=5637144576) AND (DATAAREAID=N'XXX')) AND (XXXID='XXX-002789689'))
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
Jump in, show your community spirit, and win prizes!
Expanding mentorship, skilling, and AI innovation
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Giorgio Bonacorsi 676
Abhilash Warrier 635 Super User 2026 Season 1
André Arnaud de Cal... 605 Super User 2026 Season 1