【文章內(nèi)容簡介】
ESH itab. 清空itab HEADER LINE 的 Internal Table中, 清除所有元素CLEAR itab. 清空itab的Header HEADER LINE 的 Internal Table中, 清除所有元素FREE itab. (Release) Internal Table所佔的記憶體空間, 用在 REFRESH和 CLEAR指令之後將值重置為 默認值可以用 CLEAR 語句重置任 何數(shù)據(jù)對象 值,如下所 示:語法CLEAR f.exp:DATA NUMBER TYPE I VALUE 39。1039。.WRITE NUMBER.CLEAR NUMBER.WRITE / NUMBER.輸出為:100CLEAR 語句將字段 NUMBER 的內(nèi)容從10 重置為默認 值 0。**添加字段 順序并將結(jié) 果賦給另一 個字段語法ADD n1 THEN n2 UNTIL nz GIVING m.如果 n n ... 、 nz 是在內(nèi)存中 相同類型和 長度的等距 字段序列, 則進行求和 計算并將結(jié) 果賦給 m 添加字段 順序并將結(jié) 果添加到另 一個字段的 內(nèi)容中語法ADD n1 THEN n2 UNTIL nz TO m.該語句除了 將字段總和 添加到 m 的舊內(nèi)容中 之外,與上 面語句的工 作方式相同 。有關(guān)其它相 似變體的信 息,參見有 關(guān) ADD 語句的關(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 SERIESN1 THEN SERIESN2 UNTIL SERIESN5 GIVING SUM.WRITE SUM.ADD SERIESN2 THEN SERIESN3 UNTIL SERIESN6 TO SUM.WRITE / SUM.輸出如下:150350在此,將 N1 到 N5 組件內(nèi)容求 和并將其值 賦給字段 SUM。然 后,將 N2 到 N6組件求 和并將其添 加到 SUM 的值中。**屏幕輸入命令在ABAP/4中要從螢幕輸入變量, 使用的命令是 PARAMETERS 及SELECTIONOPTIONS: 1. PARAMETER: 輸入一個變量或欄位內(nèi)容2. SELECTIONOPTIONS: 使用條件篩選畫面來輸入數(shù)據(jù) PARAMETERS 指令基本的輸入命令, 類似如BASIC的INPUT命令, 但無法使用F格式(浮點數(shù))語法:PARAMETERS p [DEFAULT f] [LOWER CASE][OBLIGATORY] [AS CHECKBOX][RADIOBUTTON GROUP rad] Example:PARAMETERS: NAME(8),AGE TYPE I,BIRTH TYPE D.執(zhí)行結(jié)果: 在日期的輸入格式上為 MM/DD/YY , MM/DD/YYYY, MMDDYY或MMDDYYYY , 如輸入 020165表 1965年02月01日, 與02/01/65的輸入是一樣的, 日期輸入範圍為西元1950年至2049年1. DEFAULT 設定輸入的預設值Example:PARAMETERS: COMPANY(20) DEFAULT 39。DELTA39。,BIRTH TYPE D DEFAULT 39。1965020139。.2. LOWER CASEABAP/4預設是將字串輸入值自動轉(zhuǎn)換為大寫, 加上此參數(shù)會將輸入的資料轉(zhuǎn)成小寫, 3. OBLIGATORY強制要求輸入, 螢幕上會出現(xiàn)一個 ? , 使用者必須要輸入才可.4. AS CHECKBOX輸入 CHECKBOX的格式Example:PARAMETERS: TAX AS CHECKBOX DEFAULT 39。X39。,NTD AS CHECKBOX.執(zhí)行結(jié)果:5. RADIOBUTTON GROUP rad輸入 RADIO BUTTON GROUP 的方式Example:PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT 39。X39。, GIRL RADIOBUTTON GROUP SEX.exp :TABLES SPLFI.PARAMETERS: LOW LIKE SPFLICARRID, HIGH LIKE SPFLICARRID.SELECT * FROM SPLFI WHERE CARRID BETWEEN LOW AND HIGH.........ENDSELECT.**SELECTIONOPTIONSSELECTIONOPTIONS所輸入的值實際上是放在internal table中的,該Internal table 有四個欄位,分別是:SIGN,OPTION,LOW,HIGH.. 條件篩選檢查條件輸入畫面指令, 輸入條件後可配合SELECT指令自TABLE讀取符合條件的資料, 直接執(zhí)行或放入 Internal Table中, 條件有四個參數(shù):1. SIGN: I: 表篩選條件符合的資料E: 表篩選條件不符合的資料2. OPTION: 比較的條件符號EQ(等於),NE(不等於),GT(大於),LE(小於),CP(包含),NP(不包含)3. LOW: 最小值4. HIGH: 最大值語法:SELECTIONOPTIONS checkoption FOR tablefieldExample:TABLES SPFLI.SELECTOPTIONS AIRLINE FOR SPFLICONNID.將條件的輸入值存放入 AIRLINE, 篩選選擇為SPFLI中的CONNID欄位改變條件輸入格式1. DEFAULT begin TO end設定開始結(jié)束範圍輸入預設值Example:SELECTOPTIONS AIRLINE FOR SPFLICONNID DEFAULT 39。204239。 TO 39。455539。.2. NOEXTENSION設定不要MultiOption輸入畫面3. NO INTERVALS設定不要區(qū)間範圍輸入畫面4. LOWER CASE輸入轉(zhuǎn)換成大寫5. OBLIGATORY強制要求輸入**配合 SELECT 命令條件輸入完後要將符合條件的資料篩選出來, 可配合使用 SELECT 指令 條件式Example:TABLES SPFLI.SELECTOPTIONS AIRLINE FOR SPFLICONNID.SELECT * FROM SPFLI WHERE CONNID IN AIRLINE.WRITE: / SPFLICONNID,SPFLICITYFROM,SPFLICITYTO.ENDSELECT.Example:TABLES SPFLI.SELECTOPTIONS AIRLINE FOR SPFLICONNID.SELECT * FROM SPFLI.CHECK AIRLINE.WRITE: / SPFLICONNID,SPFLICITYFROM,SPFLICITYTO.ENDSELECT.*exp: TABLES SPFLI.SELECTOPTIONS: S_CARRID FOR SPFLICARRID,S_CITYFR FOR SPFLICITYFROM,S_CITYTO FOR SPFLICITYTO,S_CONNID FOR SPFLICONNID.SELECT * FROM SPFLI.CHECK: SPFLICARRID IN S_CARRID,SPFLICITYFR IN S_CITYFR,SPFLICITYTO IN S_CITYTO,SPFLICONNID IN S_CONNID.WRITE: / SPFLICARRID, SPFLICONNID, SPFLICITYFROM, SPFLICITYTO.ENDSELECT. IF … IN 敘述Example:SELECTOPTIONS AIRLINE FOR SPFLICONNID.SELECT * FROM SPFLI.IF SPFLICONNID IN AIRLINE.WRITE: / SPFLICONNID,SPFLICITYFROM,SPFLICITYTO.ENDIF.ENDSELECT.**SELECTIONSCREEN 語法:SELECTIONSCREEN SKIP [n]Example:SELECTIONSCREEN SKIP 2.產(chǎn)生兩列空白列語法:SELECTIONSCREEN ULINE / pos(length)Example:SELECTIONSCREEN ULINE /10(30).自第10格開始產(chǎn)生長度30的底線語法: SELECTIONSCREEN COMMENT / pos(length) nameExample:REMARK = 39。Pls enter your name39。.SELECTIONSCREEN COMMENT /10(30) REMARK.4. 同一列中輸入數(shù)個資料項語法:SELECTIONSCREEN BEGIN OF LINE.……SELECTIONSCREEN END OF LINE.Example:SELECTIONSCREEN BEGIN OF LINE.SELECTIONSCREEN POSITION 20.PARAMETERS NAME(10).SELECTIONSCREEN POSITION 40.PARAMETERS BIRTH TYPE D.SELECTIONSCREEN END OF LINE.在20格輸入NAME內(nèi)容, 40格輸入 BIRTH的內(nèi)容5. 繪出BLOCK PANEL語法:SELECTIONSCREEN BEGIN OF BLOCK block[WITH FRAME [TITLE title].…….SELECTIONSCREEN END OF BLOCK block.Example:SELECTIONSCREEN BEGIN OF BLOCK RADIO WITH FRAME .PARAMETER R1 RADIOBUTTON GROUP GR1.PARAMETER R2 RADIOBUTTON GROUP GR1.PARAMETER R3 RADIOBUTTON GROUP GR1.SELECTIONSCREEN END OF BLOCK RADIO. **SQL語法我們在編寫ABAP4程式的時候,經(jīng)常需要從TABLE中根據(jù)某些條件讀取數(shù)據(jù),.讀取數(shù)據(jù)最常用的方法就是通過SQL語法實現(xiàn)的.ABAP/4 中可以利用SQL語法創(chuàng)建或讀取TABLE,SQL語法分為DDL(DATA DEFINE LANGUAGE)語言和DML(DATA MULTIPULATION LANGUAGE)語言,DDL語言是指數(shù)據(jù)定義語言,例如CREATE等, DML語言是數(shù)據(jù)操作語言,例如SELECT, INSERT等語句. SQL語句有OPEN SQL語句和NATIVE SQL語句. OPEN SQL語句不是標準SQL語句,是ABAP/4語言,利用OPEN SQL語句能在Databases 和 Command 之間產(chǎn)生一個BUFFER,所以它有一個語言轉(zhuǎn)換的過程.而NATIVE SQL語句則是標準的SQL語句, 它直接針對Databases操作.OPEN SQLSELECT語句語法格式:SELECT result [INTO target] [FROM source] [WHERE condition][GROUP BY fields] [ORDER BY sort order]其中: result指定