一, 什么是ABAP:
定義:ABAP=Advanced business application program
SAP最初開發(fā)ABAP/4語言僅為內部使用,為應用程序員提供優(yōu)化的工作環(huán)境。經(jīng)過不斷的改進和修改以滿足商業(yè)領域的需要。現(xiàn)在, ABAP/4 已成為SAP開發(fā)所有自己的應用程 序的僅有工具。
ABAP/4 是第四代支持結構化程序設計的語言。它合并了所有通常的控制結構和模塊化概念。同時,它還支持面向對象的程序設計方法,這就為ABAP的應用開發(fā)開拓了更廣闊的空間。而且,它還可以實現(xiàn)和其他編程語言的合成,如VB,JAVA,C/C++等。
二, ABAP的一些特性:
1. ABAP包括:
2. ABAP/4 支持商業(yè)數(shù)據(jù)類型和操作。您可以用特殊日期和時間字段進行計算。 系統(tǒng)會自動執(zhí)行必需的類型轉換。
3. ABAP/4 包含一個叫 Open SQL 的SQL子集。用 Open SQL,您可以讀取和訪問數(shù)據(jù)庫表,與所用的數(shù)據(jù)庫系統(tǒng)無關
4. ABAP/4 允許您定義和調用子程序。也可以調用其他程序的子程序 。參數(shù)能夠以各種方式從子程序傳遞或傳遞到子程序。
5. ABAP/4 包含一種特殊子程序,叫做功能模塊。您可以在中央庫中創(chuàng)建和維護功能模塊。在調用程序和子程序之間功能模塊有一個明確定義的數(shù)據(jù)接口。它們能夠以調用程序的獨立模式進行分別測試。
6. ABAP/4 報表程序用于分析數(shù)據(jù)庫表中的數(shù)據(jù)。這種分析的結果可以顯示在屏幕上或發(fā)送到打印機上。邏輯數(shù)據(jù)庫支持報表程序。
7. ABAP/4將對話程序組織為包含對話模塊的模塊池。每個動態(tài)程序 (由一個屏 幕及其流邏輯組成的“ 動態(tài)程序” )都基于一個ABAP/4 對話程序。流邏輯包含對 ABAP/4對話模塊的調用。
三, 和ABAP相關聯(lián)的SAP BASIS結構:
SAP R/3系統(tǒng)是一個典型的三層架構系統(tǒng),包括:
表現(xiàn)層(Presentation Layer):這是SAP用戶和R/3系統(tǒng)交流的接口,用戶在這一層對SAP系統(tǒng)進行操作。這層將用戶的命令或者操作傳送給R/3系統(tǒng),然后系統(tǒng)進行相應的處理后把數(shù)據(jù)返還給用戶。
應用層(Application layer):這層包括一個或者多個應用服務器和一個消息服務器。每一個應用服務器包括一系列服務以便運行應用程序。所有的服務分置在這些應用服務器之中,其實用戶需要的只是其中的一個應用服務器,多個服務器之間傳遞信息以決定用戶到底需要的是哪個服務器的服務。
數(shù)據(jù)庫層(Database layer):這里就是SAP系統(tǒng)的核心,存放了所有SAP系統(tǒng)的數(shù)據(jù)。
SAP支持很多數(shù)據(jù)庫系統(tǒng),包括:Microsoft SQL Server,ORACLE,INFORMIX,DB2等主流數(shù)據(jù)庫系統(tǒng)。
四, ABAP的第一個程序:
好了,看了這么多,自己都暈了,還是言歸正傳來做開發(fā)吧。
首先要介紹一下事務代碼(Transaction Code)的概念:
在SAP中,每一個功能基本上都對應了一個事務代碼,你可以輸入相應的事務代碼來執(zhí)行相應的功能,事務代碼在SAP MENU下面的輸入框中輸入。
第一個程序,HELLO WORLD:
1. 用ABAP REPORT來實現(xiàn):
很簡單:(1.進入SAP系統(tǒng)—〉SE38 。
(2.輸入程序名z_hello,選擇Create 。
注意:自己開發(fā)的程序一定要用Z或者Y開頭,這是因為SAP在升級的時候不會覆蓋這些程序。
(3.這時會彈出一個對話框,輸入TITLE,選擇Type為Executable program 。
(4.然后又會彈出一個對話框,讓你選擇開發(fā)類(Package),如果你有自己的開發(fā)類的話,輸入就可以,沒有直接點下面的Local Object 。
(5.ABAP編輯器出現(xiàn)了,輸入代碼:
“WRITE: 'HELLO,WORLD!' .” 。
(6.按Ctrl+F2:語法檢查;Ctrl+F3:激活;F8:執(zhí)行。
到這里,ABAP的第一個程序就寫出來了,好簡單?。?!
2. 用 ABAP DIALOG來實現(xiàn):
比較麻煩,在這里詳細的介紹怎么建立SCREEN,以后就不介紹了
1. 建立一個DIALOG程序,步驟同上,只不過在Type里選擇Module pool,
假設程序名為:Z_SCREEN
2. 執(zhí)行SE51,在Program里輸入程序名稱:Z_SCREEN;
在screen number里輸入屏幕的號碼:9000
然后點Create
3. 在short description中輸入你的描述:hello world screen
4. 點layout,調出屏幕編輯器,建立一個標簽,輸入hello world
5. 點激活,或者Ctrl+F3
6. 執(zhí)行SE93:建立事務代碼:輸入z_hello,點Create,會出現(xiàn)對話框,輸入short text,選擇Program and screen,然后輸入你建立的程序名以及屏幕號,
這里是Z_SCREEN,9000
7. 點保存,然后會出現(xiàn)對話框,選擇LOCAL Object
好了,執(zhí)行z_hello,看到了吧,不過這個程序還沒有退出的功能,后面會慢慢加上去的。
最后,綜述:
ABAP編程不是簡單的編程,SAP中最主要的語言,一個是ABAP,一個是JAVA
ABAP以后的路應該往OO方向發(fā)展,
還有JAVA方面,中國適應的太少,使用SAP集成的太多,什么ITS,等等,最新的BSP技術,也是以后ABAPER需要了解和掌握的。
開發(fā)包括幾大部分,最簡單的REPORT和DIALOG,還有很多其他的,比如WEB,WORKFLOW,BAPI,以及和其他PC系統(tǒng)的接口。
REPORT最簡單的,最重要的,提高代碼執(zhí)行效率。(SD的報表是多多的,表也是大大的,月報表是運行慢慢的,以后發(fā)展的路就是提高SD報表運行的效率)
DIALOG不常用的,除非你需要開發(fā)自己的一套系統(tǒng),只是使用SAP平臺。
WORKFLOW要和HR相結合的。所以你是需要理解HR的東西的
WEB東西就是更多了,EP只是一個平臺,EP不能滿足你所有的功能。最新的BSP技術是全新的,中國好象沒有幾家在用的。
BW是個模塊,嚴格上來說,是不屬于ABAPER的范圍。