2015-03-31 44 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段。