SAP基礎(chǔ)知識學(xué)習(xí)整理_第1頁
SAP基礎(chǔ)知識學(xué)習(xí)整理_第2頁
SAP基礎(chǔ)知識學(xué)習(xí)整理_第3頁
SAP基礎(chǔ)知識學(xué)習(xí)整理_第4頁
SAP基礎(chǔ)知識學(xué)習(xí)整理_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)類型C :字符串D :日期型 格式為 YYYYMMDD 例: 1999/12/03 F : 浮點數(shù) 長度為 8I :整數(shù)N :數(shù)值組成的字符串 如: 011, 302P : PACKED數(shù)用于小數(shù)點數(shù)值 女口: 12.00542T : 時間 格式為: HHMMSS 如: 14:03:00X : 16進制數(shù) 如: 1A03變數(shù)宣告DATA decimals 變數(shù)名稱 變數(shù)類型 及 長度 初值 小數(shù)位數(shù)exp:DATA : COUNTER TYPE P DECIMALS 3.NAME(10) TYPE C VALUE DELTA.S_DATE TYPE D VALUE 19991203.exp

2、: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ù)宣 告).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE 3.14159.STATICS 敘述宣告的變數(shù)僅在目前的程式中使用 , 結(jié)束後會自動釋放語法:STATICS 系統(tǒng)專用變數(shù)說明系統(tǒng)內(nèi)部專門創(chuàng)建了 SYST這個STRUCTUR里面的欄位存放系統(tǒng)變數(shù),常用的系 統(tǒng)變數(shù)有 :SY-SUBRC : 系統(tǒng)

3、執(zhí)行某指令后 ,表示執(zhí)行成功與否的變數(shù) ,0 表示成功SY-UNAME當(dāng)前使用者登入SAP的USERNAME;SY-DATUM:當(dāng)前系統(tǒng)日期;SY-UZEIT: 當(dāng)前系統(tǒng)時間 ;SY-TCODE:當(dāng)前執(zhí)行程式的 Transaction code SY-INDEX :當(dāng)前LOOP循環(huán)過的次數(shù) SY-TABIX: 當(dāng)前處理的是 internal table SY-TMAXL: Internal table 的總筆數(shù) SY-SROWS屏幕總行數(shù);SY-SCOLS:屏幕總列數(shù);SY-MANDT: CLIENT NUMBERSY-VLINE: SY-ULINE:的第幾筆畫豎線畫橫線TYPE 敘述用來指定

4、資料型態(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用在已有值的資料項,如系統(tǒng)變數(shù),而TYPE敘述則是用 在指定資料型態(tài)。輸出一. WRITE 語句ABAP/4用來在屏幕上輸出資料的指令是 WRITE指令,例如: WRITE: USER NAME IS:, SY-UNAME.二. 指定屏幕輸出位置 指定輸出位置的

5、語句格式為 : WRITE: AT / () 其中: / : 在下一行輸出 : 指定輸出的行號 ; (): 指定輸出位數(shù) ( 長度) : 指定顯示格式參數(shù) , 參數(shù)有 : LEFT-JUSTIFIED 資料靠左對齊 CENTERE資料靠中間對齊 RIGHT-JUSTIFIED 資料靠右對齊 UNDER 正對在資料項vg的下面顯示資料項 NO-GAP緊接著顯示,不留空格USING EDIT MASK vm:使用內(nèi)嵌子元顯示,如12:03:20USING NO EDIT MASK不使用內(nèi)嵌子元NO-ZERO:數(shù)字前面0的部分不顯示NO-SIGN: 不顯示正負號DECIMALS : 顯示 位小數(shù)EX

6、POENT : F浮點數(shù))指數(shù)的值ROUND :四舍五入至小數(shù)點后vr位CURRENCY vc幣別顯示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 AB CDE.WRITE: / X USING EDIT MASK _:_:_.WRITE: / X USING EDIT M

7、ASK $_,_.WRITE: / Y NO-GAP.輸出結(jié)果為 :11:20:30$112,030ABCDEF例如 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語句的基本形式要將值(文 字)或源字 段內(nèi)容寫入 目標字段, 可以使用 WRITE TO 語句: 語法WRITE TO .DATA: NUMBER TYPE F VALUE 4.3,TEXT(10),F

