Hướng dẫn về màn hình con ABAP: Gọi màn hình con trong SAP

Trước khi bạn đọc hướng dẫn này, hãy chắc chắn rằng Chương trình Hộp thoại là gì…

MÀN HÌNH CUỘC GỌI

  • Màn hình phụ là một màn hình độc lập được hiển thị trong một khu vực của màn hình (“chính”) khác.
  • Màn hình phụ cho phép bạn nhúng một màn hình vào một màn hình khác trong thời gian chạy. Bạn có thể bao gồm nhiều màn hình phụ trên màn hình chính.
  • Thuật ngữ màn hình phụ áp dụng cho cả màn hình mà bạn nhúng và khu vực trên màn hình chính nơi bạn đặt màn hình đó. Hướng dẫn này là về các khu vực màn hình phụ. Các màn hình thực tế được tạo thông qua giao dịch SE51, được gọi là màn hình màn hình phụ nếu được xác định trong thuộc tính màn hình.
  • Khi bạn sử dụng màn hình phụ, logic luồng của màn hình nhúng cũng được nhúng vào logic luồng của màn hình chính. Do đó, việc sử dụng màn hình phụ trên màn hình cũng giống như sử dụng include trong Các chương trình ABAP.

Để sử dụng màn hình phụ, bạn phải làm theo ba bước đơn giản

  1. Xác định (các) vùng màn hình phụ trên màn hình
  2. Xác định màn hình màn hình phụ phù hợp
  3. Bao gồm màn hình màn hình phụ trong khu vực màn hình phụ.

Ngoài ra, bạn cần điều chỉnh lại khung màn hình phụ và màn hình chính. Bạn cần đặt tên cho nó trong trường tên trường.

Hơn nữa, bạn cũng cần điều chỉnh các trường trong màn hình phụ để chúng xuất hiện trên màn hình chính. Trong trường hợp màn hình phụ được xác định là lớn hơn diện tích có sẵn trên màn hình chính thì chỉ hiển thị phần màn hình phụ phù hợp với diện tích có sẵn. Diện tích luôn được đo từ góc trên bên trái của màn hình. Do đó, bạn nên cẩn thận khi xác định các khu vực màn hình phụ và tạo màn hình phụ.

THÍ DỤ

Ví dụ ở đây, chúng tôi đã xác định hai khu vực màn hình phụ trên màn hình chính và gắn hai màn hình phụ khác nhau vào các khu vực tương ứng. Bất cứ khi nào màn hình chính được gọi, PBO của màn hình chính sẽ được gọi. Nhưng trước khi hiển thị, các PBO của mỗi màn hình gắn liền với các khu vực màn hình phụ trên màn hình chính cũng được gọi.

Gọi màn hình phụ vào SAP

Bạn có thể bao gồm màn hình màn hình phụ bằng cách sử dụng câu lệnh CALL SUBSCREEN trong logic luồng của màn hình chính.

Để bao gồm một màn hình phụ trong vùng màn hình phụ của màn hình chính và gọi logic luồng PBO của nó, hãy sử dụng câu lệnh sau trong sự kiện PBO của màn hình chính:

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

Câu lệnh này gán cho màn hình con số đến khu vực màn hình phụ được gọi là . Bạn cũng có thể chỉ định chương trình mà màn hình phụ được xác định (tùy chọn). Nếu bạn không chỉ định rõ ràng chương trình, hệ thống sẽ tìm màn hình màn hình phụ trong cùng chương trình ABAP với chương trình chính. Nếu nó không tìm thấy màn hình màn hình phụ tương ứng thì sẽ xảy ra lỗi thời gian chạy. Logic luồng PBO của màn hình màn hình phụ cũng được đưa vào cùng một điểm. Điều này có thể gọi các mô-đun PBO của chương trình ABAP trong đó màn hình màn hình phụ được xác định. Ở cuối màn hình con PBO, các trường chung từ chương trình sẽ được chuyển đến bất kỳ trường màn hình nào có tên giống hệt nhau trong màn hình màn hình phụ. Logic luồng PBO của màn hình màn hình phụ có thể bao gồm các màn hình phụ khác.

Tên của vùng màn hình con phải được nhập trực tiếp không có dấu phẩy đảo ngược. Bạn có thể chỉ định tên Và dưới dạng chữ hoặc biến. Nếu sử dụng biến thì phải khai báo và điền các biến có tên giống nhau trong chương trình ABAP. Số màn hình phải dài 4 ký tự. Nếu bạn không gán màn hình màn hình phụ cho một khu vực thì khu vực đó sẽ trống.

Để gọi logic luồng PAI của màn hình phụ, hãy sử dụng câu lệnh sau trong logic luồng PAI của màn hình chính:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Tuyên bố này bao gồm logic luồng PAI của màn hình màn hình phụ được bao gồm trong khu vực màn hình phụ trong sự kiện PBO. Điều này có thể gọi các mô-đun PAI của chương trình ABAP trong đó màn hình màn hình phụ được xác định. Dữ liệu được vận chuyển giữa các trường có tên giống hệt nhau trong màn hình màn hình phụ và chương trình ABAP khi sự kiện PAI được kích hoạt hoặc tại các câu lệnh FIELD tương ứng trong logic luồng PAI của màn hình màn hình phụ.

Điểm cần nhớ

  • Tên các thành phần của màn hình phụ trong một màn hình phải là duy nhất
  • Bạn không nên đính kèm OK_CODE hoặc FCODE với màn hình phụ. OK_CODE của màn hình chính cũng là OK_CODE của màn hình phụ
  • Màn hình phụ không được có bất kỳ mô-đun hộp thoại nào chứa THIẾT LẬP TIÊU ĐỀ, THIẾT LẬP TÌNH TRẠNG PF, THIẾT LẬP SCREEN, LEAVE SCREEN hoặc LEAVE TO SCREEN. Điều này sẽ gây ra lỗi thời gian chạy.
  • Bạn cần gọi nó theo logic luồng (cả PBO và PAI) của màn hình chính.
  • GỌI SUBSCREEN không được phép trong câu lệnh CHAIN..ENDCHAIN ​​và LOOP ENDLOOP
  • Không thể có mô-đun AT EXIT-COMMAND
  • Các trường bạn sử dụng là các trường chung. Chúng phải được khai báo ở trên cùng bao gồm
  • Nếu sử dụng màn hình phụ từ người khác chương trình hội thoại việc truyền dữ liệu sẽ không xảy ra trừ khi bạn thêm mã cụ thể.