动态

详情 返回 返回

(一)SAP系統 - 动态 详情

SAP

SAP 是一家通過業務工程成功地集成信息技術的公司 ,SAP( System, Applications, and Products in Data Processing,數據處理的系統、應用和產 品)。SAP 公司是 ERP 思想的倡導者,成立於 1972 年,總部設在德國南部的 Walldorf。SAP 的主打產品 R/3 是用於分佈式客户機/服務器環境的標準 ERP 軟件,SAP 所提供的是一個有效的標準而又全面的 ERP 軟 件,同時軟件模塊化結構保證了數據單獨處理的特殊方案需求。 目前,SAP 在 120 多個國家和地區擁有 17,500 多家客户、44,500 多個系統 安裝點、1000 萬名最終用户,世界 500 強 80%以上的公司都在使用 SAP 的管理方 案。

SAP 進入中國已經有些年頭,在近年,實施SAP的公司越來越多,儘管SAP本身提供了相當強大的可配置功能,但是由於企業複雜的業務背景,特別是對各種報表的需求,依舊免不了二次開發。

學習 SAP,如果要説難,難就難在國內市場上極少哪怕是介紹一個模塊詳細操作釋疑的書籍,廣大的SAP用户只能是自己摸索學習,即使參加了一些培訓,可能起到的作用依舊有限,畢竟各培訓教師自編的教材參差不齊水平也不一。

SAP 顧問行業一度也是高薪標誌,做 SAP 顧問需要什麼條件究竟需要多長時間磨練,這是廣大立志於 SAP 行業的讀者經常困惑的問題。如讀者有一定的編程數據庫和企業運作經驗,做 ABAP 顧問三個月就足夠,視具體情況而言,可能更長,甚至更短,事實上有相當部分朋友做到了這點.。

SAP R/3 系統概述

SAP R/3 是一個基於客户/服務機結構和開放系統的、集成的企業資源計劃系統。R/3應用軟件採用模組化結構,它們既可以單獨使用,也可以和其它解決方案相結合。從流程導向的角度而言,各應用軟體間的整合程度越高,它們帶來的好處就越多。SAP系統的功能模塊覆蓋了企業的財務、項目管理、採購、生產計劃、銷售、人力資源等眾多模塊。 (如圖所示)

財務會計(FI):應收賬款、應付賬款、總分類賬、合併、投資、基金、現金等;

管理會計(CO):利潤中心、成本中心,產品成本、項目管理、獲利管理分析等;

人力資源(HR):薪資、差旅、工時、招聘、發展計劃、人事成本等;

物料管理(MM):採購、庫存管理、MRP、供應商評價等;

項目管理(PS):項目計劃、預算、能力計劃、資源管理、結果分析等;

銷售與分銷(SD):銷售計劃、詢價報價、訂單管理、運輸發貨、發票等;

設備管理(PM):維護及檢測計劃、單據處理、歷史數據、報告分析等;

生產計劃(PP):工廠數據、生產計劃、MRP、能力計劃、成本核算等;

質量管理(QM):質量計劃、質量檢測、質量控制、質量文檔等;

SAP R/3 系統具備以下功能和主要特點:

(1)功能性:R/3 以模塊化的形式提供了一整套業務措施,其中的模塊囊括了全部所 需要的業務功能並把用户與技術性應用軟件相聯而形成一個總括的系統,用於公 司或企業戰略上和運用上的管理。

(2)集成化: R/3 把邏輯上聯的部分連接在一起。重複工作和多餘數據被完全取消, 規程被優化,集成化的業務處理取代了傳統的人工操作。

(3)靈活性:R/3 系統中方便的裁剪方法使之具有靈活的適應性,從而能滿足各種用 户的需要和特定行業的要求。R/3 還配備有適當的界面來集成用户自己的軟件或 外來的軟件。

(4)開放性:R/3 的體系結構符合國際公認的標準,使客户得以突破專用硬件平台及 專用系統技術的侷限。同時,SAP 提供的開放性接口,可以方便地將第三方軟件 產品有效地集成到 R/3 系統中來。

