2015-03-31 42 views
-1

我怎样才能做到以下几点:如何在ABAP中编写结构?

data: ls_header type BAPIMEPOHEADER. 
" fill it 
write ls_header. 

目前,我得到一个错误,因为write无法分析复杂的数据类型为字符串。有没有简单的方法让这段代码在abap中运行?

+0

您是否需要使用'WRITE'或其他方式来显示可接受的内容? – vwegert 2015-03-31 11:46:56

回答

1

您可以使用类似:

DATA: g_struct TYPE bapimepoheader. 

DO. 
    ASSIGN COMPONENT sy-index OF STRUCTURE g_struct TO FIELD-SYMBOL(<f>). 
    IF sy-subrc NE 0. 
    EXIT. 
    ENDIF. 
    WRITE:/<f>. 
ENDDO. 
0

我知道两种方式,一种是程序性的,另一种是oop。 这是程序方法。

  1. 从数据字典表DD03L中选择结构的字段(或其他您可能需要的)到本地内部表中。
  2. 遍历表成工作区
  3. 检查,当前场是否为平坦单个数据类型,并且如果是这样,
  4. 分配部件结构ls_header的工作区,字段名成anyfieldsymbol
  5. 写anyfieldsymbol

您需要编码?

0

您可以将结构写入字符串,然后输出字符串。创建相同的方法idoc段。