iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0

原文連結:Working with Simple Internal Tables

建立Internal Table

在ABAP中,Internal Table是一種特殊的資料型態,可以視為程式的內建表格。

"DATA 表格名稱 TYPE TABLE OF 資料列的型態"
DATA table_num TYPE TABLE OF i.

APPEND  1234 TO table_num.
APPEND  456 TO table_num.
  • 每一筆資料都會佔據一列
  • 使用APPEND TO 將資料依序存入表格
  • Internal Table 沒有資料列的上限,除非記憶體滿了

TABLE TYPES

在TABLE中,一樣可以預定義表格的資料類型,分成用TYPES及直接賦型兩種:

* 先定義TYPES=>
* TYPES 表格型態名稱 TYPE TABLE OF 型態 
TYPES t_table_num TYPE TABLE OF i.
DATA table_num TYPE TABLE OF t_table_num.

* 直接賦與表格型態=>
* DATA 表格名稱 TYPE 表格型態名稱.
DATA table_num TYPE  /DMO/T_FLIGHT.

註:"/DMO/T_FLIGHT"來自SAP內建好的表格型態

清除表格

CLEAR可以一次清除整張 Internal Table。

CLEAR table_num.

提取指定列

在ABAP中提取指定列的方法有很多種,在這裡主要使用所在列數去提取。注意,列的提取是從1而非0開始。

"提取第二列的值"
DATA number TYPE i.
number = numbers[ 2 ].

LOOP迴圈呼叫表格

這裡用前一天介紹的LOOP迴圈來進行一行一行的呼叫

    APPEND 123 TO numbers.
    APPEND 345 TO numbers.
    APPEND 678 TO numbers.

    LOOP AT numbers INTO DATA(number_inline).
      out->write(  number_inline ).
    ENDLOOP.

    *123
    *345
    *678

補充:LOOP迴圈中,INTO後面接的變數 number_inline 在定義上可以稱之為workarea,用來儲存臨時的單列(single row)結構。

下一節來當ABAP除蟲大師吧!


上一篇
Day08_條件式
下一篇
Day10_Debug Mode
系列文
ABAP 基礎30天學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言