Mô-đun hóa trong ABAP: Macro, chương trình con & mô-đun chức năng

Khi bạn mô-đun hóa mã nguồn, bạn đặt một chuỗi các câu lệnh ABAP trong một mô-đun. Sau đó, thay vì đặt tất cả các câu lệnh trong chương trình chính, bạn chỉ cần gọi mô-đun. Khi chương trình được tạo, mã nguồn trong đơn vị mô-đun hóa được xử lý như thể nó thực sự hiện diện trong chương trình chính.

Sự cần thiết của việc mô-đun hóa

  • Cải thiện cấu trúc của chương trình.
  • Dễ dàng đọc mã
  • Dễ dàng duy trì mã
  • Tránh sự trùng lặp và thúc đẩy việc tái sử dụng mã

Các kỹ thuật mô-đun hóa khác nhau

  • Sử dụng Macro
  • Sử dụng các tập tin bao gồm
  • Chương trình con
  • Mô-đun chức năng

Chúng ta hãy xem xét từng chi tiết một cách chi tiết:

SAP- Macro ABAP

Nếu bạn muốn sử dụng lại cùng một bộ câu lệnh nhiều lần trong một chương trình, bạn có thể đưa chúng vào macro.

Bạn chỉ có thể sử dụng macro trong chương trình mà nó được định nghĩa và nó chỉ có thể được gọi theo các dòng của chương trình theo sau định nghĩa của nó.

Macro có thể hữu ích cho các phép tính dài hoặc các câu lệnh WRITE phức tạp.

cú pháp

DEFINE <macro_name>

'Macro Statements

END-OF-DEFINITION

Macro có thể sử dụng Tham số &N trong đó N = 1,2,3…

Thí dụ:-

DATA: number1 TYPE I VALUE 1.

DEFINE increment.

ADD 1 to &1.

WRITE &1.

END-OF-DEFINITION.

Increment number1.

WRITE number1.

Đầu ra: 2

Bao gồm các chương trình

Bao gồm các Chương trình chỉ dành cho việc mô-đun hóa mã nguồn và không có giao diện tham số.

Bao gồm các chương trình cho phép bạn sử dụng cùng một mã nguồn trong các chương trình khác nhau. Chúng có thể hữu ích nếu bạn có những khai báo dữ liệu dài dòng mà bạn muốn sử dụng trong các chương trình khác nhau.

cú pháp

Include <include program Name>

Điểm cần lưu ý

  • Bao gồm các chương trình không thể tự gọi mình.
  • Bao gồm các chương trình phải chứa các câu lệnh hoàn chỉnh.

Ví dụ:

INCLUDE ZILX0004.

WRITE: / 'User', SY-UNAME,/ 'Date', SY-DATUM.

================================

PROGRAM ZRPM0001.

INCLUDE ZILX0004.

Chương trình con

Chương trình con là các thủ tục mà bạn có thể định nghĩa trong bất kỳ chương trình ABAP và cũng có thể gọi từ bất kỳ chương trình nào. Các chương trình con thường được gọi nội bộ, nghĩa là chúng chứa các phần mã hoặc thuật toán được sử dụng thường xuyên cục bộ. Nếu bạn muốn một chức năng có thể tái sử dụng được trong toàn hệ thống, hãy sử dụng mô-đun chức năng.

Cú pháp-

FORM <Subroutine> [<pass>].

<Statement block>.

ENDFORM.

= Tên chương trình con

= Tham số được truyền

Các loại chương trình con

  1. nội
    • Chương trình con được xác định trong cùng một chương trình đang được gọi.
    • Có thể truy cập tất cả các đối tượng dữ liệu được khai báo trong chương trình ABAP/4 chính.
  2. Bên ngoài
    • Chương trình con được xác định bên ngoài chương trình đang được gọi.
    • Cần sử dụng các tùy chọn hoặc khai báo các đối tượng dữ liệu trong các phần chung của bộ nhớ.

Gọi một chương trình con

Chương trình con nội bộ

PERFORM <subroutine> [<pass>]

= Tên chương trình con

= Tham số được truyền

Dữ liệu được khai báo trong chương trình chính sẽ tự động có sẵn.

Các chương trình con bên ngoài

PERFORM <subroutine>(<Program>) [<pass>].

PERFORM <subroutine> (<Program>) [<pass>] [IF FOUND].

PERFORM (<subroutine>) IN PROGRAM  (<Program>) [<pass>] [IF FOUND].

PERFORM <index> OF <subroutine1> <subroutine2> <subroutine3> [<pass>].

