ABAP開發基礎及應用
二、資料字典(1)
圖2-A11 銷售訂單擡頭資料
圖2-A12 銷售訂單擡頭維護
圖2-A21 客戶銷售訂單明細
目标及說明
目标:
1、掌握SAP資料字典各種對象的定義和使用
2、能根據業務資料要求,建立存儲資料用的表和視圖
需求說明:
1、在SAP中自建程式,以對一企業(自由行集團)的銷售業務進行管理;
2、本實踐不對程式需求分析的過程進行說明,而僅對程式分析後所确定需要的資料表後,在系統中進行建立;
3、所需建立的表包括有客戶表、雇員表、物料表、銷售訂單擡頭表、銷售訂單明細表;
4、本實踐建立完成的表和輸入的資料,将在後續的實踐中使用。
實踐2-根據銷售業務建立表及視圖
需求分析:
1、資料字典說明
01
任何應用程式,複雜如SAP,簡單如一個跑步APP,資料處理是其核心和目的。而資料處理後一般是需要存儲的,不同類型程式會考慮不同的存儲方式,像我們常用的Word是用一個編譯後的格式化文檔存儲于硬碟;還有記事本則是以明文的方式存儲于硬碟;手機上的APP會用其專門的記錄格式存儲于記憶體卡;而像SAP這樣的系統,其資料則是存儲于資料庫的表中。
02
如果是采用其他語言開發軟體,在确定關系模型後,将會通過SQL腳本語言或通過資料庫的工具在資料庫伺服器中建立相應的表。而由于不同資料庫系統是存在差異的,如Oracle中有Long類型可以存儲最多達2G的一個記錄,SQLServer中則無類型;在Oracle中要獲得目前日期要通過dual,如select sysdate as now from dual,而SQLServer則無需通過此dual。總的來說,在不同的資料庫系統中定義表時需要注意其差異。
03
SAP系統中所包含的內建開發工具,除能夠在其中建立編寫代碼、程式調試等各種開發工作外,包括表的建立等,提供了資料字典這個強大的工具,使用此工具後,隻需要關注業務需求,關注業務所需要的表、表中所需要的字段、表之間的關系等,而無需關心系統所使用的資料庫系統是Oracle還是Sqlserver還是DB2。
04
在資料字典中建立表,可像SQLServer或Oracle一樣簡單,隻需要指定表名、隻需要建立所需要的字段、字段類型、長度、關鍵字段等即可;而資料字典還提供了非常多的工具,包括域、資料元素、結構類型、表類型、搜尋幫助、鎖等,以能更好的幫助表的管理和維護,如通過域對輸入的值進行限制(如性别隻能為男或女),如通過資料元素統一相同列在不同表中的類型(如此不會出現銷售訂單中雇員編号的長度為10,而在雇員表中長度卻為8的情況)。
2、業務說明
① 後續的實踐會完成銷售管理的開發,包括對雇員、物料、客戶的資訊進行記錄,包括對每一個銷售訂單進行記錄等;
② 由此每一筆訂單都能通過所開發的程式進行記錄、查詢及輸出,如圖2-1所示。
圖2-1銷售訂單輸出
3、表及關系
① 經過對程式的業務分析,确定所需建立的表、表字段及表之間的關系如圖2-2所示,圖中的類型是SAP的類型,如CHAR為字元型,CURR為含金額機關的數字類型,QUAN為含計量機關的數字類型等。
② 如前所述,可以直接按上圖建立表建立字段并制定類型,但如此雖然簡單,但非常容易出現在不同表中類型不一緻的情況以及其他問題,是以将會引入資料字典中域、資料元素以幫助定義。
圖2- 2銷售業務相關表及關系
4、域及資料元素和表的确定
① 域、資料元素都是為了幫助對表的定義的,要确定建立哪些域、哪些資料元素,可以有很多種方法或思路,如根據經驗,如根據資料清單等,并無統一和嚴格的限制,當然定義的好壞也會影響到之後程式的編寫和維護。
② 如下為确定要建立的域和資料元素的思路,使用Excel對字段進行記錄,并按如下過程整理資料。
圖2-3所示為按如上思路整理的Excel資料,其中綠色底色的表示使用系統傳遞的資料元素和域名,灰色底色的則表示與上一個記錄相同。
圖2- 3表字段資料元素及域的分析過程
5、搜尋幫助及其它
① 為幫助後續資料的錄入,如錄入訂單時能選擇客戶、物料、雇員等的代号,則建立搜尋幫助;
② 為友善資料的維護,對表建立維護視圖;
③ 為了能檢視到訂單的擡頭及明細資訊(能知道一個訂單是哪個客戶下的,買的什麼物料,數量是多少),則将訂單擡頭表和明細表放在一起建立視圖。
今天的内容就先分享到這兒啦!記得認真學習做筆記哦,我們下期再見~
下期内容預告:
二、資料字典(2)