首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ABAP输出超过255个字符

ABAP输出超过255个字符
EN

Stack Overflow用户
提问于 2014-05-15 02:22:28
回答 2查看 10.5K关注 0票数 3

我们有一个abap程序,它在后台运行并调用web服务。最近,我们一直收到来自web服务的错误。不幸的是,我们只能看到这个错误的前255个字符,我们希望看到整个堆栈转储(来自C#.net web服务)。

功能模块:

代码语言:javascript
运行
复制
"call out to web service code goes here    
IF jobid CS 'Success'.
      EXIT.
 ELSEIF jobid CS 'Error'.
     error_string = jobid.
     EXIT.
  ELSEIF jobid IS INITIAL.
      error_string ='NULL Value Returned'.
      EXIT.
  ELSE.
    CONCATENATE 'Unknown Error' jobid INTO error_string SEPARATED BY ':' IN CHARACTER MODE.
  ENDIF.

然后,该程序检查error_string

代码语言:javascript
运行
复制
IF error_string IS INITIAL. 

   WRITE: / jobid.   
 ELSE.
  PERFORM send_mail.
  WRITE: / error_string.
ENDIF.

一旦错误被记录下来,我们希望返回后台池并查看整个错误消息(这将是一条由web服务器2000+字符组成的大型XML消息)。

这个是可能的吗?

编辑: error_string类型字符串。程序和功能模块都是内部编写的z程序。程序在SAP BW流程链中被调用为ABAP进程,以触发来自web服务器的操作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-15 23:46:00

如果要将输出写入报告列表,有许多函数模块可以将字符串转换为大小可变的行表。举个例子:

代码语言:javascript
运行
复制
REPORT ztest_string_to_table LINE-SIZE 120.

CONSTANTS co_line_size TYPE i VALUE 60.

TYPES: t_line TYPE c LENGTH co_line_size.

DATA: l_string TYPE string,
      lt_lines TYPE TABLE OF t_line.

FIELD-SYMBOLS: <l_line> TYPE t_line.

l_string = |Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus odio |.
l_string = |{ l_string }lorem, consectetur a est sed, dignissim mattis est. Maecenas |.
l_string = |{ l_string }id pulvinar diam. Pellentesque nec lacinia metus. In a sapien |.
l_string = |{ l_string }nisl. Morbi sem dolor, porta non sodales eu, elementum et lorem. |.
l_string = |{ l_string }Fusce ut suscipit enim. Aliquam imperdiet, nisi dapibus dictum |.
l_string = |{ l_string }tempor, elit tellus eleifend justo, sit amet imperdiet tellus |.
l_string = |{ l_string }nisl id enim. Fusce aliquam nunc augue, imperdiet tincidunt |.
l_string = |{ l_string }purus congue non. Fusce vestibulum tincidunt lorem, ac mattis |.
l_string = |{ l_string }dolor pharetra nec. Maecenas ullamcorper tincidunt elit et |.
l_string = |{ l_string }pellentesque. Curabitur in semper arcu, at adipiscing lorem.|.
l_string = |{ l_string }Lorem ipsum dolor sit amet, consectetur adipiscing elit. |.
l_string = |{ l_string }Nunc ultricies fermentum pellentesque.|.

CALL FUNCTION 'SWA_STRING_TO_TABLE'
  EXPORTING
    character_string = l_string
    line_size        = co_line_size
  IMPORTING
    character_table  = lt_lines.

LOOP AT lt_lines ASSIGNING <l_line>.
  WRITE: / <l_line>.
ENDLOOP.
票数 3
EN

Stack Overflow用户

发布于 2014-05-15 22:21:32

检查报表语句的行大小参数。例如,

代码语言:javascript
运行
复制
report ztest line-SIZE 9.

data: error type string.

error = '1234567890'.

write error.

输出:

代码语言:javascript
运行
复制
123456789

请注意,line-size max是1023。为了查看所有内容,您需要将消息分成多行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23662245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档