期培訓中心教師_第1頁
期培訓中心教師_第2頁
期培訓中心教師_第3頁
期培訓中心教師_第4頁
期培訓中心教師_第5頁
已閱讀5頁,還剩226頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

版版權(quán)沒有SAPAG的特別許可,任何人不得以任何形式或為任何目的復制或傳播本文檔的任何部分。此外,本文檔及其內(nèi)容僅供您自己使用,沒有SAPAG的明確許可,不得出租、轉(zhuǎn)由版版權(quán)沒有SAPAG的特別許可,任何人不得以任何形式或為任何目的復制或傳播本文檔的任何部分。此外,本文檔及其內(nèi)容僅供您自己使用,沒有SAPAG的明確許可,不得出租、轉(zhuǎn)由SAPAG及其分銷商所銷售的某些軟件產(chǎn)品包含有其他軟件供應商版權(quán)所有的軟件組商?Microsoft?、WINDOWS?、NT?、EXCEL?、Word?、PowerPoint?和SQLServer?Microsoft公司的注冊商標。IBM?、DB2?、OS/2?、DB2/6000?、ParallelSysplex?、MVS/ESA?、RS/6000?、AIX?、S/390?、AS/400?、OS/390?和OS/400?是IBM公司的注冊商標。ORACLE?是ORACLEINFORMIX?-OnLineforSAPINFORMIX?DynamicServerTMInformixUNIX?、X/Open?、OSF/1?和Motif?是OpenGroup本文檔中引用的Citrix?、Citrix徽標、ICA?、ProgramNeighborhood?、MetaFrame?、WinFrame?、VideoFrame?、MultiWin?CitrixCitrixSystems公司的商標。HTML、DHTML、XML、XHTMLW3C?WorldWideWeb商標或注冊商標。JAVA?是SunMicrosystemsJAVASCRIPT?是SunMicrosystemsNetscape許可使用。SAP、SAP徽標、R/2、RIVA、R/3、SAPArchiveLink、SAPBusinessWorkflow、WebFlow、SAPEarlyWatch、BAPI、SAPPHIRE、ManagementCockpit、mySAP.commySAP.comSAPAG?????????免責聲SAP按原樣提供這些材料,并明確拒絕承擔任何和所有明示或暗示的保證,包括但不限于這些材料和服務、信息、文本、圖像、鏈接,或此處的任何其他材料和產(chǎn)品的特定目的之適銷性和適用性的保證。在任何情況下,AP均不承擔任何直接的、間接的、特殊的、偶然的、后果性或懲罰性的損失責任,不論任何性質(zhì),包括但不限于由于使用這些材料或其中介紹的軟件組件而產(chǎn)生的收入或利潤的損失關(guān)于本手冊本手冊用于補充教師的課堂演講,學員可以在課后參考此手冊。本手冊不適合自學。排版慣本手冊使用標準字體:還用到以下排版慣正文圖本手冊用到了關(guān)于本手冊本手冊用于補充教師的課堂演講,學員可以在課后參考此手冊。本手冊不適合自學。排版慣本手冊使用標準字體:還用到以下排版慣正文圖本手冊用到了以下圖標:圖含有關(guān)更多信息、提示或以前觀點的備注或字體風描他位置,如SAPNet)文檔的交叉引用。示例文正文文本中強調(diào)的字或詞組,圖形和表格的示例鍵字,如SELECT和INCLUDE。屏幕輸出。這包括文件和目錄的名稱及其路徑、消息、變量和參數(shù)的名稱以及程序源代碼的各節(jié)。文檔中完全一致。<關(guān)于本手圖含例外或警步關(guān)于本手圖含例外或警步表示教師演講中顯示了該項目目課程概 課程目 課程目 單目課程概 課程目 課程目 單1:字典簡 ABAP字典的功能概 單2:ABAP字典中的數(shù)據(jù)對 基本數(shù)據(jù)類 ABAP字典中的 特殊的SAP 單3:表訪問期間的性 表訪問期間的性 單4:輸入檢 通過輸入檢查保持一致 單5:對象相關(guān) 對象相關(guān) 單6:表更 表更 單7:視圖與維護視 視 維護視 單8:搜索幫 搜索幫 v目目課程概述本門課程說明ABAP字典在SAP系統(tǒng)中的角色及其功能范目標讀課程概述本門課程說明ABAP字典在SAP系統(tǒng)中的角色及其功能范目標讀本課程適用于以下讀者:?需要在字典中創(chuàng)建全局數(shù)據(jù)對象、數(shù)據(jù)庫表、視圖等的人員與管理人員設(shè)計數(shù)據(jù)模型并希望將其傳輸至數(shù)據(jù)庫的數(shù)據(jù)庫設(shè)計人開?課程前提條件所需知??BC400或類似的ABAP基本編程知識SAPTEC或類似的SAPGUI使用知推薦知?了解關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)課程目本課程將傳授以下內(nèi)容:??????描述ABAP字典在R/3系統(tǒng)中的功能定義并使用數(shù)據(jù)庫對象使用ABAP字典中的服務描述ABAP字典如何與開發(fā)和運行時環(huán)境鏈接使用建模語言UML進行數(shù)據(jù)建模課程目完成本教材后,您將能夠?使用并描述ABAP字典及其服課程概述課程概述單1字典簡介單元概您可以在本章的各單1字典簡介單元概您可以在本章的各個課程概覽中單元目完成本單元后,您將能夠????列舉ABAP字典在R/3系統(tǒng)中的功能描述ABAP字典提供的服務解釋ABAP字典如何與開發(fā)和運行時環(huán)境鏈單元目課程字典的1單元1:字典簡介課程:ABAP典的功能概課程概述本課程將簡要介紹ABAP字典的課程目標完成單元1:字典簡介課程:ABAP典的功能概課程概述本課程將簡要介紹ABAP字典的課程目標完成本課程后,您將能夠:????列舉ABAP字典在R/3系統(tǒng)中的功能描述ABAP字典提供的服務解釋字典如何與開發(fā)和運行時環(huán)境鏈業(yè)務示例您應向同事解字典的主要用功能概覽圖表1:ABAP字典的功ABAP字典可用于對R/3系統(tǒng)使用的所有類型定義進行集中管在AP字典中,可以創(chuàng)建適用于P程序或函數(shù)模塊、對象方法等接口的用戶自定義類型(數(shù)據(jù)元素、結(jié)構(gòu)和表類型)。數(shù)據(jù)庫對象(例如表、索引和視圖)也可在P字典中定義,并按照此定義在數(shù)據(jù)庫中創(chuàng)建。2課程:ABAP字典的功能概覽字典還提供大量支持程序開課程:ABAP字典的功能概覽字典還提供大量支持程序開發(fā)的服務。例如,支持加鎖與釋放定義輸入幫助幫助)以及在屏幕字段中附加字段幫助幫助)圖表2:ABAP字典中的數(shù)據(jù)庫對表和數(shù)據(jù)庫視圖可在ABAP字典中定義。這些對象將按照此定義在基礎(chǔ)數(shù)據(jù)庫中創(chuàng)建。表或數(shù)據(jù)庫視圖的定義更改也會自動應用到數(shù)據(jù)庫中。ABAP中可以定義索引,以便提高訪問表數(shù)據(jù)的速度。這些索引也可以在數(shù)據(jù)庫中創(chuàng)建。圖表3:ABAP字典中的類型定義3單元字典簡介ABAP字典中有三種不同的類別:?數(shù)據(jù)元素:通過定義數(shù)據(jù)類型、長度以及可能出現(xiàn)的小數(shù)位來描述基本類型。單元字典簡介ABAP字典中有三種不同的類別:?數(shù)據(jù)元素:通過定義數(shù)據(jù)類型、長度以及可能出現(xiàn)的小數(shù)位來描述基本類型。表類型:描述內(nèi)部表的結(jié)構(gòu)。??根據(jù)這些基本類型可以構(gòu)造任何復雜的用戶自定義類示例:員工數(shù)據(jù)存儲于帶有組件NAME、ADDRESS和TELEPHONE的結(jié)構(gòu)EMPLOYEE。組NAME是一個帶有組FIRSTNAMELASTNAME結(jié)構(gòu)。這些組件均為基本類型,例如,它們的類型由數(shù)據(jù)元素定義。組件ADDRESS的類型也可以由結(jié)構(gòu)定義,而該結(jié)構(gòu)的組件也是結(jié)構(gòu)。組件TELEPHONE由表類型定義(因為一名員工可能有多個電話號碼)。例如,類型可在ABAP程序中使用,或者用于定義函數(shù)模塊的接口參數(shù)圖表ABAP字典的服務4課程:ABAP字典的功能概覽字典可提供大量支持程序開發(fā)的服務課程:ABAP字典的功能概覽字典可提供大量支持程序開發(fā)的服務??屏幕字段的輸入幫助幫助)能夠通過搜索幫助定義通過為數(shù)據(jù)元素創(chuàng)建文檔,可以輕松地將字段幫助(F1幫助)分配可使用外鍵輕松地為屏幕字段定義輸入檢查,以確保輸入值的一致性。P字典可在加鎖和釋放鎖時提供支持。為此,必須在AP字典中創(chuàng)建鎖對象。根據(jù)這些鎖對象可自動生成用于加鎖和釋放鎖的函數(shù)模塊;然后可以將這些函數(shù)模塊鏈接至應用程序。通過緩沖設(shè)置,可以提高訪問數(shù)據(jù)庫對象(表、視圖)數(shù)據(jù)時的性能。通過日志記錄,可以打開自動記錄表條目更改的功????圖表5:與開發(fā)和運行時環(huán)境鏈接ABAP字典動態(tài)地集成在開發(fā)和運行時環(huán)境中。每個更改均會在相關(guān)ABAP程序和屏幕中立即生效5單元字典簡介示例?當生成程序或屏單元字典簡介示例?當生成程序或屏幕時,ABAP釋器和屏幕解釋器將訪問ABAP典中存儲的類型定義。ABAP具和屏幕制作器可利用ABAP典中存儲的信息來支持程序開發(fā)。例如,通過屏幕制作器的從字典中獲取功能,可ABAP數(shù)據(jù)庫接口可使用ABAP字典中存儲的表或數(shù)據(jù)庫視圖的相關(guān)信息來訪問這些對象的數(shù)據(jù)。??6課程字典的功能概課程摘您現(xiàn)課程字典的功能概課程摘您現(xiàn)在應該能夠:????列舉ABAP字典在R/3系統(tǒng)中的功描述定義數(shù)據(jù)對象和數(shù)據(jù)類型的可能途描解字典提供的服務字典如何與開發(fā)和運行時環(huán)境鏈7單元摘要單元摘要您現(xiàn)在應該能夠:????列舉ABAP字典在R/3系統(tǒng)單元摘要單元摘要您現(xiàn)在應該能夠:????列舉ABAP字典在R/3系統(tǒng)中的功描述定義數(shù)據(jù)對象和數(shù)據(jù)類型的描解字典提供的服務字典如何與開發(fā)和運行時環(huán)境鏈8單2ABAP中的數(shù)據(jù)對象單元概單2ABAP中的數(shù)據(jù)對象單元概您將在本章學會在字典中映射數(shù)據(jù)對象的不同單元目完成本單元后,您將能夠?????創(chuàng)建域,并在數(shù)據(jù)元素中進行使定義數(shù)據(jù)元素,并將其作為基礎(chǔ)定義ABAP序的數(shù)據(jù)對象定義結(jié)構(gòu),并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對象定義內(nèi)部表,并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對定義復雜(嵌套/深度)結(jié)構(gòu),并將其作為基礎(chǔ)定義ABAP序的數(shù)通過類型池定義全局常量,并在ABAP序中使用定義表的技術(shù)設(shè)置創(chuàng)建并使用Include描述SAP透明表之外的表類型區(qū)分表池中的表和簇表描述表池中的表和簇表的優(yōu)勢與劣勢????????單元目課程:基本數(shù)據(jù)類 練習1:基本數(shù)據(jù)類 練習2:簡單結(jié)構(gòu)與嵌套結(jié) 練習3:表類型(內(nèi)部表 練習4:深度結(jié) 練習5:ABAP字典中的 課程:特殊的SAP 9單元2:字典中的數(shù)據(jù)對象課程:基本數(shù)據(jù)類型課程概述您將在本課中學習基本數(shù)據(jù)類單元2:字典中的數(shù)據(jù)對象課程:基本數(shù)據(jù)類型課程概述您將在本課中學習基本數(shù)據(jù)類型,以及基本數(shù)據(jù)類型如何互相應課程目標完成本課程后,您將能夠:?????創(chuàng)建域,并在數(shù)據(jù)元素中進行使定義數(shù)據(jù)元素,并將其作為基礎(chǔ)定義ABAP序的數(shù)據(jù)對象定義結(jié)構(gòu),并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對象定義內(nèi)部表,并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對定義復雜(嵌套/深度)結(jié)構(gòu),并將其作為基礎(chǔ)定義ABAP序的數(shù)通過類型池定義全局常量,并在ABAP程序中使?業(yè)務示例您應在字典中定義簡單和復雜兩種數(shù)據(jù)類型,以程序中使數(shù)據(jù)類型圖表6:數(shù)據(jù)字典初始課程:基本數(shù)據(jù)類交叉程序(全局)數(shù)課程:基本數(shù)據(jù)類交叉程序(全局)數(shù)據(jù)類型可在ABAP字典中定義。使用相應ABAP語句的TYPE加功能時,可以在SAP系統(tǒng)的每個ABAP序中參考這些數(shù)據(jù)類型。在初始屏幕中,使用數(shù)據(jù)類型字段可進行相關(guān)定義。在數(shù)據(jù)類型下,可以找到三個基本類型,即數(shù)據(jù)元素、結(jié)構(gòu)和表類型(內(nèi)部表-B)。類型組實際上是早期產(chǎn)品的殘余物(在4a版本之前),當時類型組還無法創(chuàng)建適用于BAP中聲明數(shù)據(jù)對象的自有全局性復雜數(shù)據(jù)類型?,F(xiàn)在類型組仍有此用途。今后,您在創(chuàng)建新的全局性復雜數(shù)據(jù)類型時,應使用字典結(jié)構(gòu)提供的選項。此外,類型組將和以前一樣用于創(chuàng)建全局常量。P對象也通過某類的常量屬性支持使用全局常量。然而,如果希望以非面向?qū)ο蟮姆绞骄幊?,只能利用類型組定義全局常量。圖表7:ABAP字典的數(shù)據(jù)類型如需在ABAP序中定義數(shù)據(jù)對象,可以使用上述類型定義(域除外)。原則上,數(shù)據(jù)元素使用域定義其技術(shù)屬性。然而,ABAP通過訪問域來定義數(shù)據(jù)對象。通常,數(shù)據(jù)元素從域中獲取數(shù)據(jù)類型。數(shù)據(jù)類型也能從集成類型中導出。結(jié)構(gòu)由組件構(gòu)成,組件可以是基本字段、表以及結(jié)構(gòu)。表類型ITAB)的行類型可以是結(jié)構(gòu)類型或基本類單元字典中的數(shù)據(jù)對象圖表8域用于集中管理數(shù)據(jù)對象的技術(shù)屬性。域無法在程序、表等內(nèi)部直接使用。數(shù)據(jù)類型“數(shù)據(jù)元素”(請參見下文)在此處用于連接技術(shù)屬性和不同數(shù)據(jù)類型/數(shù)據(jù)對象。技術(shù)單元字典中的數(shù)據(jù)對象圖表8域用于集中管理數(shù)據(jù)對象的技術(shù)屬性。域無法在程序、表等內(nèi)部直接使用。數(shù)據(jù)類型“數(shù)據(jù)元素”(請參見下文)在此處用于連接技術(shù)屬性和不同數(shù)據(jù)類型/數(shù)據(jù)對象。技術(shù)信息包括以下幾點:在格式說明中,您將發(fā)現(xiàn)適用于在隸屬數(shù)據(jù)對象中輸入的類型和字符數(shù)量。如果是數(shù)字格式,還可以為小數(shù)位數(shù)據(jù)類型基于24種集成類型。下面將對最常用的數(shù)據(jù)類型進行說明:字符CHAR型字段在表中的最大長度為255字符。如果希望在表中使用更長的字符串,必須選擇LCHR據(jù)類型。在結(jié)日該數(shù)據(jù)類型的長度設(shè)定為8字符。通過用戶參數(shù)文件,可以定義輸出模板。使用小數(shù)點、符號和千位分隔符的計算或總計字課程:基本數(shù)據(jù)類DEC字段最大允許課程:基本數(shù)據(jù)類DEC字段最大允許長度為31僅能包含數(shù)字的字符串。此類字段長度最大值限定為輸出屬性:此處為輸入值和輸出值規(guī)定了包括千位分隔符或小數(shù)點在的最大字段長度一旦指定格式中的字符數(shù)量,通常將自動計算該值,但該值也可在以后覆蓋。輸出格式能夠影響屏幕和選擇屏幕的輸出。將字段集成到屏幕中時,使用此處的規(guī)定,但這些值也可在屏幕編輯器中進行修改。而且,您還可以為此域定義一個轉(zhuǎn)換例程。這用于將屏幕字段內(nèi)容從顯示格式轉(zhuǎn)換為P內(nèi)部格式時(反之亦然)更改顯示格式(例如,在數(shù)字前加前導零),也適用于通過BAPWE輸出的情況。同樣,還可以使用此轉(zhuǎn)換例程覆蓋任何不適當?shù)臉藴兽D(zhuǎn)換。對于某些數(shù)據(jù)類型(C、FP、N和UR),復選框符號輸入時即已提供。如果激活此項功能,字段的第一位字符將保留給屏幕中的符號。輸出長度將相應地增加1位。對基于字符的數(shù)據(jù)類型,還應該確定是否允許出現(xiàn)小寫字母果未設(shè)置該標識,在相應輸入字段中可以輸入小寫字母,但是一旦用戶確認輸入(例如,R鍵),將轉(zhuǎn)換為大寫字母。此外,您能夠為輸入檢查定義有效值范圍。本課程的其它部分將詳細闡述這一主題。單元字典中的數(shù)據(jù)對象圖表9:數(shù)據(jù)元素數(shù)據(jù)元素不僅在域和數(shù)據(jù)對象之間建立鏈接,還包含所創(chuàng)建數(shù)據(jù)對象的語義/技術(shù)信息。數(shù)據(jù)字單元字典中的數(shù)據(jù)對象圖表9:數(shù)據(jù)元素數(shù)據(jù)元素不僅在域和數(shù)據(jù)對象之間建立鏈接,還包含所創(chuàng)建數(shù)據(jù)對象的語義/技術(shù)信息。數(shù)據(jù)字段的字段標簽能夠,并且應該保存在數(shù)據(jù)元素中。這些字段(短、中等或長)稍后可在屏幕或選擇屏幕上顯示,用于解釋字段內(nèi)在選擇屏幕上(例如,ABAP命令PARAMETERS),只能從字典中提取長版本字段標簽(ABAP輯器菜單路徑:轉(zhuǎn)到本元擇文本=>復選框?字典參考)。如果字段值以列表形式提供,字段標簽的輸入項將作為標題。您還必須為字段標簽指定長度。此長度將決定字段標簽的最大長度。如果您在跨國公司工作,可以將字段標簽翻譯為其它語言(菜單路徑:轉(zhuǎn)到翻譯或事務E3)。指定長度時,請記住,字段標簽的相同術(shù)語在其它語言中可能需要更多字符。在數(shù)據(jù)元素中可以添加搜索幫助(/輸入幫助)。本課程后面的單元將詳細討論搜索幫助這一主題。搜索幫助可在不同層級集成。由于應用程序不同,有時必須在多個屏幕中輸入特定值。為節(jié)省用戶重復輸入的時間,可以為數(shù)據(jù)元素分配ST參數(shù)。在這一參數(shù)中,退出屏幕時將對輸入值進行傳輸。如果后續(xù)屏幕中出現(xiàn)基于相同數(shù)據(jù)元素的輸入字段,將從參數(shù)中讀取該值并輸入到屏幕字段中。TGET參數(shù)在每個會話期間保留輸入值。用戶退出系統(tǒng)后,將不再保留這些值。必須先在表PA中進行輸入,才能使用TGET參數(shù)!課程:基本數(shù)據(jù)類您也可以給數(shù)據(jù)元素分配英語缺省名稱。然而,這種設(shè)置僅在數(shù)據(jù)元素作為BI結(jié)構(gòu)的組件時有效。必須使用缺省名稱,以便分配組件名稱時保持一致。數(shù)據(jù)元素的技術(shù)屬性在數(shù)據(jù)類型標簽頁中維護。此處應該主要使用為技術(shù)課程:基本數(shù)據(jù)類您也可以給數(shù)據(jù)元素分配英語缺省名稱。然而,這種設(shè)置僅在數(shù)據(jù)元素作為BI結(jié)構(gòu)的組件時有效。必須使用缺省名稱,以便分配組件名稱時保持一致。數(shù)據(jù)元素的技術(shù)屬性在數(shù)據(jù)類型標簽頁中維護。此處應該主要使用為技術(shù)類型預定的域。然而,用于定義域的同一集成類型,也可用于定義數(shù)據(jù)元素。您還可以將數(shù)據(jù)元素創(chuàng)建為參考類型,這是一種特殊用法。此處的參考類型不僅僅限于“AN”類型。也可以是其它參考類型,甚至可以是Y、JT或A的一般參考。ANY類型的參考既可指向?qū)ο笥挚芍赶驍?shù)據(jù)。參考的定義REFTOdata”的類型聲明相同程序“TYPEStr_dt圖表10:結(jié)構(gòu)結(jié)構(gòu)由組件組成,組件可以是數(shù)據(jù)元素、集成類型、內(nèi)部表的結(jié)構(gòu)定義、數(shù)據(jù)庫表視圖或其它現(xiàn)有結(jié)構(gòu)定義等形式。當實際二維對象的字段通過增加視圖或數(shù)據(jù)庫表的方式出現(xiàn)在結(jié)構(gòu)中時,從該結(jié)構(gòu)中生成的數(shù)據(jù)對象仍是平面的(一維的)。使用表類型定義組件時,通常會創(chuàng)建所謂的深度結(jié)構(gòu)。盡管這個組件是二維的,但結(jié)構(gòu)中的其它組件仍是平面的(一維的)。單元字典中的數(shù)據(jù)對象11ABAP中使用簡單元字典中的數(shù)據(jù)對象11ABAP中使用簡單結(jié)構(gòu)最簡單的結(jié)構(gòu)形式是在使用數(shù)據(jù)元素時出現(xiàn)的字段序列。這種情況下總會產(chǎn)生所謂的平面結(jié)構(gòu)?;谶@種結(jié)構(gòu)類型的數(shù)據(jù)對象總是一維的(與類表的二維數(shù)據(jù)對象相反)。查找結(jié)構(gòu)的單個元素(組件)時,使用結(jié)構(gòu)名稱加連字號再加組件名稱。課程基本數(shù)據(jù)類圖表12:嵌套結(jié)構(gòu)在結(jié)構(gòu)中可以增加其它結(jié)構(gòu)化對象,并將其分配給某一組件。這個組件指課程基本數(shù)據(jù)類圖表12:嵌套結(jié)構(gòu)在結(jié)構(gòu)中可以增加其它結(jié)構(gòu)化對象,并將其分配給某一組件。這個組件指向結(jié)構(gòu)化對象,而新數(shù)據(jù)對象就叫作嵌套結(jié)構(gòu)。這類結(jié)構(gòu)能夠以任何形式互相嵌套。圖表13:內(nèi)部表單元字典中的數(shù)據(jù)對象一旦將內(nèi)部表作為結(jié)構(gòu)組件插入,單元字典中的數(shù)據(jù)對象一旦將內(nèi)部表作為結(jié)構(gòu)組件插入,就會產(chǎn)生深度結(jié)構(gòu)您可以使用現(xiàn)有的行結(jié)構(gòu)定義內(nèi)部表或ITAB。數(shù)據(jù)庫表、結(jié)構(gòu)定義、視通過程序中聲明內(nèi)部表,在主內(nèi)存中創(chuàng)建二維陣圖表14:深度結(jié)構(gòu)深度結(jié)構(gòu)至少包含一張表。這種表的組件有自己的名稱,因此可像普通的內(nèi)部表一樣被引用(OP...、...OAE、...)。反過來,內(nèi)部表也像行類型一樣有深度結(jié)構(gòu)。通過這種方式,能夠創(chuàng)建多維數(shù)據(jù)類型,例如可以進行若干次內(nèi)部表和結(jié)構(gòu)的內(nèi)部嵌套。警告相比之下,數(shù)據(jù)庫表僅能包含平面結(jié)構(gòu)課程基本數(shù)據(jù)類圖表15:類型組課程基本數(shù)據(jù)類圖表15:類型組如果希望定義全局常量,必須使用類型組。類型組名稱的最大長度為五個字符。在類型組中,可以使用AS語句定義常量。此處可使用預定義的AP類型或全局字典類型。如需在程序中使用類型組,請通過TYPEPOOL句聲明類型組。聲明之類型組的定義是一段保存在字典(SE11)或ABAP編輯器(SE38)中的ABAP代碼。實現(xiàn)類型zmytp的第一個語句總是:TYPE-POOLzmytp然后由TYPES語句進行數(shù)據(jù)類型定義,正如在本地程序數(shù)據(jù)類型中描述的一樣。接下來可以用CONSTANTS語句聲明交叉程序常量。這種數(shù)據(jù)類在ABAP程序中,使用類型組前必須用如下語句進行聲明TYPE-POOLS使用該語句時,能夠在程序中使用zmytp類型組定義的所有數(shù)據(jù)類型單元字典中的數(shù)據(jù)對象單元字典中的數(shù)據(jù)對象課程:基本數(shù)據(jù)類練習1:基本數(shù)據(jù)類練習目完成此練習后,您將能課程:基本數(shù)據(jù)類練習1:基本數(shù)據(jù)類練習目完成此練習后,您將能夠?在字典中創(chuàng)建基本數(shù)據(jù)類型并在ABAP程序中使業(yè)務示在您的開發(fā)項目中,應該創(chuàng)建若干全局數(shù)據(jù)類型,以便其他項目成員訪問。任務創(chuàng)建兩個域,以便隨后在數(shù)據(jù)元素中使用123調(diào)用事務SE11在ABAP字典的初始屏幕中,創(chuàng)建名為ZDO_10NUM_##的域應為帶有10位十進制數(shù)的數(shù)據(jù)元素創(chuàng)建域。在這10個數(shù)位中,保留2作為小數(shù)位。數(shù)據(jù)元素還應適用于業(yè)務計算。ABAP典的初始屏幕上,創(chuàng)建名為ZDO_30CHAR_的域。該域應能包含30個文本字符,并且允許在輸入字段中輸入小寫字母。保存(為局部對象)并激活域。456任務創(chuàng)建多個數(shù)據(jù)元素,并為技術(shù)屬性使用已定義的12調(diào)用事務SE11為人員的姓氏輸入數(shù)據(jù)元素ZLASTNAME##),并使用適合的域。該數(shù)據(jù)元素應能包含30個字母,大寫或小寫均可。為人員的名輸入數(shù)據(jù)元素ZFIRSTNAME##),并使用適合的域。該數(shù)據(jù)元素應能包含30個字母,大寫或小寫均可。為資產(chǎn)創(chuàng)建數(shù)據(jù)元素ZASSETS##),并使用適合的域。該數(shù)據(jù)元素應該用于業(yè)務計算。為負債創(chuàng)建數(shù)據(jù)元素ZLIABILITIES##),并使用適合的域。該數(shù)據(jù)元素應該用于業(yè)務計算。345單元字典中的數(shù)據(jù)對象任務創(chuàng)建程1創(chuàng)建不包含“TOPInclude”的可執(zhí)行程序MENTS單元字典中的數(shù)據(jù)對象任務創(chuàng)建程1創(chuàng)建不包含“TOPInclude”的可執(zhí)行程序MENTSABAPPARAMETERS創(chuàng)建下列輸入字2計算資產(chǎn)減去負債的值,并以列表形式輸出所有參數(shù)和計算結(jié)果執(zhí)行程序并在選擇屏幕中輸入不同的值(將以列表形式輸出)3參數(shù)據(jù)類課程:基本數(shù)據(jù)類解答1:基本數(shù)據(jù)類任務創(chuàng)建兩個域,以課程:基本數(shù)據(jù)類解答1:基本數(shù)據(jù)類任務創(chuàng)建兩個域,以便隨后在數(shù)據(jù)元素中使用1調(diào)用事務SE11a)在SAP輕松訪問菜單的命令字段中輸入se11并確如果您正處于其它事務中,必須在命令字段中輸入/n并確在ABAP字典的初始屏幕中,創(chuàng)建名為ZDO_10NUM_##的域a)選擇域單選按鈕。2在輸入字段中輸入域名。按創(chuàng)建按鈕3應為帶有10位十進制數(shù)的數(shù)據(jù)元素創(chuàng)建域。在這10個數(shù)位中,應保留2位作為小數(shù)位。數(shù)據(jù)元素還應適用于業(yè)務計算。在簡短描述字段中,輸入對域的合理描述在數(shù)據(jù)類型字段中,輸入值DECF4)選在字符數(shù)量字段中,輸入值在小數(shù)位字段中輸入2e)選中+/-符號復選框保存(為局部對象)并激活域a)在屏幕頂部單擊保存ABAP典的初始屏幕上,創(chuàng)建名為ZDO_30CHAR_的域。該域應能包含30個文本字符,并且允許在輸入字段中輸入小寫字母。a)照前述步驟進行操作,并在定義標簽頁中定義相應屬性a)在屏幕頂部單擊保存456單元字典中的數(shù)據(jù)對象任務創(chuàng)建多個數(shù)據(jù)元素,并為技術(shù)屬性使單元字典中的數(shù)據(jù)對象任務創(chuàng)建多個數(shù)據(jù)元素,并為技術(shù)屬性使用已定義的1調(diào)用事務SE11a)在SAP輕松訪問菜單的命令字段中輸入se11并確認如果您正處于其它事務中,必須在命令字段中輸入/n并確認為人員的姓氏輸入數(shù)據(jù)元素ZLASTNAME##),并使用適合的域。該數(shù)據(jù)元素應能包含30個字母,大寫或小寫均可。2選擇數(shù)據(jù)類型單選按鈕。在出現(xiàn)的彈出對話框中,選擇數(shù)據(jù)元素單選按鈕并確認輸入內(nèi)容。在簡短描述字段中,輸入對數(shù)據(jù)元素的合理描在基本類型的數(shù)據(jù)類型標簽頁中,輸入您在本練習的前面部分創(chuàng)建的相關(guān)域。在字段標簽標簽頁上,還必須為數(shù)據(jù)元素輸入適合的名稱。這些名稱將出現(xiàn)在屏幕和選擇屏幕(長版)上,例如,用于解釋字段。a)b)3為人員的名輸入數(shù)據(jù)元素ZFIRSTNAME##),并使用適合的域。該數(shù)據(jù)元素應能包含30個字母,大寫或小寫均可。a)按照前面練習中的相同方式進行操作為資產(chǎn)創(chuàng)建數(shù)據(jù)元素ZASSETS##),并使用適合的域。該數(shù)據(jù)元素應該用于業(yè)務計算。a)按照前面練習中的相同方式進行操作為負債創(chuàng)建數(shù)據(jù)元素ZLIABILITIES##),并使用適合的域。該數(shù)據(jù)元素應該用于業(yè)務計算。a)按照前面練習中的相同方式進行操作45任務創(chuàng)建程1。創(chuàng)建不包含“TOPInclude”的可執(zhí)行程序MENTSa)使用事務SE80或SE38課程:基本數(shù)據(jù)類2。使用ABAPPARAMETERS創(chuàng)建下列輸入字段計算資產(chǎn)減去負債的值,并以列表形式輸出所有參數(shù)和計算課程:基本數(shù)據(jù)類2。使用ABAPPARAMETERS創(chuàng)建下列輸入字段計算資產(chǎn)減去負債的值,并以列表形式輸出所有參數(shù)和計算結(jié)果請查看模型解決方案的源代碼摘錄執(zhí)行程序并在選擇屏幕中輸入不同的值(將以列表形式輸出)3結(jié)源文本摘錄:REPORT.resultTYPEpa_lnameTYPEzlastname##,pa_activTYPEpa_liabsTYPESTART-OF-NEW-WRITE:'Client:',pa_fname,result=pa_activ-NEW-WRITE:'Finance:',pa_activ,pa_liabs,參數(shù)據(jù)類單元字典中的數(shù)據(jù)對象單元字典中的數(shù)據(jù)對象課程:基本數(shù)據(jù)類練習2:簡單結(jié)構(gòu)與嵌套結(jié)構(gòu)練習目完成此練習后,您將能夠?在字典中創(chuàng)建簡單結(jié)構(gòu)和嵌套結(jié)構(gòu),并在ABAP程序中課程:基本數(shù)據(jù)類練習2:簡單結(jié)構(gòu)與嵌套結(jié)構(gòu)練習目完成此練習后,您將能夠?在字典中創(chuàng)建簡單結(jié)構(gòu)和嵌套結(jié)構(gòu),并在ABAP程序中業(yè)務示為映射復雜數(shù)據(jù)結(jié)構(gòu),您應在字典中為項目建立復任務創(chuàng)建稍后可在ABAP程序中使用的簡單結(jié)構(gòu)1。在字典中創(chuàng)建結(jié)構(gòu)ZNAME##,并在該結(jié)構(gòu)中加入下列兩種組件。輸入2。創(chuàng)建結(jié)構(gòu)ZADRESS##,并輸入下列四個組件任務創(chuàng)建嵌套結(jié)構(gòu),以便隨后在ABAP程序中使用12在字典中創(chuàng)建結(jié)構(gòu)ZPERSON##將結(jié)構(gòu)ZADRESSInclude添加中。此將結(jié)構(gòu)ZNAME加入ZPERSON##構(gòu),作為組件名為NAME嵌輸入ABAP程序ZBC430_##_STRUCT_NESTED。在此程序中,創(chuàng)建ZPERSON##類型的結(jié)構(gòu)化數(shù)據(jù)對象wa_person)。在該數(shù)據(jù)對象的組3組組件類描街門牌郵政編碼居住組組件類描自名自姓單元字典中的數(shù)據(jù)對象2單結(jié)構(gòu)與嵌套結(jié)構(gòu)任務創(chuàng)建稍后可在ABAP程序中使用的簡單結(jié)構(gòu)1在字典中創(chuàng)建結(jié)構(gòu)ZNAME##,單元字典中的數(shù)據(jù)對象2單結(jié)構(gòu)與嵌套結(jié)構(gòu)任務創(chuàng)建稍后可在ABAP程序中使用的簡單結(jié)構(gòu)1在字典中創(chuàng)建結(jié)構(gòu)ZNAME##,并在該結(jié)構(gòu)中加入下列兩種組件。輸入啟動SE11在數(shù)據(jù)類型輸入字段中輸入結(jié)構(gòu)名稱。提供簡短描述并輸入指定的組件。激活結(jié)構(gòu),使其在全局范圍內(nèi)通用。2創(chuàng)建結(jié)ZADRESS##,并輸入下列四個組件a)按照練習前面部分的相同方式進行操作任務創(chuàng)建嵌套結(jié)構(gòu),以便隨后在ABAP序中使用1。在字典中創(chuàng)建結(jié)構(gòu)ZPERSON##a)按照練習前面部分的相同方式進行操作組組件類型描街門牌郵政編碼居住組組件類型描自名自姓課程:基本數(shù)據(jù)類2將結(jié)構(gòu)ZADRESS作為Include構(gòu)添加到ZPERSON##課程:基本數(shù)據(jù)類2將結(jié)構(gòu)ZADRESS作為Include構(gòu)添加到ZPERSON##。此外,將結(jié)構(gòu)ZNAME##加入ZPERSON##結(jié)構(gòu),作為組件名為NAME的嵌a)可通過選擇菜單編輯->Include->插入或者在組件列中輸入關(guān)鍵字.INCLUDE來添加地址。警告:關(guān)鍵字前面的“.”很重要對于要作為深度結(jié)構(gòu)加入的次級結(jié)構(gòu),輸入任意組件名稱(例如“”)。組組件類描地址結(jié)構(gòu)指名稱結(jié)構(gòu)單元字典中的數(shù)據(jù)對象3。輸入ABAP程序ZBC430_##_STRUCT_NESTED。在此程序中,創(chuàng)建ZPERSON##類單元字典中的數(shù)據(jù)對象3。輸入ABAP程序ZBC430_##_STRUCT_NESTED。在此程序中,創(chuàng)建ZPERSON##類型的結(jié)構(gòu)化數(shù)據(jù)對象wa_person)。在該數(shù)據(jù)對象的組a)請查看模型解決方案的源代碼摘錄結(jié)源文本摘錄:REPORT*Replace##byYourgroup-orscreennumber*uncommenttheABAP-DATAwa_personTYPESTART-OF-wa_person-name-firstname=wa_person-name-lastname=wa_person-nr='3'.wa_person-zip='GB-wa_person-city=WRITE:/wa_person-name-firstname,wa_person-name-lastname,wa_person-street,wa_person-nr,wa_person-zipwa_person-city課程:基本數(shù)據(jù)類3類型(內(nèi)部表練習目完成此練習課程:基本數(shù)據(jù)類3類型(內(nèi)部表練習目完成此練習后,您將能夠?創(chuàng)建表類型并ABAP程序中使業(yè)務示對于本地數(shù)據(jù)保持,需要定義可使數(shù)據(jù)保持排序的任務:基于現(xiàn)有結(jié)構(gòu)創(chuàng)建簡單的內(nèi)部表,以便隨后程序中使用1在字典中創(chuàng)建表類ZIT_SFLIGHT##。表類型應該基于數(shù)據(jù)庫表SFLIGHT的行類型,并根據(jù)航班日期(FLDATE)排序。輸入ABAP程序ZBC430_##_ITAB_SORTED。在該程序中,創(chuàng)建SFLIGHT類型的結(jié)構(gòu)化數(shù)據(jù)對象wa_sflight為工作區(qū),并基于剛才定義的表類型創(chuàng)建內(nèi)部表。從SFLIGHT表的工作區(qū)中選擇航空公司數(shù)據(jù)(例如JL),并以未排序列表的方式輸出該數(shù)據(jù)。按照以下步驟擴展程序。在列表中插入一行(ABAP命令ULINE)。通過帶有“陣列獲取SELECT命令將同一數(shù)據(jù)載入ZIT_SFLIGHT類型的內(nèi)部表,并使用LOOP命令在同一列表中輸23單元字典中的數(shù)據(jù)對象3類型(內(nèi)部表任務:基于現(xiàn)有結(jié)構(gòu)創(chuàng)建簡單單元字典中的數(shù)據(jù)對象3類型(內(nèi)部表任務:基于現(xiàn)有結(jié)構(gòu)創(chuàng)建簡單的內(nèi)部表,以便隨后程序中使用1在字典中創(chuàng)建表類型ZIT_SFLIGHT##。表類型應該基于數(shù)據(jù)庫表SFLIGHT的行類型,并根據(jù)航班日期(FLDATE)排序。在SAP輕松訪問菜單的命令字段中輸入se11并確認如果您正處于其它事務中,必須在命令字段中輸入/n并確選擇數(shù)據(jù)類型單選按鈕。在輸入字段中輸入表名。在隨后出現(xiàn)的對話框中,選擇表類型指定一個簡短描述,并在行類型字段中輸入數(shù)據(jù)庫表的名稱。切換至初始化與訪問標簽頁,選擇排序表作為訪問類型。切換至關(guān)鍵字標簽頁,選擇非唯一作為關(guān)鍵字類型鍵組件。將此表激活b)c)d)e)f)g)2輸入ABAP程序ZBC430_##_ITAB_SORTED。在該程序中,創(chuàng)建SFLIGHT類型的結(jié)構(gòu)化數(shù)據(jù)對象wa_sflight為工作區(qū),并基于剛才定義的表類型創(chuàng)建內(nèi)部表。從SFLIGHT表的工作區(qū)中選擇航空公司數(shù)據(jù)(例如JL),并以未排序列表的方式輸出該數(shù)據(jù)。a)請查看模型解決方案的源代碼摘錄按照以下步驟擴展程序。在列表中插入一行(ABAP命令ULINE)。通過帶有“陣列獲取SELECT命令將同一數(shù)據(jù)載入ZIT_SFLIGHT類型的內(nèi)部表,并使用LOOP命令在同一列表中輸a)請查看模型解決方案的源代碼摘錄3結(jié)源文本摘錄:REPORT課程基本數(shù)據(jù)類**uncommenttheABAP-DATA課程基本數(shù)據(jù)類**uncommenttheABAP-DATAit_flightTYPEDATAwa_sflightTYPEWRITE/'PrintoutintableorderofINTOwa_sflightWHEREcarrid=INTOTABLEit_flightWHEREcarrid='JL'.WRITE/'PrintoutintableorderofsortedWRITE:/wa_sflight-carrid,wa_sflight-單元字典中的數(shù)據(jù)對象單元字典中的數(shù)據(jù)對象課程:基本數(shù)據(jù)類練習4:深度結(jié)練習目完成此練習后,您課程:基本數(shù)據(jù)類練習4:深度結(jié)練習目完成此練習后,您將能夠?創(chuàng)建深度結(jié)構(gòu)并在ABAP程序中使用業(yè)務示擴展項目團隊的人員數(shù)據(jù)結(jié)構(gòu),使其能夠容納一個任意長度的員工電話列表。任務:創(chuàng)建基于數(shù)據(jù)對象的內(nèi)部表,以便在結(jié)構(gòu)中能夠輸入該表。在ABAP程序中使用該表。1在字典中為標準表ZIT_PHONE_NUMBER創(chuàng)建表類型。該表類型應基于現(xiàn)有結(jié)構(gòu)STR_PHONE的行類型。在字典中擴展現(xiàn)有結(jié)構(gòu)ZPERSON##。新組件應命名為PHONE并基于內(nèi)部表ZIT_PHONE_NUMBER##。創(chuàng)建ABAP程序ZBC430_##_STRUCT_DEEP。為此,需要復制程序ZBC430_##_STRUCT_NESTED或模型模板SAPBC430S_STRUCT_NESTED的解決方案。在程序STR_PHONE類型的結(jié)構(gòu)化數(shù)據(jù)對象(wa_phone)增加一個工作區(qū)請按照以下步驟擴展程序:在結(jié)構(gòu)化數(shù)據(jù)對象wa_person中插入三個電話號碼,并使用234命令在同一列表中輸出這些數(shù)單元字典中的數(shù)據(jù)對象解答4:深度結(jié)任務:創(chuàng)建基于數(shù)據(jù)對象的內(nèi)部表,以便在結(jié)構(gòu)中能夠輸單元字典中的數(shù)據(jù)對象解答4:深度結(jié)任務:創(chuàng)建基于數(shù)據(jù)對象的內(nèi)部表,以便在結(jié)構(gòu)中能夠輸入該表。在ABAP程序中使用該表。1在字典中為標準表ZIT_PHONE_NUMBER創(chuàng)建表類型。該表類型應基于現(xiàn)有結(jié)構(gòu)STR_PHONE的行類型。在SAP松訪問的命令字段中輸入se11如果您正處于其它事務中,必須在命令字段中輸入/n并確認選擇數(shù)據(jù)類型單選按鈕。在輸入字段中輸入表名。在隨后出現(xiàn)的對話框中,選擇表類型提供簡短描述,并在行類型字段輸入結(jié)構(gòu)名稱切換至初始化與訪問標簽頁,選擇標準表作為訪問類型。切換至關(guān)鍵字標簽頁,選擇非唯一作為關(guān)鍵字類型?,F(xiàn)在選擇標準關(guān)鍵字作為b)c)d)e)f)g)2在字典中擴展現(xiàn)有結(jié)構(gòu)ZPERSON##。新組件應命名為PHONE并基于內(nèi)部表ZIT_PHONE_NUMBER##。a)在結(jié)構(gòu)中輸入名稱為“Phone”的新組件,并將新創(chuàng)建的表類型指定為組件類型。3創(chuàng)建ABAP程序ZBC430_##_STRUCT_DEEP。為此,需要復制程序ZBC430_##_STRUCT_NESTED或模型模SAPBC430S_STRUCT_NESTED的解決方案。在程序中,為STR_PHONE類型的結(jié)構(gòu)化數(shù)據(jù)對象(wa_phone)增加一個工作區(qū)。a)請查看模型解決方案的源代碼摘錄。請按照以下步驟擴展程序:4組組件類描地址結(jié)指名稱結(jié)指電話課程:基本數(shù)據(jù)類在結(jié)構(gòu)化數(shù)據(jù)對象wa_person中插入三個電話號碼,并使用課程:基本數(shù)據(jù)類在結(jié)構(gòu)化數(shù)據(jù)對象wa_person中插入三個電話號碼,并使用LOOP命令在同一列表中輸出這些數(shù)a)請查看模型解決方案的源代碼摘錄結(jié)源文本摘錄:REPORTDATAwa_personTYPESTART-OF-wa_person-name-lastname='Potter'.wa_person-nr='3'.wa_person-zip='GB-wa_phone-p_type=wa_phone-p_number='+31-10-INSERTwa_phoneINTOTABLEwa_person-wa_phone-p_type=wa_phone-p_number='+31-10-INSERTwa_phoneINTOTABLEwa_person-wa_phone-p_type=wa_phone-p_number='+31-79-INSERTwa_phoneINTOTABLEwa_person-*WriteonWRITE:/wa_person-name-firstname,wa_person-name-lastname,wa_person-street,wa_person-nrwa_person-zip,wa_person-city單元字典中的數(shù)據(jù)對象WRITE:/'Phone-單元字典中的數(shù)據(jù)對象WRITE:/'Phone-WRITE:AT20wa_phone-p_type,wa_phone-課程:基本數(shù)據(jù)類課程摘您現(xiàn)在應該能夠:?????課程:基本數(shù)據(jù)類課程摘您現(xiàn)在應該能夠:?????創(chuàng)建域,并在數(shù)據(jù)元素中進行使定義數(shù)據(jù)元素,并將其作為基礎(chǔ)定義ABAP序的數(shù)據(jù)對象定義結(jié)構(gòu),并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對象定義內(nèi)部表,并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對定義復雜(嵌套/深度)結(jié)構(gòu),并將其作為基礎(chǔ)定義據(jù)對象程序的?通過類型池定義全局常量,并程序中使單元2:字典中的數(shù)據(jù)對象課程:ABAP字典中的課程概述課程目標完成本課程后,您將單元2:字典中的數(shù)據(jù)對象課程:ABAP字典中的課程概述課程目標完成本課程后,您將能夠:????創(chuàng)建使用二級域概念定義表的技術(shù)設(shè)置創(chuàng)建并使Include業(yè)務示例您應該為公司在數(shù)據(jù)庫中映射信息單元,即所謂的實表圖16:表與字段應用程序開發(fā)的對象結(jié)構(gòu)在基礎(chǔ)關(guān)系數(shù)據(jù)庫的表中進行映這些對象的屬性對應于表字段。課程:ABAP字典中的表表由列(字段)和行(條目)組成。每個表都有一個名稱和多種不同的常規(guī)屬性,例如提交類和維護授權(quán)。每個字段都有唯一的名稱和屬性;例如,它可以是關(guān)鍵字字段。每個表都有一個或多個關(guān)鍵字字段,稱為主鍵。這些關(guān)鍵字課程:ABAP字典中的表表由列(字段)和行(條目)組成。每個表都有一個名稱和多種不同的常規(guī)屬性,例如提交類和維護授權(quán)。每個字段都有唯一的名稱和屬性;例如,它可以是關(guān)鍵字字段。每個表都有一個或多個關(guān)鍵字字段,稱為主鍵。這些關(guān)鍵字字段的值可唯一標識一個表條目您必須為包含貨幣(數(shù)據(jù)類型CURR)或數(shù)量(數(shù)據(jù)類型QUAN)的字段指定參考表。表中必須包含帶有貨幣代碼格式(數(shù)據(jù)類型CUKY)或單位格式(數(shù)據(jù)類型UNIT)的字段(參考字段)。該字段只分配給程序運行時的參考字段。圖表17:ABAP字典的基本對在P字典中用于定義數(shù)據(jù)的基本對象為表、數(shù)據(jù)元素和域。域用于表格字段的技術(shù)定義(例如,字段類型和長度),而數(shù)據(jù)元素用于語義定義(例如簡短描述)。域可根據(jù)字段的數(shù)據(jù)類型和長度描述其值范圍。值范圍可通過指定的定值進行限制。數(shù)據(jù)元素可描述域在特定業(yè)務環(huán)境下的含義。數(shù)據(jù)元素主要包含字段(F1檔)和屏幕上的字段標簽字段不是獨立的對象,而是與表相關(guān)。字段只能在表中進行維您可以直接輸入字段的數(shù)據(jù)類型和位數(shù)。這種情況下不需要數(shù)據(jù)元素,而是通過指定直接類型來定義數(shù)據(jù)類型和位數(shù)。通過指定內(nèi)置類型也能定義數(shù)據(jù)元素的數(shù)據(jù)類型屬性,其中可直接輸入數(shù)據(jù)類型和位數(shù)。單元字典中的數(shù)據(jù)對象圖表18:二級域概念:示航班時刻表存儲SPFLI。單元字典中的數(shù)據(jù)對象圖表18:二級域概念:示航班時刻表存儲SPFLI。表AIRPFROM(始發(fā)機場)和(到達機場)具有相同的域S_AIRPID。這兩個字段之所以使用相同的域,是因為兩者都包含機場ID,所以有相同的技術(shù)屬性。但是,它們的語義含義不同,并且使用不同的數(shù)據(jù)元素進行記錄。字使數(shù)據(jù)元S_FROMAIRP,字使用數(shù)S_TOAIRP19:透明表與結(jié)在ABAP字典中激活透明表時,數(shù)據(jù)庫中將自動創(chuàng)建透明表。此時,ABAP字典中對表所作的獨立于數(shù)據(jù)庫的描述將被轉(zhuǎn)換成數(shù)據(jù)庫系統(tǒng)所用的語言。課程:ABAP字典中的表數(shù)據(jù)庫表與ABAP典中的課程:ABAP字典中的表數(shù)據(jù)庫表與ABAP典中的表具有相同的名稱。字段在數(shù)據(jù)庫與ABAP典中也有相同的名稱。ABAP字典中的數(shù)據(jù)類型可轉(zhuǎn)換成數(shù)據(jù)庫系統(tǒng)的相應數(shù)據(jù)類型。ABAP字典中的字段順序可以異于數(shù)據(jù)庫中字段的順序。這使得無須轉(zhuǎn)換表,就能插入新字段。在添加新字段時,可通過更改數(shù)據(jù)庫類別(ALTERTABLE)來調(diào)整字段順序。在數(shù)據(jù)庫表中添加新字段。ABAP程序可通過兩種方式訪問透明表。一種方式是通過OPENSQL(或EXECSQL)訪問表數(shù)據(jù)。另一種方式是由表定義一種結(jié)構(gòu)化類型,用于在您也可以在ABAP典中創(chuàng)建數(shù)據(jù)庫中沒有相應對象的結(jié)構(gòu)化類型。這樣圖表20:Include結(jié)結(jié)構(gòu)可以包含在表或其它結(jié)構(gòu)中,以避免出現(xiàn)冗余結(jié)構(gòu)定義。表只能以整體形式包含在內(nèi)。一條Include可能僅包含一張數(shù)據(jù)庫表。要包含在內(nèi)的表屬于Include中可能包含其它Include外鍵定義通常由Include遞至包含表。外鍵定義的屬性由Include遞至包含表,因此外鍵與Include中的定義相關(guān)。單元字典中的數(shù)據(jù)對象圖表21:技術(shù)設(shè)置在ABAP字單元字典中的數(shù)據(jù)對象圖表21:技術(shù)設(shè)置在ABAP字典中定義透明表時,必須維護技術(shù)設(shè)置。技術(shù)設(shè)置用于定義表在數(shù)據(jù)庫中創(chuàng)建后的處理方式、表是否需要緩沖以及是否應記錄條目更改。在P字典中激活表時,數(shù)據(jù)庫中將自動創(chuàng)建此表。此處所需的關(guān)于要選擇的存儲區(qū)域(表空間)以及預期表大小的信息,由數(shù)據(jù)類和大小范疇的設(shè)置決定。課程字典中的圖表22:斷裂的數(shù)據(jù)庫由于數(shù)據(jù)集的快速增長或頻繁更改(插入和刪除數(shù)據(jù)記錄),包含事務數(shù)據(jù)的表在分配的內(nèi)存空間上可能有很大差異。數(shù)據(jù)庫服務器硬盤上的數(shù)據(jù)碎片始終會反復導致性能問題,碎片課程字典中的圖表22:斷裂的數(shù)據(jù)庫由于數(shù)據(jù)集的快速增長或頻繁更改(插入和刪除數(shù)據(jù)記錄),包含事務數(shù)據(jù)的表在分配的內(nèi)存空間上可能有很大差異。數(shù)據(jù)庫服務器硬盤上的數(shù)據(jù)碎片始終會反復導致性能問題,碎片無法通過創(chuàng)建索引之類的簡單方法移除。斷裂的索引可通過簡單的刪除以及重新輸入操作進行整理。此時,數(shù)據(jù)庫將重新計算索引的內(nèi)容和結(jié)構(gòu),并盡可能在存儲介質(zhì)上創(chuàng)建連續(xù)的內(nèi)存空間。在重新構(gòu)建索引時,數(shù)據(jù)庫表仍可使用。警告:如果索引來源于較大的表(小于10條數(shù)據(jù)記錄),創(chuàng)建過程可能耗費幾分鐘甚至幾小時(對于W環(huán)境中的表)且在重建索引的過程中,無法使用索引訪問數(shù)據(jù)庫,這可能導致從各表中讀取數(shù)據(jù)記錄時,數(shù)據(jù)庫的負載增加(全表掃描)。斷裂的表必須進行轉(zhuǎn)換(請參閱“數(shù)據(jù)庫表的更改”),以減少碎片。為此,P系統(tǒng)將創(chuàng)建一張新表,并將數(shù)據(jù)轉(zhuǎn)移至這張表中。然后刪除舊表,由新表取代。如果此表的增長速度超出預期,則應在轉(zhuǎn)換技術(shù)設(shè)置之前再次檢查此表,如有必要再進行調(diào)整。警告:在轉(zhuǎn)換過程中,無法讀取或更改表內(nèi)容。執(zhí)行表的轉(zhuǎn)換流程時必須注意效率而且保持極其認真的態(tài)度,因為根據(jù)表的規(guī)模,轉(zhuǎn)換過程可能持續(xù)幾分鐘或幾個小時。=>因此這種轉(zhuǎn)換流程(表或索引)應在負載最小的時間段進行單元字典中的數(shù)據(jù)對象為了從一開始就盡量避免產(chǎn)生這種碎片,應該根據(jù)技術(shù)設(shè)置中的大小和數(shù)據(jù)類型選擇表。圖表23:數(shù)據(jù)類數(shù)據(jù)類從邏輯單元字典中的數(shù)據(jù)對象為了從一開始就盡量避免產(chǎn)生這種碎片,應該根據(jù)技術(shù)設(shè)置中的大小和數(shù)據(jù)類型選擇表。圖表23:數(shù)據(jù)類數(shù)據(jù)類從邏輯上定義表在數(shù)據(jù)庫中存儲的物理范圍(ORACLE是空間)。如果正確地選擇了數(shù)據(jù)類,在ABAP典中激活表時,將自動在數(shù)據(jù)庫的正確區(qū)域內(nèi)創(chuàng)建該表。最重要的數(shù)據(jù)類是主數(shù)據(jù)、事務數(shù)據(jù)、結(jié)構(gòu)數(shù)據(jù)和系統(tǒng)數(shù)據(jù)主數(shù)據(jù)是指很少修改的數(shù)據(jù)。主數(shù)據(jù)的示例之一是地址文件的數(shù)據(jù),例如姓名、地址和電話號碼。事務數(shù)據(jù)是指頻繁修改的數(shù)據(jù)。例如,可以在每個采購訂單之后進行更改的倉庫物料庫存。結(jié)構(gòu)數(shù)據(jù)是指安裝系統(tǒng)時在定制過程中定義且之后很少修改的數(shù)據(jù)。例如國家代碼。系統(tǒng)數(shù)據(jù)是指SAP系統(tǒng)自身需要的數(shù)據(jù)。例如程序源代碼其它數(shù)據(jù)類專為客戶提供,稱為客戶數(shù)據(jù)類(SR、1)。這種數(shù)據(jù)類應用于客戶開發(fā)。必須為其在數(shù)據(jù)庫中分配專門的存儲區(qū)域。課程字典中的圖表24:大小課程字典中的圖表24:大小范疇大小范疇可以描述表在數(shù)據(jù)庫中的預期存儲需在數(shù)據(jù)庫中創(chuàng)建表時,將預留一個初始范圍。所有大小范疇的初始范圍大小均相同。如果以后表需要更多數(shù)據(jù)空間,則可以擴展范圍。這些附加范圍具有固定的大小,由BP字典中指定的大小范疇決定。大小范疇的選擇范圍是從04。每個范疇均分配有一個固定的范圍,大小取決于所用的數(shù)據(jù)庫系統(tǒng)。大小范疇的正確分配能確保您不會創(chuàng)建大量范圍過小的表。這樣也能防止由于創(chuàng)建的范圍太大而浪費存儲空間。單元字典中的數(shù)據(jù)對象圖表25:日可使用日志記錄并存儲表條目的修改要激活單元字典中的數(shù)據(jù)對象圖表25:日可使用日志記錄并存儲表條目的修改要激活日志,必須在技術(shù)設(shè)置中選擇相應字段。但是SAP統(tǒng)過帶有′rec/client參數(shù)的參數(shù)文件啟動時,才能啟用日志。只在字典中選擇標識不足以觸發(fā)日志?!皉ec/client”參數(shù)的設(shè)置如下:==記錄所有客戶端僅記錄指定的客戶端在本系統(tǒng)中取消激活日志數(shù)據(jù)修改的記錄獨立于更新??墒褂帽砀駳v史記錄事顯示日志警告:日志在系統(tǒng)中會造成瓶頸??每個表修改在記錄時,都會產(chǎn)生額外的寫訪雖然用戶訪問的是不同的應用程序表,但仍然會導致鎖課程:ABAP字典中的表小?所有面向業(yè)務課程:ABAP字典中的表小?所有面向業(yè)務的數(shù)據(jù)均以表的形式進行管理,表的定義存儲于字典中定義表時應用二級域概念。語義定義通過數(shù)據(jù)元素實現(xiàn),技術(shù)定義通過域?qū)崿F(xiàn)。Include結(jié)構(gòu)的字段可包含在表中。表的技術(shù)設(shè)置可定義表在數(shù)據(jù)庫中的存儲情況(表空間、范圍大?。┮约笆欠駪涗洈?shù)據(jù)記錄的更改。???單元字典中的數(shù)據(jù)對象單元字典中的數(shù)據(jù)對象課程:ABAP字典中的表練習5:ABAP字典中的練習目完成此練習后,您將能夠????創(chuàng)建表并使用二級域課程:ABAP字典中的表練習5:ABAP字典中的練習目完成此練習后,您將能夠????創(chuàng)建表并使用二級域概念合理定義技術(shù)設(shè)置記錄字創(chuàng)建并使用Include業(yè)務示本練習將使用員工管理功能來強化航班模型表。航空公司能夠通過員工管理功能輸入并評估其員工數(shù)據(jù)(例如,姓名、人員編號、薪金、部門等)以及組織機構(gòu)內(nèi)的分配數(shù)據(jù)(航空公司部門)。在本練習中,將分別為員工數(shù)據(jù)和航空公司部門創(chuàng)建一張員工數(shù)據(jù)在ZEMPLOY##表中維護。員工的姓名和地址及其薪金存儲在ZEMPLOY##中。ZDEPMENT##包含航空公司的部門數(shù)據(jù)。每個部門均有任務創(chuàng)建兩張透明表ZEMPLOY##和ZDEPMENT##。定義其關(guān)鍵字字段注意:在激活這兩張表之前,還必須定義它們的技術(shù)設(shè)置。技術(shù)設(shè)置過程將在練習的最后一批任務中進行描述。無需激活表也能執(zhí)行第一批任務。表中將維護三家航空公司的數(shù)據(jù)。每家航空公司有20,000名員工,以及1030部門。請不要對數(shù)據(jù)進行緩沖或記錄。緩沖將1。創(chuàng)建表ZEMPLOY#選擇菜單路徑工具→ABAPABAP字典,可以進入ABAP字典的概覽屏幕。表字數(shù)據(jù)元域型、長度含客承運單元字典中的數(shù)據(jù)對象2創(chuàng)建表ZDEPMENT選擇菜單路徑工具ABAPABAP字典以進入ABAP字典的概覽屏幕。表記錄字段人員編號和部門代碼要激活此表,現(xiàn)在必須進行技術(shù)設(shè)置,如果表中有金額字段,則還需分配貨幣字段。34字數(shù)據(jù)域型、長度描客航空公自自部門代單元字典中的數(shù)據(jù)對象2創(chuàng)建表ZDEPMENT選擇菜單路徑工具ABAPABAP字典以進入ABAP字典的概覽屏幕。表記錄字段人員編號和部門代碼要激活此表,現(xiàn)在必須進行技術(shù)設(shè)置,如果表中有金額字段,則還需分配貨幣字段。34字數(shù)據(jù)域型、長度描客航空公自自部門代自電自傳字數(shù)據(jù)元域型、長度含自自人員編名姓自自部門代自自范自自CURR10薪貨課程:ABAP字典中的表任務通過使用子結(jié)構(gòu)ZCHANGE##在這兩張表中添加字段,可確保課程:ABAP字典中的表任務通過使用子結(jié)構(gòu)ZCHANGE##在這兩張表中添加字段,可確保在其中使用相同的字段記錄更改。注意:表ZEMPLOY##和ZDEPMENT##的更改很關(guān)鍵,因此必須進ZEMPLOY##和ZDEPMENT##中附加字段,記錄上次更改表條目的在實際應用中,上述增強措施始終會導致這兩張表的標準表維護處于取消激活狀態(tài)。請為表創(chuàng)建自有維護事務,由程序從內(nèi)部自動填充更改日志字段,而不是由用戶直接填充。創(chuàng)建此類事務的相關(guān)內(nèi)容已超出本課程的范圍。因此,在本課程中,我們假定所有用戶自己在標準表維護例程中正確地填充字段。構(gòu) ZCHANG##使用人員編號所用的域,為上建新數(shù)據(jù)元素。使用S_CHDATE作為上次更改日期的數(shù)據(jù)元素。ZCHANGEInclude入ZEMPLOYZDEPMENT。了解數(shù)據(jù)庫中已執(zhí)行的操作。在事務SE38中啟動程序BC430_CHECK1234注意:程序BC430_CHECK將檢查您的解決方案是否正確并使用后面練習中需要的樣本數(shù)據(jù)填充新ZDEPMENT##和單元字典中的數(shù)據(jù)對象ABAP字典中的表解答任務創(chuàng)建兩張透明ZEMPLOYZDEPMENT##。定義其關(guān)鍵字字注意在激活這兩張表之前,還必須定義它們的技術(shù)設(shè)置。設(shè)置過程將在練習的最后一批任務中進行描述。無需激活表也能執(zhí)行第一批任務。表中將維護三家航空公司的數(shù)據(jù)。每家單元字典中的數(shù)據(jù)對象ABAP字典中的表解答任務創(chuàng)建兩張透明ZEMPLOYZDEPMENT##。定義其關(guān)鍵字字注意在激活這兩張表之前,還必須定義它們的技術(shù)設(shè)置。設(shè)置過程將在練習的最后一批任務中進行描述。無需激活表也能執(zhí)行第一批任務。表中將維護三家航空公司的數(shù)據(jù)。每家航空公司有20,000名員工,以及10到30個部門。請不要對數(shù)據(jù)進行緩沖或記錄。緩沖1創(chuàng)建表ZEMPLOY選擇菜單路徑工具→ABAP以進入ABAP字典的概覽屏幕?!值浔?標記數(shù)據(jù)庫表并在相應輸入字段輸入創(chuàng)建。在表的維護屏幕上輸ZEMPLOY##。選字數(shù)據(jù)元域型、長度含客承運自自人員編名姓自自部門代自自范自自CURR10薪貨課程:ABAP字典中的表選擇提交類A并標記允許表維護現(xiàn)在選中標簽頁字段,進入字段定義的維護屏幕。輸入字段名稱(無需位于客戶命名空間中)。對字段客戶、承運人、名字、姓氏和貨幣,通過在字段類型中輸入數(shù)據(jù)元素名稱來使用給定的數(shù)據(jù)元素。保存輸入內(nèi)容。為字段課程:ABAP字典中的表選擇提交類A并標記允許表維護現(xiàn)在選中標簽頁字段,進入字段定義的維護屏幕。輸入字段名稱(無需位于客戶命名空間中)。對字段客戶、承運人、名字、姓氏和貨幣,通過在字段類型中輸入數(shù)據(jù)元素名稱來使用給定的數(shù)據(jù)元素。保存輸入內(nèi)容。為字段人員編號、部門代碼、范圍和薪金創(chuàng)建自有數(shù)據(jù)元素。在字段類型列中,為數(shù)據(jù)元素輸入名稱obt)。選擇數(shù)據(jù)元素名稱。數(shù)據(jù)元素定義出現(xiàn)。輸入短文本(F1 幫助的組件)?,F(xiàn)在選中標簽頁字存儲字段標簽的文本。您還必須為數(shù)據(jù)元素分配技術(shù)描述(域)。選中標簽頁定義,并為域輸入名稱obc)。如果域是預定義的,則激活數(shù)據(jù)元素并返回(使用3)表格字段的維護屏幕。否則,請選擇域名。域定義出現(xiàn)。在域定義中定義簡短描述、數(shù)據(jù)類型(NUMC、CHARCURR)和字段長度。激活域。返回上一屏(使F)的數(shù)據(jù)元素定義,并激活數(shù)據(jù)元素再返回上一屏的字段定義。從e)開始重復操作,直到所有為薪金字段定義參考表和參考字段。選擇字段名稱并在下一個對話框中輸入下列內(nèi)容:通過標記字段名稱后的關(guān)鍵字列,定義ZEMPLOY##表的關(guān)鍵字字段。字段客戶、承運人和人員編號可以唯一標識一個條目。注意:關(guān)鍵字字段客戶、承運人和人員編號必須以此順激活ZEMPLOY##表。技術(shù)設(shè)置的維護屏幕自動出注意由于表期記ZEMPLOY內(nèi)容不會頻繁更改,所以必APPLO(主數(shù)據(jù))。ZEMPLOY##表的預60,000,因此必須選擇大小范疇2。此外,不應對該表進行緩沖或記錄字值單元字典中的數(shù)據(jù)對象表(F3)。該表隨即激活創(chuàng)建表ZDEPMENT##。選擇菜單路徑工具→ABAP以進入ABAP字典的概覽屏幕。2ABAP字典表標記數(shù)據(jù)庫表單元字典中的數(shù)據(jù)對象表(F3)。該表隨即激活創(chuàng)建表ZDEPMENT##。選擇菜單路徑工具→ABAP以進入ABAP字典的概覽屏幕。2ABAP字典表標記數(shù)據(jù)庫表,并在相應的輸入字段中輸入表ZDEPMENT##。選擇創(chuàng)建。在表的維護屏幕上輸入短選擇提交類A并選擇允許表維護現(xiàn)在選中標簽頁字段,進入字段定義的維護屏幕。輸入字段名稱(無需位于客戶命名空間中)。對于字段客戶和承運人,通過在字段類型列中輸入數(shù)據(jù)元素名稱來使用給定數(shù)據(jù)。保存輸入內(nèi)容。對于字段部門代碼、電話號碼和傳真號碼,應創(chuàng)建自有數(shù)據(jù)元素。在字段類型列中,為數(shù)據(jù)元素輸入名稱<jec##)。選擇數(shù)據(jù)元素名稱。數(shù)據(jù)元素定義出現(xiàn)。輸入短文本(F1 幫助的組件)?,F(xiàn)在選中標簽頁字儲字段標簽的文本。字數(shù)據(jù)域型、長度描客航空公自自部門代自電自傳APPL0(主數(shù)據(jù)2緩日課程:ABAP字典中的表您還必須為數(shù)據(jù)元素分配技術(shù)描述(域)。選中標簽頁定義,并為域輸入名稱obj>##)?;蛘哌x擇域名。域定義出現(xiàn)。注意:如果域是預定義的,則激活課程:ABAP字典中的表您還必須為數(shù)據(jù)元素分配技術(shù)描述(域)。選中標簽頁定義,并為域輸入名稱obj>##)?;蛘哌x擇域名。域定義出現(xiàn)。注意:如果域是預定義的,則激活數(shù)據(jù)元素并返回(使用F3)表格字段的維護屏幕。在域定義中定義簡短描述、數(shù)據(jù)類型(CHAR)和字段長(30)。激活域返回上一屏(使用F3)的數(shù)據(jù)元素定義,并激活數(shù)據(jù)元素。保存表。通過標記字段名稱后的關(guān)鍵字ZDEPMENT##的關(guān)鍵字段。字段客戶、承運人和部門代碼可以唯一標識一個條目。因此,必須將它們標記為關(guān)鍵字字段。激活表并定義技術(shù)設(shè)置:由于表ZDEPMENT##的內(nèi)容不會頻繁更改,所以必須選擇數(shù)據(jù)類APPL0(主數(shù)據(jù))。ZDEPMENT##表的預期記錄數(shù)量是90,因此必須選擇大小范疇0。此外,不應對該表進行緩沖或記錄。表3。記錄字段人員編號和部門代碼雙擊數(shù)據(jù)元素,進入數(shù)據(jù)元素定義。使用顯示至“更改”模式。選擇轉(zhuǎn)到→文檔。為字段輸入文本并保存輸入內(nèi)容。更改字值A(chǔ)PPL0(主數(shù)據(jù)0緩日單元字典中的數(shù)據(jù)對象4。激活此表,現(xiàn)在必須進行技術(shù)設(shè)置,單元字典中的數(shù)據(jù)對象4。激活此表,現(xiàn)在必須進行技術(shù)設(shè)置,如果表中有金額字段,則還需分配貨幣字段。單擊您還必須為金額字段(例如SALARY)分配貨幣字段。為此,請在“參考表”字段中輸入當在“參考”字段中,輸入貨幣所使用的字段名a)b)任務通過使用子結(jié)構(gòu)ZCHANGE##在這兩張表中添加字段,可確保在其中使用相同的字段記錄更改。注意:表ZEMPLOY##和ZDEPMENT##更改很關(guān)鍵,因此必須進ZEMPLOY##和ZDEPMENT##中附加字段,記錄上次更改表條目的人員編號以及上次輸入日期。在實際應用中,上述增強措施始終會導致這兩張表的標準表維護處于取消激活狀態(tài)。請為表創(chuàng)建自有維護事務,由程序從內(nèi)部自動填充更改日志字段,而不是由用戶直接填充。創(chuàng)建此類事務的相關(guān)內(nèi)容已超出本課程的范圍。因此,在本課程中,我們假定所有用戶自己在標準表維護例程中正確地填充字段。構(gòu) ZCHANG##使用人員編號所用的域,為上建新數(shù)據(jù)元素。使用S_CHDATE作為上次更改日期的數(shù)據(jù)元素。1ABAP典的初始屏幕中,標記數(shù)據(jù)類型并在相應字段中輸入ZCHANGE##。選擇創(chuàng)建。在下一個對話框中標記結(jié)構(gòu)在組件列中輸入字段名稱,在組件類型列中輸入相應的數(shù)據(jù)元素。為第一個字段創(chuàng)建自有數(shù)據(jù)元素。使用在ZEMPLOY##表中為人員編號和更改日期分別創(chuàng)建一個字段。為第二個字段使用數(shù)據(jù)元素S_CHDTE。激活結(jié)ZCHANGE課程:ABAP字典中的表2ZCHANGEIncludeZEMPLOYZDEPMENTa)轉(zhuǎn)到表ZEMPLOY##的維護屏幕。選擇新行并將光標置于第一個新字段中。選擇課程:ABAP字典中的表2ZCHANGEIncludeZEMPLOYZDEPMENTa)轉(zhuǎn)到表ZEMPLOY##的維護屏幕。選擇新行并將光標置于第一個新字段中。選擇編輯→ncue→插入。在下一個對話框中,輸入名 b)c)并選擇繼續(xù)激活ZEMPLOY##表。進行相同的輸入操作,在表中插入子ZCHANGE#3了解數(shù)據(jù)庫中已執(zhí)行的操作。a)通過選擇實用程序→激活日志,可顯示數(shù)據(jù)庫中已執(zhí)行的在事務SE38中啟動程序BC430_CHECK4注意:程序BC430_CHECK將檢查您的解決方案是否正確,并使用后面練習中需要的樣本數(shù)據(jù)填充新表ZEMPLOY##和通過輸入字段啟動事SE38。啟動程BC430_CHECK單元字典中的數(shù)據(jù)對象課程摘要您現(xiàn)在應該能夠:????創(chuàng)建單元字典中的數(shù)據(jù)對象課程摘要您現(xiàn)在應該能夠:????創(chuàng)建使用二級域概念定義表的技術(shù)設(shè)創(chuàng)建并使結(jié)課程特殊表課程特殊的SAP課程概您將學習表池中的表以及簇課程特殊表課程特殊的SAP課程概您將學習表池中的表以及簇課程目完成本課程后,您將能夠???描述SAP透明表之外的表類型區(qū)分表池中的表和簇表描述表池中的表和簇表的優(yōu)勢與劣勢業(yè)務示在某些應用程序的性能檢查中,您會發(fā)現(xiàn)某些選擇語句在數(shù)據(jù)庫中訪表似乎并不是在各自編碼中參考的表表池中的表與簇表圖表26:數(shù)據(jù)庫表類型概單元字典中的數(shù)據(jù)對象透明表在ABAP典與數(shù)據(jù)單元字典中的數(shù)據(jù)對象透明表在ABAP典與數(shù)據(jù)庫中的定義完全相同,除透明表之外,R/3統(tǒng)中還有表池中的表以及簇表。表池中的表和簇表的特征是:多個表在物理數(shù)據(jù)庫表(表池或簇)中進行合并字典中進行邏輯圖表27:簇簇表的理念是在一張數(shù)據(jù)庫表中存儲位于不同表中的功能相關(guān)的數(shù)據(jù)。相應地,簇表關(guān)鍵字字段的交集由表簇的關(guān)鍵字(簇鍵)構(gòu)成。與簇鍵相關(guān)的數(shù)據(jù)存儲在表簇的AA字段中。如果RA字段無法容納所有相關(guān)數(shù)據(jù),則數(shù)據(jù)庫接口將創(chuàng)建溢出記錄。表簇內(nèi)的唯一性由O字段保證。數(shù)據(jù)庫接口會壓縮VARDATA段的內(nèi)容。因此,VARDATA段包含有關(guān)如何解壓數(shù)據(jù)的描述。TIMESTAMP和PAGELG字段包含管理信息。課程特殊表圖表28:表池中的表池的基本理課程特殊表圖表28:表池中的表池的基本理念與表簇相反,是用于存儲來自ABAP典中定義的表而且彼此不相關(guān)的數(shù)據(jù)記錄。您希望將較小的R/3表與數(shù)據(jù)庫表合并。在上面的示例中,可以發(fā)現(xiàn)TABATABB鍵字段的交集為空。盡管如此,TABA和TABB的數(shù)據(jù)記錄仍存儲在TABAB表池中。TABAB表池的數(shù)據(jù)記錄的關(guān)鍵字由TABNAME和VARKEY兩個字段組成。TABNAME段存放表池中的表名。VARKEY段由表池中表的關(guān)鍵字字段的連接組成。因此,表池中表的關(guān)鍵字字段必須為C類型。表池中表的非關(guān)鍵字段以非結(jié)構(gòu)化形式存儲字段中,并由據(jù)庫接口進行壓縮。字段包字段的長度單元字典中的數(shù)據(jù)對象圖表29:描述表池單元字典中的數(shù)據(jù)對象圖表29:描述表池中的表和簇表的優(yōu)勢與劣表池中的表和簇表的明顯優(yōu)勢是數(shù)據(jù)能以壓縮形式存儲在數(shù)據(jù)庫中。這將減少所需的內(nèi)存空間以及網(wǎng)絡負載。味著可以減少數(shù)據(jù)庫中的字段數(shù)量。因此,需要執(zhí)行的不同SQL語句的數(shù)量也隨之減少。表池中的表和簇表不是以單個表的形式存儲在數(shù)據(jù)庫中。這種方式可以簡化管理??墒褂么乇硗瑫r讀取功能相關(guān)的數(shù)據(jù),從而可以減少數(shù)據(jù)庫的訪問量。這兩種表的明顯劣勢表現(xiàn)在數(shù)據(jù)庫功能的限制方面。無法為非關(guān)鍵字字段創(chuàng)建索引。關(guān)鍵字字段的子集中沒有主索引和索引。也不允許使用數(shù)據(jù)庫概覽或BPN,以及beAd。只能通過NSL(非本地QL)訪問表池中的表或簇表的數(shù)據(jù)。對于表池中的表,只有關(guān)鍵字字段的WHERE條件才能傳輸至數(shù)據(jù)庫;對于簇表,只有簇鍵(關(guān)鍵字字段的子集)字段的WHERE條件才能傳輸至數(shù)據(jù)庫。但無法傳輸非關(guān)鍵字字段的ORDERBY(或GROUPBY)子句。您需要為課程特殊SAP表課程摘您現(xiàn)課程特殊SAP表課程摘您現(xiàn)在應該能夠:???描述SAP透明表之外的表類型區(qū)分表池中的表和簇表描述表池中的表和簇表的優(yōu)勢與劣勢單元摘要單元摘要您現(xiàn)在應該能夠:?????創(chuàng)建域,并在數(shù)據(jù)單元摘要單元摘要您現(xiàn)在應該能夠:?????創(chuàng)建域,并在數(shù)據(jù)元素中進行使定義數(shù)據(jù)元素,并將其作為基礎(chǔ)定義ABAP序的數(shù)據(jù)對象定義結(jié)構(gòu),并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對象定義內(nèi)部表,并將其作為基礎(chǔ)定義ABAP程序的數(shù)據(jù)對定義復雜(嵌套/深度)結(jié)構(gòu),并將其作為基礎(chǔ)定義據(jù)對象通過類型池定義全局常量,并在ABAP序中使用使用二級域概念定義表的技術(shù)設(shè)置創(chuàng)建并使Include描述SAP統(tǒng)中除透明表之外的表類型區(qū)分表池中的表和簇表描述表池中的表和簇表的優(yōu)勢與劣勢程序的????????單3表訪問期間的性能單元概您將在本章單3表訪問期間的性能單元概您將在本章了解關(guān)于高效表訪問的基本情況單元目完成本單元后,您將能夠?????在ABAP字典中創(chuàng)建索引解釋各種緩沖類型判斷何時有必要對表進行緩沖以及應選擇何種緩沖類使用技術(shù)設(shè)置對表進單元目課程:表訪問期間的性 練表訪問單元3:表訪問期課程:表訪問期間的性課程概述課程目標完成本課程單元3:表訪問期課程:表訪問期間的性課程概述課程目標完成本課程后,您將能夠:?????在ABAP字典中創(chuàng)建索引解釋各種緩沖類型判斷何時有必要對表進行緩沖以及應選擇何種緩沖類型使用技術(shù)設(shè)置對表進行緩沖業(yè)務示例某些事務的應用程序中包含選擇語句,這將導致運行時間過長。現(xiàn)在,您應該在不更改程序的情況下提高性能。通過索引訪問提高性能圖表30:索引結(jié)構(gòu)索引可用于加快從表中選擇數(shù)據(jù)記錄的速度課程:表訪問期間的性能索引可視為僅包含特定字段的數(shù)據(jù)庫表的簡化副本。數(shù)據(jù)以排序形式存儲在該副本中,且排序有助于快速訪問表記錄(例如使用二分檢索)。索引中并不包含表的全部字段。索引還包括從索引條目指向相應表條目的指針,以便讀取所有字段內(nèi)容。?創(chuàng)建課程:表訪問期間的性能索引可視為僅包含特定字段的數(shù)據(jù)庫表的簡化副本。數(shù)據(jù)以排序形式存儲在該副本中,且排序有助于快速訪問表記錄(例如使用二分檢索)。索引中并不包含表的全部字段。索引還包括從索引條目指向相應表條目的指針,以便讀取所有字段內(nèi)容。?創(chuàng)建索引時,請注意:–索引的使用范圍不得超出選擇中的最后一個指定字段!在子句中為大量選擇指定的字段應放在第一只有當某字段的值可以極大地限制數(shù)據(jù)量時,該字段才在索引中有效。更改表的數(shù)據(jù)記錄時,必須調(diào)整索引排序。內(nèi)容頻繁更改的表不應具有過多的索引。請盡量確保表索引彼此互不相關(guān)。–––圖表31:通過索引進行訪數(shù)據(jù)庫優(yōu)化器可決定數(shù)據(jù)庫應使用哪個表索引來訪問數(shù)據(jù)記您必須區(qū)分表的主索引和輔助索引。主索引包含表的關(guān)鍵字字段。表在激活時,將在數(shù)據(jù)庫中自動創(chuàng)建主索引。如果某大型表需要頻繁訪問,但無法應用主索引排序,則應該為該表創(chuàng)建輔助索引。表索引包含一個三位數(shù)的索引ID。0為主索引預留。客戶可以在SAP中創(chuàng)建自己的索引,其ID必須以Y或Z開頭。如果索引字段含有關(guān)鍵字功能,例如可唯一標識各個表記錄,則該索引可稱為唯一索引。這樣可確保數(shù)據(jù)庫中沒有重復的索引字段。單3:表訪問期間的在P字典中定義輔助索引時,可以指定在其激活的同時是否應該在數(shù)據(jù)庫中創(chuàng)建。某些索引只能提高特定數(shù)據(jù)庫系統(tǒng)的性能。因此,可以在定義索引時指定一個數(shù)據(jù)庫系統(tǒng)列表。這樣在激活索引時,就只能在單3:表訪問期間的在P字典中定義輔助索引時,可以指定在其激活的同時是否應該在數(shù)據(jù)庫中創(chuàng)建。某些索引只能提高特定數(shù)據(jù)庫系統(tǒng)的性能。因此,可以在定義索引時指定一個數(shù)據(jù)庫系統(tǒng)列表。這樣在激活索引時,就只能在指定的數(shù)據(jù)庫系統(tǒng)中創(chuàng)建索引。通過表緩沖提高性能32:利用緩沖區(qū)訪問數(shù)表緩沖可提高表記錄的讀取性能。在訪問某表時,將從訪問事務所運行的應用程序服務器上的本地緩沖區(qū)中直接讀取緩沖表記錄。這樣可以縮短數(shù)據(jù)庫訪問時間。訪問速度可提高10到0倍,具體取決于表的結(jié)構(gòu)和確切的系統(tǒng)配置。因此,緩沖可以極大地提高系統(tǒng)性能。如果緩沖區(qū)的存儲需求隨著數(shù)據(jù)增加而提高,則未訪問時間最長的數(shù)據(jù)將被置換。置換以異步方式在某些時間進行,這根據(jù)緩沖區(qū)訪問動態(tài)確定。僅當緩沖區(qū)的可用空間小于預定義值,或者訪問質(zhì)量不符合要求時,才會對數(shù)據(jù)進行置換。在命令字段中輸入B時,系統(tǒng)會在相應的應用程序服務器上重置表緩沖區(qū)。僅當緩沖區(qū)中存在不一致的情況時,才使用此命令。在大型系統(tǒng)中,可能需要數(shù)小時才能填滿緩沖區(qū)。系統(tǒng)性能在此期間將顯著降低。課程:表訪問期間的性能在訪問某個表記錄時,緩沖類型可確定將哪些表記錄加載至應用程序服務器的緩沖區(qū)。緩沖類型如下:??全緩沖:課程:表訪問期間的性能在訪問某個表記錄時,緩沖類型可確定將哪些表記錄加載至應用程序服務器的緩沖區(qū)。緩沖類型如下:??全緩沖:訪問表記錄時,將所有表記錄加載至緩沖通用緩沖:訪問表記錄時,將關(guān)鍵字左對齊部分相同的所有記錄加載至緩沖區(qū)。單個記錄緩沖:僅將曾經(jīng)訪問的記錄加載至緩沖區(qū)?圖表33:全緩沖對于全緩沖,表要么完全位于緩沖區(qū)中,要么完全不在緩沖區(qū)中。訪問表記錄時,所有表記錄都將加載至緩沖區(qū)。在確定是否要對某個表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論