Oracle Agile PLM故障排除中的Groovy脚本

时间:2017-03-01 21:36:02

标签: groovy oracle-agile-plm

我正在学习基本编程(现在通过SICP阅读),目的是编写Groovy脚本以在Oracle Agile PLM中进行部署。我已经在线阅读了几个Java教程,我也正在阅读Groovy Recipes一书。我正在尝试部署一些基本脚本,我遇到了if else语句的一些问题。我希望有人能指出我正确的方向。在这种情况下,1272和1332是属性ID。当属性1272等于'Stock'(由列表填充的属性)时,属性1332(文本字段)应该等于'AWESOME'。对于属性1272的所有其他值,属性1332应该等于'NOT AWESOME'。这就是我现在所拥有的:

import com.agile.agileDSL.ScriptObj.IBaseScriptObj
// add other import statements here
void invokeScript(IBaseScriptObj obj) {
//script body starts here.

     def session = obj.getAgileSDKSession()
     def objectClassId = obj.getObjectClassId()
     def objectNumber = obj.getObjectNumber()

     def dataObject = session.getObject(objectClassId, objectNumber) {
         if ((dataObject.getValue(1272)) ==  'Stock') {
              dataObject.setValue(1332, 'AWESOME')
         }  else {
                  dataObject.setValue(1332, 'NOT AWESOME') }
     }
}

通过这个和其他变化,我尝试过继续得到“groovy.lang.MissingMethodException:No signature of method”错误。

1 个答案:

答案 0 :(得分:1)

不确定你使用的库,但是你应该在getObject()之后使用花括号吗?可能会尝试...

def dataObject = session.getObject(objectClassId, objectNumber) 
if ((dataObject.getValue(1272)) ==  'Stock') {
    dataObject.setValue(1332, 'AWESOME')
} 
else {
       dataObject.setValue(1332, 'NOT AWESOME') 
}