使用自动化脚本获取基于映射到它的 PO 的合同行值

Fetch contract line values based on PO mapped to it using Automation script

我需要根据已映射到的 PO 获取 CONTRACTLINE 详细信息。所以我在 PO 上创建了一个对象启动点,它将在 "UPDATE" 期间触发,但是 CONTRACTLINE 上的 getMbo(0) 是 BLANK ,我不确定是什么问题,因为计数 >0 所以理想情况下它应该获取价值。

userInfo=mbo.getUserInfo()
POContractNum = mbo.getString("CONTRACTREFNUM")
POContractRevNum = mbo.getInt("CONTRACTREFREV")
POContractOrgID = mbo.getString("ORGID")
PONum = mbo.getString("PONUM")
ContractSet = MXServer.getMXServer().getMboSet("CONTRACT",userInfo)
ContractSet.setWhere("CONTRACTNUM = '" + POContractNum + "' and STATUS=  'APPR'  and ORGID = '" + POContractOrgID + "'")
ContractSet.reset()
Contract = ContractSet.getMbo(0)
print 'Contract number', ContractSet.getMbo(0).getString("CONTRACTNUM")
ContractLineSet = MXServer.getMXServer().getMboSet("CONTRACTLINE",userInfo)
ContractLineSet.setWhere("CONTRACTNUM = '" + POContractNum + "' and  LINESTATUS = 'APPR'  and ORGID = '" + POContractOrgID + "'")
ContractLineSet.reset()
print " Contract Line Where : " + ContractLineSet.getWhere()
print " Contract Lines Selected = " + str(ContractLineSet.count())
print " mbo contract line contract num ",   ContractLineSet.getMbo(0).getString("CONTRACTNUM")
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Contract number PCR1214
Contract Line Where : CONTRACTNUM = 'PCR1214' and LINESTATUS = 'APPR'  and ORGID = 'XXXX'
Contract Lines Selected = 1
mbo contract line contract num 

我想我 运行 之前遇到过一个非常相似的问题。请在此处查看答案: