W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵(lì)
打開SQL指示允許直接訪問當(dāng)前AS ABAP的中央數(shù)據(jù)庫中的數(shù)據(jù)的ABAP語句的子集。 打開SQL語句映射所有數(shù)據(jù)庫系統(tǒng)支持的ABAP中的SQL的數(shù)據(jù)操作語言功能。
Open SQL的語句在數(shù)據(jù)庫接口的Open SQL接口中轉(zhuǎn)換為特定于數(shù)據(jù)庫的SQL。 然后將它們傳送到數(shù)據(jù)庫系統(tǒng)并執(zhí)行。 打開的SQL語句可用于訪問在ABAP字典中聲明的數(shù)據(jù)庫表。 缺省情況下訪問AS ABAP的中央數(shù)據(jù)庫,并且可以通過輔助數(shù)據(jù)庫連接訪問其他數(shù)據(jù)庫。
每當(dāng)在ABAP程序中使用這些語句中的任何一個(gè)時(shí),重要的是檢查所執(zhí)行的動作是否已成功。 如果嘗試將記錄插入到數(shù)據(jù)庫表中,并且沒有正確插入,則知道這一點(diǎn)非常重要,以便可以在程序中采取適當(dāng)?shù)牟僮鳌?/span> 這可以使用已經(jīng)使用的系統(tǒng)字段來完成,即SY-SUBRC。 當(dāng)成功執(zhí)行語句時(shí),SY-SUBRC字段將包含值0,因此可以檢查該值,如果出現(xiàn)該程序,可以繼續(xù)程序。
DATA語句用于聲明一個(gè)工作區(qū)。 讓我們給這個(gè)名字“wa_customers1"。 而不是為此聲明一個(gè)數(shù)據(jù)類型,可以聲明組成表的幾個(gè)字段。 最簡單的方法是使用LIKE語句。
wa_customers1工作區(qū)在這里被聲明為像ZCUSTOMERS1表,采取相同的結(jié)構(gòu)而不成為表本身。 此工作區(qū)只能存儲一條記錄。 一旦它被聲明,INSERT語句可以用于將工作區(qū)和它保存的記錄插入到表中。 這里的代碼將讀作\'INSERT ZCUSTOMERS1 FROM wa_customers1\'。
工作區(qū)域必須填充一些數(shù)據(jù)。 使用ZCUSTOMERS1表中的字段名稱。 這可以通過向前導(dǎo)航,雙擊代碼中的表名或通過打開新會話并使用事務(wù)SE11來完成。 然后可以將表的字段復(fù)制并粘貼到ABAP編輯器中。
以下是代碼段:
DATA wa_customers1 LIKE ZCUSTOMERS1. wa_customers1-customer = '100006'. wa_customers1-name = 'DAVE'. wa_customers1-title = 'MR'. wa_customers1-dob = '19931017'. INSERT ZCUSTOMERS1 FROM wa_customers1.
然后可以使用CHECK語句如下。 這意味著如果記錄被正確插入,系統(tǒng)會說明這一點(diǎn)。 如果不是,則將顯示不等于零的SY-SUBRC代碼。 以下是代碼段:
IF SY-SUBRC = 0. WRITE 'Record Inserted Successfully'. ELSE. WRITE: 'The return code is ', SY-SUBRC. ENDIF.
檢查程序,保存,激活代碼,然后測試它。 輸出窗口應(yīng)顯示為“已成功插入記錄"。
CLEAR語句允許清除字段或變量,以便在其位置插入新數(shù)據(jù),從而允許重新使用。 CLEAR語句通常用于程序中,它允許現(xiàn)有字段多次使用。
在前面的代碼片段中,工作區(qū)結(jié)構(gòu)已填充數(shù)據(jù)以創(chuàng)建要插入到ZCUSTOMERS1表中的新記錄,然后執(zhí)行驗(yàn)證檢查。 如果我們要插入一個(gè)新記錄,必須使用CLEAR語句,以便它可以再次用新數(shù)據(jù)填充。
如果要同時(shí)更新表中的一個(gè)或多個(gè)現(xiàn)有記錄,請使用UPDATE語句。 與INSERT語句類似,聲明一個(gè)工作區(qū),用新數(shù)據(jù)填充,然后在執(zhí)行程序時(shí)將其放入記錄中。 以前使用INSERT語句創(chuàng)建的記錄將在此處更新。 只需編輯存儲在NAME和TITLE字段中的文本即可。 然后在一個(gè)新行上,使用與INSERT語句相同的結(jié)構(gòu),這次使用UPDATE語句如下面的代碼片段所示:
DATA wa_customers1 LIKE ZCUSTOMERS1. wa_customers1-customer = '100006'. wa_customers1-name = 'RICHARD'. wa_customers1-title = 'MR'. wa_customers1-dob = '19931017'. UPDATE ZCUSTOMERS1 FROM wa_customers1.
隨著UPDATE語句被執(zhí)行,您可以在ABAP字典中查看數(shù)據(jù)瀏覽器,以查看該記錄已成功更新。
MODIFY語句可以被視為INSERT和UPDATE語句的組合。 它可用于插入新記錄或修改現(xiàn)有記錄。 在從輸入到工作區(qū)域的數(shù)據(jù)中修改記錄時(shí),它遵循與前兩個(gè)語句相似的語法。
執(zhí)行此語句時(shí),將對照表中的鍵字段進(jìn)行檢查。 如果具有這些鍵字段值的記錄已存在,則將更新該記錄。 如果沒有,則將創(chuàng)建新記錄。
以下是用于創(chuàng)建新記錄的代碼段:
CLEAR wa_customers1. DATA wa_customers1 LIKE ZCUSTOMERS1. wa_customers1-customer = '100007'. wa_customers1-name = 'RALPH'. wa_customers1-title = 'MR'. wa_customers1-dob = '19910921'. MODIFY ZCUSTOMERS1 FROM wa_customers1.
在本示例中,使用CLEAR語句,以便可以將新條目放入工作區(qū),然后添加客戶(編號)100007。 由于這是一個(gè)新的唯一鍵字段值,因此將插入一個(gè)新記錄,并執(zhí)行另一個(gè)驗(yàn)證檢查。
執(zhí)行此操作并在數(shù)據(jù)瀏覽器中查看數(shù)據(jù)時(shí),將為客戶編號100007(RALPH)創(chuàng)建一個(gè)新記錄。
上面的代碼產(chǎn)生以下輸出(表內(nèi)容):
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: