使用以下步骤可包括在表单上后台运行的任务。
应用程序将报告作为放置在“队列”中在后台依次运行的任务。可以设置其他在后台运行的任务。TaskMan 服务轮询活动后台任务列表并且执行任意以“准备就绪”状态过帐到队列的新任务。
有关 TaskMan 的详细信息,请参见 管理指南 或创建和自定义报告。
- 要设置要在其中运行后台任务的表单:
- 在表单中添加名为 “BackgroundQueue”,类型为 ObjMenuItem 的组件。在“行为”选项卡上,添加“RunBackgroundQueue”作为主事件。
- 创建一个类型为“将表单作为子模式运行”的 “RunBackgroundQueue” 事件。事件的参数应如以下示例所示,其中“GenerateReport”是表单的“运行后台任务”事件的名称:
BackgroundQueue( SETVARVALUES(BGTaskName=V(BGTaskName), RunTaskEvent=GenerateReport) )
- 为提交任务的运行后台任务事件将以下参数添加到参数字符串的末端:
TASKSTATUS(V(BGTaskStatus))TASKNUMBER(BGTaskNumber)
使用以下关键字和参数:
- TASKSTATUS 是 BGTaskSubmit 的可选输入参数。如果忽略了 TASKSTATUS 关键字,或者它的值不是 WAITING,那么任务将以“准备就绪”状态插入到 ActiveBGTasks 表中并由 TaskMan 运行。如果
TASKSTATUS 设置为 WAITING,那么任务将以“等待”状态插入 ActiveBGTasks 表中。TaskMan 忽略表中的状态不是“准备就绪”或“运行”的任何记录。
- TASKNUMBER 是用于当在“动态后台任务”表中插入记录时,指定保留生成任务数的变量名的可选关键字。
- 在将任务提交到 TaskMan 后,可以包括由相应值代替的替代关键字。
- 要创建后台任务:
- 在“后台任务定义”表单中创建一个新记录。
- 指定任务名称(例如,“RunCustomerOrderReport”)和说明。
- 指定可执行文件名:
- 对于报告,在第一个“可执行文件”字段中指定报告名称(例如,“CustomerOrder”),并在第二个字段中指定可执行文件的类型(“RPT”)。该报告的报告定义(“.RPT”文件)必须位于服务器上安装 TaskMan 和报告生成模块的 TaskMan\Reports 文件夹中。
- 对于存储过程,应在第一个字段指定程序名,在第二个字段中选择“SP”。
- 对于可执行程序,在第一个字段中指定程序名称和路径(例如,“c:\Infor\myprog”)并在第二个字段中选择“EXE”。
可指定完整路径,或者使用服务器上包括 TaskMan 的目录相对路径。例如,如果有一个名为 MyProg.exe 的可执行程序位于 Infor TaskMan 目录的 mydirectory/mysubdirectory 中,则指定“mydirectory/mysubdirectory/MyProg”
如果要用 TaskMan 处理可执行文件与数据库的连接,则必须通过 TaskMan 配置工具将数据库标识给 TaskMan,而且可执行文件必须使用 “B~” 替代关键字来连接。否则,可由可执行文件处理所有数据库连接。
- 对于 IDO 方法,可在“可执行文件名”字段中指定方法名(按照 IDO.Method 格式-例如,“MyProgID.SLSites.MyTestMethod”)并且在“可执行文件类型”字段中选择“IDOMTH”。
对于任务参数,传递与 IDO 方法参数相匹配参数的逗号分隔列表。也可以只传递值本身(例如,““MyParameter1,MyParameter2””)或者如果空白起作用的话,使用 ~LIT~ 语法(例如,““ MyParameter1,MyParameter2 ””)。
在处理 IDOMTH 类型任务时,TaskMan 需要使用与站点名称具有相同名称的配置。在运行 TaskMan 的计算机(一般是工具服务器)上,必须创建(如果还未创建)配置名与数据库站点名称匹配的配置。
- 单击表单上的按钮以指定任意报告选项或已排除的任务。
- 保存记录。
- 可以从表单中将新的后台任务作为事件处理程序调用。
- 打开“活动后台任务”表单可以查看哪些任务当前正在运行。
TaskMan 完成任务后,即使失败,也可从“后台任务历史”表单中查看它执行情况的详细信息。详细信息包括:
- 任务说明
- 返回状态
- 提交任务的用户
- 由任务触发的信息