SAP

SAP là gì?

đăng 20:07, 17 thg 6, 2010 bởi Vo Ky

Thời điểm hiện tại nhiều công ty sử dụng SAP. Nhiều diễn đàn nói về SAP. Tôi xin giới thiệu bài viết nói về SAP.

Bài viết của daudua
http://webketoan.vn/forum/showthread.php?t=30063

SAP R/3 & ABAP Programing Dạo này các dự án outsource của nước ngoài cũng nhiều, mà nhu cầu customize hệ thống SAP cho các doanh nghiệp nước ngoài ở Việt Nam cũng đang tăng lên. Các công ty software ào ạt tuyển dụng, đào tạo lập trình viên ABAP.
Bản thân cũng đã từng tham gia là lập trình viên ABAP trong một vài dự án ABAP của nước ngoài, cũng cảm thấy kiến thức chưa đến đâu. Lâu không đụng đến, nay tự nhiên hứng thú về SAP lại nổi lên, ngồi lục lại đống tài liệu đã xem trước đây, lúc rảnh rỗi đã có dịch một số tài liệu về SAP và ABAP. Xin post lên đây để cùng chia sẻ với mọi người và cũng mong nhận được sự hưởng ứng bổ sung và đóng góp của cộng đồng làm về SAP và ABAP.

GIỚI THIỆU

SAP được đánh giá là một trong bốn công ty software lớn nhất thế giới, sau Microsoft, IBM, và Oracle. Là công ty tập trung đi tiên phong vào cung cấp giải pháp phần mềm Enterprise Resource Planning (ERP) lớn nhất. Sản phẩm chính của công ty la SAP R/3.

SAP là viết tắt từ Systems, Applications and Products data in process

R là Realtime processing

Số 3 là Three tier application architecture: database, application server and client SAPgui.

Các gói sản phẩm chủ đạo bao gồm

(APO) Advanced Planner and Optimizer ,
(BW) Business Information Warehouse,
(CRM) Customer Relationship Management,
(SRM) Supplier Relationship Management,
(HRMS) Human Resource Management Systems,
(PLM) Product Lifecycle Management,
(XI) Exchange Infrastructure
(KW) Knowledge Warehouse.

Theo cáo báo cáo, hiện có hơn 91 ngàn bản SAP đã được cài đặt tại hơn 28 ngàn công ty. Có hơn 12 triệu người đang sử dụng SAP trên 120 nước trên thế giới.

Còn ở Việt Nam, hiện nay đã có hơn 20 công ty sử dụng SAP (không kể SAP in One)

CẤU TRÚC HỆ THỐNG SAP R/3

SAP xây dựng dựa trên cấu trúc R/3 mô hình 3 lớp Client/server:

Lớp giao tiếp Server (Presentation).
Lớp ứng dụng (Application).
Lớp Dữ liệu (Database).
Lớp Giao tiếp Server (Presentation Server)

Giao tiếp Server(Presentation server) thực ra là một chương trình có tên là sapgui.exe, được cài đặt trển máy trạm của ngườI dùng. Để khởI động ngườI dùng có thể double click chuột vào Icon hoặc mở từ menu. Khi khởI động phần giao tiếp Server sẽ hiển thị R/3 menu trong cửa sổ. Cửa sổ này được xem nhu là SAPGUI, hay còn gọI là giao diện ngườI dùng, hay chỉ đơn giản là giao diện. Giao diện sẽ nhận các yêu cầu đầu vào từ ngườI dùng thông qua chuột, bàn phím và gửI các yêu cầu đến lớp Ứng dụng Server (Application Server) để xử lý. Lớp Ứng dụng sau khi đã định dạng kết quá sẽ gửI kết quả lạI SAPGUI cho ngườI dùng.

Lớp Ứng dụng server (Application Server )

Lớp Ứng dụng Server (Application Server ) là một tập hợp các lệnh có thể thi hành được, được tập hợp và biên dịch bởi các chương trình ABAP/4. Và quản lý các nội dung đầu vào và đầu ra của chúng.
Khi một lớp Ứng dụng được khởi động tất cả các lệnh này sẽ được khỏi động cùng lúc và khi lớp Ứng dụng kết thúc thì tất cả cùng được đóng lại. Số xử lý khi khởi động lớp Ứng dụng được khai báo trong một file config gọi là application server profile.

MỗI một lớp Application Server có một profile chỉ định các đặc tính khi chúng khởI động và khi đang chạy. Một ví dụ, một application server profile chỉ định:

