版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)類型C :字符串D :日期型 格式為 YYYYMMDD 例: 1999/12/03 F : 浮點(diǎn)數(shù) 長(zhǎng)度為 8I :整數(shù)N :數(shù)值組成的字符串 如: 011, 302P : PACKED數(shù) 用于小數(shù)點(diǎn)數(shù)值 如: 12.00542T : 時(shí)間 格式為: HHMMSS 如: 14:03:00X : 16進(jìn)制數(shù) 如: 1A03 變數(shù)宣告DATA decimals 變數(shù)名稱 變數(shù)類型 及 長(zhǎng)度 初值 小數(shù)位數(shù)exp:DATA : COUNTER TYPE P DECIMALS 3.NAME(10) TYPE C VALUE DELTA.S_DATE TYPE D VALUE 19991203.ex
2、p:DATA : BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE DECIMALS 2,END OF PERSON.另外,有關(guān) DATA宣告的指令還有 : CONSTANTS宣( 告常數(shù)) 、STATICS(臨時(shí)變數(shù)宣 告).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE 3.14159.STATICS 敘述 宣告的變數(shù)僅在目前的程式中使用 , 結(jié)束後會(huì)自動(dòng)釋放 語(yǔ)法:STATICS 系統(tǒng)專用變數(shù)說(shuō)明系統(tǒng)內(nèi)部專門創(chuàng)建了 SYST這個(gè) STRUCTUR里E,面的欄位存放系統(tǒng)變數(shù) , 常用的系 統(tǒng)變數(shù)有
3、 :SY-SUBRC : 系統(tǒng)執(zhí)行某指令后 , 表示執(zhí)行成功與否的變數(shù) ,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 codeSY-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 NUMBERSY-VLINE
4、: 畫(huà)豎線SY-ULINE: 畫(huà)橫線TYPE 敘述 用來(lái)指定資料型態(tài)或宣告自定資料型態(tài) Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 敘述跟 TYPE敘述使用格式相同 , 如DATA TRANSCODE LIKE SY-TCODE.不同的是 LIKE 用在已有值的資料項(xiàng) , 如系統(tǒng)變數(shù) , 而 TYPE敘述則是用 在指定資料型態(tài)。輸出 一 . WRITE 語(yǔ)句ABAP/4用來(lái)在屏幕上輸出資料的指令是 WRITE指令, 例如: WRITE:
5、 USER NAME IS:, SY-UNAME.二 . 指定屏幕輸出位置 指定輸出位置的語(yǔ)句格式為 : WRITE: AT / ()資料項(xiàng) 其中: / : 在下一行輸出: 指定輸出的行號(hào) ; (): 指定輸出位數(shù) ( 長(zhǎng)度) : 指定顯示格式參數(shù) , 參數(shù)有 : LEFT-JUSTIFIED 資料靠左對(duì)齊 CENTERED資 料靠中間對(duì)齊 RIGHT-JUSTIFIED 資料靠右對(duì)齊 UNDER 正 對(duì)在資料項(xiàng) 的下面顯示NO-GAP緊 接著顯示 , 不留空格USING EDIT MASK :使 用內(nèi)嵌子元顯示 , 如 12:03:20USING NO EDIT MASK:不 使用內(nèi)嵌子元N
6、O-ZERO:數(shù) 字前面 0 的部分不顯示NO-SIGN: 不顯示正負(fù)號(hào) DECIMALS : 顯示 位小數(shù) EXPOENT : F(浮點(diǎn)數(shù) ) 指數(shù)的值 ROUND : 四舍五入至小數(shù)點(diǎn)后 位 CURRENCY 幣: 別顯示 DD/MM/YY : 日期顯示格式MM/DD/YY:YY/MM/DD:YY/DD/MMMM/DD/YYYY:DD/MM/YYYYYYYY/MM/DD:YYYY/DD/MM:例如 1: WRITE: /10(6) ABCDEFGHIJK. 輸出結(jié)果為 : ABCDEF例如 2: DATA: X TYPE I VALUE 11:20:30,A(5) TYPE C VALUE
7、 AB CDE.WRITE: / X USING EDIT MASK _:_:_.WRITE: / X USING EDIT MASK $_,_.WRITE: / Y NO-GAP. 輸出結(jié)果為 : 11:20:30 $112,030 ABCDEF例如 3: DATA: LEN TYPE I VALUE 10,POS TYPE I VALUE 11,TEXT(10) VALUE 1234567890WRITE The text appears in the text.WRITE AT POS(LEN) TEXT.WRITE TO語(yǔ) 句的基本 形式要將值(文 字)或源字 段內(nèi)容寫(xiě)入 目標(biāo)字段,
8、可以使用 WRITE TO 語(yǔ)句: 語(yǔ)法WRITE TO .DATA: NUMBER TYPE F VALUE 4.3,TEXT(10),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,SO
9、URCE(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 /().它等同于WRITE AT /() SY-ULINE.AT 后的格式規(guī) 范,與在 在屏幕上定 位 WRITE 輸出 ( 頁(yè) 28)
10、 中為 WRITE 語(yǔ) 句說(shuō)明的 格式規(guī)范完 全一樣。如果沒(méi)有格 式規(guī)范,系 統(tǒng)則開(kāi)始新 的一行,并 用水平線填 充該行。否 則, 只按指 定輸出水平 線。生成水平線 的另一種方 法,是在 WRITE 語(yǔ)句中鍵入 恰當(dāng)數(shù)量的 連字符,如 下所示:WRITE AT /() .垂直線用下列語(yǔ)法 ,可以在輸 出屏幕上生 成垂直線: 語(yǔ)法WRITE AT / SY-VLINE.或WRITE AT / |.空行用下列語(yǔ)法 ,可以在輸 出屏幕上生 成空行: 語(yǔ)法SKIP .該語(yǔ)句從當(dāng) 前行開(kāi)始, 在輸出屏幕 上生成 個(gè)空行。如 果沒(méi)有指定 的值,就輸 出一個(gè)空行 。要將輸出定 位在屏幕的 指定行上, 請(qǐng)使
11、用: 語(yǔ)法SKIP TO LINE .該語(yǔ)句允許 將輸出位置向上或向下 移動(dòng)。四. 顯示圖示 :語(yǔ)法: WRITE: AS SYMBOL.WRITE: AS ICON.例如: INCLUDE .INCLUDE .WRITE: / Phone symbol:, SYM_PHONE AS SYMBOL.WRITE: / Alarm Icon:, ICON_VOICE_OUTPUT AS ICON. 要查看系統(tǒng)所提供有那些符號(hào)及圖示 , 可選擇 EDIT 下的 Insert Statement, 選擇Write, 接下來(lái)選擇要查看的群組 ,如SYMBOL或 ICON, 接下來(lái)按 Display 即可
12、 .一 . Internal Table的宣告ABAP/4中的 Internal Table 是一種 Data Structure, 類似于其他語(yǔ)言中的 STRUTURE它,可以由幾個(gè)不同類型的欄位 (field) 組成, 用來(lái)表示具有不同屬性的 某一事物 ,單獨(dú)一筆資料表示某個(gè)事物 , 多筆資料表示具有相同屬性的多個(gè)事物Internal table 的定義有以下幾種格式 : 格式一. DATA: BEGIN OF OCCURS , TYPE , TYPE , TYPE , END OF . 語(yǔ)法:DATA OCCURS WITH HEADER LINE Example:DATA VECTOR
13、 TYPE I OCCURS 10 WITH HEADER LINE. 格式二. TYPES: BEGIN OF , TYPE , TYPE , TYPE , END OF .TYPES TYPE OCCURS .格式三. DATA: BEGIN OF .INCLUDE STRUCTURE .DATA: END OF .DATA: LIKE OCCURS .exp:TYPES VECTOR TYPE I OCCURS 10.TYPES: BEGIN OF LINE,COLUMN1 TYPE I,COLUMN2 TYPE I,COLUMN3 TYPE I,END OF LINE.TYPES IT
14、AB TYPE LINE OCCURS 10.TYPES: BEGIN OF DEEPLINE,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)建為內(nèi) 表。因此該 內(nèi)表的元素 本身就是內(nèi) 表。exp :TYPES: BEGIN OF LINE,COLUMN1
15、 TYPE I,COLUMN2 TYPE I,COLUMN3 TYPE I,END OF LINE.TYPES ITAB TYPE 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 帶表頭行
16、。 因此, 可以 在程序中使 用 TAB2-COLUMN、1 TAB2-COLUMN和2 TAB2-COLUMN3等 定位表格 工作區(qū)域 TAB2。exp :DATA 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_TYP,E
17、其行包含首 先創(chuàng)建的基 本類型 I 字段。然后 ,通過(guò)引用 VECTOR_TYPE創(chuàng) 建數(shù)據(jù)對(duì) 象 VECTOR。 通過(guò)使用 WITH HEADERLI NE 選項(xiàng)還創(chuàng)建 表格工作區(qū) 域 VECTOR。 在這種情況 下,表格工 作 區(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
18、 OF structype .END OF structype.4. TYPES itabtype 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.APPEND LINE格式: APPEND TO 舉例一: (使用
19、WORK AREA)DATA : BEGIN OF LINE,COL1 TYPE I,COL2 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.舉例二 ( 不使用 WORK AREA) DATA : BEGIN OF ITAB OCCURS 10, COL1 T
20、YPE I, COL2 TYPE I, END OF ITAB.DO 2 TIMES. ITAB-COL1 = 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, END OF ITAB.DO 3 TIMES.APPEND INITIAL LINE TO ITAB.ITAB-COL1 = SY-INDEX. ITAB-CO
21、L2 = SY-INDEX * 2.APPEND ITAB.ENDDO.LOOP AT ITAB.WRITE: / ITAB-COL1, ITAB-COL2.ENDLOOP.舉例三 . ( 加入另一個(gè) Internal table 的元素 )格式: APPEND LINES OF FROM TO TO . 將 的元素加入至 中, 可選取自 至的范圍 . APPEND LINES OF ITAB TO JTAB.COLLECT LINECOLLECT指 令也是將元素加入 Internal table 中, 與 APPEND的 區(qū)別是 : COLLECT 指令在非數(shù)值欄位相同的情況下 , 將數(shù)值欄
22、位匯總 .格式: COLLECT INTO DATA: BEGIN OF ITAB OCCURS 3,COL1(3) TYPE C, COL2 TYPE I, END OF ITAB.ITAB-COL1 = ABC. ITAB-COL2 = 10. COLLECT ITAB.ITAB-COL1 = XYZ. ITAB-COL2 = 20. COLLECT ITAB.ITAB-COL1 = ABC. ITAB-COL2 = 80. COLLECT ITAB.此時(shí), internal table中放的是 2筆數(shù)據(jù), 分別為:ITAB-COL1 ITAB-COL2ABC 90XYZ 20INSERT
23、 LINE 將元素插入在指定的 internal table位置之前 .格式: INSERT INTO INITIAL LINE INTO INDEX 或者 : INSERTL INES OF FROM TO INTO INDEX 其中: 即 work area, 工作區(qū)中的元素 .INITIAL LINE INTO : 插入一筆初始化的記錄 .: internal tableINDEX : internal table的記錄號(hào) .( 新加入的元素放在此記錄前面 )Example:DATA: BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,END OF LINE.D
24、ATA ITAB LIKE LINE OCCURS 10.DO 3 TIMES.LINE-COL1 = SY-INDEX *10.LINE-COL2 = SY-INDEX *20.APPEND LINE INTO ITAB.ENDDO.LINE-COL1=100.LINE-COL2=200.INSERT LINE INTO ITAB INDEX 2. 插入在位置 2 之前 LOOP AT ITAB INTO LINE.WRITE: / SY-TABIX,LINE-COL1,LINE-COL2. SY-TABIX 為 Table 位置 ENDLOOP.執(zhí)行結(jié)果 :1 10 202 100 200
25、 插入的元素3 20 404 30 60插入另一 Internal Table 元素 語(yǔ)法:INSERT LINES OF FROM TO TO INDEX 將 的元素插入至 中, 位置在 之前, 可選取自 至 的範(fàn)圍Example:APPEND LINES OF ITAB TO JTAB INDEX 3. 將 ITAB 所有元素插入 JTAB中 , 位置在第三個(gè)元素之前 讀取 internal table格式一:LOOP AT INTO FROM TO WHERE ENDLOOP.Example:LOOP AT ITAB INTO LINE WHERE COL1 100.WRITE: / S
26、Y-TABIX,LINE-COL1.ENDLOOP.僅讀取 COL1 100 的元素格式二:READ TABLE INTO INDEX / WITH KEY 舉例. ( 格式二)DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 10 TIMES.ITAB-COL1 = SY-INDEX.ITAB-COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.READ TABLE ITAB INDEX 3.(或者: READ TABLE ITAB WITH KEY COL1 = 3.)WRITE
27、: / ITAB-COL1 = , ITAB-COL1, ITAB-COL2 = , ITAB-COL2. 執(zhí)行結(jié)果同樣是 :ITAB-COL1 = 3ITAB-COL2 = 6.Example:READ TABLE ITAB INTO LINE INDEX 5 讀取 ITAB 的第 5 個(gè)元素資料 , 放入 LINE 的欄位中 根據(jù)欄位內(nèi)容尋找語(yǔ)法:READ TABLE INTO Example:ITAB-COL1 = ABC.READ TABLE ITAB INTO LINE.找出 ITAB 中 COL1 欄位內(nèi)容是 ABC 的元素 , 找到的值放入 LINE 中 若找到 SY-SUBRC
28、傳回 0, 找不到則傳回 4, 必須宣告有 work area修改 internal table中的值格式: MODIFY FROM INDEX TRANSPORTING WHERE 舉例一. READ TABLE ITAB INDEX 3.LINE-COL1 = 29.MODIFY ITAB FROM LINE TRANSPORTING COL1. 將第三筆記錄的 COL1欄位的值修改為 29.舉例二. T_SALARY - salary = 50.MODIFY T_SALARY TRANSPORTING salary WHERE birthday = 1999/12/06.DELETE i
29、nternal table 中的欄位 格式: DELETE INDEX .或: DELETE FROM TO WHERE Internal table 排序SORT BY 其中: 有DESCENDING和 ASCENDING, Default 為ASCENDING. : 為指定排序的欄位 .Example:SORT ITAB DESCENDING BY COL2.將 ITAB 根據(jù) COL2 欄位遞減排序 確定內(nèi)表屬 性如果在處理 過(guò)程中想知 道內(nèi)表一共 包含多少行 ,或者想知 道定義的 OCCURS 參數(shù)的大小 ,請(qǐng)使用 DESCRIBE語(yǔ) 句,用法 如下:語(yǔ)法 DESCRIBE TABLE
30、 LINES OCCURS . 如果使用 LINES 參數(shù),則將 填充行的數(shù) 量寫(xiě)入變量 。 如果使用 OCCURS 參數(shù),則將 行的初始號(hào) 寫(xiě)入變量 。DATA: BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,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
31、-INDEX * 2.APPEND LINE TO ITAB.ENDDO.DESCRIBE TABLE ITAB LINES 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 中, 但只能在 LOOP中 使用 . 例 : LOOP AT ITAB INTO LINE.SUM.ENDLOOP.WRITE: / LINE-COL1, LINE-COL2.LINE-COL1 和 L
32、INE-COL2 存數(shù)值總和初始化 internal tableREFRESH . 清空 中的值.使用在沒(méi)有 HEADER LINE 的 Internal Table 中, 清除所有元素CLEAR. 清空的Header Line. 使用在有 HEADERL INE 的 Internal Table 中, 清除所有元素FREE . 釋放記憶體空間 . 釋放 (Release) Internal Table所佔(zhàn)的記憶體空間 , 用在 REFRESH和 CLEAR指令之後將值重置為 默認(rèn)值 可以用 CLEAR 語(yǔ)句重置任 何數(shù)據(jù)對(duì)象 值,如下所 示: 語(yǔ)法CLEAR .exp:DATA NUMBER
33、 TYPE I VALUE 10.WRITE NUMBER.CLEAR NUMBER.WRITE / NUMBER. 輸出為:100CLEAR語(yǔ) 句將字段 NUMBER的 內(nèi)容從 10 重置為默認(rèn) 值 0添加字段 順序并將結(jié) 果賦給另一 個(gè)字段語(yǔ)法ADD THEN UNTIL GIVING .如果 、 、 . 、 是在內(nèi)存中 相同類型和 長(zhǎng)度的等距 字段序 列, 則進(jìn)行求和 計(jì)算并將結(jié) 果賦給 添加字段 順序并將結(jié) 果添加到另 一個(gè)字段的 內(nèi)容中 語(yǔ)法ADD THEN UNTIL TO .該語(yǔ)句除了 將字段總和 添加到 的舊內(nèi)容中 之外,與上 面語(yǔ)句的工 作方 式相同 。有關(guān)其它相 似變體的信
34、 息,參見(jiàn)有 關(guān) ADD 語(yǔ)句的關(guān)鍵 字文檔。DATA: BEGIN OF SERIES,N1 TYPE I VALUE 10,N2 TYPE I VALUE 20,N3 TYPE I VALUE 30,N4 TYPE I VALUE 40,N5 TYPE I VALUE 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
35、 TO SUM.WRITE / SUM. 輸出如下: 150350在此,將 N1 到 N5 組件內(nèi)容求 和并將其值 賦給字段 SUM。然 后,將 N2 到 N6 組件求 和并將其添 加到 SUM 的值中。屏幕輸入命令在 ABAP/4 中要從螢?zāi)惠斎胱兞?, 使用的命令是 PARAMETER及S SELECTION-OPTIONS:1. PARAMETER:輸 入一個(gè)變量或欄位內(nèi)容2. SELECTION-OPTIONS:使 用條件篩選畫(huà)面來(lái)輸入數(shù)據(jù)PARAMETER指S 令基本的輸入命令 , 類似如 BASIC的 INPUT命令, 但無(wú)法使用 F 格式( 浮點(diǎn)數(shù) ) 語(yǔ)法:PARAMETERS
36、 DEFAULT LOWER CASE OBLIGATORY AS CHECKBOX RADIOBUTTON GROUP Example:PARAMETERS: NAME(8),AGE TYPE I,BIRTH TYPE D. 執(zhí)行結(jié)果 : 在日期的輸入格式上為 MM/DD/YY , MM/DD/YYYY, MMDD或YYMMDDYYYY 如, 輸入 020165表 1965 年02月01日, 與02/01/65 的輸入是一樣的 , 日期輸入範(fàn)圍為 西元 1950年至 2049年1. DEFAULT 設(shè)定輸入的預(yù)設(shè)值 Example:PARAMETERS: COMPANY(20) DEFAUL
37、T DELTA,BIRTH TYPE D DEFAULT 19650201.2. LOWER CASEABAP/4預(yù)設(shè)是將字串輸入值自動(dòng)轉(zhuǎn)換為大寫(xiě) , 加上此參數(shù)會(huì)將輸入的資料轉(zhuǎn)成 小寫(xiě),3. OBLIGATORY強(qiáng)制要求輸入 , 螢?zāi)簧蠒?huì)出現(xiàn)一個(gè) ? , 使用者必須要輸入才可 .4. AS CHECKBOX 輸入 CHECKBO的X 格式Example:PARAMETERS: TAX AS CHECKBOX DEFAULT X, NTD AS CHECKBOX.執(zhí)行結(jié)果 :5. RADIOBUTTON GROUP 輸入 RADIO BUTTON GROU的P方 式Example:PARAME
38、TERS: BOY RADIOBUTTON GROUP SEX DEFAULT X,GIRL RADIOBUTTON GROUP SEX.exp :TABLES SPLFI.PARAMETERS: LOW LIKE SPFLI-CARRID,HIGH LIKE SPFLI-CARRID.SELECT * FROM SPLFI WHERE CARRID BETWEEN LOW AND HIGH.ENDSELECT.SELECTION-OPTIONSSELECTION-OPTION所S輸入的值實(shí)際上是放在 internal table 中的 , 該 Internal table 有四個(gè)欄位 ,分別
39、是 :SIGN,OPTION,LOW,HIGH. 條件篩選檢查條件輸入畫(huà) 面指令 , 輸入條件後可配合 SELECT指令自 TABLE讀取符合條件的資料 , 直接執(zhí) 行或放入 Internal Table 中, 條件有四個(gè)參數(shù) :1. SIGN:I: 表篩選條件符合的資料E: 表篩選條件不符合的資料2. OPTION: 比較的條件符號(hào)EQ(等於),NE( 不等於),GT( 大於),LE( 小於),CP( 包含),NP( 不包含)3. LOW: 最小值4. HIGH: 最大值語(yǔ)法:SELECTION-OPTIONS FOR Example:TABLES SPFLI.SELECT-OPTIONS
40、AIRLINE FOR SPFLI-CONNID. 將條件的輸入值存放入 AIRLINE, 篩選選擇為 SPFLI 中的 CONNID欄位改變條件輸入格式1. DEFAULT TO 設(shè)定開(kāi)始結(jié)束範(fàn)圍輸入預(yù)設(shè)值 Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID DEFAULT 2042 TO 4555.2. NO-EXTENSION 設(shè)定不要 Multi-Option 輸入畫(huà)面3. NO INTERVALS 設(shè)定不要區(qū)間範(fàn)圍輸入畫(huà)面4. LOWER CASE輸入轉(zhuǎn)換成大寫(xiě)5. OBLIGATORY 強(qiáng)制要求輸入配合 SELECT 命令 條件輸入完後要
41、將符合條件的資料篩選出來(lái) , 可配合使用 SELECT 指令1. 使用 WHERE 條件式Example:TABLES SPFLI. SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI WHERE CONNID IN AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO. ENDSELECT.2. 使用 CHECK參數(shù)Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. SELECT * FROM
42、 SPFLI.CHECK AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO. ENDSELECT.*exp:TABLES SPFLI.SELECT-OPTIONS: S_CARRID FOR SPFLI-CARRID, S_CITYFR FOR SPFLI-CITYFROM,S_CITYTO FOR SPFLI-CITYTO, S_CONNID FOR SPFLI-CONNID.SELECT * FROM SPFLI.CHECK: SPFLI-CARRID IN S_CARRID,SPFLI-CITYFR IN S_CITYFR
43、, SPFLI-CITYTO IN S_CITYTO, SPFLI-CONNID IN S_CONNID.WRITE: / SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO.ENDSELECT.3. 使用 IF IN 敘述Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. SELECT * FROM SPFLI.IF SPFLI-CONNID IN AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDIF.ENDSE
44、LECT.SELECTION-SCREEN1. 產(chǎn)生空白列 語(yǔ)法:SELECTION-SCREEN SKIP Example:SELECTION-SCREEN SKIP 2. 產(chǎn)生兩列空白列2. 產(chǎn)生底線 語(yǔ)法:SELECTION-SCREEN ULINE / (length)Example: SELECTION-SCREEN ULINE /10(30). 自第 10格開(kāi)始產(chǎn)生長(zhǎng)度 30 的底線3. 印出備註說(shuō)明 語(yǔ)法:SELECTION-SCREEN COMMENT / (length) Example:REMARK = Pls enter your name.SELECTION-SCREE
45、N COMMENT /10(30) REMARK.4. 同一列中輸入數(shù)個(gè)資料項(xiàng) 語(yǔ)法:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN END OF LINE.Example:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN POSITION 20.PARAMETERS NAME(10).SELECTION-SCREEN POSITION 40.PARAMETERS BIRTH TYPE D.SELECTION-SCREEN END OF LINE.在 20 格輸入 NAME內(nèi)容 , 40 格輸入 BI
46、RTH 的內(nèi)容5. 繪出 BLOCK PANEL語(yǔ)法:SELECTION-SCREEN BEGIN OF BLOCK WITH FRAME TITLE .SELECTION-SCREEN END OF BLOCK .Example:SELECTION-SCREEN BEGIN OF BLOCK RADIO WITH FRAME .PARAMETER R1 RADIOBUTTON GROUP GR1.PARAMETER R2 RADIOBUTTON GROUP GR1.PARAMETER R3 RADIOBUTTON GROUP GR1.SELECTION-SCREEN END OF BLOCK
47、 RADIO.SQL語(yǔ)法我們?cè)诰帉?xiě) ABAP4程式的時(shí)候 , 經(jīng)常需要從 TABLE中根據(jù)某些條件讀取數(shù)據(jù) ,. 讀 取數(shù)據(jù)最常用的方法就是通過(guò) SQL語(yǔ)法實(shí)現(xiàn)的 .ABAP/4 中可以利用 SQL語(yǔ)法創(chuàng)建或讀取 TABLE,SQL語(yǔ)法分為 DDL(DATA DEFINE LANGUAG語(yǔ)E)言和 DML(DATAM ULTIPULATIONLA NGUAG語(yǔ)E)言 ,DDL語(yǔ)言是指數(shù)據(jù)定 義語(yǔ)言,例如CREATE等, DML語(yǔ)言是數(shù)據(jù)操作語(yǔ)言 ,例如 SELECT,I NSERT等語(yǔ)句. SQL語(yǔ)句有 OPENS QL語(yǔ)句和 NATIVES QL語(yǔ)句. OPENS QL語(yǔ)句不是標(biāo)準(zhǔn) SQL語(yǔ)
48、句 , 是 ABAP/4語(yǔ)言,利用 OPEN SQL語(yǔ)句能在 Databases 和 Command之 間產(chǎn)生一個(gè) BUFFER所, 以它有一個(gè)語(yǔ)言轉(zhuǎn)換的過(guò)程 .而 NATIVES QL語(yǔ)句則是標(biāo)準(zhǔn)的 SQL語(yǔ)句, 它直接針對(duì) Databases 操作.OPEN SQLSELECT語(yǔ)句 語(yǔ)法格式 :SELECT INTO FROM WHERE GROUP BY ORDER BY 其中: 指定要抓取的欄位 將讀取的記錄存放在 work area 中 指定從那個(gè) TABLE中讀取資料 抓取資料的條件 指定按那些欄位分組 排序的欄位及方式 相關(guān)的系統(tǒng)變量 :SY-SUBRC = 0 表示讀取數(shù)據(jù)成功
49、 0 表示未找到符合條件的記錄SY-DBLNT: 被處理過(guò)的記錄的筆數(shù) . 相關(guān)的命令 :EXIT. 退出循環(huán) .CHECK . 如果邏輯表達(dá)式成立 , 則繼續(xù)執(zhí)行 , 否則 , 開(kāi) 始下一次循環(huán) .利用循環(huán)方式讀取所有記錄SELECT .ENDSELECT是. 循環(huán)方式讀取記錄的例如:TABLES MARD.SELECT DISTINCT * FROM MARD WHERE MATNR = 3520421700. .ENDSELECT.(從 MARD中抓取所有料號(hào) =3520421700的資料) 讀取一筆資料Example:TABLES SPFLI.SELECT SINGLE * FROM
50、SPFLIWHERE PLANT =CHUNGLI AND TEL=4526174.WRITE: / SPFLI-COMPANY,SPFLI-PLANT,SPFLI-TEL. 將讀取的記錄放在 work area 中, 并且加入 Internal table中.格式有 :. INTO . INTO CORRESPONDING FIELDS OF . INTO (f1, ., fn)變量組 . INTO TABLE . INTO CORRESPONDING FIELDS OF TABLE . APPENDING TABLE . APPENDING CORRESPONDING FIELDS OF TABLE 舉例一:TABLES MARD.DATA: BEGIN OF ITAB OCCURS 10,MATNR LIKE MARD-MATNR,WERKS LIKE MARD-WERKS,LGORT LIKE MARD-LGORT,LABST LIKE MARD-LABST,END OF ITAB.SELECT MATNR WERKS LGORT LABSTINTO CORRESPONDING FIELDS OF ITABFROM
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年校園小賣部租賃合同及新品引進(jìn)協(xié)議3篇
- 二零二五年度青少年心理輔導(dǎo)服務(wù)合同3篇
- 二零二五版建筑玻璃及裝飾材料購(gòu)銷合同2篇
- 2024版軟件開(kāi)發(fā)項(xiàng)目居間合同
- 2025別墅裝修室內(nèi)外照明設(shè)計(jì)與安裝合同3篇
- 2025年度林業(yè)資源綜合管理與技術(shù)服務(wù)承包合同樣本3篇
- 二零二四年份版權(quán)轉(zhuǎn)讓與授權(quán)合同3篇
- 2025年度體育場(chǎng)館設(shè)施抵押融資合同范本3篇
- 2025年度數(shù)據(jù)中心冷卻系統(tǒng)安裝合同范本6篇
- 二零二五版城市綜合體項(xiàng)目施工監(jiān)管服務(wù)合同3篇
- 新型電力系統(tǒng)簡(jiǎn)介演示
- 特種設(shè)備行業(yè)團(tuán)隊(duì)建設(shè)工作方案
- 眼內(nèi)炎患者護(hù)理查房課件
- 肯德基經(jīng)營(yíng)策略分析報(bào)告總結(jié)
- 買賣合同簽訂和履行風(fēng)險(xiǎn)控制
- 中央空調(diào)現(xiàn)場(chǎng)施工技術(shù)總結(jié)(附圖)
- 水質(zhì)-濁度的測(cè)定原始記錄
- 數(shù)字美的智慧工業(yè)白皮書(shū)-2023.09
- -安規(guī)知識(shí)培訓(xùn)
- 2021-2022學(xué)年四川省成都市武侯區(qū)部編版四年級(jí)上冊(cè)期末考試語(yǔ)文試卷(解析版)
- 污水處理廠設(shè)備安裝施工方案
評(píng)論
0/150
提交評(píng)論