Hi 大家好!
今天要來介紹SAP內的Table跟Internal table,
工程師對Table了解程度我認為對系統分析的能力還有開發程式的效率有很大的正相關,
Table是SAP內用來儲存資料的地方(廢話),
所有的主檔資訊還有交易資訊都會存在對應的TABLE,
上圖就是存放物料主檔的Table ,
工作時間久了之後常用的Table幾乎都會記下來就不用在上網找了,
如果在系統中看到一個欄位,想知道他存放在哪個Table中的話,
可以對著欄位按F1,會出現以下畫面
按下紅線處的槌子圖案就可以找到這個欄位的名字還有存在哪個Table,
還記得前一篇介紹的變數嗎,
SAP內有已經定義好的變數,
也可以讓用戶在程式內定義只有這支程式能用的變數,
Internal table也是類似的道理,
讓使用者在程式中定義這支程式中可以使用的Table,
現在就來示範如何建立一個Internal table ,
假設這個table要有三個欄位1.料號2.工廠別3.料號敘述
TYPES : BEGIN OF ITAB , "itab是內表名稱
matnr type mara-matnr , "定義內表中有變數matnr 資料類型參照mara table中的matnr
werks type marc-werks , "定義內表中有變數werks 資料類型參照marc table中的werks
maktx type makt-maktx , "定義內表中有變數maktx 資料類型參照makt table中的maktx
end of itab .
DATA IT_ITAB TYPE TALBE OF ITAB . "根據itab結構定義內表
如果要定義的內表已經是SAP內存在的表的話,
就可以直接用DATA宣告,
舉例:定義一個結構跟MARA一樣的內表
DATA IT_MARA TYPE TABLE OF MARA .
以上就是今天的分享!