(5)用户友好:圖標與圖形符號簡化了人機交互時的操作。統一設計的用户界面確保 了工作人員能夠運用同樣的熟悉的技術從事不通的工作。

(6)模塊化:R/3 的模塊結構使用户既可以一個一個的選用新的實用程序,也可以完 全轉入一個新的組織結構體系。

(7)可靠:作為用户的商業夥伴 SAP 始終不斷地為集成化軟件的質量設立越來越多的 國際標準。

(8)低成本高效益:信息處理是取得競爭優勢的要點之一。當競爭加劇時,企業必須 更加努力地獲取其市場佔有量。這就要使用高度集成化的數據處理軟件,而 R/3 正是這種軟件的優秀典範。

(9)國際適用:R/3 支持多種語言,而且是為跨國界操作而設計的。R/3 可以靈活地 適應各國的貨幣及税物要求。

(10)服務:R/3 系統實施過程中,用户將得到 SAP 技術專家的全面支持與服務,包括 組織結構方面與技術方面的諮詢,項目計劃與實施方面的協助,以及培訓課程

ABAP

ABAP(Advanced Business Application Programming)語言是一種高級商用編程語言,是面嚮對象語言的一種。經過不斷的發展,現在的版本為 ABAP/4。ABAP 語言支持封裝性和繼承性。封裝性是面向對象的基礎,而繼承性則是建立在封裝性基礎上的主要特性。在SAP R/3 系統中,很多應用程序都是通過 ABAP/4 語言編寫的。ABAP 語言是整個SAP系統的基礎開發者工具和技術平台,包含事件驅動(Evet-Driven)、機制和模塊化技術(Modularization)、完整的面向對象概念及實現方法(Object Oriented)等。

嚴格地講,ABAP/4不僅僅是一個開發工具,而且是一套完整的client/server開發環境,這很好理解,微軟的Visiual Studio是一開發環境,VB,VC++等是開發工具。ABAP開發環境包含支持程序開發的一些函數和包等。

如圖,是SAP開發環境的一個三層架構的例圖,三層(多層)的概念也不新鮮,比如在安裝SAP 時也可將 DB instance 安在一台 server, Central instance 在另一台所謂的 Application server(我想這應是相關 SAP 基礎系統包括各種應用程序所在),而通常客户端安裝的 SAP Logon Front End,SAP會話管理器等是所謂的表示層,它通過TCP/IP,SAP 演示協議或 RFC 和應用服務器進行數據傳輸,用户看到的只是處理後的數據返回。

和Delphi的三層邏輯相近,在應用層包含多個組件象 ABAP 開發平台,身份驗證,系統管理維護等用以處理會話,更新,排隊,網關,數據層處理 native 和 Open SQL 等(這是從內部機制方面看),SAP各模塊應用的業務邏輯都在應用層被處理(從用户角度)然後結果被返回。

ABAP運行在哪

所有的 ABAP 程序都駐留在 SAP 數據庫裏。他們不像 Java 或者 C++ 程序那樣存儲在一個單獨的外部文件裏,在數據庫裏所有的 ABAP 代碼都以兩種形式存在:可以用 ABAP workbench 查看和編輯的源代碼和由 ABAP 運行環境載入和解釋的“編譯”代碼(技術上更精確地説是“產生”代碼)。當一段 ABAP 源代碼第一次被調用時會隱含的進行代碼產生。如果稍後源代碼改變了或者程序訪問的對象改變了(比如數據庫的表添加了新的字段),產生代碼就會自動重新產生。

ABAP 程序在運行時系統(SAP核心的一部分)的控制下運行在 SAP 應用服務器裏。運行時系統負責處理 ABAP 語句,控制顯示的邏輯序列和響應事件(比如,用户按一下屏幕上的一個按鈕)。ABAP 運行時系統的一個關鍵組件是數據庫接口,它把 ABAP 的數據庫無關語句(“開放SQL”)變成底層數據庫管理系統可以理解的語句(“本地SQL”)。數據庫接口處理 ABAP 程序和關係數據庫之間所有的通信;它也有一些其他的作用,比如把經常訪問的數據緩存到應用服務器本地的存儲器裏。