- Số xử lý và kiểu thi hành của xử lý.
- Tổng số bộ nhớ cho mỗI xử lý có thể xử dụng.
- ThờI gian mà nguờI dùng có thể không sử dùng trước khi tự động thoát khỏI hệ thống.
Lớp application server tồn tạI để biên dịch chương trình ABAP/4, Một chương trình ABAP/4 có thể khởI động các lệnh trên lớp Giao tiếp server nhưng không thể thực thi chúng ở đó.
Nếu chương trình ABAP/4 của bạn yêu cầu thông tin từ Database, lớp Application sẽ định dạng yêu cầu và gửi đến lớp Database Server.
Lớp dữ liệu (Database Server)

Database Server là một tập hợp các lện thực thi, chấp nhận các yêu cầu dữ liệu từ lớp Application Server. Các yêu cầu sẽ được đưa đến RDBMS (Relation Database Management System), RDBMS gử dữ liệu trở về lạI Database Server, sau đó đưa về Application Server. Ở lớp Application Server sẽ chuyển thông tin đó và chương trình ABAP/4 của bạn.

Thiết lập Server

Thiết lập trong cấu trúc 3 lớp Client/Server, các lớp Presentation, Applications và Database tất cả được chạy trên những máy tính riêng biệt. Đây là thiết lập phổ biến nhất cho các hệ thống lớn và trong sản xuất.

Các thiết lập trong quá trình phân phối, lớp Application và Database servers được kết hợp trong một máy tính còn Presentation servers chạy riêng biệt. Trường hợp này được sử dụng cho các hệ thống nhỏ và thường sử dụng cho các hệ thống phát lập trình phát triển.

Thiết lập trong cấu trúc 2 lớp Client/Server, Lớp Presentation và Application servers được kết hợp vớI nhau và lớp Database server được chia riêng ra. Thiết lập này được sử dụng để kết hợp vớI các Application server khác. Nó thường được dử dụng cho Batch Server khi các chương trình Batch được tách ra từ các Server online. Một SAP GUI sẽ được cài đặt lên nó để cung cáp cấp điều khiên nội bộ.

Khi tất cả các server được kết hợp trên một máy tính, bạn sẽ có một Thiết lập trung tâm (a central configuration). Trường hợp này rất ít thấy bởi bì nó mô tả một hệ thống R/3 chỉ một người dùng.

Định nghĩa một hệ thống R/3

Định nghĩa một cách đơn giản nhất của một hệ thống R/3 là “Một dữ liêu” (One database). Trong hệ thống R/3 chỉ có một database. Định nghĩa mở rộng hơn, R/3 được xem như là tất cả của các thành phần cấu thành được đính kèm trong một database. Một hệ thống R/3 được tạo bởi một database server truy cập vào một database đơn, một hay nhiều Application server, và một hay nhiều lớp Kết nối server. Theo định nghĩa, đó là tất cả các thành phần được kèm trong một cơ sở dữ liệu. Nếu bạn có một cơ sở dữ liệu, bạn sẽ có một hệ thống. Nếu có một hệ thống, sẽ có một cơ sở dữ liệu. Trong một quá trình triển khai, thường chỉ có một hệ thống (hoặc một database) được chỉ định và quá trình phát triển, một hoặc nhiều hệ thống được thiết kết để kiểm tra và một được chỉ định cho sản xuất.

Thuật ngữ R/3 system landscape sự mô tả con số của các hệ thống trong khi cài đặt SAP, và xem chúng được thiết kết như thế nào, như là phát triển, kiểm tra, hay sản xuất.

Định nghĩa một R/3 Instance

Khi bạn nghe ai đó nói từ Instance, phần lớn thời gian người đó sẽ nghĩ đến một lớp Application Server. Thuật ngữ Instance thì đồng nghĩa vớI Application Server.

Thuật ngữ Central instance nói đến lớp Database Server. Nếu một Application Server và Database server được đặt trong cùng một máy tính, thuật ngữ Central instance nói đến máy tính nơi cả hai lớp được đặt trong đó.

Trong hầu hết các thuật ngữ chung, một Instance là một Server . Đó là một tập hợp các xử lý của R/3 cung cấp cho hệ thống R/3.

Cấu trúc Application Server

Tất cả các yêu cầu được gửi từ lớp Giao tiếp Server (presentation servers) sẽ được trực tiếp đến dispatcher trước. Dispatcher sẽ ghi vào dispatcher queue và sắp xếp theo trình tự a first-in, first-out. MỗI yêu cầu sau đó sẽ được đưa vào luồng xử lý hiện đang có. TạI một thờI điểm một luồng xử lý sẽ điều khiển một yêu cầu.