8、LOAT 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,SOURCE(10) VALUE Antony,TARGET(10).WRITE (NAME) TO TARGET. WRITE: TARGE

9、T.exp :DATA: COUNTER TYPE I.COMPUTE COUNTER = COUNTER + 1.COUNTER = COUNTER + 1.運算語句進 行相同算術(shù) 運算ADD 1 TO COUNTER. 在此,三條輸出屏幕上的線和空行,可以在輸 出屏幕上生 成水平線:用下列語法 語法 ULINE AT /().它等同于WRITE AT /() SY-ULINE.AT 后的格式規(guī) 范,與在 在屏幕上定 位 WRITE 輸出 ( 頁 28) 中為 WRITE 語 句說明的 格式規(guī)范完 全一樣。如果沒有格 式規(guī)范,系 統(tǒng)則開始新 的一行,并 用水平線填 充該行。否 則, 只按指

10、定輸出水平 線。生成水平線 的另一種方 法,是在 WRITE 語句中鍵入 恰當(dāng)數(shù)量的 連字符,如 下所示:WRITE AT /() .垂直線用下列語法 ,可以在輸 出屏幕上生 成垂直線: 語法WRITE AT / SY-VLINE.或 WRITE AT / |.空行 用下列語法 語法 SKIP . 該語句從當(dāng) 的值,就輸 要將輸出定 語法,可以在輸前行開始, 出一個空行 位在屏幕的出屏幕上生 成空行:在輸出屏幕 上生成 個空行。如 果沒有指定 o指定行上, 請使用:向上或向下 移動。SKIP TO LINE . 該語句允許 將輸出位置 四 . 顯示圖示 :語法: WRITE: AS SYMBO

11、L.WRITE: AS ICON.例如: INCLUDE .INCLUDE .WRITE: / Phone symbol:, SYM_PHONE AS SYMBOL.WRITE: / Alarm Icon:, ICON_VOICE_OUTPUT AS ICON. 要查看系統(tǒng)所提供有那些符號及圖示 , 可選擇 EDIT 下的 Insert Statement, 選擇Write,接下來選擇要查看的群組,如SYMB0或ICON,接下來按 Display 即可 .一. Internal Table的宣告ABAP/4中的Internal Table 是一種Data Structure, 類似于其他語言中

12、的STRUTUR它可以由幾個不同類型的欄位(field) 組成,用來表示具有不同屬性的 某一事物 , 單獨一筆資料表示某個事物 , 多筆資料表示具有相同屬性的多個事物Internal table 的定義有以下幾種格式 : 格式一. DATA: BEGIN OF OCCURS , TYPE , TYPE , TYPE ,.END OF . 語法:DATA OCCURS WITH HEADER LINE Example:DATA VECTOR TYPE I OCCURS 10 WITH HEADER LINE.格式二. TYPES: BEGIN OF , TYPE , TYPE , TYPE ,.

13、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 ITAB TYPE LINE OCCURS 10.TYPES: BEGIN OF DEEPLINE,TABLE1 TYPE VECTOR,TABLE2 TYP

14、E ITAB,END OF DEEPLINE.TYPES DEEPTABLE TYPE DEEPLINE OCCURS 10.內(nèi)表的元素 本身就是內(nèi) 表。本示例創(chuàng)建與上例相同的內(nèi)表數(shù)據(jù)類型(VECTOR和ITAB )。然后創(chuàng)建數(shù) 據(jù)類型 DEEPLINE 作為字段串 ,包含這些 內(nèi)表作為組 件。通過該 字段串,數(shù) 據(jù)類型DEE PTABLE被創(chuàng)建為內(nèi)表。因此該 exp :TYPES: BEGIN OF LINE,COLUMN1 TYPE I,COLUMN2 TYPE I,COLUMN3 TYPE I,END OF LINE.TYPES ITAB TYPE LINE OCCURS 10.DATA

15、 TAB1 TYPE ITAB.示例創(chuàng)建數(shù) 據(jù)類型 ITAB 作為內(nèi) ITAB, 使數(shù)據(jù)對象 TAB1 與 ITABDATA TAB2 LIKE TAB1 WITH HEADER LINE.同 創(chuàng)建內(nèi)表數(shù) 據(jù)類型 ( 頁 99) 中所示,該 表。 通過使用 DATA 語句的 TYPE 參數(shù)引用 結(jié)構(gòu)相同。通過使用DATA語句的LIKE參數(shù)引用TAB1,使數(shù)據(jù)對象TAB2結(jié) 構(gòu)相同。 創(chuàng)建的 TAB2 帶表頭行。 因此, 可以 在程序中使 用 TAB2-COLUMN、1 TAB2-COLUMN TAB2-COLUMN等定位表格工作區(qū)域 TAB2。exp :DATA FLIGHT_TAB LIKE

