Hướng dẫn lập trình hộp thoại: Nhóm mô-đun trong SAP ABAP

SAP-ABAP hỗ trợ hai loại chương trình – Chương trình Báo cáo và Chương trình Hội thoại.

Nếu chương trình ABAP của bạn yêu cầu đầu vào của người dùng, lập trình Hộp thoại sẽ được sử dụng.

Trong hướng dẫn này bạn sẽ học:

Hộp thoại người dùng là bất kỳ hình thức tương tác nào giữa người dùng và chương trình và có thể là bất kỳ hình thức nào sau đây

  • Nhập dữ liệu
  • Chọn một mục menu
  • Nhấp vào một nút
  • Nhấp hoặc nhấp đúp vào một mục

Chương trình hội thoại còn được sử dụng khi chúng ta cần di chuyển qua lại giữa các màn hình

Các chương trình hộp thoại được tạo với kiểu là 'M' – Nhóm mô-đun. Chúng không thể được thực thi độc lập và phải được đính kèm với ít nhất một mã giao dịch mà bạn chỉ định màn hình ban đầu.

Sự khác biệt giữa chương trình báo cáo và hộp thoại

Sự khác biệt giữa chương trình báo cáo và hộp thoại

Chương trình báo cáo:

Báo cáo là một chương trình thường đọc và phân tích dữ liệu trong các bảng cơ sở dữ liệu mà không thay đổi cơ sở dữ liệu.

Chương trình đối thoại:

Chương trình hộp thoại cho phép bạn làm việc tương tác với hệ thống và thay đổi nội dung của các bảng cơ sở dữ liệu. Mỗi chương trình hộp thoại có một chuỗi màn hình nhất định được hệ thống xử lý lần lượt.

Xử lý giao dịch mẫu trong Lập trình hộp thoại

Xử lý giao dịch mẫu

Các thành phần của chương trình hội thoại

Không giống như báo cáo về cơ bản bao gồm việc tạo ra một chương trình tự động có thể chạy độc lập với các đối tượng khác, trong khi phát triển chương trình đối thoại bao gồm việc phát triển nhiều đối tượng mà không đối tượng nào có thể chạy độc lập. Thay vào đó, tất cả các đối tượng được liên kết theo thứ bậc với chương trình chính và được thực thi theo trình tự do Chương trình chính Dialog chỉ định..

Các thành phần của một chương trình hội thoại là:

Mã giao dịch

  • Mã giao dịch bắt đầu một chuỗi màn hình.
  • Bạn tạo mã giao dịch trong Trình duyệt Kho lưu trữ trong Bàn làm việc ABAP hoặc sử dụng Giao dịch SE93.
  • Mã giao dịch được liên kết với chương trình ABAP và màn hình ban đầu.
  • Bạn có thể bắt đầu chuỗi màn hình từ bất kỳ chương trình ABAP nào bằng cách sử dụng câu lệnh CALL SCREEN.

Màn hình

  • Mỗi hộp thoại trong một SAP hệ thống được điều khiển bởi một hoặc nhiều màn hình.
  • Bạn tạo màn hình bằng Screen Painter trong Bàn làm việc ABAP thông qua giao dịch SE51
  • Mỗi màn hình thuộc về một chương trình ABAP.
  • Các màn hình này bao gồm một “mặt nạ màn hình” hoặc “bố cục” và logic luồng của nó. Màn hình có một bố cục xác định vị trí của các trường đầu vào/đầu ra và các thành phần đồ họa khác như hộp kiểm và nút radio. Logic luồng xác định quá trình xử lý logic trong màn hình.

trạng thái GUI

  • Mỗi màn hình có (các) trạng thái GUI là các thành phần độc lập của chương trình.
  • Điều này kiểm soát các thanh menu, thanh công cụ tiêu chuẩn, thanh công cụ ứng dụng mà người dùng có thể chọn các chức năng trong ứng dụng.
  • Bạn tạo chúng trong ABAP Workbench bằng Menu Painter.

Chương trình ABAP

  • Mỗi trạng thái màn hình và GUI trong Hệ thống R/3 thuộc về một chương trình ABAP.
  • Chương trình ABAP chứa các mô-đun hộp thoại được gọi bằng logic luồng màn hình, đồng thời xử lý dữ liệu đầu vào của người dùng từ trạng thái GUI.
  • Các chương trình ABAP sử dụng màn hình còn được gọi là chương trình hộp thoại.
  • Trong nhóm mô-đun (chương trình loại M); khối xử lý đầu tiên được gọi luôn là mô-đun hộp thoại. Tuy nhiên, bạn cũng có thể sử dụng màn hình trong các chương trình ABAP khác, chẳng hạn như chương trình thực thi hoặc mô-đun chức năng. Khối xử lý đầu tiên sau đó được gọi khác; ví dụ: bởi môi trường thời gian chạy hoặc lệnh gọi thủ tục. Trình tự màn hình sau đó được bắt đầu bằng câu lệnh CALL SCREEN.

Logic luồng màn hình

Logic luồng màn hình chủ yếu được chia thành bốn thành phần.

  • Xử lý trước khi xuất (PBO) sự kiện: được xử lý trước khi màn hình được hiển thị
  • Xử lý sau khi nhập (PAI) sự kiện: được xử lý sau một hành động của người dùng trên màn hình
  • Quy trình theo yêu cầu trợ giúp (P.O.H.): được xử lý khi nhấn F1
  • Xử lý theo yêu cầu giá trị (POV): được xử lý khi nhấn F4

Dynpro

  • Một màn hình cùng với logic Luồng của nó được gọi là Dynpro (“Chương trình động” vì logic luồng màn hình ảnh hưởng đến luồng chương trình)
  • Mỗi dynpro kiểm soát chính xác một bước trong Chương trình Hộp thoại của bạn.
  • Các màn hình thuộc về một chương trình được đánh số. Trình tự luồng màn hình có thể là tuyến tính hoặc tuần hoàn. Từ bên trong chuỗi màn hình, bạn thậm chí có thể gọi một chuỗi màn hình khác và sau khi xử lý nó, hãy quay lại chuỗi màn hình ban đầu. Bạn cũng có thể ghi đè màn hình tiếp theo được xác định tĩnh từ bên trong mô-đun hộp thoại của chương trình ABAP.

Nhóm mô-đun ABAP

  • Trong sự kiện PBO hoặc PAI, Dynpro gọi chương trình hộp thoại ABAP. Bộ sưu tập các chương trình như vậy được gọi là nhóm mô-đun ABAP.
  • Ví dụ: các mô-đun được gọi tại sự kiện PAI được sử dụng để kiểm tra thông tin đầu vào của người dùng và kích hoạt các bước hộp thoại thích hợp, chẳng hạn như tác vụ cập nhật.
  • Tất cả dynpro được gọi từ bên trong một giao dịch đề cập đến một nhóm mô-đun chung.

Cấu trúc của một chương trình hội thoại

Cấu trúc của một chương trình hội thoại

Luồng quy trình cho một chương trình hộp thoại

Luồng quy trình cho một chương trình hộp thoại