Để thực hiện bất kỳ yêu cầu nào của ngườI dùng, một luồng xử lý cần được chỉ định vị trí hai vùng bộ nhớ: Vùng chứa thông tin yêu cầu ngườI dùng (User contex) và vùng nhớ cuốn (Roll area). Vùng thông tin của ngườI dùng là một vùng bộ nhớ, trong đó chứa các thông tin của ngườI dùng. Vùng nhớ cuốn chứa các thông tin về các thi hành của chương trình.

Tìm hiểu một vùng nhớ thông tin người dùng (user context)

Một vùng thông tin người dùng (user context) là vùng nhớ chứa các đặc tính của người dùng đã truy cập vào hệ thống R/3. Chứa thông tin trong hệ thống về người dùng như là:

- Các thiết lập hiện tại của người dùng.
- Các quyền của người dùng.
- Tên của các chương trình mà người dùng hiện đang chạy.

Khi một người dùng truy cập vào hệ thống, vùng nhớ người dùng sẽ được chỉ định cho lần truy cập đó. Khi thoát khỏi hệ thống, vùng nhớ sẽ được giải phóng. Nó được sử dụng trong khi chương trình đang xử lý, và những phần quan trong sẽ được mô tả rõ hơn ở những phần sau.

Tìm hiểu vùng nhớ cuốn (Roll area)

Một Roll area là một vùng nhớ được tạo ra cho một luồng xử lý trong một chương trình. Nó chứa thông tin về chương trình trong R/3 như:

- Giá trị của các biến.
- Vị trí đông của bộ nhớ.
- Con trỏ của chương trình hiện tại.

Mỗi khi người dùng khởi động một chương trình, một vùng nhớ cuốn được tạo ra cho sự kiện đó của chương trình. Nếu có hai người dùng chạy cùng một chương trình tại cùng một thời điểm, sẽ có hai vùng cuộn sẽ được tạo ra.

Vùng nhớ cuộn sẽ được giải phóng khi chương trình kết thúc.

Ghi chú: Khi nói chuyện với một nhà tư vấn cơ bản, bạn có thể nghe thuật ngữ Roll Area được dùng để chỉ đến tất cả các Roll Area cho một user hay thậm chí tất cả Roll Area trong một Application Server. Thông thường bạn có thể xác định ý nghĩa chính xác trong giớI hạn của nộI dung được sử dụng.

Cả hai vùng nhớ Roll Area và User Context chạy phần quan trọng trong xử lý Dialog step.

Tìm hiểu một Dialog Step

Ghi chú:
Một Dialog Step được các nhà tư vấn cơ bản sử dụng như là một đơn vị đo thờI gian phản hồI của hệ thống.

Dialog Step là một xử lý cần để từ một màn hình sang màn hình tiếp theo. Nó bao gồm tất cả các xử lý xảy ra sau khi user đưa ra một yêu cầu, cho đến khi và bao gồm xử lý cần để hiển thị màn hình tiếp theo.

Ví dụ, khi user click vào phím Enter trên Change Vendor: Initial Screen, anh ta sẽ khởI tạo một Dialog Step and một đồng hồ cát sẽ xuất hiện để phòng ngừa các input khác. Chương trình sapmf02k sẽ lấy thông tin của Vendor và hiển thị lên Change Vendor: Ảddress Screen. Điều này đánh dấu sự kết thúc của Dialog Step và user bây giờ có thể tạo một yêu cầu mớI khác.

Có 4 cách user có thể khởI tạo một Dialog Step từ SAP GUI:
- Bấm Enter.
- Bấm một phím chức năng.
- Click vào một button trên màn hình.
- Chọn một menu item.
Việc các lập trình viên ABAP/4 cần biết về Dialog Step rất quan trọng, bởI vì họ tạo một đơn vị riêng biệt của xử lý trong một chương trình ABAP/4.

Originally posted by TT:

Cơ hội được đào tạo SAP bài bản ở VN

Lễ kí kết hợp tác đào tạo giữa Khu Công nghệ phần mềm Đại học Quốc gia TP.Hồ Chí Minh và Kaisa consulting, SAP Philippine.

