W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
我們可以使用READ TABLE語句的以下語法讀取表的行:
READ TABLE <internal_table> FROM <work_area_itab>.
在此語法中,< work_area_itab> 表達式表示與< internal_table>的線類型兼容的工作區(qū)域。 表。 我們可以通過使用WITH KEY子句在READ語句中指定搜索鍵,而不是表鍵,如下面的語法所示:
READ TABLE <internal_table> WITH KEY = <internal_tab_field>.
這里,內(nèi)部表的整行用作搜索鍵。 將表的整行的內(nèi)容與< internal_tab_field>的內(nèi)容進行比較。 領(lǐng)域。 如果< internal_tab_field> 字段與表的行類型不兼容,則這些值將根據(jù)表的行類型進行轉(zhuǎn)換。 搜索鍵允許在內(nèi)部表中查找沒有結(jié)構(gòu)化行類型的條目,即行是單個字段還是內(nèi)部表類型。
READ語句的以下語法用于通過使用COMPARING子句指定工作區(qū)或字段符號:
READ TABLE <internal_table> <key> INTO <work_area_itab> [COMPARING <F1> <F2>...<Fn>].
當(dāng)使用COMPARING子句時,結(jié)構(gòu)化行類型的指定表字段<F1>,<F2> ... <Fn>與傳輸之前的工作區(qū)域的相應(yīng)字段進行比較。 如果指定了ALL FIELDS子句,SAP系統(tǒng)將比較所有組件。 當(dāng)SAP系統(tǒng)根據(jù)密鑰找到條目時,SY-SUBRC變量的值設(shè)置為0.此外,如果比較的內(nèi)容為SY-SUBRC變量的值,則將SY-SUBRC變量的值設(shè)置為2或4 字段不同或SAP系統(tǒng)找不到條目。 但是,無論查找結(jié)果如何,SAP系統(tǒng)都會將條目復(fù)制到目標(biāo)工作區(qū)中。
REPORT ZREAD_DEMO. */Creating an internal table DATA: BEGIN OF Record1, ColP TYPE I, ColQ TYPE I, END OF Record1. DATA mytable LIKE HASHED TABLE OF Record1 WITH UNIQUE KEY ColP. DO 6 Times. Record1-ColP = SY-INDEX. Record1-ColQ = SY-INDEX + 5. INSERT Record1 INTO TABLE mytable. ENDDO. Record1-ColP = 4. Record1-ColQ = 12. READ TABLE mytable FROM Record1 INTO Record1 COMPARING ColQ. WRITE: 'SY-SUBRC =', SY-SUBRC. SKIP. WRITE: / Record1-ColP, Record1-ColQ.
上面的代碼產(chǎn)生以下輸出:
SY-SUBRC = 2 4 9
在上面的示例中,mytable是散列表類型的內(nèi)部表,其中Record1作為工作區(qū),ColP作為唯一鍵。 最初,mytable填充了六行,其中ColP字段包含SY-INDEX變量的值,ColQ字段包含(SY-INDEX + 5)值。
Record1工作區(qū)分別填充4和12作為ColP和ColQ字段的值。 在使用COMPARING子句將ColP鍵字段的值與Record1工作區(qū)中的值進行比較之后,READ語句讀取表的行,然后復(fù)制工作區(qū)中讀取行的內(nèi)容。 SY-SUBRC變量的值顯示為2,因為當(dāng)ColP字段中的值為4時,ColQ中的值不是12,而是9。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: