abap源程式由注釋和abap語句組成。 abap中的每個語句都以關鍵字開頭,以句點結尾,abap不區分大小寫。
程式中的第乙個非注釋行以單詞report開頭。 報告將始終是建立的任何可執行程式的第一行。 該語句後面是以前建立的程式名稱。 然後用乙個滿程終止該行。
語法是
report [program_name]
.[statements…]
.
這允許語句根據需要在編輯器中占用盡可能多的行。 例如,report可能看起來像這樣 -
report z_test01.
語句包括命令和任何以句點結尾的變數和選項。 只要句子出現在語句的結尾,就不會出現問題。 正是這個時期,標誌著宣告的完成。讓我們編寫**。
在report語句下面的行,只需鍵入以下語句:寫「hello world!"。
report z_test01.
write 'hello world!'
.
冒號表示法如果每個語句的開頭是相同的,則連續語句可以鏈結在一起。 這是使用冒號(:)運算子和逗號,用於終止單個語句,就像句點結束正常語句。
下面是乙個程式的例子,
write 'hello'
. write 'abap'
. write 'world'
.
使用冒號表示法,可以這樣寫
write:
'hello'
,'abap'
,'world'
.
像任何其他abap語句,布局沒有關係。 這是乙個同樣正確的宣告 :
write:
'hello'
,'abap'
,'world'
.
內聯注釋可以通過以下兩種方法之一在程式中的任何位置宣告:
通過在行的第乙個位置放置星號(*)來指示全行注釋,在這種情況下,整個行被系統認為是注釋。 注釋不需要以句點終止,因為它們可能不會跨越多個行延伸。
* this is the comment line
部分行注釋通過在語句之後輸入雙引號(「)來表示,雙引號後面的所有文字都被系統視為注釋。您無需在一段時間內終止部分行注釋,因為它們不能跨越更多 比一條線。
write 'hello'
. "here is the partial comment
注意 - 注釋**未由abap編輯器大寫。no-zero命令在data語句之後。 它抑制包含空格的數字欄位的所有前導零。 輸出通常更容易讓使用者閱讀。
例子
report z_test01.
data:
w_nur(10
) type n.
move 12345678 to w_nur.
write w_nur no-zero.
上面的**產生以下輸出 -
skip命令有助於在頁面上插入空行。
例子訊息命令如下:
write '這是第一行'
. skip.
write '這是第二行'
.
上述訊息命令產生以下輸出
我們可以使用skip命令插入多個空白行。
skip 5.
輸出將是由線數定義的幾個空白行。 skip命令還可以將游標定位在頁面上所需的行上。
skip to line line_number.
此命令用於在頁面上上下動態移動游標。 通常,在此命令後發出write語句,將輸出放在所需的行上。
uline命令自動在輸出插入一條水平線。 也可以控制線的位置和長度。 語法很簡單:
uline.
例子
訊息命令如下:
write '下面有條下劃線'
.uline.
上面的**產生以下輸出:
message命令顯示由程式開始處report語句中指定的訊息id定義的訊息。 訊息id是乙個2字元**,用於定義在使用message命令時程式將訪問的1000個訊息的集合。
訊息編號從000到999.與每個數字相關聯的訊息文字最多為80個字元。 呼叫訊息號時,將顯示相應的文字。
以下是用於message命令的字元。
資訊型別後果e
error
訊息出現,應用程式在當前點暫停。 如果程式在後台模式下執行,則作業將被取消,並且訊息將記錄在作業日誌中。
wwarning
將出現該訊息,使用者必須按enter鍵才能繼續應用程式。 在後台模式下,訊息將記錄在作業日誌中。
iinformation
將開啟乙個彈出視窗,其中包含訊息文字,使用者必須按enter鍵才能繼續。 在後台模式下,訊息將記錄在作業日誌中。
aabend
此訊息類將取消使用者當前正在使用的事務。
ssuccess
這會在螢幕底部提供一條資訊性訊息。 顯示的資訊是正性的,它只是為使用者反饋。 該訊息不以任何方式阻礙程式。
xabort
此訊息中止程式並生成abap短轉儲。 例子
當我們為訊息建立訊息時,id ab,message命令 - message e011給出以下輸出:
eab011 this report does not support sub-number summarization.
ABAP 基礎語法
表的宣告的格式為 tables 表名 變數定義 其中 v1是變數名。l 是變數的長度,t是資料型別,d是小數字,是預設值。data v1 l type t decimals d value 定義了乙個10位長度3位小數預設值為1.12數字變數。data num 10 type p decimals ...
ABAP語法新特徵
data語句 變數定義 data l str type string.現在可能是這樣的 data l str china 行內定義 select but000 partner,but000 name org1,but000 bu group,lfa1 nodel from but000 inner ...
ABAP新語法 ABAP去空格(JOIN時 )
注意 ltrim rtrim 在其他語言是去空,這裡可以去空格,還可去a 去b 因此要多乙個引數告訴去什麼 另外 replace bseg zuonr a b 語法也可用,把a替換成b 問題是 b不能用空白 select bseg sgtxt 票據號ztfi005 zpjdh ztfi005 zpj...