ABAP一些基礎知識整理課件_第1頁
ABAP一些基礎知識整理課件_第2頁
ABAP一些基礎知識整理課件_第3頁
ABAP一些基礎知識整理課件_第4頁
ABAP一些基礎知識整理課件_第5頁
已閱讀5頁,還剩75頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ABAPl

了解ABAPl

SAP的三層體系結構l

ABAP語法概述l

ABAP語言的基本元素l

ABAP的語法格式l

結構類型和結構體l

內表l

數據庫操作ABAPl

了解ABAP1ABAP

ABAP(Advancedbusinessapplicationprogram),是一種高級企業應用編程語言,它支持封裝性和繼承性,封裝性是面向對象的基礎,而繼承性是建立在封裝性基礎上的重要特性。它適合生成報表,支持對數據庫的操作,如:SQLserver,Oracle,DB2等主流數據庫系統。

ABAPABAP(Advancedbusinessa2SAP三層體系結構表現層(PresentationLayer):這是SAP用戶和R/3系統交流的接口,用戶在這一層對SAP系統進行操作。這層將用戶的命令或者操作傳送給R/3系統,然后系統進行相應的處理后把數據返還給用戶。應用層(Applicationlayer):這層包括一個或者多個應用服務器和一個消息服務器。每一個應用服務器包括一系列服務以便運行應用程序。所有的服務分置在這些應用服務器之中,其實用戶需要的只是其中的一個應用服務器,多個服務器之間傳遞信息以決定用戶到底需要的是哪個服務器的服務。數據庫層(Databaselayer):這里就是SAP系統的核心,存放了所有SAP系統的數據。SAP三層體系結構表現層(Presentati3語法概述ABAP基本語法特點由各自獨立的語句構成。每個語句的第一個單詞必須是ABAP關鍵字。單詞之間至少要用一個空格分隔。每個語句結束必須要用句號。支持分塊縮進,便于閱讀。一個語句可以跨多行,只要不遇到句號,就認為是一個延續的語句??梢园讯鄠€語句放在一行。語法概述ABAP基本語法特點4ABAP基本語法特點(持續)ABAP不區分大小寫,關鍵字和用戶操作數都一樣,為了便于閱讀,一般把關鍵字大寫,而操作數小寫。由于編程的時候隨時切換大小寫比較麻煩,可以在ABAP編輯器中用“規范化打印機”按鈕來自動轉換。如果連續多行的第一個關鍵字相同,可以使用鏈語句鏈語句的方式減少輸入注釋:注釋行由第一列的星號(*)開頭,并且必須寫在第一列,前面不能有空格。編譯器忽略注釋行,不會執行。在行末的注釋用雙引號(”)作為前導。ABAP基本語法特點(持續)ABAP不區分大小寫,關鍵字和5ABAP語言的基本元素數據類型D:日期類型,格式為YYYYMMDD,長度為8T:時間類型,格式為HHMMSS,長度為6I:整數類型,長度為4F:浮點類型,長度為8STRING:變長字符串類型XSTRING:變長字節序列類型C:字符串類型,定義變量時指定字符個數N:數字字符串類型,定義變量時指定數值字符個數X:字節序列類型,定義變量時指定字節數P:組合數值類型,定義變量時指定長度和小數點后位數ABAP語言的基本元素數據類型6ABAP運算數值運算(在ABAP中數學表達式可以任意多層嵌套)算術運算數學函數時間日期運算邏輯表達式通用邏輯運算符EQ(=)NE(<>)LT(<)LE(<=)GT(>)GE(>=)IS操作符ISINITIAL檢查字段是否為初始值ISASSIGNED檢查字段是否被分配BETWEEN操作符組合邏輯表達式AND與OR或NOT非ABAP運算數值運算(在ABAP中數學表達式可以任意多層嵌套7ABAP程序的關健字關健字是語句的第一個詞,它決定整個語句的意義,有四種不同類型的關健字1.說明性關健字 TYPES,DATA,TABLES,這些關健字說明定義數據類型或者說明程序可以訪問的數據對象2.事件關健字 ATSELECTIONSCREEN, START-OF-SELECTION ATUSER-COMMAND這些關健字在ABAP中定義處理塊,處理塊是當特定事件發生時進行處理的語句組ABAP程序的關健字關健字是語句的第一個詞,它決定整8ABAP程序的關健字3.控制關健字 IF,WHILE,CASE4.操作關健字 WRITE,MOVE,ADD 用于處理數據ABAP程序的關健字3.控制關健字9語法格式定義數據對象DATA name TYPE type_name 例:DATAnumberTYPEI. 定義了一個對象number其類型為I DATAnumTYPEIvalue18. 定義了一個對象num其類型為I初始值為18.-TYPES:address TYPE C.

注:TYPES語句用來創建用戶定義的基本數據類型和結構化的數據類型,通過TYPE定義的類型不能直接使用,需要通過DATA進行定義其對應的變量后才可使用 如:DATA:address1TYPEaddress語法格式定義數據對象10語句鏈如果連續多行的第一個關鍵字相同,可以使用鏈語句,鏈語句的方式減少輸入

WRITEtext1.WRITEtext2.WRITEtext3.可以寫成:WRITE:text1,text2,text3.語句鏈如果連續多行的第一個關鍵字相同,可以使用鏈語句,鏈語11分支結構(IF,CASE)

使用IF的條件分支IF<condition1>.

<statementblock>

ELSEIF<condition2>.

<statementblock>

ELSEIF<condition3>.

<statementblock>

.....

ELSE.

<statementblock>

ENDIF.分支結構(IF,CASE)

使用IF的條件分支12例子:DATAflagTYPEcVALUE‘a'.IFflag=‘a‘.WRITE/‘true‘.ELSE.WRITE/‘error'.ENDIF.產生如下輸出: true例子:DATAflagTYPEcVALUE‘a'13

使用CASE的條件分支基本語法:

CASE<f>.

WHEN<F1>.

<statementblock>

WHEN<F2>.

<statementblock>

WHEN<F3>.

<statementblock>

WHEN...

......

WHENOTHERS.

<statementblock>

ENDCASE.

使用CASE的條件分支基本語法:14例子:DATA:TEXT1VALUE'X',

TEXT2VALUE'Y',

TEXT3VALUE'Z',

STRINGVALUE'A'.CASESTRING.

WHENTEXT1.

WRITE:/'Stringis',TEXT1.

WHENTEXT2.

WRITE:/'Stringis',TEXT2.

WHENTEXT3.

WRITE:/'Stringis',TEXT3.

WHENOTHERS.

WRITE:/'Stringisnot',TEXT1,TEXT2,TEXT3.

ENDCASE.產生如下輸出:StringisnotXYZ這里,執行WHENOTHERS后面的語句塊,因為STRING的內容“A”不等于“X”、“Y”或“Z”,。例子:DATA:TEXT1VALUE'X',

15循環結構(DO,WHILE)

使用DO的無條件循環DO [<n>TIMES] [VARYING<f>FROM<F1>NEXT<F2>].<statementblock>ENDDO.TIMES循環次數,VARYING選項在每次循環中給變量<f>重新賦值<n>可以是文字或變量。如果<n>是0或負數,系統不執行該循環使用DO語句時要避免死循環。如果不使用TIMES選項,則在語句塊中至少應包含一個EXIT、STOP或REJECT語句,以便系統能夠退出循環。循環結構(DO,WHILE)

使用DO的無條件循環16例子:DO.WRITESY-INDEX.IFSY-INDEX=3.

EXIT.

ENDIF.ENDDO.產生如下輸出:

123這里,處理3次循環,然后在EXIT語句后退出循環。SY-INDEX代表循環次數例子:DO.17使用WHILE的條件循環 語法:

WHILE<condition>[VARY<f>FROM<F1>NEXT<F2>].

<statementblock>ENDWHILE.循環終止(CONTINUE,CHECK,EXIT)無條件終止循環:CONTINUEDO4TIMES.IFSY-INDEX=2.CONTINUE.ENDIF.WRITESY-INDEX.ENDDO.輸出結果:

134使用WHILE的條件循環18有條件終止循環:CHECK<condition>DO4TIMES.CHECKSY-INDEXBETWEEN2and3.WRITESY-INDEX.ENDDO.輸出結果:

23有條件終止循環:CHECK<condition>19完全終止循環:EXITDO4TIMES.IFSY-INDEX=3.EXIT.ENDIF.WRITESY-INDEX.ENDDO.輸出結果:

12完全終止循環:EXIT20結構類型和結構體結構類型由多個數據元素作為組件構成參照結構類型生成的數據對象稱為結構體定義方式TYPES|DATA:BEGINOFstructure,k1[TYPEtype|LIKEdobj]…,k2[TYPEtype|LIKEdobj]…,…kn[TYPEtype|LIKEdobj]…,ENDOFstructure.或TYPES|DATAstructureTYPEstr_type|LIKEstr_dob.或TYPES|DATAstructureTYPEdbtab.組件通過取組件運算符”-”進行訪問structure-comp結構類型和結構體結構類型由多個數據元素作為組件構成21例子:TYPES:BEGINOFaddress,nameTYPEstring,street(30)TYPEC,cityTYPEString,ENDOFaddress.DATAmy_addTYPEaddress.my_add-name='lili'.my_add-street='zhangjiang'.my_add-city='shanghai'.write:my_add-name,my_add-street,my_add-city.例子:TYPES:BEGINOFaddress,22內表

什么是內表

內表是一個數據對象,在運行時內表可保存多個相同結構的數據行數是動態的,系統可實時增加內表的大小。

內表

什么是內表23內表的屬性幾種數據表的訪問:分為索引訪問,鍵訪問三種表的類型:標準表,排序表,哈希表內表的定義TYPES|DATAitab{TYPE|LIKE}tabkindOF{linetype|lineobj}[WITHkey][INITIALSIZEn].tabkind內表種類linetype行類型key表關鍵字n初始內存大小內表的屬性24

內表類型(一)標準表STANDARDTABLE具有邏輯索引尋址操作通過關鍵字或者索引排序表SORTEDTABLE具有邏輯索引尋址操作通過關鍵字或者索引按表關鍵字升序后存儲哈希表HASHEDTABLE沒有邏輯索引尋址操作只通過關鍵字

內表類型(一)標準表STANDARDTABLE25內表類型(二)行類型基本類型結構體內表表關鍵字行結構為結構體WITH[UNIQUE|NON-UNIQUE]KEYcomp1…compn行結構為基本類型WITH[UNIQUE|NON-UNIQUE]KEYTABLELINE不指定關鍵字WITH[UNIQUE|NON-UNIQUE]DEFAULTKEY初始內存大小INITIALSIZEn內表類型(二)行類型26TYPES:BEGINOFaddress,street(20)TYPEC,city(20)TYPEC,ENDOFaddress.DATA:BEGINOFcompany,name(20)TYPEC,addressTYPEaddress,ENDOFcompany.DATAitab_companyLIKEHASHEDTABLEOFcompanyWITHUNIQUEKEYname.創建一個內表TYPES:BEGINOFaddress,創建一個內27內表操作(一)操作內表行插入行INSERT語句插入單行INSERTlineINTOitabINDEXidx.插入多行INSERTLINESOFitab1[FROMn1][TOn2]INTO[TABLE]itab2[INDEXidx].

內表操作(一)操作內表行28內表(二)附加行APPEND語句附加單行APPENDlineTOitab.附加多行 APPENDLINESOFitab1[FROMn1][TOn2]TOitab.讀取行READ語句利用索引讀取READitabINTOwaINDEXidx.利用關鍵字讀取READTABLEitabFROMkeyINTOwa.內表(二)附加行APPEND語句29內表(三)修改行MODIFY語句根據索引修改MODIFYitab[FROMwa][indexidx][TRANSPORTINGf1f2…].根據關鍵字修改MODIFYTABLEitabFROMwa[TRANSPORTINGf1f2…].修改多行MODIFYitabFROMwaTRANSPORTINGf1f2…WHEREcond.內表(三)修改行MODIFY語句30內表(四)

刪除行DELETE語句通過索引刪除DELETEitabINDEXidx.通過關鍵字刪除DELETETABLEitabFROMwa.DELETETABLEitabWITHTABLEKEYk1=f1…ki=fi.刪除多行DELETEitab[FROMn1][TOn2][WHERE<condition>]內表(四)

刪除行DELETE語句31循環處理結果集合LOOP語句 Loop語句一條條的讀出的數據行,寫入INTO字指定的結構中,結構內容可用于輸出或寫回內表.LOOPATitab[INTOwa][FROMn1][TOn2][WHERE<condition>].<statementblock>ENDLOOP

內表(五)循環處理結果集合LOOP語句內表(五)32表工作區創建表工作區:Tablest_name. DATA:beginoft_name, F1typec, Endt_name.表工作區就是其他語言的結構,象自定義的一個類型一樣,但一旦創建一個內表之后,工作區就成了外界跟內表的交流口,每條記錄的進入和取出都得通過它,并且清除它們的時候分開來清除.表工作區創建表工作區:33數據庫操作(一)OpenSQL完全集成到ABAP中的標準SQL子集中只包括數據操縱(DML)SELECT,INSERT,UPDATE,MODIFY,DELETE不包括數據定義(DDL)和數據控制(DCL)數據庫操作(一)OpenSQL34數據庫操作(二)提取數據SELECT語句選擇單行數據SELECTSINGLE<result>INTO<target>FROM<source>…選擇多行數據:循環選擇SELECT[DISTINCT]<result>…<statementblock>ENDSELECT.選擇多行數據:選擇至內表SELECT…INTOTABLEitab.數據庫操作(二)提取數據SELECT語句35數據庫操作(三)

插入數據INSERT語句插入單行數據INSERTINTOdbtabVALUESwa.INSERTINTOdbtabFROMwa.插入多行數據INSERTdbtabFROMTABLEitab.數據庫操作(三)

插入數據INSERT語句36數據庫操作(四)

更新數據UPDATE語句更新單行數據UPDATEdbtabSETf1=g1…fi=giWHERE<fix_key>.*fix_key全部表關鍵字段的值或UPDATEdbtabFROMwa.更新多行數據UPDATEdbtabSETf1=g1…fi=gi[WHERE<condition>].或UPDATEdbtabFROMTABLEitab.數據庫操作(四)

更新數據UPDATE語句37數據庫操作(五)添加或更新數據MODIFY語句添加或更新單行數據MODIFYdbtabFROMwa.添加或更新多行數據MODIFYdbtabFROMitab.數據庫操作(五)添加或更新數據MODIFY語句38數據庫操作(六)NativeSQL包含DDL,DML,DCL依賴特定數據庫類型不具備好的可移植性EXECSQL[PERFORMING<form>].<NativeSQLstatement>[;]ENDEXEC.數據庫操作(六)NativeSQL39ThankyouThankyou40ABAPl

了解ABAPl

SAP的三層體系結構l

ABAP語法概述l

ABAP語言的基本元素l

ABAP的語法格式l

結構類型和結構體l

內表l

數據庫操作ABAPl

了解ABAP41ABAP

ABAP(Advancedbusinessapplicationprogram),是一種高級企業應用編程語言,它支持封裝性和繼承性,封裝性是面向對象的基礎,而繼承性是建立在封裝性基礎上的重要特性。它適合生成報表,支持對數據庫的操作,如:SQLserver,Oracle,DB2等主流數據庫系統。

ABAPABAP(Advancedbusinessa42SAP三層體系結構表現層(PresentationLayer):這是SAP用戶和R/3系統交流的接口,用戶在這一層對SAP系統進行操作。這層將用戶的命令或者操作傳送給R/3系統,然后系統進行相應的處理后把數據返還給用戶。應用層(Applicationlayer):這層包括一個或者多個應用服務器和一個消息服務器。每一個應用服務器包括一系列服務以便運行應用程序。所有的服務分置在這些應用服務器之中,其實用戶需要的只是其中的一個應用服務器,多個服務器之間傳遞信息以決定用戶到底需要的是哪個服務器的服務。數據庫層(Databaselayer):這里就是SAP系統的核心,存放了所有SAP系統的數據。SAP三層體系結構表現層(Presentati43語法概述ABAP基本語法特點由各自獨立的語句構成。每個語句的第一個單詞必須是ABAP關鍵字。單詞之間至少要用一個空格分隔。每個語句結束必須要用句號。支持分塊縮進,便于閱讀。一個語句可以跨多行,只要不遇到句號,就認為是一個延續的語句??梢园讯鄠€語句放在一行。語法概述ABAP基本語法特點44ABAP基本語法特點(持續)ABAP不區分大小寫,關鍵字和用戶操作數都一樣,為了便于閱讀,一般把關鍵字大寫,而操作數小寫。由于編程的時候隨時切換大小寫比較麻煩,可以在ABAP編輯器中用“規范化打印機”按鈕來自動轉換。如果連續多行的第一個關鍵字相同,可以使用鏈語句鏈語句的方式減少輸入注釋:注釋行由第一列的星號(*)開頭,并且必須寫在第一列,前面不能有空格。編譯器忽略注釋行,不會執行。在行末的注釋用雙引號(”)作為前導。ABAP基本語法特點(持續)ABAP不區分大小寫,關鍵字和45ABAP語言的基本元素數據類型D:日期類型,格式為YYYYMMDD,長度為8T:時間類型,格式為HHMMSS,長度為6I:整數類型,長度為4F:浮點類型,長度為8STRING:變長字符串類型XSTRING:變長字節序列類型C:字符串類型,定義變量時指定字符個數N:數字字符串類型,定義變量時指定數值字符個數X:字節序列類型,定義變量時指定字節數P:組合數值類型,定義變量時指定長度和小數點后位數ABAP語言的基本元素數據類型46ABAP運算數值運算(在ABAP中數學表達式可以任意多層嵌套)算術運算數學函數時間日期運算邏輯表達式通用邏輯運算符EQ(=)NE(<>)LT(<)LE(<=)GT(>)GE(>=)IS操作符ISINITIAL檢查字段是否為初始值ISASSIGNED檢查字段是否被分配BETWEEN操作符組合邏輯表達式AND與OR或NOT非ABAP運算數值運算(在ABAP中數學表達式可以任意多層嵌套47ABAP程序的關健字關健字是語句的第一個詞,它決定整個語句的意義,有四種不同類型的關健字1.說明性關健字 TYPES,DATA,TABLES,這些關健字說明定義數據類型或者說明程序可以訪問的數據對象2.事件關健字 ATSELECTIONSCREEN, START-OF-SELECTION ATUSER-COMMAND這些關健字在ABAP中定義處理塊,處理塊是當特定事件發生時進行處理的語句組ABAP程序的關健字關健字是語句的第一個詞,它決定整48ABAP程序的關健字3.控制關健字 IF,WHILE,CASE4.操作關健字 WRITE,MOVE,ADD 用于處理數據ABAP程序的關健字3.控制關健字49語法格式定義數據對象DATA name TYPE type_name 例:DATAnumberTYPEI. 定義了一個對象number其類型為I DATAnumTYPEIvalue18. 定義了一個對象num其類型為I初始值為18.-TYPES:address TYPE C.

注:TYPES語句用來創建用戶定義的基本數據類型和結構化的數據類型,通過TYPE定義的類型不能直接使用,需要通過DATA進行定義其對應的變量后才可使用 如:DATA:address1TYPEaddress語法格式定義數據對象50語句鏈如果連續多行的第一個關鍵字相同,可以使用鏈語句,鏈語句的方式減少輸入

WRITEtext1.WRITEtext2.WRITEtext3.可以寫成:WRITE:text1,text2,text3.語句鏈如果連續多行的第一個關鍵字相同,可以使用鏈語句,鏈語51分支結構(IF,CASE)

使用IF的條件分支IF<condition1>.

<statementblock>

ELSEIF<condition2>.

<statementblock>

ELSEIF<condition3>.

<statementblock>

.....

ELSE.

<statementblock>

ENDIF.分支結構(IF,CASE)

使用IF的條件分支52例子:DATAflagTYPEcVALUE‘a'.IFflag=‘a‘.WRITE/‘true‘.ELSE.WRITE/‘error'.ENDIF.產生如下輸出: true例子:DATAflagTYPEcVALUE‘a'53

使用CASE的條件分支基本語法:

CASE<f>.

WHEN<F1>.

<statementblock>

WHEN<F2>.

<statementblock>

WHEN<F3>.

<statementblock>

WHEN...

......

WHENOTHERS.

<statementblock>

ENDCASE.

使用CASE的條件分支基本語法:54例子:DATA:TEXT1VALUE'X',

TEXT2VALUE'Y',

TEXT3VALUE'Z',

STRINGVALUE'A'.CASESTRING.

WHENTEXT1.

WRITE:/'Stringis',TEXT1.

WHENTEXT2.

WRITE:/'Stringis',TEXT2.

WHENTEXT3.

WRITE:/'Stringis',TEXT3.

WHENOTHERS.

WRITE:/'Stringisnot',TEXT1,TEXT2,TEXT3.

ENDCASE.產生如下輸出:StringisnotXYZ這里,執行WHENOTHERS后面的語句塊,因為STRING的內容“A”不等于“X”、“Y”或“Z”,。例子:DATA:TEXT1VALUE'X',

55循環結構(DO,WHILE)

使用DO的無條件循環DO [<n>TIMES] [VARYING<f>FROM<F1>NEXT<F2>].<statementblock>ENDDO.TIMES循環次數,VARYING選項在每次循環中給變量<f>重新賦值<n>可以是文字或變量。如果<n>是0或負數,系統不執行該循環使用DO語句時要避免死循環。如果不使用TIMES選項,則在語句塊中至少應包含一個EXIT、STOP或REJECT語句,以便系統能夠退出循環。循環結構(DO,WHILE)

使用DO的無條件循環56例子:DO.WRITESY-INDEX.IFSY-INDEX=3.

EXIT.

ENDIF.ENDDO.產生如下輸出:

123這里,處理3次循環,然后在EXIT語句后退出循環。SY-INDEX代表循環次數例子:DO.57使用WHILE的條件循環 語法:

WHILE<condition>[VARY<f>FROM<F1>NEXT<F2>].

<statementblock>ENDWHILE.循環終止(CONTINUE,CHECK,EXIT)無條件終止循環:CONTINUEDO4TIMES.IFSY-INDEX=2.CONTINUE.ENDIF.WRITESY-INDEX.ENDDO.輸出結果:

134使用WHILE的條件循環58有條件終止循環:CHECK<condition>DO4TIMES.CHECKSY-INDEXBETWEEN2and3.WRITESY-INDEX.ENDDO.輸出結果:

23有條件終止循環:CHECK<condition>59完全終止循環:EXITDO4TIMES.IFSY-INDEX=3.EXIT.ENDIF.WRITESY-INDEX.ENDDO.輸出結果:

12完全終止循環:EXIT60結構類型和結構體結構類型由多個數據元素作為組件構成參照結構類型生成的數據對象稱為結構體定義方式TYPES|DATA:BEGINOFstructure,k1[TYPEtype|LIKEdobj]…,k2[TYPEtype|LIKEdobj]…,…kn[TYPEtype|LIKEdobj]…,ENDOFstructure.或TYPES|DATAstructureTYPEstr_type|LIKEstr_dob.或TYPES|DATAstructureTYPEdbtab.組件通過取組件運算符”-”進行訪問structure-comp結構類型和結構體結構類型由多個數據元素作為組件構成61例子:TYPES:BEGINOFaddress,nameTYPEstring,street(30)TYPEC,cityTYPEString,ENDOFaddress.DATAmy_addTYPEaddress.my_add-name='lili'.my_add-street='zhangjiang'.my_add-city='shanghai'.write:my_add-name,my_add-street,my_add-city.例子:TYPES:BEGINOFaddress,62內表

什么是內表

內表是一個數據對象,在運行時內表可保存多個相同結構的數據行數是動態的,系統可實時增加內表的大小。

內表

什么是內表63內表的屬性幾種數據表的訪問:分為索引訪問,鍵訪問三種表的類型:標準表,排序表,哈希表內表的定義TYPES|DATAitab{TYPE|LIKE}tabkindOF{linetype|lineobj}[WITHkey][INITIALSIZEn].tabkind內表種類linetype行類型key表關鍵字n初始內存大小內表的屬性64

內表類型(一)標準表STANDARDTABLE具有邏輯索引尋址操作通過關鍵字或者索引排序表SORTEDTABLE具有邏輯索引尋址操作通過關鍵字或者索引按表關鍵字升序后存儲哈希表HASHEDTABLE沒有邏輯索引尋址操作只通過關鍵字

內表類型(一)標準表STANDARDTABLE65內表類型(二)行類型基本類型結構體內表表關鍵字行結構為結構體WITH[UNIQUE|NON-UNIQUE]KEYcomp1…compn行結構為基本類型WITH[UNIQUE|NON-UNIQUE]KEYTABLELINE不指定關鍵字WITH[UNIQUE|NON-UNIQUE]DEFAULTKEY初始內存大小INITIALSIZEn內表類型(二)行類型66TYPES:BEGINOFaddress,street(20)TYPEC,city(20)TYPEC,ENDOFaddress.DATA:BEGINOFcompany,name(20)TYPEC,addressTYPEaddress,ENDOFcompany.DATAitab_companyLIKEHASHEDTABLEOFcompanyWITHUNIQUEKEYname.創建一個內表TYPES:BEGINOFaddress,創建一個內67內表操作(一)操作內表行插入行INSERT語句插入單行INSERTlineINTOitabINDEXidx.插入多行INSERTLINESOFitab1[FROMn1][TOn2]INTO[TABLE]itab2[INDEXidx].

內表操作(一)操作內表行68內表(二)附加行APPEND語句附加單行APPENDlineTOitab.附加多行 APPENDLINESOFitab1[FROMn1][TOn2]TOitab.讀取行READ語句利用索引讀取READitabINTOwaINDEXidx.利用關鍵字讀取READTABLEitabFROMkeyINTOwa.內表(二)附加行APPEND語句69內表(三)修改行MODIFY語句根據索引修改MODIFYitab[FROMwa][indexidx][TRANSPORTINGf1f2…].根據關鍵字修改MODIFYTABLEitabFROMwa[TRANSPORTINGf1f2…].修改多行MODIFYitabFROMwaTRANSPORTINGf1f2…

溫馨提示

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

評論

0/150

提交評論