借助Redwood Script更新Jobs的保留时间。

2020-09-18 03:46发布

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

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


专家您好,

我们还为所有流程定义以及链定义和报告定义设置了90天的保留期,尽管在开始时并未定义某些定义,但我们在创建这些定义时会定义这些保留期。

因此,现在我取出所有这些定义(流程,链,报告),并希望将其保留期更新为90天,但定义数为5k,现在我要使用Redwood Script更新这些定义。

您能建议我调用保留选项卡所必须使用的方法和类吗?

以及需要使用哪个类来访问流程定义,链定义和报告定义。

添加到以上内容-我可以为过去完成的流程更新保留,但没有定义保留吗(逻辑上我认为这是不可能的,但是有什么方法可以检测到这些流程并将其删除)

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

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


专家您好,

我们还为所有流程定义以及链定义和报告定义设置了90天的保留期,尽管在开始时并未定义某些定义,但我们在创建这些定义时会定义这些保留期。

因此,现在我取出所有这些定义(流程,链,报告),并希望将其保留期更新为90天,但定义数为5k,现在我要使用Redwood Script更新这些定义。

您能建议我调用保留选项卡所必须使用的方法和类吗?

以及需要使用哪个类来访问流程定义,链定义和报告定义。

添加到以上内容-我可以为过去完成的流程更新保留,但没有定义保留吗(逻辑上我认为这是不可能的,但是有什么方法可以检测到这些流程并将其删除)

付费偷看设置
发送
6条回答
派大星 ヾ
1楼 · 2020-09-18 04:12.采纳回答

要更改特定应用程序中所有职位定义的保留,您可以使用以下代码。

替换partitionName和applicationName

 {
   字符串partitionName =" Partition"; //替换为分区名称
   字符串applicationName =" Application"; //替换为应用名称
  
   字符串查询=" SELECT * from JobDefinition jd,应用程序ap,分区pt" +
                 " WHERE jd.ParentApplication = ap.UniqueId" +
                 " AND jd.Partition = pt.UniqueId" +
                 " AND jd.BranchedLLPVersion = -1" +
                 " AND ap.Name =?AND pt.Name =?";
   对象参数[] =新对象[] {applicationName,partitionName};
   迭代器= jcsSession.executeObjectQuery(query,parameters);

   而(it.hasNext()){
     JobDefinition jd =(JobDefinition)it.next();
     jd.setKeepAmount(new Long(90));
     jd.setKeepUnits(JobDefinitionKeepUnit.Days);
     jcsOut.println(jd.getName());
     jcsSession.persist();
   }
 } 

这将更改所有定义类型,链,报告,作业等。

Kr,
Bas

软件心理学工程师
2楼-- · 2020-09-18 04:22

谢谢Bas !!

您钉了它:)

hengyuye
3楼-- · 2020-09-18 04:07

您好,

1)您可以通过导出/导入来实现,请在导入规则集中调用以下代码:

{//基本的导入规则集(最终迭代器it = jcsImportRuleSet.getObjects()。iterator(); it.hasNext();){对象obj = it.next(); if(obj instanceof JobDefinition){JobDefinition jd =(JobDefinition)obj; jd.setKeepAmount(new Long(90)); jd.setKeepUnits(JobDefinitionKeepUnit.Days); }}}

2)您还可以创建一个

JobDefinition jd = jcsSession.getJobDefinitionByName(jcsSession.getDefaultPartition(),strLine);

jd.setKeepUnits(JobDefinitionKeepUnit.Days);

您可以通过运行系统作业来删除没有设置保留期限的作业。

此致

Abhishek

三十六小时_GS
4楼-- · 2020-09-18 04:16

谢谢Abhishek !!

5楼-- · 2020-09-18 04:06

你好,

您还可以通过创建一个名为System_Defaults_System的定义来设置GLOBAL保留选项。

关于Gerben

Nir深蓝
6楼-- · 2020-09-18 04:03

感谢Gerben的建议,但我们的情况是,我们对每个应用程序都有不同的保留策略,因此我无法行使GLOBAL保留选项。

对此,我们将不胜感激。

再次感谢您的时间。

一周热门 更多>