1.內表的表頭對於程式碼的書寫來說更加簡便了。
比如 內部表T_TAB, 它的一條記錄為W_TAB,他有兩個專案,ID和value,現在需要給內部表加一條記錄。假如這個內部表有表頭行的話,程式碼如下:
T_TAB-ID = 1.
T_TAB-VALUE = "VALUE1".
APPEND T_TAB.
假如這個內部表是沒有表頭行的話,程式碼如下:
W_TAB-ID = 1.
W_TAB-VALUE = "VALUE1".
APPEND W_TAB TO T_TAB.
*還有其他的一些操作也是帶表頭行的內標書寫簡單COLLECT T_TAB / LOOP AT T_TAB / READ T_TAB等
2.使用帶表頭行的內部表容易在編寫程式時出錯,並降低可讀性。
由於帶有表頭行,所以在程式裡面“T_TAB”代表兩種意思,一是內部表T_TAB,二是內部表的表頭行T_TAB,具體是那個意思要看情況,這就給讀程式造成了障礙;而且程式設計師寫程式的時候,由於T_TAB可以做2種解釋,所以當他手誤錯寫了T_TAB的時候,可能不會導致編譯出錯,但實際是錯的,導致錯誤不容易被發現;在對內部表進行初始化、清空時,帶有表頭的內部表加入直接寫“CLEAR T_TAB.”這樣被清的是T_TAB的表頭行,而不是內部表,這樣的話編譯沒錯,但程式邏輯就不對了。所以一般使用“REFRESH T_TAB”或者“CLEAR T_TAB[]”。
*對於帶表頭行的內部表,T_TAB[]指的就是去除表頭行後純粹的內部表資料。
總的來說,建議使用標準的內部表,即沒有表頭行的內部表,但同時也要掌握帶表頭行的內部表的操作。
1.內表的表頭對於程式碼的書寫來說更加簡便了。
比如 內部表T_TAB, 它的一條記錄為W_TAB,他有兩個專案,ID和value,現在需要給內部表加一條記錄。假如這個內部表有表頭行的話,程式碼如下:
T_TAB-ID = 1.
T_TAB-VALUE = "VALUE1".
APPEND T_TAB.
假如這個內部表是沒有表頭行的話,程式碼如下:
W_TAB-ID = 1.
W_TAB-VALUE = "VALUE1".
APPEND W_TAB TO T_TAB.
*還有其他的一些操作也是帶表頭行的內標書寫簡單COLLECT T_TAB / LOOP AT T_TAB / READ T_TAB等
2.使用帶表頭行的內部表容易在編寫程式時出錯,並降低可讀性。
由於帶有表頭行,所以在程式裡面“T_TAB”代表兩種意思,一是內部表T_TAB,二是內部表的表頭行T_TAB,具體是那個意思要看情況,這就給讀程式造成了障礙;而且程式設計師寫程式的時候,由於T_TAB可以做2種解釋,所以當他手誤錯寫了T_TAB的時候,可能不會導致編譯出錯,但實際是錯的,導致錯誤不容易被發現;在對內部表進行初始化、清空時,帶有表頭的內部表加入直接寫“CLEAR T_TAB.”這樣被清的是T_TAB的表頭行,而不是內部表,這樣的話編譯沒錯,但程式邏輯就不對了。所以一般使用“REFRESH T_TAB”或者“CLEAR T_TAB[]”。
*對於帶表頭行的內部表,T_TAB[]指的就是去除表頭行後純粹的內部表資料。
總的來說,建議使用標準的內部表,即沒有表頭行的內部表,但同時也要掌握帶表頭行的內部表的操作。