SAP ABAP - 內部表



內部表實際上是一個臨時表,其中包含正在執行的 ABAP 程式的記錄。內部表僅在 SAP 程式的執行時存在。它們用於透過使用 ABAP 語言處理大量資料。當您需要從資料庫表中檢索資料時,需要在 ABAP 程式中宣告一個內部表。

內部表中的資料儲存在行和列中。每一行稱為一個,每一列稱為一個欄位。在內部表中,所有記錄都具有相同的結構和鍵。內部表的單個記錄可以透過索引或鍵來訪問。由於內部表在關聯程式正在執行時存在,因此當程式執行終止時,內部表的記錄將被丟棄。因此,內部表可以用作臨時儲存區域或臨時緩衝區,其中可以根據需要修改資料。這些表僅在執行時佔用記憶體,而不是在宣告時佔用記憶體。

內部表僅在程式執行時存在,因此在編寫程式碼時,必須以程式能夠利用的方式來構造內部表。您會發現內部表的操作方式與結構相同。主要區別在於結構只有一行,而內部表可以根據需要包含任意多行。

內部表可以由多個欄位組成,這些欄位對應於表的列,就像在 ABAP 字典中使用多個欄位建立表一樣。鍵欄位也可以與內部表一起使用,並且在建立這些內部表時,它們提供了稍微更大的靈活性。使用內部表,可以指定一個非唯一鍵,允許儲存任意數量的非唯一記錄,並且如果需要,允許儲存重複記錄。

內部表的大小或其包含的行數不是固定的。內部表的大小根據與內部表關聯的程式的要求而變化。但建議將內部表保持儘可能小。這樣做是為了避免系統在處理海量資料時執行緩慢。

內部表用於多種用途 -

  • 它們可以用於儲存稍後可以在程式中使用的計算結果。

  • 內部表還可以儲存記錄和資料,以便可以快速訪問這些資料,而不是必須從資料庫表中訪問這些資料。

  • 它們用途非常廣泛。它們可以使用任意數量的其他已定義結構來定義。

示例

假設使用者希望從一個或多個大型表中建立各種客戶的聯絡號碼列表。使用者首先建立一個內部表,從客戶表中選擇相關資料,然後將資料放入內部表中。其他使用者可以直接訪問和使用此內部表來檢索所需的資訊,而不是在程式的執行時編寫資料庫查詢來執行每個操作。

廣告