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

Oracle Agile PLM故障排除中的Groovy脚本,groovy,oracle-agile-plm,Groovy,Oracle Agile Plm,我正在学习基本编程(现在通过SICP阅读),目的是编写Groovy脚本以部署在Oracle Agile PLM中。我已经在网上阅读了一些Java教程,同时我也在阅读Groovy食谱。我正在尝试部署一些基本脚本,但在if-else语句中遇到了一些问题。我希望有人能给我指出正确的方向。在本例中,1272和1332是属性ID。当属性1272等于“Stock”(由列表填充的属性)时,属性1332(文本字段)应等于“AWESOME”。对于属性1272的所有其他值,属性1332应等于“不可怕”。以下是我现在

我正在学习基本编程(现在通过SICP阅读),目的是编写Groovy脚本以部署在Oracle Agile PLM中。我已经在网上阅读了一些Java教程,同时我也在阅读Groovy食谱。我正在尝试部署一些基本脚本,但在if-else语句中遇到了一些问题。我希望有人能给我指出正确的方向。在本例中,1272和1332是属性ID。当属性1272等于“Stock”(由列表填充的属性)时,属性1332(文本字段)应等于“AWESOME”。对于属性1272的所有其他值,属性1332应等于“不可怕”。以下是我现在拥有的:

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”错误。

不确定您正在使用的库是否在getObject()之后有花括号,也许可以尝试一下

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