Redwood脚本-更新查询

2020-09-01 08:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在Job会话上下文中的R...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

在Job会话上下文中的Redwood脚本中,是否可以在更新自定义表值时使用SQL" UPDATE"语句?
我仅限于" SELECT"语句吗?


如果我看一下管理指南,可以在多个地方看到它说支持SQL 92等,但看不到任何显示"仅SELECT"的内容。

我想做类似的事情:

最终字符串SQL_UPDATE_COLUMN_VALUE =
       " UPDATE TableValue" +
       " SET TableValue.ColumnValue =?" +
       " WHERE TableValue.ColumnName =?" +
       " AND TableValue.Table =" +
       "(" +
       " SELECT t.UniqueId" +
       "来自表t" +
       " WHERE t.Name =?" +
       ")" +
       " AND TableValue.Key =?";

/**创建objParams并分配我的参数值
 ?1 = VALUE1 
?2 = COL1
?3 = MYTABLE
?4 = KEY1 **/ session.executeQuery(SQL_UPDATE_COLUMN_VALUE,objParams,回调);

使用上面的示例,当我尝试运行查询时,不会有任何输出。
它返回一条消息,内容为" JCS-122035:无法持久:JCS-XXXXX:@ locale2 @ :(com.redwood.scheduler.exception.Class.persistence.api.PersistenceException $ RecoveryFailedException'非选择语句')"

提前谢谢。

达里尔

1条回答
派大星 ヾ
2020-09-01 08:46 .采纳回答

Hello Darryl,

更新您通过API执行的操作。 使用executeObjectQuery可以将数据库对象直接提取到API对象中并开始使用它们。

所以请举个例子:

 {
   字符串sql ="从TableValue tv,Table t中选择tv。*,其中t.UniqueId = tv.Table和tv.ColumnName =?和t.Name =?和tv.Key =?";
   对于(TableValue tv:jcsSession.executeObjectQuery(TableValue.TYPE,sql,new Object [] {" "," "," "}))
   {
     tv.setColumnValue(" VALUE1");
   }
   jcsSession.persist();
 }
 

关于Gerben

一周热门 更多>