Sáng ngày 6/6/2007, Khu Công nghệ phần mềm ĐHQG-HCM đã kí kết hợp tác đào tạo với Kaisa Consulting, SAP (Philippines). Bà Maria Christina Teh Opinion – Giám đốc điều hành Kaisa Consulting, Ông Võ Thiếu Hưng – PGĐ Khu CNPM ĐHQG-HCM cùng Ông Francis Lee trưởng phòng phát triển thị trường Đông Nam Á của tập đoàn SAP đại diện cho ba bên đã kí kết biên bản ghi nhớ. Ông Ramon C.Agustines, Chủ tịch tập đoàn Ramcar, PGS.TS Huỳnh Thành Đạt cùng đại diện lãnh đạo một số ban chức năng, trường thành viên và đông đảo sinh viên của ĐHQG-HCM đã đến dự lễ.

Chương trình hợp tác đào tạo giữa Khu CNPM ĐHQG-HCM và Kaisa Consulting, SAP(Philippines) với chủ đề “Chìa khóa Năng lực cạnh tranh toàn cầu” là chương trình đào tạo tiến tiến bậc nhất về CNTT tại Việt Nam. Học viên sẽ được học với giáo trình chuẩn của SAP, với đội ngũ chuyên gia và các giảng viên uy tín được chứng nhận bởi các tổ chức giáo dục quốc tế truyền đạt những kiến thức kết hợp giữa nghiên cứu chuyên sâu và tư duy hiện đại nhằm nâng cao kiến thức và khả năng ứng dụng trong thực tiễn, học viên được học tại những phòng học hiện đại theo đúng chuẩn của SAP. Kết thúc khóa học học viên sẽ được cấp chứng chỉ toàn cầu sau khi trải qua kỳ sát hạch của SAP.

SAP (Systems Applications and Products in Data Processing) là công ty hàng đầu thế giới về các về lĩnh vực phần mềm quản trị doanh nghiệp cũng như cung cấp phần mềm độc lập trong tất cả các lĩnh vực và hiện đã có mặt tại hầu khắp các nước trên thế giới.

Kaisai Consulting là công ty nằm trong tập đoàn Ramcar của Philippines, chuyên cung cấp dịch vụ tư vấn phần mềm đã được SAP chọn là đối tác chiến lược trong đào tạo để triển khai các khóa đào tạo SAP tại Khu CNPM – ĐHQG-HCM. Đây là bước đi nỗ lực của các bên nhằm biến khu CNPM ĐHQG-HCM thành địa chỉ đào tạo cho các doanh nghiệp, cá nhân muốn cập nhật kiến thức, nâng cao trình độ cải thiện kỹ năng và kiến thức trong vai trò một chuyên gia vận hành SAP với chứng chỉ quốc tế phục vụ cho sự phát triển của doanh nghiệp cũng như sự nghiệp bản thân trong nhiều lĩnh vực khác nhau của CNTT và ứng dụng.

Phát biểu tại Lễ ký kết, ngài Giám đốc phụ trách đào tạo của Kaisa cho biết: “Chương trình đào tạo này nhằm biến kiến thức thuần túy trở thành kiến thức trong thực hành, rút ngắn khoảng cách giữa đào tạo và thực tiễn. Học viện Kaisa vinh dự được SAP chọn là nhà cung cấp các chương trình giáo dục cho các tư vấn viên chuyên nghiệp, các chuyên gia có kỹ năng cao trong cá lĩnh vực ERP (năng lực về CNTT trong quản lý và kế hoạch hóa tài nguyên doanh nghiệp), cung cấp các giải pháp chuyên biệt CRM (hệ thống quản lý quan hệ khách hàng) và SCM (hệ thống dây chuyền cung cấp) tại Việt Nam và Châu Á Thái Bình Dương. Sứ mệnh của Kaisa là đào tạo nâng cao năng lực nguồn nhân lực ở Việt Nam để nâng cao khả năng cạnh tranh của các công ty trong tương lai nhằm đem lại lợi ích cho nền kinh tế và người dân Việt Nam”.

Bà Maria Cristina R.Opinion, Giám đốc điều hành Kaisa Consulting cho biết: “chương trình mà học viện Kaisa cung cấp tại Việt Nam sẽ mang lại nhiều lợi ích cho các doanh nghiệp VN nhờ việc đào tạo và cung ứng cho thị trường những chuyên gia tư vấn về CNTT phù hợp, đáp ứng nhu cầu nhân lực CNTT của các doanh nghiệp, góp phần tăng cường tính thích ứng và khả năng tuyển dụng của nguồn nhân lực Việt Nam…”

