2017年7月24日 星期一

SAP_ABAP_邊學邊記錄_宣告變數

SAP_ABAP_邊學邊記錄_宣告變數

abap在vscode上面也有套件可以下載,不無小補,作業起來應該會比較sap上操作來的好一點。

宣告方式

SAP的結尾是用『.』一定要記得點上,如javascript的var『;』

TYPES

如用系統內建的型態無法滿足的時候,可以透過TYPES來做自定義!
也可以用於宣告一個結構,但無法直接使用,還是需要透過DATA來實體化。
感覺起來像是類別實做成物件…用法的話,可用於重覆需要宣告的資料結構!

DATA

用於宣告變數的前贅詞,如javascript的var、let或是vb的dim…

TYPE

用於宣告的變數的時候指定資料型別

LIKE

用法同TYPE,不同的是,LIKE是用於有值的資料。

CONSTANT

宣告常數,常數部份無法更動。如javascript的const

STATICS

宣告一個臨時變數,用完了就自動釋放了!

變數類型

類型 說明 備註
C 字串
D 日期 YYYYMMDD_‘2017/07/24’
F 浮點數 長度8
I 整數
N 數值組成的字串 ‘123’
P 小數點數值 1.0123456
T 時間 HHMMSS_‘08:50:00’
X 16進制數 FFF0

宣告方式

DATA 變數名稱(長度) TYPE 變數型別 VALUE 初始值

DATA宣告範例

DATA ABC TYPE C. --宣告ABC是一個字串,但是未給長度,初始值為1
DATA ABC(10) TYPE C. --宣告ABC是一個長度10的字串
DATA ABC TYPE P DECIMALS 5 VALUE '3.14159'. --宣告變數ABC為P且小數點五位...
DATA DEF LIKE SY-UNAME. -- 宣告DEF的值為當前系統帳號(SY-UNAME為系統變數)

CONSTANT宣告範例

CONSTANT GHI TYPE P DECIMALS 5 VALUE '3.14159'.

STATIC宣告範例

STATIC JKL TYPE C VALUE 'HELLO WORLD!'.

TYPES宣告範例

TYPES:NAMES(10) TYPE C,
      COUNTS(20) TYPE C
      .
DATA:PLAYER TYPE NAMES VALUE 'HELLO HEY'     

其他說明

如果要一次宣告多變數的話,可以透過DATA:的作法
DATA: ABC TYPE C
      DEF TYPE C
      GHI TYPE F
      . <---這個點很重要,如javascript中的結尾分號,沒了,就錯了!

宣告方式(引入TABLE-COLUMN型別)

在為了避免宣告的類別與TABLE取出有差異的情況下,我們可以直接去宣告成該TABLE欄位的型別!
這部份跟鼎新的TT、T100系列開發的時候還蠻像的!(ORACLE內也可以這樣處理)
DATA 變數名稱 TYPE TABLE-COLUMN

宣告範例

DATA ABC TYPE CTABLE-ACOLUMN --宣告ABC的型別為CTABLE的ACOLUMN

系統變數說明

變數 說明 備註
SY-SUBRC 系統執行某指令後,表示執行成功與否的變數,'0’表示成功
SY-UNAME 當前使用者登入SAP的USERNAME
SY-DATUM 當前系統日期
SY-UZEIT 當前系統時間
SY-TCODE 當前執行程式的Transaction code
SY-INDEX 當前LOOP循環過的次數
SY-TABIX 當前處理的是internal table的第幾筆
SY-TMAXL Internal table的總筆數
SY-SROWS 螢幕總行數
SY-SCOLS 螢幕總列數
SY-MANDT CLIENT NUMBER
SY-VLINE 畫豎線
SY-ULINE 畫橫線
SY-REPID 當前程序的程序名 不能更改
SY-CPROG 調用程序的程序名 可修改

沒有留言:

張貼留言