需要帮助返回孩子的工作状态

2020-09-12 18:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)试图获取子作业的状态,但是它从与...

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

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


试图获取子作业的状态,但是它从与预期不同的作业中返回状态。 不知道从哪里获取此信息。 我已附上返回信息的屏幕截图。 2018-09-28-07-45-32-sap-rq1-00global-sep-28-2018-7.jpg

{
//提交JobDef的代码
//变量
字符串sCheck ="错误";
字符串TheStatus ="";
字符串cCheck ="已完成";

//获取作业定义SAP_AbapRun
JobDefinition aJobDef = jcsSession.getJobDefinitionByName(" JOBTOSUBMIT");

//创建作业
Job aJob = aJobDef.prepare(); < br>
//分配参数
aJob.getJobParameterByName(" SOURCEDIR")。setInValueString(SRCEDIR);
aJob.getJobParameterByName(" SOURCEFILE")。setInValueString(SRCEFILE);
aJob.getJobParameterByName( " DESTDIR")。setInValueString(DSTDIR);

//分配队列,因为SAP作业需要一个队列
队列aQ = jcsSession.getQueueByName(" AQueue");
aJob.setQueue(aQ) ;

//提交作业定义并将未保存的数据写入数据库
jcsSession.persist();

//等待所有子级
//jcsSession.waitForAllChildren( aJob);

做{
TheStatus =(String)aJob.getStatus()。name();

jcsOut.println(" {");
jcsOut.println (TheStatus);
j csOut.println(aJob);
jcsOut.println("}");

如果(sCheck.equals(TheStatus))
{
throw new RuntimeException();
}
Thread.sleep (1000);
} while(!TheStatus.equals(" cCheck"));;
}

2018-09-28-07-45 -32-sap-rq1-00global-sep-28-2018-7.jpg (12.4 kB)
付费偷看设置
发送
3条回答
落灬小鱼
1楼 · 2020-09-12 19:25.采纳回答

嗨,雅各布,


您需要进行以下更改。 在do-while循环中,添加以下行。

做{
 jcsSession.refreshObjects(new SchedulerEntity [] {aJob});
 ... 

这可确保您从数据库中获得了正确的新作业实际状态(从计划到正在运行到已完成)。
仅获得计划的原因是,您是通过与 作业对象的缓存版本。 它不会跟踪作业的实际状态。 换句话说,它将无限期地返回"计划的"。

第43行出现错误,

} while(!TheStatus.equals(" cCheck")); 

删除引号,因为cCheck已经是一个字符串。 将其更改为:

} while(!TheStatus.equals(cCheck)); 


让我知道是否可以解决问题。

K,

Bas

野沐沐
2楼-- · 2020-09-12 19:34

通过更改第34行,该作业现在返回正确的作业ID。 该状态仍处于预定状态,因此也许我在第30行的代码已关闭,而我正在为其他工作拉该状态?

该代码用于将子作业的状态返回到父作业。 如果子作业出错,则父作业也会出错。

CPLASF-自律
3楼-- · 2020-09-12 19:23

嗨,雅各布,

您可以添加从Cronacle流程监视器完全展开的作业的屏幕截图吗?

为帮助识别工作ID,将第34行替换为以下内容:

 jcsOut.println(aJob.getJobId()); 

在我看来,您提供的代码,提交一个作业并监视状态每1000毫秒完成一次,直到完成。

Kr,
Bas

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答