16、 SFLIGHT OCCURS 10.本示例創(chuàng)建 數(shù)據(jù)對象 FLIGHT_TAB, 其結(jié)構(gòu)與數(shù) 據(jù)庫表格 SFLIGHT 相同。本示例介紹 如何采用兩 種不同的步 驟創(chuàng)建同一 內(nèi)表。TYPES VECTOR_TYPE TYPE I OCCURS 10.DATA VECTOR TYPE VECTOR_TYPE WITH HEADER LINE.在 此創(chuàng)建一 個內(nèi)表數(shù)據(jù) 類型 VECTOR_TYP,E 其行包含首 先創(chuàng)建的基 本類型I字段。然后,通過引用VECTORYP創(chuàng)建數(shù)據(jù)對象VECTOR通過使用WITH HEADERLINE 選項還創(chuàng)建 表格工作區(qū) 域 VECTOR。 在這種情況 下,表格工

17、 作 區(qū)域包含 一種類型I字段,可以 通過名稱VECTOR定位。DATA VECTOR TYPE I OCCURS 10 WITH HEADER LINE.在這種情況 下,通過直 接在DATA語句中使用OCCURS選項創(chuàng)建完 全一樣的 數(shù) 據(jù)類型 VECTOR。1. TYPES type.2. TYPES type(len).3. TYPES: BEGIN OF structype .END OF structype.4. TYPES itabtype TYPE tabkind OF linetype LIKE tabkind OF lineobj WITH UNIQUE|NON-UNIQUE

