ABAP 基本語法

2021-10-10 21:00:37 字數 3055 閱讀 1803

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...