關於ABAP內錶

2021-04-01 21:47:36 字數 2294 閱讀 1498

1.      內錶的型別及定義:

(1).any table:即任意表型別,此種定義方式只能在傳遞引數的時候定義。

例如:form *** using/changing type any table .

(2).any table包括了兩種型別:index table和hashed table 。

《1》.index table:包括了standard table和sorted table

a.      standard table:其實就是乙個線性表,通過key訪問內錶是線性查詢的,也就是說,隨著表中記錄的增加,對錶的操作的時間開銷也相應的增加。

定義方法:types/data: like/type standard table of .

b.      sorted table:顧名思義,表中的記錄是按照一定的順序排列的。訪問表的主要方式是表中定義的key,如果key不唯一,則選擇index最小的那個。也可以通過index來訪問排序表,如果你想通過index插入一條記錄,系統會自動檢查你插入的位置是否正確。所以,如果插入的時間比插入到標準表的時間會長。因此,盡量選擇key來對排序表進行操作。

定義方法:types/data: like/type sorted table of .

《2》.hashed table:對雜湊表只能用你定義的key進行操作,而不能使用index進行操作。因此,定義雜湊表必須定義unique key 。注意:所有關於使用index操作表的語句都不能用於操作雜湊表。例如:sort,loop等。

定義方法:types/data: like/type hashed table of .

2.      內錶的操作:

(1).建立:

a. 定義乙個結構,然後type/like這個結構

例如:types: begin of ,

...i> ...,

...end of .

data  type standard table of

with non-unique default key

initial size

with header line.

b. type/like系統表或者資料庫表或者結構

data  type standard table of 《系統表名》

initial size

with header line.

(2).新增資料:

b.向表中插入資料:

1. insert [wa into|initial line into] itab [index idx] [assigning |reference into dref].

2. insert [wa into|initial line into] table itab [assigning |reference into dref].

3. insert lines of itab1 [from idx1] [to idx2] into itab2 [index idx3].

4. insert lines of itab1 [from idx1] [to idx2] into table itab2.

c.相同字段求和向表裡新增:

basic form

collect [wa into] itab.

extras:

1. ... assigning

2. ... reference into dref

3. ... sorted by f

(3).刪除資料:

1. delete itab.

2. delete table itab with table key k1 = v1 ... kn = vn.

3. delete table itab [from wa].

4. delete itab index idx.

5. delete itab from idx1 to idx2.

6. delete itab where logexp.

7. delete adjacent duplicates from itab.

(4).修改資料:

1. modify itab [from wa] [index idx] [assigning |reference into dref] [transporting f1 ... fn].

2. modify table itab [from wa] [assigning |reference into dref] [transporting f1 ... fn].

3. modify itab [from wa] transporting f1 ... fn where cond.

ABAP動態內錶

定義的動態內錶,對應內錶一行的工作區 field symbols type standard table type any.form create dynamic table data lt fcat type slis t fieldcat alv,ls fcat like line of lt ...

ABAP 內錶定義

內 表是記憶體中建立的乙個臨時表,你可以在程式執行時對錶中的資料進行,插入,修改,刪除等操作,程式跑完了,就會被釋放。內錶共有3種型別 1.standard 標準表 一般用的比較多 2.sorted 排序表 3.hashed 雜湊表,一般用的比較少 工作區 內錶按照行進行訪問,必須使用 某個區域 工...

ABAP 內錶總結 1

一 內錶是什麼 用處 當程式中處理有固定結構的資料時候,就需要使用內錶,特別是內錶是在程式中儲存資料庫表的載體。內錶 internal memory table 記憶體中的表,是外設 螢幕 磁碟,印表機等 和資料庫表資料交換的中介。注意 在abap語言中不提供二維陣列,內錶相當於二維陣列,它是乙個表...