Điểm cần lưu ý

  • Các lệnh gọi lồng nhau được cho phép trong các chương trình con (tức là PERFORM trong FORM … ENDFORM ).
  • Cuộc gọi đệ quy cũng có thể.
  • Để xác định dữ liệu cục bộ, hãy sử dụng câu lệnh DATA sau FORM . Mỗi lần bạn nhập chương trình con, dữ liệu sẽ được tạo lại (với giá trị ban đầu) và được giải phóng ở cuối (từ ngăn xếp).
  • Để xác định dữ liệu chung được sử dụng trong chương trình con, hãy sử dụng câu lệnh LOCAL sau FORM . Các giá trị được lưu khi bạn nhập chương trình con và sau đó được giải phóng ở cuối (từ ngăn xếp)

Mô-đun chức năng

Mô-đun chức năng là các quy trình ABAP/4 có mục đích chung mà bất kỳ ai cũng có thể sử dụng. Trên thực tế, có sẵn một số lượng lớn các Mô-đun chức năng tiêu chuẩn.

Các Mô-đun Chức năng được tổ chức thành Nhóm Chức năng: Tập hợp các chức năng có liên quan một cách logic. Mô-đun chức năng luôn thuộc về Nhóm chức năng.

Cú pháp-

FUNCTION <function module>

<Statements>

ENDFUNCTION.

Thông tin quan trọng liên quan đến Mô-đun chức năng

  • Quản trị
  • Nhập/Thay đổi/Xuất tham số.
  • Tham số/Ngoại lệ của bảng.
  • Tài liệu
  • Mã nguồn – L U01 . là Nhóm Chức Năng
  • Dữ liệu toàn cầu – L TOP .Dữ liệu toàn cầu cho nhóm chức năng- Có thể truy cập được trên các mô-đun chức năng trong nhóm chức năng.
  • Chương trình chính – SAPL . Chứa danh sách tất cả các tệp bao gồm cho nhóm chức năng đó

Gọi một mô-đun chức năng

Để gọi một mô-đun chức năng, hãy sử dụng câu lệnh CALL FUNCTION:

CALL FUNCTION <module>

[EXPORTING  f1 = a 1.... f n = a n]

[IMPORTING  f1 = a 1.... f n = a n]

[CHANGING   f1 = a 1.... f n = a n]

[TABLES     f1 = a 1.... f n = a n]

[EXCEPTIONS e1 = r 1.... e n = r n [ERROR_MESSAGE = r E]    

[OTHERS = ro]].

Nhóm chức năng

Các nhóm chức năng là nơi chứa các mô-đun chức năng. Trên thực tế, có một số lượng lớn các Nhóm chức năng tiêu chuẩn.
Tất cả các mô-đun chức năng trong một nhóm chức năng đều có thể truy cập dữ liệu chung của nhóm.

Giống như các chương trình thực thi (loại 1) và nhóm mô-đun (loại M), các nhóm chức năng có thể chứa màn hình, màn hình lựa chọn và danh sách.

Điểm cần lưu ý

  • Nhóm chức năng không thể được thực thi.
  • Tên của nhóm chức năng có thể dài tới 26 ký tự.
  • Khi bạn tạo một nhóm chức năng hoặc mô-đun chức năng, chương trình chính và các chương trình bao gồm sẽ được tạo tự động.
  • Các nhóm chức năng đóng gói dữ liệu.

Cách tạo Nhóm chức năng

  1. Giao dịch Goto SE80.
  2. Chọn Chương trình trong DropDown.
  3. Viết tên Nhóm chức năng mà bạn muốn tạo. Nói chung, các nhóm Chức năng do người dùng tạo bắt đầu bằng “Z”. ví dụ - . Nhấn phím Enter.
  4. Lưu ý rằng Bao gồm TOP được tạo theo mặc định nếu người dùng chọn tùy chọn tạo bao gồm TOP.

Cách tạo Mô-đun chức năng

  1. Tạo một Nhóm chức năng (nói “ZCAL”).
  2. Tạo một mô-đun chức năng, đặt các thuộc tính như (Nhóm chức năng, Ứng dụng, Văn bản ngắn và Loại quy trình) và Lưu.
  3. Kèm file “LZCALU01” sẽ có mã nguồn của module chức năng đầu tiên.
  4. Bao gồm tập tin “LZCALTOP” sẽ có dữ liệu toàn cầu.
  5. Chương trình chính “SAPLZCAL” chứa
    • Dữ liệu toàn cầu Bao gồm tập tin “LZCALTOP”
    • Các module chức năng bao gồm file “LZCALUXX”
    • Người dùng xác định Bao gồm các tệp “LZCALF..”, “LZCALO..” và “LZCALI..”
  6. Xác định các tham số giao diện và ngoại lệ
  7. Viết mã nguồn
  8. Kích hoạt mô-đun chức năng
  9. Kiểm tra mô-đun chức năng - Kiểm tra đơn lẻ & gỡ lỗi
  10. Lập tài liệu và phát hành một mô-đun chức năng

Đó là tất cả về Tính mô-đun trong ABAP.