內容簡介
《工程師突擊:SAPABAP實用程式開發攻略》根據國內外實施SAP系統的企業對專業員工的培訓步驟及技能要求編寫,以介紹SAP R3 ABAP/4開發技術為重點,內容涵蓋SAP基礎知識、ABAP語法詳解、ABAP中高級專業開發工具的使用等。通過《工程師突擊:SAPABAP實用程式開發攻略》的學習,讀者能夠逐步深入SAP編程並掌握SAP開發技能,快速成長為SAP實用型人才。《工程師突擊:SAPABAP實用程式開發攻略》以實例講解為主,包括具體的需求分析、程式執行效果展示、完整代碼解析等。這些實例均為SAP商務套用開發中的常用實例,既可作為入門起步之用,又可作為高級進階的參考。《工程師突擊:SAPABAP實用程式開發攻略》不但適合於SAP初學者、SAP中高級開發工程師及諮詢顧問,也可作為企業及學校SAP培訓參考圖書。
圖書目錄
前言
第一篇 SAP簡介
第1章 SAP系統介紹 1
1.1 SAP簡介 1
1.1.1 什麼是SAP 1
1.1.2 SAP的誕生 1
1.1.3 SAP技術架構及發展歷程 2
1.1.4 SAP在中國 3
1.2 SAP系統結構介紹 3
1.2.1 SAP R/3系統結構 3
1.2.2 SAP NetWeaver系統結構 4
1.2.3 SAP 系統功能模組簡介 5
第2章 SAP套用開發環境介紹 8
2.1 SAP工作環境介紹 8
2.1.1 登錄SAP系統 8
2.1.2 SAP初始界面 10
2.1.3 SAP標準工具列 11
2.1.4 SAP螢幕元素 12
2.2 SAP開發環境介紹 13
2.2.1 SAP開發語言ABAP 13
2.2.2 ABAP開發平台ABAP Workbench 13
2.2.3 SAP倉庫對象及開發類別 13
2.2.4 對象導航器 14
2.2.5 ABAP編輯器 18
2.2.6 ABAP數據字典 20
2.2.7 TCode的創建與維護 21
2.3 程式執行效能分析 22
2.4 程式debug 23
2.4.1 debug的實現 23
2.4.2 debug參數的控制 26
2.5 SAP幫助信息的獲取 27
第二篇 SAP ABAP開發基礎
第3章 ABAP開發基礎知識 28
3.1 ABAP數據類型及定義 28
3.1.1 ABAP基本數據類型(ABAP Elementary Data Types) 28
3.1.2 變數的聲明(Declaring Variables) 28
3.1.3 定義常量(Declaring Constants) 29
3.1.4 自定義數據類型(User-Defined Data Types) 30
3.2 結構體(Structure) 30
3.2.1 結構體的定義 30
3.2.2 結構體的賦值 31
3.2.3 結構體的繼承 31
3.3 內表(Internal Table) 32
3.3.1 內表的定義 32
3.3.2 內表的賦值 33
3.3.3 內表數據管理 35
3.4 數據的輸出與數值傳遞 38
3.4.1 數據的基本輸出 38
3.4.2 數據的格式化輸出 39
3.4.3 數據的賦值 41
3.4.4 通過指針實現數據的賦值 42
3.5 數據的轉換及運算 42
3.5.1 數據類型的轉換 42
3.5.2 數值運算 43
3.5.3 算術運算函式 44
3.5.4 字元串控制函式 44
3.6 數據流控制 49
3.6.1 使用IF語句實現分支 50
3.6.2 使用CASE...WHEN...ENDCASE語句實現分支 50
3.6.3 使用LOOP...ENDLOOP語句實現循環控制 50
3.6.4 使用Do語句實現內部循環次數控制 51
3.6.5 使用ONCHANGE實現循環內部數據管控 51
3.6.6 循環的中止 51
3.7 子程式的建立及調用 52
3.7.1 子程式的定義 52
3.7.2 子程式接口參數的定義子使用 52
3.7.3 調用指定程式中的子程式 53
3.7.4 通過TCode調用指定程式中的子程式 53
3.7.5 使用SUBMIT方法調用另一程式 53
3.8 ABAP宏的套用 54
第4章 面向對象程式設計 55
4.1 類 55
4.1.1 類的定義 55
4.1.2 類方法的聲明及屬性 58
4.1.3 類函式的定義及使用 59
4.1.4 類的構造方法 60
4.1.5 類的繼承 61
4.2 接口 65
4.2.1 接口的定義 66
4.2.2 接口的引用 66
4.3 事件 68
4.3.1 事件的定義 68
4.3.2 事件處理方法 68
4.4 定義系統全局對象 70
4.5 關於接口的功能增強——BADI簡介 73
第5章 數據字典及套用 76
5.1 數據字典工具及對象 76
5.2 數據字典對象的創建及維護 77
5.2.1 域對象(Domain)的創建及維護 77
5.2.2 數據元素(Data Element)的創建及維護 79
5.2.3 透明表(Transparent Table)的創建及維護 80
5.2.4 結構體(Structure)的創建及維護 85
5.2.5 視圖(View)的創建及維護 85
5.3 透明表數據的手工維護及瀏覽 88
5.4 通過TCode實現對透明表數據的手工維護 90
5.5 透明表的鎖定 92
第6章 Open SQL 94
6.1 Open SQL簡介 94
6.2 Open SQL基本語法及結構 94
6.2.1 SELECT 95
6.2.2 UPDATE 98
6.2.3 INSERT 98
6.2.4 DELETE 99
6.2.5 MODIFY 99
6.3 Native SQL的使用 100
6.4 動態SQL技術 101
6.4.1 動態表名 102
6.4.2 定義動態WHERE條件內表 102
6.5 Open SQL的最佳化原則 103
第三篇 ABAP/4套用開發及常用工具
第7章 SAP套用界面開發及ABAP報表設計 106
7.1 SAP螢幕基本元素的創建 106
7.1.1 SELECT-OPTIONS對象 106
7.1.2 PARAMETERS對象 108
7.1.3 Text Elements(文本元素)對象 110
7.1.4 SELECTION-SCREEN對象 113
7.2 SAP螢幕事件的控制 121
7.2.1 INITIALIZATION事件 121
7.2.2 START-OF-SELECTION事件 121
7.2.3 END-OF-SELECTION事件 122
7.2.4 螢幕事件的中止 122
7.3 Report List 報表開發 124
7.3.1 Report List的輸出定義 124
7.3.2 圖示符號的輸出 124
7.3.3 報表輸出格式控制 125
7.3.4 獲取輸出螢幕中的數據 127
7.3.5 列表程式中的系統參數 128
7.3.6 輸出列表顏色的設定 128
7.3.7 實現Report的格式化分頁輸出 129
7.4 程式回執信息的定義 130
7.5 工具列對象GUI Status與GUI Title 132
7.5.1 GUI Status的定義及套用 132
7.5.2 GUI Title的定義及套用 136
第8章 Function程式設計及套用 138
8.1 Function開發環境介紹 138
8.1.1 Function 初始界面及Function Group的創建 138
8.1.2 Function 參數設定及代碼編寫 139
8.1.3 Function 的執行及數據查看 142
8.2 Function在SAP中的套用 143
8.3 RFC在外部系統中的調用 145
8.3.1 RFC在VB中的使用 146
8.3.2 RFC在C#.NET中的使用 148
8.4 ABAP開發常用函式 153
第9章 Screen Painter程式設計 154
9.1 Screen Painter開發環境介紹 154
9.2 Screen對象的創建及屬性設定 154
9.3 Screen螢幕元素的創建及屬性設定 157
9.3.1 創建Parameter對象 157
9.3.2 控制項對象基本屬性的設定 157
9.3.3 控制項對象功能屬性的設定 158
9.3.4 通過數據字典參數創建控制項對象 159
9.4 Screen對象在SAP程式中的綜合套用 161
9.5 Screen對象的數據傳輸管控 166
9.5.1 螢幕中的數據傳遞 166
9.5.2 輸入欄位的檢查 167
9.6 高級螢幕元素設計 168
9.6.1 下拉列表框 168
9.6.2 Screen引用子螢幕 170
9.6.3 數據表格控制項 172
9.6.4 選項卡控制項 175
9.6.5 ALV表格控制項 178
第10章 ALV程式設計 181
10.1 ALV基本操作及屬性介紹 181
10.1.1 ALV的兩種輸出模式 181
10.1.2 ALV的控制功能詳解 182
10.2 ALV的開發及套用 184
10.2.1 ALV的屬性設定及定義 184
10.2.2 ALV的調用及輸出 186
第11章 SAP ScriptForm商業報表程式設計 191
11.1 Form的基本概念 191
11.2 版式設計 191
11.2.1 ScriptForm的創建 191
11.2.2 Header Data的設定 191
11.2.3 Character Format的設定 192
11.2.4 Paragraph formats的設定 194
11.2.5 Windows的設定 196
11.2.6 Page的設定 197
11.2.7 Page Windows的設定 198
11.3 ScriptForm數據輸出 200
11.3.1 Text Elements參數及屬性 200
11.3.2 Control Commands參數及設定 202
11.3.3 ScriptForm調用ABAP子程式 204
11.3.4 SAPscript Symbols的定義及設定 204
11.3.5 Formatting Options(輸出格式化) 206
11.4 ScriptForm在Report程式中的調用 208
11.4.1 OPEN_FORM 209
11.4.2 WRITE_FORM 210
11.4.3 CLOSE_FORM 211
11.5 ScriptForm調用實例 211
11.6 ScriptForm的調試 217
11.7 ScriptForm在系統間的傳遞 218
第12章 SmartForm商業報表程式設計 221
12.1 SmartForm工具簡介 221
12.1.1 Style ——字型及段落格式維護工具 221
12.1.2 SmartForm Builder——版式設計工具 222
12.2 SmartForm的創建實例解析 224
12.2.1 Style的建立 224
12.2.2 基本屬性設定 224
12.2.3 設定Form Interface 224
12.2.4 創建Window 225
12.2.5 創建圖示 226
12.2.6 創建常量及文本對象 227
12.2.7 模板定位設計 227
12.2.8 設定變數文本對象 228
12.2.9 MAIN窗體中的對象的增加 229
12.2.10 調用表對象的觸發事件 230
12.2.11 生成SmartForm功能模組 232
12.2.12 通過ABAP程式調用SmartForm 232
12.2.13 通過函式來獲取SmartForm執行模組名 233
12.3 SmartForm列印對話框屬性設定 234
第13章 快速報表工具Query 235
13.1 Query概述 235
13.2 SAP Query創建步驟 235
13.2.1 創建User Group 235
13.2.2 創建InfoSet 236
13.2.3 Basic List的創建 240
13.3 Query的套用 243
第14章 BDC的使用 244
14.1 BDC簡介 244
14.2 BDC的使用 244
14.2.1 錄製BDC 244
14.2.2 BDC Session的創建及查看 248
14.2.3 將BDC導出到程式 249
14.2.4 利用BDC批量錄製數據 252
14.3 BDC使用注意事項 255
第15章 CATT的使用 257
15.1 CATT的錄製 257
15.2 CATT參數的配置 258
15.3 數據的導入 260
15.3.1 數據的單筆導入 260
15.3.2 多筆數據的導入 261
15.3.3 從檔案導入數據 262
15.3.4 導入數據的篩選 265
15.4 關於數據的錄製 266
第四篇 ABAP實用開發技巧詳解
第16章 ABAP實用開發技巧詳解 267
16.1 資料夾的判斷與創建 267
16.2 數據檔案的讀取與寫入 269
16.3 在文本輸入欄位調用檔案選擇對話框 273
16.4 模擬Select-Options對象實現多項數據輸入功能 274
16.5 多樣式的用戶互動對話框 277
16.6 字元串的加密與解密 280
16.7 實現FTP的檔案上傳與下載 281
16.8 開啟指定路徑檔案或程式 288
16.9 獲取本地資料夾所有檔案信息 289
16.10 實現ALV動態欄位數據的抓取 290
16.11 通過SAP實現郵件的傳送 295
16.12 獲取Report程式源碼及其開發對象 300
16.13 實現雙擊文本輸入欄位連結到TCode 303
16.14 實現ALV表頭的自定義格式 306
16.15 自定義ALV工具列 310
16.16 ALV表格數據雙擊事件 315
16.17 動態程式的實現 316
16.18 通過動態參數獲取表欄位數據 318
附錄 SAP ABAP開發常用TCode 320
參考文獻 322
……