PGS.TS Huỳnh Thành Đạt, PGĐ ĐHQG-HCM đã phát biểu chúc mừng sự hợp tác đào tạo giữa Khu CNPM và Kaisa consulting, SAP Philippine, đồng thời bày tỏ sự tin tưởng vào thành công của Kaisa trong đào tạo nguồn nhân lực ứng dụng CNTT tại Khu CNPM ĐHQG-HCM và mong muốn ĐHQG-HCM có được sự hợp tác lâu dài và sâu rộng với SAP, không chỉ trong lĩnh vực huấn luyện kỹ năng mà cả trong lĩnh vực nghiên cứu giải pháp, chuyển giao công nghệ và đào tạo trong chương trình chính quy để các sinh viên của ĐHQG-HCM có cơ hội được học tập, làm quen với công nghệ phần mềm tiến tiến của SAP.


Theo
http://www.vnuhcm.edu.vn/tintuc196.php

Tìm hiểu một Roll-In/Roll-Out Processing

Một chương trình ABAP/4 chỉ chiếm giữ một tiến trình xử lý cho một Dialog step. TạI thờI điểm bắt đầu của Dialog Step, vùng nhớ Roll Area và User Contex sẽ được cuốn vào (rollled in) trong tiến trình. TạI thờI điểm kết thúc Dialog Step chúng được giảI phóng (roll out).

Trong quá trình cuốn vào, các con trỏ đến các vùng Roll area và User contex được đưa vào trong tiến trình xử lý. Điều này cho phép tiến trình xử lý truy cập đên dữ liệu trong các vùng và thực hiện các xử lý của user và của chương trình. Lúc đó, cả hai vùng sẽ được thoát ra (roll out). Roll out làm mất hiệu lực con trỏ và tách các vùng ra khỏI các tiến trình xử lý. Và xử lý đó được giảI phóng để thực hiện các xử lý yêu cầu khác. Khi đó chương trình chỉ chiếm giữ bộ nhớ mà không tiêu tốn CPU. Các user nhìn vào mành hình đã gửI và tiếp tục gửI một yêu cầu khác.

Khi một yêu cầu khác được gửI để tiếp tục xử lý, dispatcher chỉ định yêu cầu đó vào xử lý sẵn có đầu tiên. Nó cũng có thể giống hoặc là một tiến trình xử lý khác. Các vùng User contex và Roll area cho chương trình sẽ lạI được cuốn vào tiến trình xử lý. Xử lý sẽ tiếp tục đến khi màn hình tiếp theo được hiện ra hay đến khi chương trình bị ngưng. Nếu một màn hình khác được gửI , các vùng nhớ sẽ được thoát ra. Khi chương trình bị ngưngm vùng Roll area sẽ được giảI phóng, còn vùng User Contex còn tồn tạI cho đến khi user thoát khỏI hệ thống.

Trong một hệ thống với nhiều người dùng chạy nhiều chương trình, chỉ một vài trong những chương trình đó sẽ được kích hoạt trong tiến trình xử lý trong cùng một thời điểm. Khi chúng không chiếm một xử lý, chúng được thoát ra khỏi bộ nhớ và chỉ chiếm giữ RAM. Điều này duy trì CPU và làm cho hệ thống R/3 có thể đạt được các giao dịch cao và thông suốt.

Ghi chú: Các chương trình ABAP/4 không có khả năng chặn nhiều sự kiện chung của Window. Các sự kiện phát sinh nhiều những thông báo như là nhấn phím, thay đổI focus, và di chuyển mouse sẽ không được vượt qua các chương trình ABAP/4. Kết quả là không có cách nào thể hiện một vài chức năng được tìm ra trong các chương trình Window khác.

Ví dụ: trong ABAP/4 bán không thể hợp lệ nộI dung của một trường khi ngườI dùng bấm phím Tab. Bạn phảI thay thể đợI cho đến khi user khởI tạo một Dialog Step.

Dữ liệu được gửi đến lớp giao tiếp (Presentation) như thế nào

Những messages trao đổi giữa lớp Presentation và lớp Application được đặt trong một định dạng thuộc sở hữu của SAP. SAP GUI sẽ chấp nhận thông tin màn hình gửi từ lớp Application và định dạng chúng cho phù hợp với platform đang chạy. Điều này cho phép các platform hardware khác của người dùng kết nối đựoc với một Application đơn.

Ví dụ, một OS/2 PC và một Windows PC cả hai đêu có thể cùng kết nối vào cùng Applicaton tại cùng thời điểm.

1-1 of 1