ABAP程序類型

ABAP/4語言所開發的程序主要分為應用程序和其他程序兩種。

(1)應用程序類型。

  • 可執行程序(Executable Program,類型代碼 1):整個程序由 Report 關鍵字語句進行引導,可以包含自定義的屏幕,在 ABAP 編輯器中進行編輯,並可直接在 ABAP 編輯器中執行。此外,還可以通過 Submit語句或者分配報表事務代碼來運行。
  • 模塊池(Module pool,類型代碼 M):出案件時由系統自動生成,由PROGRAM 關鍵字進行引導,一般包含程序自定義的屏幕和對話模塊,必須通過事務代碼運行。

習慣上,應用程序往往是按照報表程序和對話程序(又稱動態程序、事務程序)進行劃分的。在可執行程序中可以處理報表事件,也可以加入屏幕和對話模塊,而模塊池程序一般只用於事務程序的設計。

報表程序:報表程序用於分析數據庫表中的數據,分析的結果可顯示在屏幕上或發送到打印機上。邏輯數據庫支持報表程序,它是一種特殊的 ABAP/4 程序,使開發者不必編碼即可對所有的數據庫進行訪問。

對話程序:對話程序組織為包含對話模塊的模塊池。每個動態程序(由一個屏幕及其流邏輯組成的“動態程序”)都基於一個 ABAP/4 對話程序。流邏輯包含對 ABAP/4 對話模塊的調用。

(2)其他程序類型。
其他程序不能直接執行,但這種類型的程序可作為代碼容器,為 ABAP 程序提供各種各樣的模塊化代碼單元。主要有以下幾種類型。

  • 功能組(Function groups,類型代碼 F):由 Function-pool語句引導,包含一個或多個功能模塊,可包含自己的屏幕,一般不能直接運行功能。功能模塊是模塊化的代碼段,不能用來直接執行,而需要在普通程序中調用。

  • ABAP類庫(Class pools,類型代碼 K):由 Class-pool語句引導,是系統 ABAP對象類和多個局域類。類庫在 ABAP 工作台工具 Class Builder進行創建。

  • ABAP 接口庫(Interface pools,類型代碼J):由 Interface-pool 語句引導,與類型K程序相似,用於定義ABAP對象的接口,可被人以全局類和局部類實現,不能直接運行。

  • 子程序池(Subroutine pools,類型代碼 S):由 Program 語句引導,包含一個或者多個程序代碼模塊或類方法,允許被普通程序調用,不可包含自定義的用户屏幕,在ABAP編輯器中進行編輯。

  • 類型組(Type Groups,無類型代碼):由 Type-pool語句引導,在數據字典中定義,不包含任何屏幕和處理塊,用於定義全局數據類型。

  • 包含程序(Include Programs,類型代碼I):不需要任何語句引導,也無須包含完整的處理塊。無須獨立編譯,包含程序只是代碼複用,在 ABAP/4 中編輯,可直接插入其他程序中。包含程序可通過 Include語句被多個程序引用,與其他程序之間不存在參數接口。

ABAP開發環境的建立

SAP行業特別是早些年是個被異化的行業,人們可看到某些人出於經濟目的鋪天蓋地的對ERP不正確的宣傳,這同樣反應在IT各行業,“拿到XX牌Route認證,拿到XX網絡認證,拿到XX數據庫認證,拿到XX管理學位年薪基本的都在十幾萬以上”,現在人們發現實際不是這回事,從現在,SAP也已經開始降温了,我想這趨勢還會持續。

和學習其它語言唯一不同的是,ABAP是集成在SAP基礎平台系統中的,為了學習ABAP,你必須安裝一套SAP(可選擇R/3,miniSAP,或IDES),而通常的情況是安裝光盤渠道比較難找(只有一些大企業實施了SAP才可能有,而且還必須注意版權問題,其他開發工具隨便都可找到安裝程序),對想學習ABAP的程序員這是個主要門檻。

Add a new 评论

Some HTML is okay.