18、 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 舉例一: (使用 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 = S

19、Y-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 TYPE 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.WRI

20、TE : / 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-COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.LOOP AT ITAB.WRITE: / ITAB-COL1, ITAB-COL2.ENDLOOP.舉例三 . ( 加入另一個 Internal table 勺元素 )格式: AP

21、PEND LINES OF FROM TO TO . 將的元素加入至vitab2中,可選取自 至的范圍.APPEND LINES OF ITAB TO JTAB.COLLECT LINEcollect旨令也是將元素加入Internal table中,與APPEND勺區(qū)別是:COLLECT 指令在非數(shù)值欄位相同的情況下 , 將數(shù)值欄位匯總 .格式: 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 ITA

22、B.ITAB-COL1 = XYZ. ITAB-COL2 = 20. COLLECT ITAB.ITAB-COL1 = ABC. ITAB-COL2 = 80. COLLECT ITAB.此時, internal table中放的是 2筆數(shù)據(jù), 分別為:ITAB-COL1 ITAB-COL2ABC 90XYZ 20INSERT LINE 將元素插入在指定的 internal table 位置之前 . 格式: INSERT INTO INITIAL LINE INTO INDEX 或者 : INSERTLINES OF FROM TO INTO INDEX 其中:vwa即work area,工作

23、區(qū)中的元素.的記錄號 .( 新加入的元素放在此記錄前面 )INITIAL LINE INTO : 插入一筆初始化的記錄 . vitab: internal table INDEX vidx: internal tableExample:DATA: BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 3 TIMES.LINE-COL1 = SY-INDEX *10.LINE-COL2 = SY-INDEX *20.APPEND LINE INTO ITAB. ENDDO.LINE-C

24、OL1=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 插入的元素3 20 404 30 60插入另一 Internal Table 元素 語法:INSERT LINES OF FROM TO TO INDEX 將vitab1的元素插入至vitab2中,位置在之前,可選取自vn 1至 的範圍Examp

25、le:APPEND LINES OF ITAB TO JTAB INDEX 3.將ITAB所有元素插入JTAB中,位置在第三個元素之前 讀取 internal table格式一:LOOP AT INTO FROM TO WHERE ENDLOOP.Example:LOOP AT ITAB INTO LINE WHERE COL1 100. WRITE: / SY-TABIX,LINE-COL1.ENDLOOP.僅讀取 COL1 100 的元素 格式二:READ TABLE INTO INDEX / WITH KEY 舉例. ( 格式二)DATA: BEGIN OF ITAB OCCURS 10

26、,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: / ITAB-COL1 = , ITAB-COL1, ITAB-COL2 = , ITAB-COL2. 執(zhí)行結(jié)果同樣是 :ITAB-COL1 = 3 ITAB-COL2 = 6.Example:READ TABLE ITAB INT

27、O LINE INDEX 5 讀取 ITAB 的第 5個元素資料 , 放入 LINE 的欄位中 根據(jù)欄位內(nèi)容尋找語法:READ TABLE INTO Example:ITAB-COL1 = ABC.READ TABLE ITAB INTO LINE.找出 ITAB 中 COL1 欄位內(nèi)容是 ABC 的元素, 找到的值放入 LINE 中 若找到SY-SUBR(傳回0,找不到則傳回4, vitab 必須宣告有work area修改 internal table 中的值格式: MODIFY vitab FROM vwaINDEX vidxTRANSPORTING vf1vf2 WHERE vcond

28、itions 舉例一. 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 internal table 中的欄位 格式: DELETE vitab INDEX vidx.或: DELETE vitabFROM vn1 TO vn2 WHERE vcon

29、ditionsInternal table 排序SORT vorder wayBY 其中:vorder way 有 DESCENDIN和 ASCENDING, Default 為 ASCENDING. vf1: 為指定排序的欄位 .Example:SORT ITAB DESCENDING BY COL2.確定內(nèi)表屬如果在處理參數(shù)的大小語法將ITAB根據(jù)COL2欄位遞減排序 性過程中想知 道內(nèi)表一共 包含多少行 ,或者想知 道定義的 OCCURS ,請使用DESCRIBE語句,用法如下:DESCRIBE TABLE vitab LINES vlin OCCURS vocc.如果使用 LINES

30、參數(shù),則將 填充行的數(shù) 量寫入變量 vlin 。如果使用 OCCURS 參數(shù),則將 行的初始號 寫入變量 。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-INDEX * 2.APPEND LINE

31、TO ITAB.ENDDO.DESCRIBE TABLE ITAB LINES LIN OCCURS OCC.WRITE: / LIN, OCC.其輸出為:0 101.000 10在此創(chuàng)建內(nèi) 表ITAB。在填充表格 前后執(zhí)行DESCRIBE語句。更改 當(dāng)前行號, 但無法更改 初始行 加總SUM.總和計算存放與work area中,但只能在LOOP中使用.例 : LOOP AT ITAB INTO LINE.SUM.ENDLOOP.WRITE: / LINE-COL1, LINE-COL2.LINE-COL1 和 LINE-COL2 存數(shù)值總和初始化 internal tableREFRESH

32、vitab.清空 中的值.使用在沒有 HEADER LINE的 InternalTable 中 , 清除所有元素清空 vitab 的 Header Line.使用在有 HEADEFLINE 的 InternalTable 中, 清除所有元素FREE vitab.釋放記憶體空間.釋放(Release) Internal Table所佔的記憶體空間,用在REFRES和 CLEAR旨令之後將值重置為 默認值 可以用 CLEAR 語句重置任 何數(shù)據(jù)對象 值,如下所 示: 語法CLEAR .exp:DATA NUMBER TYPE I VALUE 10.WRITE NUMBER.CLEAR NUMBER

33、.WRITE / NUMBER. 輸出為:100CLEAR語句將字段NUMBER勺內(nèi)容從10重置為默認 值0。添加字段 順序并將結(jié) 果賦給另一 個字段語法ADD THEN UNTIL GIVING .如果 、 、 .、 是在內(nèi)存中 相同類型和 長度勺等距 字段序列, 則進行求和 計算并將結(jié) 果賦給 添加字段 順序并將結(jié) 果添加到另 一個字段勺 內(nèi)容中 語法ADD THEN UNTIL TO .該語句除了 將字段總和 添加到 勺舊內(nèi)容中 之外,與上 面語句勺工 作方 式相同 。有關(guān)其它相 似變體勺信 息,參見有 關(guān) ADD 語句勺關(guān)鍵 字文檔。DATA: BEGIN OF SERIES,N1 T

34、YPE 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 TO SUM. WRITE / SUM.輸出如下:150350在此,將N1到N5組件內(nèi)容求 和并

35、將其值 賦給字段SUM然 后,將N2到N6 組件求 和并將其添 加到 SUM 的值中。屏幕輸入命令 在ABAP/4中要從螢?zāi)惠斎胱兞?使用的命令是PARAMETER及SELECTION-OPTIONS:1. P ARAMETER:輸入一個變量或欄位內(nèi)容2. SELECTION-O PTIONS使用條件篩選畫面來輸入數(shù)據(jù)PARAMETER指 令基本的輸入命令,類似如BASIC的INPUT命令,但無法使用F格式(浮點數(shù)) 語法:PARAMETERS DEFAULT LOWER CASEOBLIGATORY AS CHECKBOXRADIOBUTTON GROUP Example:PARAMETER

36、S: NAME(8),AGE TYPE I,BIRTH TYPE D.執(zhí)行結(jié)果 :在日期的輸入格式上為 MM/DD/YY , MM/DD/YYYY, MMDD或YMMDDYYYY如輸入020165表 1965 年02月01 日, 與02/01/65 的輸入是一樣的 , 日期輸入範圍為 西元 1950年至 2049年1. DEFAULT設(shè)定輸入的預(yù)設(shè)值Example:PARAMETERS: COMPANY(20) DEFAULT DELTA,BIRTH TYPE D DEFAULT 19650201.2. LOWER CASEABAP/4預(yù)設(shè)是將字串輸入值自動轉(zhuǎn)換為大寫,加上此參數(shù)會將輸入的資料

37、轉(zhuǎn)成 小寫 ,3. OBLIGATORY強制要求輸入 , 螢?zāi)簧蠒霈F(xiàn)一個 ? , 使用者必須要輸入才可 .4. AS CHECKBOX 輸入CHECKBO的格式Example:PARAMETERS: TAX AS CHECKBOX DEFAULT X, NTD AS CHECKBOX.執(zhí)行結(jié)果 : 5. RADIOBUTTON GROUP 輸入 RADIO BUTTON GROUP 方式Example:PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT X, GIRL RADIOBUTTON GROUP SEX.exp :TABLES SPLFI.PA

