对象结构入站处理的上下文 API

上下文 (ctx) 是一个对象,它为自动化脚本提供用于传递数据或触发操作的便捷方法。此上下文受双向支持。预定义的 API 可供上下文使用,每个函数可以使用不同的上下文。

自动化脚本需要上下文方法来实现处理逻辑。上下文在对象结构处理和实现定制逻辑的自动化脚本之间传递。下表显示上下文 API 和每个函数的 API 常见用法:

表 1. 函数使用的上下文 API
上下文 API beforeProcess
(ctx)
beforeCreateMBOSet
(ctx)
afterCreateMboSet
(ctx)
mboRules
(ctx)
beforeMboData
(ctx)
afterMboData
(ctx)
preSaveRules
(ctx)
changeStatus
(ctx)
ctx.setMsgType()              
ctx.getProcessTable()      
ctx.setProcessTable(String ProcessTable)              
ctx.setMboSet(MboSet mboSet)              
ctx.setMbo(Mbo mbo)              
ctx.getData()
ctx.getMosDetailInfo()  
ctx.setSkipBaseAdditionalRules()              
ctx.skipMbo()              
ctx.skipTxn()
ctx.complete()              
ctx.process()              
ctx.getUserInfo()
ctx.getParentMbo()      
ctx.isPrimary()  
ctx.bypassMbo()              
ctx.getMsgType()
ctx.getPrimaryMboSet()    
ctx.getPrimaryMbo()        
ctx.processAsUpdate()              
ctx.processAsAdd()              
ctx.processAsAddAtEnd()              
ctx.log()

以下 API 可用于入站数据处理:

ctx.getMosDetailInfo()
为所处理对象结构的集成框架提供与数据字典高速缓存有关的信息。
ctx.skipMbo()
跳过 Maximo® 业务对象处理。
ctx.skipTxn()
跳过整个事务(例如消息)的处理。
ctx.complete()
在执行点结束对象结构处理,这意味不处理子数据。
ctx.process()
在执行点继续处理。此 API 通常用作条件逻辑的一部分。
ctx.getParentMbo()
检索父业务对象。可从尚未创建其业务对象的子对象创建此 API。
ctx.isPrimary()
确定当前业务对象是否是对象结构的根级业务对象。
ctx.getUserInfo()
检索脚本创建新业务对象时所需的用户信息。
ctx.bypassMbo()
绕过业务对象创建并继续所处理的下一个业务对象。
ctx.getMsgType()
提供对消息类型(例如 Sync 或 Create)的访问。
ctx.setMsgType()
设置消息类型,例如 Sync 或 Create。可以在处理开始之前使用此 API。
ctx.getData()
提供对 StructureData(即 XML 消息)的访问。
ctx.setMboSet(MboSet mboSet)
设置业务对象集中的值。
ctx.setMbo(Mbo mbo)
设置业务对象中的值。
ctx.getPrimaryMboSet()
在处理子业务对象期间检索对象结构的根业务对象。
ctx.setProcessTable(String processTable)
设置进程表。如果您有一个非持久性业务对象(例如 MXRECEIPT),该对象具有用于确定是更新了 MATRECTRANS 表还是 SERVRECTRANS 表的处理逻辑,请使用此方法。ctx.setProcessTable(String processTable) API 在 beforeProcess(ctx) 函数中使用。
ctx.getProcessTable()
检索 ctx.setProcessTable(String processTable) API 设置的表名。
ctx.setSkipBaseAdditionalRules()
在 preSaveRules(ctx) 函数中添加定制逻辑,用于在处理中对现已准备就绪的已完成对象结构进行操作。
ctx.processAsUpdate()
将业务对象的处理操作设置为 Update 操作,而非 Add 或 Delete 操作。
ctx.processAsAdd()
将业务对象的处理操作设置为 Add 操作,而非 Update 或 Delete 操作。
ctx.processAsAddAtEnd()
将业务对象的处理操作设置为 Add 操作,而非 Update 或 Delete 操作,并在集合结尾而非集合开头处创建业务对象。
ctx.log()
从对象结构处理上下文创建日志语句。