




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ABAP語(yǔ)法完整版SAP ABAP / 4 基礎(chǔ)知識(shí)學(xué)習(xí) 數(shù)據(jù)類型C :字符串D :日期型格式為 YYYYMMDD 例:'1999/12/03'F : 浮點(diǎn)數(shù)長(zhǎng)度為8I :整數(shù)N :數(shù)值組成的字符串 如:011,'302'P : PACKED數(shù)用于小數(shù)點(diǎn)數(shù)值 如:12.00542T : 時(shí)間格式為:HHMMSS 如:'14:03:00'X : 16進(jìn)制數(shù) 如:'1A03'*-*變量聲明DATA <F> <Length> <type> <valu
2、e>decimals <F> 變量名稱 <length><type> 變量類型及長(zhǎng)度 <value> 初值 <decimals> 小數(shù)位數(shù) exp: DATA : COUNTER TYPE P DECIMALS 3.
3、0; NAME(10) TYPE C VALUE 'DELTA'. S_DATE TYPE D VALUE '19991203'.exp: DATA : BEGIN OF PERSON, NAME(10) TYPE C,
4、 AGE TYPE I, WEIGHT TYPE DECIMALS 2, END OF PERSON.另外,有關(guān)DATA聲明的指令還有: CON
5、STANTS(聲明常數(shù))、STATICS(臨時(shí)變量聲明).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'.STATICS 關(guān)鍵字聲明的變量?jī)H在目前的程序中使用, 結(jié)束后會(huì)自動(dòng)釋放語(yǔ)法: STATICS <c> <length> <type> <value> <decimals>系統(tǒng)專用變量
6、說(shuō)明 系統(tǒng)內(nèi)部專門創(chuàng)建了SYST這個(gè)STRUCTURE,里面的欄位存放系統(tǒng)變量,常用的系統(tǒng)變量有: SY-SUBRC: 系統(tǒng)執(zhí)行某指令后,表示執(zhí)行成功與否的變量,'0'表示成功 SY-UNAME: 當(dāng)前使用者登入SAP的USERNAME; SY-DATUM: 當(dāng)前系統(tǒng)日期; SY-UZEIT: 當(dāng)前系統(tǒng)時(shí)間; SY-TCODE: 當(dāng)前執(zhí)行程序的Transaction code&
7、#160; SY-INDEX: 當(dāng)前LOOP循環(huán)過(guò)的次數(shù) SY-TABIX: 當(dāng)前處理的是internal table 的第幾筆 SY-TMAXL: Internal table的總筆數(shù) SY-SROWS: 屏幕總行數(shù); SY-SCOLS: 屏幕總列數(shù); SY-MANDT: CLIENT NUMBER SY-VLINE: 畫豎線 SY
8、-ULINE: 畫橫線 TYPE 關(guān)鍵字 用來(lái)指定資料型態(tài)或聲明自定資料型態(tài) Example: TYPES: BEGIN OF MYLIST, NAME(10) TYPE C,
9、60; NUMBER TYPE I, END OF MYLIST. DA
10、TA LIST TYPE MYLIST.LIKE 關(guān)鍵字 跟TYPE關(guān)鍵字使用格式相同, 如 DATA TRANSCODE LIKE SY-TCODE. 不同的是 LIKE 用在已有值的資料項(xiàng), 如系統(tǒng)變量, 而TYPE關(guān)鍵字則是用在指定資料型態(tài)。TABLES 關(guān)鍵字用來(lái)聲明 Table Work Area 的數(shù)據(jù), 對(duì)應(yīng)至 ABAP/4 資料文件(Dictionary Object), 由SQL 指令加載所需數(shù)據(jù)語(yǔ)法:TABLES <dbtab
11、>Example:TABLES: SPFL.SELECT * FROM SPFL.WRITE: SPFL-MANDT, SPFL-CARRID,SPFL-CONNECTION.ENDSELECT.從ABAP/4 Dictionary 的 SPFL 檔載入MANDT,CARRID,CONNECTION 三個(gè)字段至SPFL 此Table Work Area *-*輸出一. WRITE 語(yǔ)句ABAP/4用來(lái)在屏幕上輸出資料的指令是WRITE指令,例如: WRITE: 'USER NAME IS:', SY-U
12、NAME.二. 指定屏幕輸出位置指定輸出位置的語(yǔ)句格式為: WRITE: AT / <pos> (<len>) 資料項(xiàng) <par>其中: / : 在下一行輸出<pos>: 指定輸出的行號(hào);(<len>):指定輸出位數(shù)(長(zhǎng)度)<par>: 指定顯示格式參數(shù),參數(shù)有: LEFT-JUSTIFIED 資料*左對(duì)齊
13、160; CENTERED 資料*中間對(duì)齊 RIGHT-JUSTIFIED 資料*右對(duì)齊 UNDER <g> 正對(duì)在資料項(xiàng)<g>的下面顯示
14、60; NO-GAP 緊接著顯示,不留空格 USING EDIT MASK <m>: 使用內(nèi)嵌子元顯示, 如 12:03:20 USING NO EDIT MASK:
15、不使用內(nèi)嵌子元 NO-ZER 數(shù)字前面 0 的部分不顯示 NO-SIGN: 不顯示正負(fù)號(hào)
16、0; DECIMALS <d>: 顯示 <d> 位小數(shù) EXPOENT <e>: F(浮點(diǎn)數(shù))指數(shù)的值 ROUND <r>: 四舍五入至小數(shù)點(diǎn)后<r>位
17、160; CURRENCY <c>: 幣別顯示 DD/MM/YY : 日期顯示格式 MM/DD/YY:
18、60; YY/MM/DD: YY/DD/MM MM/DD/YYYY: DD/MM/YYYY YYYY/MM/DD:
19、60; YYYY/DD/MM:例如1: WRITE: /10(6) 'ABCDEFGHIJK'.輸出結(jié)果為: ABCDEF例如2: DATA: X TYPE I VALUE '11:20:30', A(5) TYPE C VALUE '
20、AB CDE'. WRITE: / X USING EDIT MASK '_:_:_'. WRITE: / X USING EDIT MASK '$_,_'. WRITE: / Y NO-GAP.輸出結(jié)果為: 11:20:30
21、; $112,030 ABCDEF例如3: DATA: LEN TYPE I VALUE 10, POS TYPE I VALUE 11, TEXT(10) VALUE '1234567890' WRITE 'The text
22、- appears in the text.'. WRITE AT POS(LEN) TEXT.WRITE TO 語(yǔ)句的基本 形式要將值(文字)或源字段內(nèi)容寫入目標(biāo)字段,可以使用 WRITE TO 語(yǔ)句:語(yǔ)法WRITE <F1> TO <F2> <option>.DATA: NUMBER TYPE F VALUE '4.3', TEXT(10),
23、 FLOAT TYPE F, PACK TYPE P DECIMALS 1.WRITE NUMBER.WRITE NUMBER TO TEXT EXPONENT 2.WRITE / TEXT.WRITE NUMBER TO FLOAT.WRITE / FLOAT.WRITE NUMBER TO PACK.WRITE / PACK.MOVE NUMBER TO PACK.WRITE / PACK.exp:DATA: NAME(10) VALUE 'SOURCE',
24、; SOURCE(10) VALUE 'Antony', TARGET(10).WRITE (NAME) TO TARGET.WRITE: TARGET.exp :DATA: COUNTER TYPE I.COMPUTE COUNTER = COUNTER + 1.COUNTER = COUNTER + 1.ADD 1 TO COUNTER.在此,三條運(yùn)算語(yǔ)句進(jìn)行相同算術(shù)運(yùn)算輸出屏幕上的線和空行用下列語(yǔ)法,可以在輸出屏幕上生成水平線:語(yǔ)法ULINE AT /<pos>(&
25、lt;len>).它等同于WRITE AT /<pos>(<len>) SY-ULINE.AT 后的格式規(guī)范,與在在屏幕上定位 WRITE 輸出(頁(yè) 28)中為 WRITE 語(yǔ)句說(shuō)明的格式規(guī)范完全一樣。如果沒有格式規(guī)范,系統(tǒng)則開始新的一行,并用水平線填充該行。否則,只按指定輸出水平線。生成水平線的另一種方法,是在 WRITE 語(yǔ)句中鍵入恰當(dāng)數(shù)量的連字符,如下所示:WRITE AT /<pos>(<len>) '-.'.垂直線用下列語(yǔ)法 ,可以在輸出屏幕上生成垂直線:語(yǔ)法WRITE AT /<pos> SY-VLI
26、NE.或WRITE AT /<pos> '|'.空行用下列語(yǔ)法 ,可以在輸出屏幕上生成空行:語(yǔ)法SKIP <n>.該語(yǔ)句從當(dāng)前行開始,在輸出屏幕上生成 <n> 個(gè)空行。如果沒有指定 <n> 的值,就輸出一個(gè)空行 。要將輸出定位在屏幕的指定行上,請(qǐng)使用:語(yǔ)法SKIP TO LINE <n>.該語(yǔ)句允許將輸出位置向上或向下移動(dòng)。 四. 顯示圖示:語(yǔ)法: WRITE: <symbol-name> AS SYMBOL.
27、160; WRITE: <icon-name> AS ICON.例如: INCLUDE <SYMBOL>. INCLUDE <ICON>.WRITE: / 'Phone symbol:', SYM_PHONE AS SYMBOL.WRITE: / 'Alarm Icon:', ICON_VOICE_OUTPUT AS ICON.要查看系統(tǒng)所提供有那些符號(hào)及圖示,可選擇'EDIT'下的'Insert
28、 Statement',選擇'Write',接下來(lái)選擇要查看的群組,如SYMBOL 或ICON, 接下來(lái)按'Display'即可.*-*一. Internal Table 的聲明ABAP/4中的Internal Table是一種Data Structure,類似于其他語(yǔ)言中的STRUTURE,它可以由幾個(gè)不同類型的欄位(field)組成,用來(lái)表示具有不同屬性的某一事物,單獨(dú)一筆資料表示某個(gè)事物,多筆資料表示具有相同屬性的多個(gè)事物.Internal table 的定義有以下幾種格式:格式一. DATA: BEGIN OF <i
29、nternal table> OCCURS <n>, <field 1> TYPE <type1>,
30、<field 2> TYPE <type 2>, <field 3> TYPE <type 3>,
31、; END OF <internal table>. 語(yǔ)法:
32、0; DATA <f> <type> OCCURS <n> WITH HEADER LINE Example:
33、; DATA VECTOR TYPE I OCCURS 10 WITH HEADER LINE. 格式二. TYPES: BEGIN OF <work area>,
34、60; <field 1> TYPE <type1>, <field 2> TYPE <type 2>,
35、160; <field 3> TYPE <type 3>,
36、 END OF <work area>. TYPES <internal table> TYPE <work area> OCCURS <
37、;n>. 格式三. DATA: BEGIN OF <work area>. INCLUDE STRUCTURE <table name>. &
38、#160; DATA: END OF <work area>. DATA: <internal table> LIKE <work area> OCCURS <n>.exp: TYPES VECTOR TYPE I OCCURS 10.TYPES: BEGIN OF LINE,
39、 COLUMN1 TYPE I, COLUMN2 TYPE I, COLUMN3 TYPE I, END OF LINE.TYPES ITAB TYPE LINE OCCURS 10.TYPES: BEGIN OF DEEPLINE,
40、60; TABLE1 TYPE VECTOR, TABLE2 TYPE ITAB, END OF DEEPLINE.TYPES DEEPTABLE TYPE DEEPLINE OCCURS 10.本示例創(chuàng)建與上例相同的內(nèi)表數(shù)據(jù)類型(VECTOR 和 ITAB)。然后創(chuàng)建數(shù)據(jù)類型 DEEPLINE 作為字段串,包含這些內(nèi)表作為組件。通過(guò)該字段串,數(shù)據(jù)類型 DEEPTABLE 被創(chuàng)建為
41、內(nèi)表。因此該內(nèi)表的元素本身就是內(nèi)表。exp :TYPES: BEGIN OF LINE, COLUMN1 TYPE I, COLUMN2 TYPE I, COLUMN3 TYPE I, END OF LINE.TYPES ITAB TYPE
42、 LINE OCCURS 10.DATA TAB1 TYPE ITAB.DATA TAB2 LIKE TAB1 WITH HEADER LINE.同創(chuàng)建內(nèi)表數(shù)據(jù)類型(頁(yè) 99)中所示,該示例創(chuàng)建數(shù)據(jù)類型 ITAB 作為內(nèi)表。通過(guò)使用 DATA 語(yǔ)句的 TYPE 參數(shù)引用 ITAB,使數(shù)據(jù)對(duì)象 TAB1 與 ITAB 結(jié)構(gòu)相同。通過(guò)使用 DATA 語(yǔ)句的 LIKE 參數(shù)引用 TAB1,使數(shù)據(jù)對(duì)象 TAB2 結(jié)構(gòu)相同。創(chuàng)建的 TAB2 帶表頭行。因此,可以在程序中使用 TAB2-COLUMN1、TAB2-COLUMN2 和 TAB2-COLUMN3 等定位表格工作區(qū)域 TAB2。exp :DATA
43、 FLIGHT_TAB LIKE SFLIGHT OCCURS 10.本示例創(chuàng)建數(shù)據(jù)對(duì)象 FLIGHT_TAB, 其結(jié)構(gòu)與數(shù)據(jù)庫(kù)表格 SFLIGHT 相同。本示例介紹 如何采用兩種不同的步驟創(chuàng)建同一內(nèi)表。TYPES VECTOR_TYPE TYPE I OCCURS 10.DATA VECTOR TYPE VECTOR_TYPE WITH HEADER LINE.在此創(chuàng)建一個(gè)內(nèi)表數(shù)據(jù)類型 VECTOR_TYPE,其行包含首先創(chuàng)建的基本類型 I 字段。然后,通過(guò)引用 VECTOR_TYPE 創(chuàng)建數(shù)據(jù)對(duì)象 VECTOR。通過(guò)使用 WITH HEADER LINE 選項(xiàng)還創(chuàng)建表格工作區(qū)域 VECTO
44、R。在這種情況下,表格工作區(qū)域包含一種類型 I 字段,可以通過(guò)名稱 VECTOR 定位。DATA VECTOR TYPE I OCCURS 10 WITH HEADER LINE.在這種情況下,通過(guò)直接在 DATA 語(yǔ)句中使用 OCCURS 選項(xiàng)創(chuàng)建完全一樣的數(shù)據(jù)類型 VECTOR。*-*1. TYPES type.2. TYPES type(len).3. TYPES: BEGIN OF structype . END OF structype.4. TYPES itabt
45、ype TYPE tabkind OF linetype LIKE tabkind OF lineobj WITH UNIQUE|NON-UNIQUE keydef INITIAL SIZE n.5. TYPES itabtype TYPE RANGE OF type. TYPES itabtype LIKE RANGE OF f.6. TYPES itabtype TYPE linetype|LIKE lineobj OCCURS n.*-*
46、0; APPEND LINE格式:APPEND <work area> TO <internal table>舉例一:(使用WORK AREA)DATA : BEGIN OF LINE, COL1 TYPE I, CO
47、L2 TYPE I, END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 2 TIMES. LINE-COL1 = SY-INDEX. LINE-COL2 = SY-INDEX * 2. APPEND LINE TO ITAB.ENDDO.LOOP AT ITAB INTO LINE. WRITE : / LINE-COL1,LINE-COL2.ENDLOOP.舉例二
48、 (不使用WORK AREA)DATA : BEGIN OF ITAB OCCURS 10, COL1 TYPE I, COL2 TYPE I, END OF ITAB.DO 2 TIMES. ITAB-COL1 =
49、 SY-INDEX. ITAB-COL2 = SY-INDEX * 2. APPEND ITAB.ENDDO.LOOP AT ITAB. WRITE : / ITAB-COL1,ITAB-COL2.ENDLOOP.exp:DATA: BEGIN OF ITAB OCCURS 10, COL1 TYPE C, COL2 TYPE I,&
50、#160; END OF ITAB.DO 3 TIMES. APPEND INITIAL LINE TO ITAB. ITAB-COL1 = SY-INDEX. ITAB-COL2 = SY-INDEX * 2. APPEND ITAB.ENDDO.LOOP AT ITAB. WRITE: / ITAB-COL1, ITAB-COL2.ENDLOOP.舉例三. (加入另一個(gè)Internal table的元素) 格式: APPEN
51、D LINES OF <itab1> FROM <n1> TO <n2> TO <itab2>. 將<itab1>的元素加入至<itab2>中,可選取自<n1>至<n2>的范圍. APPEND LINES OF ITAB TO JTAB.COLLECT LINECOLLECT 指令也是將元素加入Internal table中,與APPEND 的區(qū)別是: CO
52、LLECT指令在非數(shù)值欄位相同的情況下,將數(shù)值欄位匯總.格式: COLLECT <work area> INTO <itab>DATA: BEGIN OF ITAB OCCURS 3, COL1(3) TYPE C, COL2 &
53、#160; TYPE I, END OF ITAB. ITAB-COL1 = 'ABC'. ITAB-COL2 = 10. COLLECT ITAB. ITAB-COL1 = 'XYZ'. ITA
54、B-COL2 = 20. COLLECT ITAB. ITAB-COL1 = 'ABC'. ITAB-COL2 = 80. COLLECT ITAB.此時(shí), internal table中放的是2筆數(shù)據(jù), 分別為: ITAB-COL1&
55、#160; ITAB-COL2 'ABC' 90 'XYZ'
56、160; 20*-*INSERT LINE將元素插入在指定的internal table位置之前.格式: INSERT <wa> INTO INITIAL LINE INTO <itab> INDEX <idx>或者: INSERT LINES OF <itab1> FROM <n1> TO <n2> INTO <itab2> INDEX <idx>其中: <wa>即work area,工作區(qū)中的元素.INITIAL LINE
57、INTO :插入一筆初始化的記錄.<itab>: internal tableINDEX <idx>: internal table 的記錄號(hào).(新加入的元素放在此記錄前面) Example: DATA: BEGIN OF LINE,
58、60; COL1 TYPE I,
59、160; COL2 TYPE I, END OF LINE.
60、 DATA ITAB LIKE LINE OCCURS 10. DO 3 TIMES.
61、; LINE-COL1 = SY-INDEX *10. LINE-COL2 = SY-INDEX *20. &
62、#160; APPEND LINE INTO ITAB. ENDDO. LINE-C
63、OL1=100. LINE-COL2=200. INSERT LINE INTO ITAB INDEX 2. "
64、;插入在位置2之前 LOOP AT ITAB INTO LINE. WRITE: / SY-TA
65、BIX,LINE-COL1,LINE-COL2. "SY-TABIX為Table位置 ENDLOOP. 執(zhí)行結(jié)果:
66、0; 1 10 20
67、160; 2 100 200 "插入的元素
68、0; 3 20 40 4
69、 30 60插入另一Internal Table元素 語(yǔ)法: INSERT LINES OF <itab1> FROM <n1> TO <n2> TO <itab2> INDEX <idx> &
70、#160; 將<itab1>的元素插入至<itab2>中, 位置在 <idx>之前, 可選取自<n1>至<n2>的范圍 Example: APPEND LINES OF ITAB&
71、#160; TO JTAB INDEX 3. 將ITAB所有元素插入JTAB中, 位置在第三個(gè)元素之前*-*讀取internal table格式一:LOOP AT <itab> INTO <wa>FROM <n1> TO <n2>WHERE <conditions>
72、; <statement>ENDLOOP. Example: LOOP AT ITAB INTO LINE WHERE COL1 >100.
73、; WRITE: / SY-TABIX,LINE-COL1. ENDLOOP.
74、60; 僅讀取 COL1 > 100 的元素格式二:READ TABLE <itab> INTO <wa> INDEX <idx> / WITH KEY <conditions>舉例. (格式二)DATA: BEGIN OF ITAB OCCURS 10, COL1 TYPE I,
75、 COL2 TYPE I, END OF ITAB. DO 10 TIMES. ITAB-COL1 = SY-INDEX. ITAB
76、-COL2 = SY-INDEX * 2. APPEND ITAB.ENDDO.READ TABLE ITAB INDEX 3.(或者: READ TABLE ITAB WITH KEY COL1 = 3.)WRITE: / 'ITAB-COL1 = ', ITAB-COL1, 'ITAB-COL2 = ', ITAB-COL2.執(zhí)行結(jié)果同樣是:ITAB-COL1 = 3ITAB-COL2 = 6.
77、; Example: READ TABLE ITAB INTO LINE INDEX 5
78、0; 讀取 ITAB的第5個(gè)元素資料, 放入 LINE的欄位中根據(jù)欄位內(nèi)容尋找 語(yǔ)法: READ TABLE <itab> INTO <wa> Example:
79、0; ITAB-COL1 = 'ABC'. READ TABLE ITAB INTO LINE.
80、0; 找出ITAB 中 COL1 欄位內(nèi)容是 ABC 的元素, 找到的值放入 LINE 中 若找到 SY-SUBRC傳回0, 找不到則傳回 4, <itab>必須聲明有 work area*-*修改internal table 中的值格式: MODIFY <itab> FROM <wa>
81、INDEX <idx>TRANSPORTING <f1><f2>WHERE <conditions>舉例一. READ TABLE ITAB INDEX 3. LINE-COL1 = 29. MODIFY ITAB FROM LINE TRANSPORTING COL1. 將第三筆記錄的COL1欄位的值修改為29.舉例二. T_SAL
82、ARY - salary = 50. MODIFY T_SALARY TRANSPORTING salary WHERE birthday = '1999/12/06'. DELETE internal table中的欄位格式: DELETE <itab> INDEX <idx>.或: DELETE <itab>FROM <n1> TO <n2> WHER
83、E <conditions>Internal table 排序 SORT <itab> <order way>BY <f1><f2>其中:<order way> 有DESCENDING 和ASCENDING, Default 為ASCENDING. <f1>: 為指定排序的欄位. Example:
84、160; SORT ITAB DESCENDING BY COL2. 將 ITAB 根據(jù) COL2欄位遞減排序*-*確定內(nèi)表屬性如果在處理過(guò)程中想知道內(nèi)表一共包含多少行,或者想知道定義的 OCCURS 參數(shù)的大小,請(qǐng)使用 DESCRIBE 語(yǔ)句,用法如
85、下:語(yǔ)法DESCRIBE TABLE <itab> LINES <lin> OCCURS <occ>.如果使用 LINES 參數(shù),則將填充行的數(shù)量寫入變量 <lin>。如果使用 OCCURS 參數(shù),則將行的初始號(hào)寫入變量 <occ>。DATA: BEGIN OF LINE, COL1 TYPE I, COL2 TYPE I,
86、; END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DATA: LIN TYPE I, OCC TYPE I.DESCRIBE TABLE ITAB LINES LIN OCCURS OCC.WRITE: / LIN, OCC.DO 1000 TIMES. LINE-COL1 = SY-INDEX. LINE-COL2 = SY-INDEX * 2. APPEND LINE TO ITAB.ENDDO.DESCRIBE TABLE ITAB LINES
87、 LIN OCCURS OCC.WRITE: / LIN, OCC.其輸出為: 0 10 1.000 10在此創(chuàng)建內(nèi)表 ITAB。在填充表格前后執(zhí)行 DESCRIBE 語(yǔ)句。更改當(dāng)前行號(hào),但無(wú)法更改初始行號(hào)。*-*加總SUM.總和計(jì)算存放與work area中,但
88、只能在LOOP 中使用.例: LOOP AT ITAB INTO LINE. SUM. ENDLOOP. WRITE: / LINE-COL1, LINE-COL2. LINE-COL1 和 LINE-COL2 存數(shù)值總和初始化internal tableREFRESH <itab>. 清空<itab>中的值.使用在沒有 HEADER LINE 的 Internal Table中, 清除所有元
89、素CLEAR <itab>. 清空<itab>的Header Line.使用在有 HEADER LINE 的 Internal Table中, 清除所有元素FREE <itab>. 釋放內(nèi)存空間.釋放(Release) Internal Table所占的內(nèi)存空間, 用在 REFRESH和 CLEAR指令之后將值重置為 默認(rèn)值可以用 CLEAR 語(yǔ)句重置任何數(shù)據(jù)對(duì)象值,如下所示:語(yǔ)法CLEAR <f>.exp:DATA NUMBER TYPE I VALUE
90、9;10'.WRITE NUMBER.CLEAR NUMBER.WRITE / NUMBER.輸出為: 10 0CLEAR 語(yǔ)句將字段 NUMBER 的內(nèi)容從10 重置為默認(rèn)值 0。*-* 添加字段順序并將結(jié)果賦給另一個(gè)字段語(yǔ)法ADD <n1> THEN <n2> UNTIL <nz> GIVING <m>.如果 <n1>、
91、<n2>、 . 、 <nz> 是在內(nèi)存中相同類型和長(zhǎng)度的等距字段序列,則進(jìn)行求和計(jì)算并將結(jié)果賦給 <m> 添加字段順序并將結(jié)果添加到另一個(gè)字段的內(nèi)容中語(yǔ)法ADD <n1> THEN <n2> UNTIL <nz> TO <m>.該語(yǔ)句除了將字段總和添加到 <m> 的舊內(nèi)容中之外,與上面語(yǔ)句的工作方式相同 。有關(guān)其它相似變體的信息,參見有關(guān) ADD 語(yǔ)句的關(guān)鍵字文檔。DATA: BEGIN OF SERIES,
92、0; N1 TYPE I VALUE 10, N2 TYPE I VALUE 20, N3 TYPE I VALUE 30, N4 TYPE I VALUE 40, N5 TYPE I VAL
93、UE 50, N6 TYPE I VALUE 60, END OF SERIES.DATA SUM TYPE I.ADD SERIES-N1 THEN SERIES-N2 UNTIL SERIES-N5 GIVING SUM.WRITE SUM.ADD SERIES-N2 THEN SERIES-N3 UNTIL SERIES-N6 TO SUM.WRITE / SUM.輸出如下:
94、 150 350在此,將 N1 到 N5 組件內(nèi)容求和并將其值賦給字段 SUM。然后,將 N2 到 N6 組件求和并將其添加到 SUM 的值中。*-* 屏幕輸入命令在ABAP/4中要從屏幕輸入變量, 使用的命令是 PARAMETERS 及SELECTION-OPTIONS: 1. PARAMETER: 輸入一個(gè)變量或欄位內(nèi)容 2. SE
95、LECTION-OPTIONS: 使用條件篩選畫面來(lái)輸入數(shù)據(jù) PARAMETERS 指令基本的輸入命令, 類似如BASIC的INPUT命令, 但無(wú)法使用F格式(浮點(diǎn)數(shù)) 語(yǔ)法: PARAMETERS <p> DEFAULT <f> LOWER CASE &
96、#160; OBLIGATORY AS CHECKBOX RADIOBUTTON GROUP <rad
97、> Example: PARAMETERS: NAME(8), A
98、GE TYPE I, BIRTH TYPE D. 執(zhí)行結(jié)果:
99、 在日期的輸入格式上為 MM/DD/YY , MM/DD/YYYY, MMDDYY或MMDDYYYY , 如輸入 020165 表 1965年02月01日, 與02/01/65的輸入是一樣的, 日期輸入范圍為西元1950年至2049年1. DEFAULT設(shè)定輸入的預(yù)設(shè)值Example: PARAMETERS: COMPANY(20) DEFAULT 'DELTA', &
100、#160; BIRTH TYPE D DEFAULT '19650201'.2. LOWER CASE ABAP/4預(yù)設(shè)是將字串輸入值自動(dòng)轉(zhuǎn)換為大寫, 加上此參數(shù)會(huì)將輸入的資料轉(zhuǎn)成小寫,3. OBLIGATORY強(qiáng)制要求輸入, 屏幕上會(huì)出現(xiàn)一個(gè) ? , 使用者必須要輸入才可.4. AS CHECKBOX輸入
101、 CHECKBOX的格式Example: PARAMETERS: TAX AS CHECKBOX DEFAULT 'X', NTD AS C
102、HECKBOX. 執(zhí)行結(jié)果: 5. RADIOBUTTON GROUP <rad> 輸入 RADIO BUTTON GROUP 的方式 Example: PARAMETERS: BOY RADIOBUTTON GROUP
103、; SEX DEFAULT 'X', GIRL RADIOBUTTON GROUP SEX.exp :TABLES SPLFI.PARAMETERS: LOW LIKE SPFLI-CARRID, HIGH LIKE SPFLI-CARRID.SELECT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤基高端新材料項(xiàng)目建議書(參考)
- 歷史建筑修繕工程規(guī)劃設(shè)計(jì)方案(參考模板)
- 老字號(hào)品牌振興計(jì)劃可行性研究報(bào)告(模板)
- 淮北師范大學(xué)《煤的潔凈燃燒與高效利用技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥幼兒師范高等??茖W(xué)?!毒幊涕_發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 的車輛安全檢查工作制度
- 河北師范大學(xué)《量子力學(xué)ⅡA》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)沙學(xué)院《舞臺(tái)演播室形體》2023-2024學(xué)年第二學(xué)期期末試卷
- 西北工業(yè)大學(xué)《飛行器制導(dǎo)與控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖州職業(yè)技術(shù)學(xué)院《金屬材料制備實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- (二模)保定市2025年高三第二次模擬考試地理試卷(含答案解析)
- 2023年1月浙江高考英語(yǔ)試題(含答案解析)
- 非全日制勞動(dòng)合同協(xié)議
- 2025綠地集團(tuán)購(gòu)房合同樣本
- 2025-2030再生膠產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 2025年人教版小學(xué)六年級(jí)下冊(cè)趣味數(shù)學(xué)競(jìng)賽試卷(附參考答案)
- 珠寶展柜租賃合同協(xié)議
- 浙江2025年浙江省藥品檢查中心招聘筆試歷年參考題庫(kù)附帶答案詳解
- 一年級(jí)語(yǔ)文下學(xué)期期末過(guò)關(guān)考試題
- GB/T 37507-2025項(xiàng)目、項(xiàng)目群和項(xiàng)目組合管理項(xiàng)目管理指南
- 2025年郵政社招筆試試題及答案
評(píng)論
0/150
提交評(píng)論