38、RAMETERS: LOW LIKE SPFLI-CARRID,HIGH LIKE SPFLI-CARRID.SELECT * FROM SPLFI WHERE CARRID BETWEEN LOW AND HIGH.ENDSELECT.SELECTION-OPTIONSSELECTION-0PTIONSt入的值實際上是放在 internal table 中的,該 Internal table有四個欄位,分別是:SIGN,OPTION,LOW,HIGH.條件篩選檢查條件輸入畫 面指令,輸入條件後可配合selects令自TABLE讀取符合條件的資料,直接執(zhí) 行或放入 Internal Table

39、 中, 條件有四個參數(shù) :1. SIGN:I: 表篩選條件符合的資料E: 表篩選條件不符合的資料2. OPTION: 比較的條件符號EQ(等於),NE(不等於),GT(大於),LE(小於),CP(包含),NP(不包含)3. LOW: 最小值4. HIGH: 最大值語法:SELECTION-OPTIONS FOR Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.將條件的輸入值存放入 AIRLINE,篩選選擇為SPFLI中的CONNID欄位改變條件輸入格式1. DEFAULT TO 設(shè)定開始結(jié)束範圍輸入預(yù)設(shè)值Example:

40、SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID DEFAULT 2042 TO 4555.2. NO-EXTENSION設(shè)定不要 Multi-Option 輸入畫面3. NO INTERVALS設(shè)定不要區(qū)間範圍輸入畫面4. LOWER CASE輸入轉(zhuǎn)換成大寫5. OBLIGATORY 強制要求輸入配合 SELECT 命令 條件輸入完後要將符合條件的資料篩選出來 , 可配合使用 SELECT 指令1. 使用 WHERE條件式Example:TABLES SPFLI. SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT *

41、FROM SPFLI WHERE CONNID IN AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO. ENDSELECT.2. 使用CHEC參數(shù)Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.CHECK AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO. ENDSELECT.exp:TABLES SPFLI.SELECT-OPTIONS: S_CA

42、RRID 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,SPFLI-CITYTO IN S_CITYTO,SPFLI-CONNID IN S_CONNID.WRITE: / SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO.ENDSE

