Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
194,38 KB
Nội dung
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
1
TIÊU CHUẨNVIẾTMÃCHƯƠNGTRÌNHSAP
VERSION 0.01
KIỂM SOÁT PHIÊN BẢN
Tổng hợp bởi
Trần Quý Giáp
Ngày tạo:
13 / 04 / 2009
Xem lại bởi:
Nguyễn Gia Khánh
Ngày xem:
15 / 04 / 2009
Xác nhận bởi:
Nguyễn Gia Khánh
Ngày xác nhận:
15 / 04 / 2009
BẢN GHI NHẬN THAY ĐỔI
Ngày Phiên Bản Tác giả Diễn giải
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
2
MỤC LỤC
I Tổng quan. 4
I.1 Mục đích 4
I.2 Phạm vi 4
I.3 Các thuật ngữ 4
II Hướng dẫn lập trình cho Conversion 5
II.1 Định dạng Source Code 5
II.1.1 Ký tự sử dụng trong môi trường code 5
II.1.2 Hiệu chỉnh source code 5
II.1.3 Các câu lệnh 5
II.1.4 Thiết lập môi trường code 5
II.2 Cách đặt tên biến trong chươngtrình 6
II.2.1 Tên biến trên màn hình Selection Screen 6
II.2.2 Tên biến trên màn hình nhập liệu (Screen) 7
II.2.3 Quy tắc đặt tên biến chung cho chươngtrình 7
II.2.4 Quy tắc đặt tên biến cho subroutine 8
II.2.5 Quy tắc đặt tên biến cho Function Module 8
II.3 Các chuẩn lập trình chung 8
II.3.1 Truy cập tập tin 8
II.3.2 Text element 8
II.3.2.1 Phân loại text element 8
II.3.3 Chú thích chươngtrình 9
II.3.3.1 Phương pháp chú thích chươngtrình 9
II.3.3.2 Khai báo biến 9
II.3.3.3 Câu lệnh INCLUDE 9
II.3.3.4 Khối xử lý 9
II.3.3.5 Gọi subroutine hoặc function module 10
II.3.3.6 Những chú thích khác 10
II.3.4 Header của chươngtrình 10
II.3.4.1 Header của chươngtrình chính 10
II.3.4.2 Header của chươngtrình INCLUDE 10
II.3.4.3 Header của Subroutine 11
II.3.4.4 Header của function module 11
II.3.4.5 Theo dõi sự thay đổi của source code 12
II.3.4.6 Thêm chú thích vào phần header của chươngtrình chính hoặc function
module 12
III Hướng dẫn đặt tên cho đối tượng. 13
III.1 CÁC QUY TẮC CHUNG 13
III.1.1 Quy tắc đặt tên của SAP 13
III.1.2 Đảm bảo việc phát triển và vận hành được thuận lợi 13
III.2 QUY TẮC ĐẶT TÊN 13
III.2.1 Quy tắc đặt tên chung 13
III.2.2 Tiền tố theo quy tắc của SAP(Kí hiệu <R>) 14
III.2.3 Tiền tố cho việc phát triển các đối tượng mới trong SAP(Kí hiệu <$>) 14
III.2.4 Phân loại đối tượng (Kí hiệu <PL>) 14
III.3 QUY TẮC TẠO CÁC ĐỐI TƯỢNG VÀ THÀNH PHẦN 16
III.3.1 Quy tắc tạo field của table, structure 16
III.3.2 Quy t
ắc tạo table type 16
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
3
III.3.3 Quy tắc tạo data element 17
III.3.4 Quy tắc tạo domain 17
III.3.5 Quy tắc tạo chươngtrình 17
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
4
I Tổng quan.
I.1 Mục đích
• Quy chuẩn cách viết code trong chươngtrình SAP.
I.2 Phạm vi
Phạm vi của tàiliệu áp dụng cho tất các dự án triển khai SAP trong trung tâm dịch vụ
FIS-ERP.
I.3 Các thuật ngữ
Thuật ngữ Diễn giải
Đối tượng Là các đối tượng cần phát triển trong SAP. Bao gồm: Program (chương
trình), Table (Bảng dữ liệu), Data Element (Thông tin nghiệp vụ của kiểu
dữ liệu), Domain (Kiểu dữ liệu), Search Help (Danh sách giá trị hướng
dẫn), v.v…
Package Package là một thành phần dùng để chứa các đối tượng khác. Thường
được tạo ra lúc tạo mới đối tượng và rất ít khi phải thay đổi trong suốt
quá trình phát triển.
Request Dùng để quản lý các đối tượng trong ABAP và quản lý các lập trình viên
theo các yêu cầu phát triển. Ngoài ra request còn được dùng để chuyển
giao mã nguồn sang môi trường khác.
Object Editor Màn hình dùng để soạn thảo các đối tượng
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
5
II Hướng dẫn lập trình cho Conversion
Các hướng dẫn chính từ việc thực hiện yêu cầu dạng Conversion sang mã nguồn.
II.1 Định dạng Source Code
II.1.1 Ký tự sử dụng trong môi trường code
Các ký tự sử dụng trong môi trường code phải là chữ hoa và dùng ngôn ngữ là tiếng anh.
II.1.2
Hiệu
chỉnh source code
Phải đảm bảo chạy Pretty Printer sau khi code xong.
II.1.3
Các
câu lệnh
Mỗi dòng chỉ được viết một câu lệnh và một lệnh nên viết trên một dòng, trong trường
hợp quá dài thì viết nhiều hơn một dòng code.
II.1.4
Thiết
lập môi trường code
Thiết lập môi trường code như hướng dẫn sau.
Từ màn hình ABAP Editor (SE38 hoặc SE80), chọn Utilities->Settings
Chọn Tab Pretty Printer
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
6
II.2 Cách đặt tên biến trong chươngtrình
Tên biến sử dụng trong chươngtrình phải theo các quy tắc sau.
• Không được dùng dấu "-" trong tên biến để tránh nhầm lẫn với việc triết xuất dữ liệu
từ bảng.
• Dùng dấu "_" để phân chia nội dung của biến trong trường hợp tên biến quá dài.
• Các biến sử dụng trong chươngtrình phụ (subroutine, function module) được gọi là
biến cục bộ.
II.2.1 Tên biến trên màn hình Selection Screen
Phân loại
Quy tắc đặt tên
Nội dung
Toàn cục Cục bộ
Biến đơn trị
(PARAMETERS)
N/A P_*
Dùng để khai báo biến với một chọn lựa
Biến đa trị (SELECT-
OPTIONS)
N/A S_*
Dùng để khai báo biến với nhiều chọn lựa
Block N/A BL_*
Định nghĩa nhóm các trường
Radio button group N/A GRG_*
Định nghĩa nhóm radio button
Tên biến nên đặt tên theo các trường trong table hoặc theo data element của biến đó.
Ví dụ: P_BUKRS TYPE BUKRS dùng để định nghĩa biến company code.
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
7
II.2.2 Tên biến trên màn hình nhập liệu (Screen)
Phân loại
Quy tắc đặt
tên
Nội dung
Nhóm các trường (Box) GRP*
Trong trường hợp tiêu đề của nhóm thay đổi động thì
tên nhóm được đặt theo quy tắc đặt tên chung của
chương trình (3.2.3)
Nút lệnh (Push Button) CMD*
Trong trường hợp Text hiển thị trên nút thay đổi động
thì tên nút được đặt theo quy tắc đặt tên chung của
chương trình (3.2.3)
Bảng dữ liệu (Table
Control)
TBL*
Tab dữ liệu (Tab Control) TAB*
Các nút trên tab CMD*
Trong trường hợp Text hiển thị trên nút thay đổi động
thì tên nút được đặt theo quy tắc đặt tên chung của
chương trình (3.2.3)
Subscreen Area SUB*
Custom Control CUS*
Các trường *
Các trường trên màn hình phải được thiết kế từ
structure, table hoặc view trong ABAP dictionary.
Combobox *
Trường trên màn hình có thuộc tính list down. Thuộc
tính này phải là Listbox with key.
Thuộc tính group của các
trường
G*
* là các số để định nghĩa nhóm customize của các
trường
II.2.3 Quy tắc đặt tên biến chung cho chươngtrình
Phân loại Quy tắc toàn cục Quy tắc cục bộ
Constant (CONSTANTS) GC_* LC_*
General variable GW_* LW_*
Flag variable GW_*_FLG LW_*_FLG
Counter variable GW_*_CNT LW_*_CNT
Internal table GT_* LT_*
Work area
GS_* LS_*
Structure type
GTY_* LTY_*
Type (table type) GTY_T_* LTY_T_*
Field symbol <GF_*> <LF_*>
Object of class GO_* LO_*
Tên biến nên đặt tên theo các trường trong table hoặc theo data element của biến đó.
Ví dụ: GW_BUKRS TYPE BUKRS dùng để định nghĩa biến company code.
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
8
II.2.4 Quy tắc đặt tên biến cho subroutine
Phân loại Quy tắc cục bộ
General Variable LPW_*
Flag Variable LPW_*_FLG
Counter Variable LPW_*_CNT
Internal table LPT_*
Structure (work area)
LPS_*
Undefined type LP_*
Tên biến nên đặt tên theo các trường trong table hoặc theo data element của biến đó.
Ví dụ: LPW_BUKRS TYPE BUKRS dùng để định nghĩa biến company code.
II.2.5 Quy tắc đặt tên biến cho Function Module
Loại Quy tắc
IMPORT I_*
EXPORT E_*
CHANGING C_*
TABLES T_*
Tên biến nên đặt tên theo các trường trong table hoặc theo data element của biến đó.
Ví dụ: I_BUKRS TYPE BUKRS dùng để định nghĩa biến company code.
II.3 Các chuẩn lập trình chung
II.3.1 Truy cập tập tin
Khi làm việc với các tập tin trên máy chủ phải sử dụng đường dẫn tập tin luận lý để tránh
trường hợp đường dẫn tập tin phụ thuộc vào hệ điều hành và phụ thuộc vào từng hệ thống.
II.3.2 Text element
Quản lý text trong chươngtrình như sau.
• Nếu text phụ thuộc vào ngôn ngữ thì sử dụng text element thay cho việc hard code.
Ví dụ: Không sử dụng các loại văn bản như 'Chương trình kết thúc', 'Có lỗi xảy ra' ,
v.v… mà phải sử dụng TEXT-001, TEXT-002, v.v…
•
Các text không phụ thuộc vào ngôn ngữ vẫn phải dùng text element để hiển
thị, không được hard code.
II.3.2.1 Phân loại text element
Text element Nội dung Sử Dụng
List Thiết lập tiêu đề của báo cáo và tiêu Không dùng chức năng này của SAP.
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
9
header/row
header
đề của các cột trên báo cáo. Thay vào đó sử dụng từ khóa WRITE và
các sự kiện TOP-OF-PAGE để thiết lập
các tiêu đề này.
Selection text Hiển thị ý nghĩa của các trường trên
màn hình Selection Screen
Dùng để giải thích ý nghĩa của các đối
tượng trên màn hình selection screen
Text symbol Không hard-code cho các text trong
chương trình. Các text symbol chỉ có
hiệu lực trong chươngtrình và được
đăng ký tuần tự từ số 001.
Dùng để xuất các thông điệp, hiển thị
các tiêu đề của báo cáo thay cho việc
hard-code…
II.3.3 Chú thích chươngtrình
Chú thích dùng để giải thích chức năng, cách sử dụng và theo dõi những thay đổi của
chương trình. Trong phạm vi dự án, chú thích cần được thực hiện như sau.
II.3.3.1 Phương pháp chú thích chươngtrình
• Sử dụng tiếng anh để chú thích các đoạn mã của chương trình.
• Dùng dấu * để chú thích cho toàn bộ 1 dòng lệnh.
• Dùng dấu “ để chú thích ở giữa 1 dòng lệnh.
II.3.3.2 Khai báo biến
Chú thích được đặt bên phải của biến được khai báo. Trong trường hợp không đủ chỗ thì chú
thích được đặt ở dòng lệnh trước dòng khai báo.
Ví dụ:
DATA:
LW_GPART_CNT TYPE I. “ Number of Business Partner
DATA:
* Account Balance Of Business Partner
LT_BUT000 TYPE STANDARD TABLE OF BUT000.
II.3.3.3 Câu lệnh INCLUDE
Dùng tiêu đề của INCLUDE để làm chú thích cho chương trình. Chú thích được đặt bên phải
của câu lệnh INCLUDE. Trong trường hợp không đủ chỗ chú thích được đặt ở dòng lệnh
trước dòng sử dụng.
Ví dụ:
INCLUDE ZINRM01_TOP. " Global data
INCLUDE ZINRM01_F01. " Subroutine
INCLUDE ZINRM01_O01. " Process before output
INCLUDE ZINRM01_I01. " Process After Input
II.3.3.4 Khối xử lý
Dùng đê miêu tả chức năng của khối xử lý.
** Select function *
CASE OPT;
WHEN ‘DISP'.
WHEN ‘EDIT'.
END CASE.
** Select function *
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT
TRUNG TÂM DỊCH VỤ FIS-ERP
10
II.3.3.5 Gọi subroutine hoặc function module
Khi gọi một chươngtrình phụ(subroutine) hoặc một chức năng chung(function module), chú
thích được thêm vào trước dòng lệnh gọi để mô tả nội dung xử lý của chức năng đó.
Ví dụ: Gọi một function module
* Open BDC session
CALL FUNCTION ‘BDC_OPEN_GROUP'
EXPORTING
Gọi một subroutine
* Open batch input session
PERFORM BDC_OPEN.
II.3.3.6 Những chú thích khác
Đối với những câu lệnh điều kiện, câu lệnh xử lý khó hiểu nên thêm chú thích vào để mô tả
chức năng xử lý.
Ví dụ:
DATA GC_DISP(4) TYPE C VALUE ‘DISP’. “ Display mode
IF OPT = GC_DISP. " when the option is a display mode
LW_CNT = LW_CNT + 1. " increase the counter
II.3.4 Header của chươngtrình
II.3.4.1 Header của chươngtrình chính
Header của chươngtrình chính phải được chú thích như sau.
*********************************************************************
**/
*Tên<Mã>: MF0102 – Báo cáo giá thành theo khoản mục
*Mô tả chung: Báo cáo giá thành theo khoản mục
*/*******************************************************************
***/
*Version Ngày Người sửa Mô tả
*********************************************************************
****
*1.0 13/09/2007 TaiTG Khởi tạo report
*1.1 25/09/2007 TaiTG Sửa xyz
*
*2.1 03/12/2007 DungVT Sửa xyz
*********************************************************************
**/
II.3.4.2 Header của chươngtrình INCLUDE
Header của chươngtrình INCLUDE phải được chú thích như sau.
*& *
* INCLUDE ZINRM01
*& *
* <Content Explanation>
*& *
[...]... III Hư ng d n đ t tên cho đ i tư ng III.1 CÁC QUY T C CHUNG Quy tắc đặt tên của tài liệu này dựa vào một số tiêuchuẩn sau III.1.1 Quy t c đ t tên c a SAP Công ty SAP đã đ t ra m t s quy t c đ t tên cho các đ i tư ng bên trong h th ng SAP Trong đó bao g m quy t c đ t tên cho các chươngtrình chu n c a SAP và các chươngtrình m i c a khách hàng Do đó khi đ t tên cho các đ i tư ng m i, chúng ta ph i... III.2.2 Ti n t theo quy t c c a SAP( Kí hi u ) SAP quy đ nh các ký t đ u tiên cho m t s đ i tư ng như sau Ti n t S d ng E SAP quy đ nh các lock object ph i b t đ u b ng ch E L Đ i v i các chươngtrình đư c phát sinh t b t đ u b ng ch L SAP, m t s include s III.2.3 Ti n t cho vi c phát tri n các đ i tư ng m i trong SAP( Kí hi u ) SAP dành riêng cho khách hàng các ký t SAP “Z” và “Y” cho vi c phát tri... VỤ FIS-ERP II.3.4.5 Theo dõi sự thay đổi của source code M t chươngtrình ho c m t Function Module sau khi đã đư c chuy n sang môi trư ng test ho c production có th phát sinh l i ho c yêu c u thay đ i chươngtrình Trong tình hu ng như v y, c n ph i ghi nh n nh ng thay đ i đó trong source code đ có th theo dõi Quy trình này đư c th c hi n như sau II.3.4.6 Thêm chú thích vào phần header của chương trình. .. DỊCH VỤ FIS-ERP III.3.3 Quy t c t o data element Lo i Di n gi i Ki u d li u Quy t c Diễn giải của data element ở ngôn ngữ nào thì theo ngôn ngữ đó Ki u d li u c a data element luôn luôn là domain III.3.4 Quy t c t o domain Lo i Di n gi i Quy t c Diễn giải của domain ở ngôn ngữ nào thì theo ngôn ngữ đó III.3.5 Quy t c t o chươngtrình Khi t o chươngtrình ph i theo quy t c sau Lo i Quy t c Chương trình. .. trong quá trình tạo lập các đối tượng mới trong SAP Tham khảo 4.3 để biết thêm chi tiết Hai ký tự này dùng để phân biệt các đối tượng trong quá trình phát triển Tham khảo 4.4 để biết thêm chi tiết Sử dụng các ký tự 0-9, A-Z, “_” để đặt tên cho đối tượng Như v y mã c a m t đ i tư ng s theo quy t c sau đây Ví d : ZPGBUS00 là tên c a m t chươngtrình BUS00 EZLOBUT00 là tên m t lock object c... i tư ng đó Nh m tránh vi c đ ng đ ho c chép đè khi nâng c p SAP, tên c a các đ i tư ng phát tri n m i không nên n m ngoài ph vi màSAP cho phép III.2 QUY T C Đ T TÊN Các quy t c sau đây đư c dùng đ đ t tên cho các đ i tư ng trong quá trình phát tri n m i các ng d ng SAP Các đ i tư ng không đư c đ c p đ n thì theo quy t c đ t tên chu n c a SAP III.2.1 Quy t c đ t tên chung Tên c a các đ i tư ng có đ... quy tắc của SAP( 1 ký tự) N i Dung Tiền tố này có thể có hoặc không phụ thuộc vào yêu cầu của SAP Tham khảo 13 CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT TRUNG TÂM DỊCH VỤ FIS-ERP No Tên Thành Phần Kí hi u N i Dung 4.2 để biết thêm chi tiết 2 Tiền tố cho việc phát triển các đối tượng trong SAP( 1 ký tự) 3 Phân loại (2 ký tự) 4 Các ký tự đặc biệt Tiền tố này là bắt buộc trong quá trình tạo lập... c phát tri n các đ i tư ng trong III.2.4 Phân lo i đ i tư ng (Kí hi u ) Dùng đ phân bi t các đ i tư ng trong quá trình phát tri n STT Mã N i dung 1 PK Package 2 PG Program 3 FG Function Group 4 FM Function Module 14 CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT TRUNG TÂM DỊCH VỤ FIS-ERP STT Mã N i dung 5 IN Include 6 CL Class 7 GS GUI status 8 GT GUI Title 9 TC Transaction Code 10 BA Business Addin 11 BO... program thành IN và thêm _TOP vào sau Ví dụ: INCLUDE nếu tên chươngtrình là ZPRRM01 thì TOP INCLUDE có tên là ZINRM01_TOP Function INCLUDE dùng để chứa source code của các subroutine và local class Tên của INCLUDE này được đặt theo quy tắc sau: Đổi 2 Function chữ PR của tên program thành IN và thêm _F01 vào sau Ví dụ: nếu tên INCLUDE chươngtrình là ZPRRM01 thì Function INCLUDE có tên là ZINRM01_F01... program thành IN và thêm _O01 vào sau INCLUDE Ví dụ: nếu tên chươngtrình là ZPRRM01 thì PBO INCLUDE có tên là ZINRM01_O01 PAI INCLUDE dùng để chứa source code của các module Process After Input của screen Tên của INCLUDE này được đặt theo quy tắc PAI INCLUDE sau: Đổi 2 chữ PR của tên program thành IN và thêm _I01 vào sau Ví dụ: nếu tên chươngtrình là ZPRRM01 thì PBO INCLUDE có tên là ZINRM01_I01 17 . DỊCH VỤ FIS-ERP
1
TIÊU CHUẨN VIẾT MÃ CHƯƠNG TRÌNH SAP
VERSION 0. 01
KIỂM SOÁT PHIÊN BẢN
Tổng hợp bởi
Trần Quý Giáp
Ngày tạo:
13 / 04 / 200 9
Xem.
INCLUDE ZINRM01_TOP. " Global data
INCLUDE ZINRM01_F01. " Subroutine
INCLUDE ZINRM01_O01. " Process before output
INCLUDE ZINRM01_I01. "