无法通过Redwood脚本更新文件事件定义路径

2020-08-22 20:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 嗨,我们正试图将其中一个Cro...

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

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



嗨,
我们正试图将其中一个Cronacle Process Server从Windows迁移到Linux,因此我们需要更改目录的文件路径。

从" \ \"到"/"
从" \"到"/"

我们还编写了Redwood脚本,通过从文件输入File Evensts列表来更新文件事件定义。 但是,由于多个编译问题,我们无法更新文件路径。
这是脚本。 非常感谢您为解决此问题提供帮助。


------------------------------- ------------------------------------------
导入 java.io 。*;
import com.redwood.scheduler.api.model。*;
{
//获取附件文件
JobFile jobfile = jcsJob.getJobFileByName(" upload0.dat");
字符串文件路径= jobfile.getFileName();
字符串行;
if(jobfile!= null)< br> {
jcsOut.println("完整路径和文件名:" +文件路径);
FileInputStream in =新FileInputStream(filepath);
BufferedReader br =新BufferedReader(new InputStreamReader(in)); < br> while((line = br.readLine())!= null)
{
jcsOut.println(line);
if(line Event of FileEventDefinition)
{
FileEventDefinition feed = (FileEventDefinition)行;
字符串CurPath,NewPathTemp,NewPath;
Curpath = fed.getDirectory();
//NewPathTemp = Curpath.replaceAll(" \\","/");
NewPath = NewPathTemp.replaceAll (" \\","/");
fed.setDirectory(NewPath);
fed.setProcessServer(" LX_ProcessServer_01")
}
}
}
}

----------------- -------------------------------------------------- ----------

感谢
马尼

付费偷看设置
发送
7条回答
太Q了
1楼 · 2020-08-22 21:19.采纳回答

嗨,

在旧过程服务器上进行选择,直接在找到的项目上进行操作即可。

 import java.io. *;
 导入java.util。*;
 导入com.redwood.scheduler.api.model。*;
 {
   final String oldPsName =" WIN_ProcessServer_01";
   最终字符串sql ="从FileEventDefinition fed中选择联邦。*,ProcessServer ps,其中fed.ProcessServer = ps.UniqueId和ps.Name =?";
   ProcessServer ps = jcsSession.getProcessServerByName(" LX_ProcessServer_01");
   为(最终迭代器,它= jcsSession.executeObjectQuery(sql,new Object [] {oldPsName}); it.hasNext();)
   {
     FileEventDefinition feed =(FileEventDefinition)it.next();
     字符串路径= fed.getDirectory();
     path = path.replaceAll(" \\\\\\\\","/")。replaceAll(" \\\\","/");
     fed.setDirectory(path);
     fed.setProcessServer(ps);
   }
   jcsSession.persist();
 }
 

关于Gerben

奄奄一息的小鱼
2楼-- · 2020-08-22 21:42

感谢您对Gerben的回复,我非常感谢。

--------------------------------------------------- ---------------------------------

import java.io 。*;
import com.redwood.scheduler.api.model。*; < br> {
//获取附件文件
JobFile jobfile = jcsJob.getJobFileByName(" upload0.dat");
字符串文件路径= jobfile.getFileName();
字符串行;
if(jobfile!= null)
{
jcsOut.println("完整路径和文件名:" +文件路径);
FileInputStream in = new FileInputStream(filepath);
BufferedReader br = new BufferedReader( new InputStreamReader(in));
while((line = br.readLine())!= null)
{
jcsOut.println(line);
UpdateEventDirecory(line);
}
}
}



public void UpdateEventDirecory(String event)
{
final String oldPsName =" WIN_ProcessServer_01";
final String sql =" select fed。* from FileEventDefinition feed,ProcessServer ps,其中fed.EventDefinition =" + event +" and fed.ProcessServer = ps.UniqueId和ps.Name =?";
ProcessServer ps = jcsSession.getProcessServerByName(" LX_ProcessServer_01");
(最终迭代器 = jcsSession.executeObjectQuery(sql,new Object [] {oldPsName}))
{
FileEventDefinition feed =(FileEventDefinition)it.next();
字符串路径= fed.getDirectory();
path = path.replaceAll(" \\\\\\\\","/")。replaceAll(" \\\\","/");
fed.setDirectory(path);
fed .setProcessServer(ps);
}
jcsSession.persist();
}

--------------------------------------------------- -------------------------------------------------- ----------------------

我只是按照上面的要求更新了脚本(输入文件的每一行都有文件事件的列表),但是脚本仍然在下面抛出错误

编辑流程定义ZZZ_JD_FileEventPath_update屏幕中有未保存的更改
5:08:57 PM JCS-102382:流程定义ZZZ_JD_FileEventPath_update(最新版本)的编译失败:用户代码26:86:';' 预期用于(最终迭代器= jcsSession.executeObjectQuery(sql,new Object [] {oldPsName}))详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update的编译失败(最新版本):用户代码26:87: ';' 预期用于(最终迭代器= jcsSession.executeObjectQuery(sql,new Object [] {oldPsName}))详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update的编译失败(最新版本):用户代码28:4: 不是声明FileEventDefinition feed =(FileEventDefinition)it.next(); 详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update的编译失败(最新版本):用户代码28:23:')'预期的FileEventDefinition输入=(FileEventDefinition)it.next();。 详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update的编译失败(最新版本):用户代码34:20:预期的jcsSession.persist();。 详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update的编译失败(最新版本):生成的类页脚:9:类,接口或枚举预期的公共字符串getLineDescription(int lineNo)详细信息...
JCS -102382:针对流程定义ZZZ_JD_FileEventPath_update(最新版本)编译失败:生成的类页脚:4:类,接口或枚举预期的}详细信息...
JCS-102382:针对流程定义ZZZ_JD_FileEventPath_update(最新版本)编译失败: 生成的类页脚:4:类,接口或枚举预期的情况4:返回" 2"; 详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update的编译失败(最新版本):生成的类页脚:6:类,接口或枚举预期的默认值:详细信息...
JCS-102382:编译失败 流程定义ZZZ_JD_FileEventPath_update(最新版本):生成的类页脚:2:预期的类,接口或枚举}详细信息...
JCS-102382:流程定义ZZZ_JD_FileEventPath_update(最新版本)的编译失败:13个错误

SKY徐
3楼-- · 2020-08-22 21:42

您是如何生成FileEvents列表的?

您是否已从数据库中提取这些?


您正在从文件中读取Sting,然后测试它们是否是FileEventDefinition的实例。
这永远不会成立。

Kr,
Bas

95年老男孩
4楼-- · 2020-08-22 21:33

我在上面更新了我的代码段。

我是小鹏鹏啊
5楼-- · 2020-08-22 21:19

感谢Valentijn的回复,

是的 。 我能够拉出文件事件列表,并仅使用文件事件名称将它们保存在文件中(我们删除了一些条目,因为其中一些在更改期间不会受到影响)。 我相信我正在读取文件中只有文件事件名称的每一行。 我错过了什么吗?

木偶小白
6楼-- · 2020-08-22 21:30

我也只是执行您的代码时遇到了同样的错误。 我们缺少什么吗?

Doze时光
7楼-- · 2020-08-22 21:32

这真是神奇。 感谢Gerben

一周热门 更多>