43、LECT.3. 使用IFIN敘述Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. SELECT * FROM SPFLI.IF SPFLI-CONNID IN AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDIF.ENDSELECT.SELECTION-SCREEN1. 產(chǎn)生空白列 語法: SELECTION-SCREEN SKIP Example:SELECTION-SCREEN SKIP 2. 產(chǎn)生兩列空白列2. 產(chǎn)生底線 語法: SELECTION-SCREEN UL

44、INE / (length)Example: SELECTION-SCREEN ULINE /10(30). 自第 10 格開始產(chǎn)生長度 30 的底線3. 印出備註說明 語法:SELECTION-SCREEN COMMENT / (length) Example:REMARK = Pls enter your name.SELECTION-SCREEN COMMENT /10(30) REMARK.4. 同一列中輸入數(shù)個資料項 語法:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN END OF LINE.Example:SELECTION-SCR

45、EEN BEGIN OF LINE.SELECTION-SCREEN POSITION 20.PARAMETERS NAME(10).SELECTION-SCREEN POSITION 40.PARAMETERS BIRTH TYPE D.SELECTION-SCREEN END OF LINE.在20格輸入NAM內(nèi)容,40格輸入BIRTH的內(nèi)容5. 繪出 BLOCK PANEL語法:SELECTION-SCREEN BEGIN OF BLOCK WITH FRAME TITLE .SELECTION-SCREEN END OF BLOCK .Example:SELECTION-SCREEN

46、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 RADIO.SQL語法我們在編寫ABAP4程式的時候,經(jīng)常需要從TABLE中根據(jù)某些條件讀取數(shù)據(jù),.讀 取數(shù)據(jù)最常用的方法就是通過SQL語法實現(xiàn)的.ABAP/4中可以利用SQL語法創(chuàng)建或讀取 TABLE,SQIL吾法分為DDL(DATA DEFINE LANGUA

47、G語言和 DML(DATAIULTIPULATIONANGUAG語言,DDL 語言是指數(shù)據(jù)定 義語言,例如CREAT等, DML語言是數(shù)據(jù)操作語言,例如SELECTJNSERT等語句.SQL語句有OPEN5QL語句和NATIVESQL語句.OPENBQL語句不是標準SQL語句, 是ABA P/4語言,利用OPEN SQ語句能在Databases和Comma nd之間產(chǎn)生一個 BUFFER所以它有一個語言轉(zhuǎn)換的過程.而NATIVESQL語句則是標準的SQL語句,它直接針對Databases操作.OPEN SQLselects句語法格式 :SELECT INTO FROM WHERE GROUP

48、BY ORDER BY 其中: 指定要抓取的欄位 將讀取的記錄存放在 work area 中vsource指定從那個TABLE中讀取資料 抓取資料的條件 指定按那些欄位分組 排序的欄位及方式相關(guān)的系統(tǒng)變量 :SY-SUBRC = 0 表示讀取數(shù)據(jù)成功 0 表示未找到符合條件的記錄SY-DBLNT: 被處理過的記錄的筆數(shù) .相關(guān)的命令 :EXIT. 退出循環(huán) .CHECK . 如果邏輯表達式成立 ,則繼續(xù)執(zhí)行,否則,開 始下一次循環(huán) .利用循環(huán)方式讀取所有記錄SELECT.ENDSELECT是循環(huán)方式讀取記錄的.例如: TABLES MARD. SELECT DISTINCT * FROM MA

49、RD WHERE MATNR = 3520421700. .ENDSELECT.(從MAR中抓取所有料號=3520421700的資料) 讀取一筆資料Example: TABLES SPFLI.中.SELECT SINGLE * FROM SPFLI WHERE PLANT =CHUNGLI AND TEL=4526174. WRITE: / SPFLI-COMPANY,SPFLI-PLANT,SPFLI-TEL. 將讀取的記錄放在 work area 中, 并且加入 Internal table 格式有:. INTO . INTO CORRESPONDING FIELDS OF . INTO

50、(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 LABST INTO CORRESPONDING FIELDS OF ITABFROM MARD WHERE MATNR = 3520421700.中)APPEND ITAB. CLEAR ITAB. ENDSELECT. (將讀取的結(jié)果放在 Internal table ITABDATA: BEGIN OF WA,LINE(240), END OF WA.DATA NAME(10).NAME = SPFLI.SE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論