通過本章的學習能清晰地了解ABAP數據字典與實際數據庫之間的關系。數據字典對象由數據字段(Table Field)、數據元素(Data Element)、域(Domain)等組成。 “域”描述一個字段類型和長度等信息,“數據元素”描述一個字段的用途。先定義域,再定義數據元素使用哪個域,最后定義一個表字段使用哪些數據元素。 表類型:透明表(Transparent Table)、結構(Structure)、附加結構(Append Structure)、存儲表(Pooled Table)、簇表(Cluster Table)、視圖(Generated View Structure)。 在ABAP應用中大量使用透明表和結構,其中:“透明表”在數據庫中有對應的物理表;“結構”為若干個字段組合,在數據庫不存在數據紀錄。
下面以實例說明透明表的建立。建立城市表、學校表、學生表,表關系都是一對多,數據結構如下:
(1)城市表:YTJAYCITY,結構如下
字段名 | 數據類型 | 允許空值 | 主/外鍵 | 說明 |
YCT_ID | INT | NOT NULL | (PK) | 序號 |
YCT_NAME | CHAR(30) | NOT NULL | 城市名稱 | |
YCT_COUNTRY | CHAR(255) | 國家名稱 |
(2)學校表:YTJAYSCHOOL,結構如下
字段名 | 數據類型 | 允許空值 | 主/外鍵 | 說明 |
YCT_ID | INT | NOT NULL | (PK) | 序號 |
YSH_ID | INT | NOT NULL | (PK) | 學校序號 |
YSH_NAME | CHAR(30) | NOT NULL | 學校名稱 | |
YSH_ADDR | CHAR(255) | 地址 |
(3)學生表:YTJAYSTUDENT,結構如下
字段名 | 數據類型 | 允許空值 | 主/外鍵 | 說明 |
YCT_ID | INT | NOT NULL | (PK) | 城市序號 |
YSH_ID | INT | NOT NULL | (PK) | 學校序號 |
YSTU_ID | INT | NOT NULL | (PK) | 學生序號 |
YSTU_NAME | CHAR(30) | 學生名稱 | ||
YSTU_ADDR | CHAR(255) | 住址 |
輸入TCODE:SE11,回車
輸入數據庫表,單擊“創建”按鈕
在屬性頁輸入短文本、選擇類型”A“(應用表),選擇“X 允許通過標準表格維護工具維護”
選擇“Fields”頁面,單擊按鈕,直接輸入數據類型和長度
點擊“保存”按鈕,彈出“創建對象目錄條目”對話框,點擊“本地對象”按鈕
保存完成之后,點擊“技術設置”,定義“數據類”、“大小范疇”
單擊“返回”按鈕,退回到字段編輯頁面,單擊激活按鈕
激活數據表。
然后依次建立YTJAYSCHOOL、YTJAYSTUDENT表。數據表建立完成后,可以登錄數據庫查閱建立的透明表。
注意:(1)在SAP中建立的數據表會在數據庫中創建;(2)在數據庫中直接建立的表不會在SAP中有數據字典;(3)在SAP或數據庫添加數據都能相互查閱到。有了這樣的概念,完全可以用其他語言讀取數據庫數據,做報表、開發等工作。
由于在剛才建表時,選擇了,因此能直接進行數據維護。
輸入TCODE:SE16
輸入表名
新增數據
點擊如下“新增”按鈕
輸入完成后保存,在連續添加記錄后,單擊返回按鈕回到上一屏
查詢數據
點擊如下“表內容”按鈕
輸入查詢條件,點擊“執行”按鈕
查詢結果如下:
刪除數據
菜單“表條目”下,“全部刪除”、“刪除”按鈕可以刪除選中的紀錄
修改數據
點擊如下“更改”按鈕,可以對選中的紀錄進行編輯、修改操作
打開表結構維護界面后(SE11),選擇菜單“實用程序”-->“表格維護生成器”
輸入函數組名稱,選擇一個權限組,選擇維護類型“一步”,單擊左上角“查找屏幕號”按鈕
選擇“建議屏幕號”
處理完成后,單擊左上角“新建”按鈕
彈出“修改對象目錄條目”對話框,點擊“保存”按鈕,此時左下角如果彈出“請選擇包”,則再次點擊“保存”按鈕
此時單擊“本地對象”按鈕,此時將會生成環境,有幾秒的時間
此時回到主界面,輸入“/nSM30”維護數據
輸入表/視圖名稱,單擊“維護”按鈕
此時彈出對話框,確認
該界面可以對表格數據進行批量維護
本節介紹建立城市序號和城市名稱的域和數據元素,并建立搜索幫助。搜索幫助是SAP系統中最常見的技術之一,是非常重要的。
輸入TCODE:SE11,選擇“域”,輸入域名稱,單擊“創建”按鈕
輸入域類型、域長度等信息后點擊“保存”按鈕
點擊“本地對象”按鈕,然后再點擊“激活”按鈕
同樣方法再建立城市名稱域,此處略。
選擇“數據類型”選項,輸入名稱后,單擊“創建”
選擇“Data element”類型
選擇已經建立的域名
選擇“Field Label”頁面,輸入描述長度和描述,單擊“保存”按鈕,再點擊“本地對象”按鈕,最后點擊“激活”按鈕
同樣方法再建立城市名稱數據元素,此處略。
選擇YTJAYCITY數據表,點擊“修改”按鈕,進入結構維護界面
單擊“數據元素”按鈕,選擇剛剛建立的數據元素,保存之后,再激活
同樣方法再修改學校表
打開數據元素YDAJAY_CITYID,輸入“Search Help”名稱后,保存
雙擊“Search Help”名稱輸入框,啟動設計界面,點擊“是”按鈕
選擇“基本索引幫助”
輸入描述,選擇城市表、城市序號和名稱,其中城市序號為輸入、輸出字段,雙擊YCT_NAME,建立城市名稱參數
返回上一界面,輸入參數“YCT_ID”,保存并激活這個數據元素
再用SE16打開城市表,就可以通過“搜索幫助”選擇城市
邏輯數據庫是由具有一定關系的表組成,預選設定了讀取數據的方法。
讀取數據表是編程中最基本的技能,不同的數據庫(Oracle,Sql Server,Sybase,DB2等)提供的SQL語法不完全相同。SAP提供了一套SQL語法(Open SQL),在SAP應用中能通過這一套SQL語法處理SAP支持的數據庫。另外,SAP也提供Native SQL(本地的SQL語句),處理數據庫本身的SQL語法。SAP的SQL語法和標準的SQL很接近,由SELECT、INSERT、DELETE、UPDATE等常用語法組成。
將介紹數據庫讀取的幾種方法和步驟:(1)從數據表直接讀取數據至工作區輸出(2)從數據表讀取數據至內表,再從內表輸出(3)從內表逐行讀取數據至工作區,從工作區輸出
[plain] view plain copy輸出結果
上面的例子中,使用了UP TO 3 ROWS語法讀取前3行,但是不能繼續讀取數據。使用PACKAGE SIZE可以一次讀入幾條記錄,下面例子中有ENDSELECT語句,表示讀取2條紀錄后接著讀取2條記錄。
[plain] view plain copy輸出結果
從兩個或兩個以上數據表直接讀取數據時,需要使用內表連接和外連接語句。
[plain] view plain copy輸出結果
原文來自:http://blog.csdn.net/Jay_1989/article/details/51537483?locationNum=4&fps=1
新聞熱點
疑難解答