1

ABAP 是否允许写入标准输出和标准错误?我需要编写小程序来测试通过作业调度程序(Cronacle)与 SAP 系统的接口连接。例如,开始/编写“Hello World!” + 日期 + 时间到标准输出/退出。我是一名 .net 程序员,负责处理这个看似琐碎的程序,但我被困住了。

4

4 回答 4

1

我假设您在带有 ABAP 堆栈的基于 UNIX/Linux 的系统上运行 SAP。SAP 试图尽可能多地抽象出底层操作系统。这种技术将在 Windows 上进行一些小的修改。

要与操作系统交互,请查看此处的 SM49“外部操作系统命令”,您可以设置一个命令来运行 cat 并将您想要写出的值传递到控制台。

我认为您最好通过将消息写入主机系统上的文件。要做到这一点;

OPEN DATASET i_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.

然后使用将数据写入文件;

TRANSFER wa_text TO i_file.

那么当你完成时不要忘记

CLOSE DATASET i_file.

然后,您可以查看 AL11 中文件的内容或直接从主机中获取。如果您想查看在 unix 主机上打印的消息。使用控制台连接并使用 less +F /var/log/ 或 tail。在 Windows 上,我相信有一个同等的替代品。

于 2011-03-29T21:27:20.387 回答
1

Appliaction Log (Transaction SLG0, SLG1) Tables BAL*, 非常非常适合追踪...非常有趣,因为它甚至适用于后台任务、不同的用户帐户、用户不可见以及旧追踪的擦除条目可以在创建时定义。这对我来说是天堂,我不必再调试了。

于 2011-02-06T22:43:04.343 回答
1

有几个选项可以像您所询问的那样编写“调试信息”。前面的答案中提到的两种可能性是应用程序日志(SLG1 和 SBAL* 功能模块)和写入文件。

但是,对于您的情况,您提到在后台运行程序。在这种情况下,最好的办法是简单地使用 MESSAGE 发出消息(您可以通过检查 SY-BATCH 的值将消息的发出限制为后台处理)。

当您转到 SM37 时,可以在作业日志中看到后台运行的程序发出的消息。

于 2011-04-05T07:24:17.370 回答
0

查看应用程序日志记录 - http://help.sap.com/saphelp_nw04/helpdata/en/d3/1fa03940fab918e10000000a114084/frameset.htm

于 2010-03-29T17:56:04.950 回答