W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
DATA語句用于聲明一個(gè)內(nèi)部表。 程序必須告知表的開始和結(jié)束位置。 所以使用BEGIN OF語句,然后聲明表名。 之后,使用OCCURS添加,后跟一個(gè)數(shù)字,這里為0. OCCURS告訴SAP正在創(chuàng)建一個(gè)內(nèi)部表,0表示它最初不包含任何記錄。 它將隨著它填充數(shù)據(jù)而擴(kuò)展。
以下是語法
DATA: BEGIN OF <internal_tab> Occurs 0,
讓我們在一個(gè)新行上創(chuàng)建字段。 例如,創(chuàng)建聲明為LIKE ZCUSTOMERS1-name的\'name\'。 創(chuàng)建另一個(gè)名為“dob"的字段,LIKE ZCUSTOMERS1-dob。 最初給內(nèi)部表中的字段名稱與其他地方創(chuàng)建的其他字段相同的名稱很有用。 最后,使用“END OF< internal_tab&gt ;."聲明內(nèi)部表的結(jié)尾,如下面的代碼所示:
DATA: BEGIN OF itab01 Occurs 0, name LIKE ZCUSTOMERS1-name, dob LIKE ZCUSTOMERS1-dob, END OF itab01.
這里‘itab01’是在SAP中創(chuàng)建臨時(shí)表時(shí)常用的縮寫。 OCCURS子句用于通過聲明表的字段來定義內(nèi)部表的主體。 當(dāng)使用OCCURS子句時(shí),如果需要,您可以指定數(shù)字常量‘n’
以確定其他默認(rèn)內(nèi)存。 OCCUR 0子句使用的內(nèi)存的默認(rèn)大小為8 KB。 現(xiàn)在創(chuàng)建內(nèi)部表的結(jié)構(gòu),并且可以寫入代碼以用記錄填充它。
可以使用或不使用標(biāo)題行創(chuàng)建內(nèi)部表。 要?jiǎng)?chuàng)建帶有標(biāo)題行的內(nèi)部表,請(qǐng)?jiān)趦?nèi)部表定義中的OCCURS子句之前使用OCCURS子句之前的BEGIN OF子句或WITH HEADER LINE子句。 要?jiǎng)?chuàng)建沒有標(biāo)題行的內(nèi)部表,請(qǐng)使用不帶BEGIN OF子句的OCCURS子句。
您還可以使用TYPES語句創(chuàng)建內(nèi)部表作為本地?cái)?shù)據(jù)類型(僅在當(dāng)前程序的上下文中使用的數(shù)據(jù)類型)。 此語句使用TYPE或LIKE子句來引用現(xiàn)有表。
創(chuàng)建內(nèi)部表作為本地?cái)?shù)據(jù)類型的語法是:
TYPES <internal_tab> TYPE|LIKE <internal_tab_type> OF <line_type_itab> WITH <key> INITIAL SIZE <size_number>.
這里,< internal_tab_type> 指定內(nèi)部表的表類型< internal_tab> 和< line_type_itab> 指定內(nèi)部表的行的類型。 在TYPES語句中,可以使用TYPE子句將內(nèi)部表的行類型指定為數(shù)據(jù)類型,并使用LIKE子句將行類型指定為數(shù)據(jù)對(duì)象。 為內(nèi)部表指定鍵是可選的,如果用戶未指定鍵,SAP系統(tǒng)將使用任意鍵定義表類型。
INITIAL SIZE< size_number> 通過向其分配初始量的內(nèi)存來創(chuàng)建內(nèi)部表對(duì)象。 在上述語法中,INITIAL SIZE子句為size_number表行保留一個(gè)內(nèi)存空間。 每當(dāng)聲明內(nèi)部表對(duì)象時(shí),表的大小不屬于表的數(shù)據(jù)類型。
注意 - 首次填充內(nèi)部表時(shí)消耗的內(nèi)存大大減少。
步驟1 - 執(zhí)行SE38交易代碼,開啟ABAP編輯器。 顯示ABAP編輯器的初始屏幕。
步驟2 - 在初始屏幕中,輸入程序的名稱,選擇源代碼單選按鈕,然后單擊創(chuàng)建按鈕以創(chuàng)建新程序。
步驟3 - 在“ABAP:程序?qū)傩?quot;對(duì)話框中,在標(biāo)題字段中輸入程序的簡短描述,從屬性中的類型下拉菜單中選擇\'可執(zhí)行程序\'選項(xiàng) 組框。 單擊保存按鈕。
步驟4 - 在ABAP編輯器中編寫以下代碼。
REPORT ZINTERNAL_DEMO. TYPES: BEGIN OF CustomerLine, Cust_ID TYPE C, Cust_Name(20) TYPE C, END OF CustomerLine. TYPES mytable TYPE SORTED TABLE OF CustomerLine WITH UNIQUE KEY Cust_ID. WRITE:/'The mytable is an Internal Table'.
步驟5 - 保存,激活并照常執(zhí)行程序。
在本示例中,mytable是一個(gè)內(nèi)部表,并且在Cust_ID字段上定義了唯一鍵。
上面的代碼產(chǎn)生以下輸出 -
The mytable is an Internal Table.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: