点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
概述:
我们有一个Z报表存在问题,该报表已投入生产5年以上。 该作业成功执行了99.5%,但每年失败一次或两次。
报告的详细信息:报告创建两个文件。 第一个文件从数据库获取数据并写入输出文件。 此报告中有一个SUBMIT语句,可打开此书面文件(为什么要提交SUBMIT?-SUBMIT报告已重用。它执行多个任务!)并生成另一个文件。 很少有OPEN DATASET FOR OUTPUT用作追加而不是覆盖文件内容。
0 ****** ***** 1 ***** 1 *** 310000000 ***** 00000000 **** 0000 ******* 0
************** 01092 ***** 2 ** 000000 *** 005 *** 00201 ***** R ******** * * C ##
************** 01092 ***** 2 ** 000000 *** 005 *** 00201 ***** R ******** * * C ##
************** 01092 ***** 2 ** 000000 *** 005 *** 00201 ***** R ******** * * C ##
************** 01092 ***** 2 ** 000000 *** 005 *** 00201 ***** R ******** * * C ##
************** 01092 ***** 2 ** 000000 *** 005 *** 00201 ***** R ******** * * C ##
*********** ES ##
**还存在其他行***
最后一行*********** ES ##来自文件的先前内容,这导致作业失败。
感谢Sandra和Quynh。
Sandra Rossi 这只是从DB中挑选数据并写入文件的正常工作 并且不涉及并行的流程/大规模活动。 我们确实提供了多种解决方案,但是我们有一个严格的规则,除非可以确定问题的根本原因,否则不要将新更改移至产品中:(
我已经尝试过在所有可能的情况下复制此问题。
1。 在多个会话中打开文件进行写入和读取模式,并对文件执行一些处理。
2。 在仍处于写入模式时手动创建运行时异常。
3。以写入模式等打开多个文件。
这就像游戏开发人员所面临的错误之一,即在玩同一游戏的百万系统中,有十分之一出现了问题:)
Quynh Doan Manh :不幸的是,当作业失败时,文件的状态已经 已更改,并且由于该文件已被覆盖或附加了一半,因此无法检索该文件。 我们没有这些文件的备份,集成团队(TIBCO)也没有。 一旦他们转移了它,它也从他们的文件夹中消失了。 自上次出现此问题以来,我们一直在备份文件,此后没有遇到任何问题。
感谢您的反馈。
因此,如果严格遵守此规则,则所有无法重现的问题都将手动恢复。 如果某个问题一天发生100次,但无法重现,该怎么办...:)
非常罕见,因此手动恢复是一个合理的选择。
我刚与.NET开发人员进行了非常有趣的对话,幸运的是,他遇到了与问题中所述的问题完全相同的问题。 他们遇到了一个问题,即同一文件正在多个线程中使用(所有文件都用代码和某种分布式系统手动编写),并且他们假定默认情况下它们的代码是线程安全的(将近10年)。 不幸的是,有一个线程正在从文件中读取某些内容,而另一个线程正在向同一文件中写入数据。 他们应该覆盖整个文件,但是前一天的剩余内容仍然与新内容一起出现。 似乎他们实施了Singleton来解决此问题,并进行了其他一些小的更改。
这一切都始于开发人员认为线程和并发是自动处理的,而不是自动处理的。
这不能解决我们的问题,而只是想分享。 也许其中一个线程在执行时失败了? 我们甚至尝试从UNIX团队获取日志,但什么也没找到:)
一周热门 更多>