SAP Quy trình về Giá trị & Quy trình về Yêu cầu Trợ giúp

⚡ Tóm tắt thông minh

Process On Value-Request và Process On Help-Request là các sự kiện màn hình tương ứng với phím F4 và F1. SAP ABAP. Trang này giải thích cả các sự kiện, các câu lệnh FIELD kích hoạt chúng, và các module hàm hiển thị tài liệu hoặc các mục nhập khả thi.

  • Mục đích của POH: PROCESS ON HELP-REQUEST phản hồi lại phím F1 và hiển thị tài liệu trường được lưu trữ trong Từ điển ABAP.
  • 🔎 Mục đích của góc nhìn: Chức năng PROCESS ON VALUE-REQUEST phản hồi khi nhấn phím F4 và hiển thị các mục có thể được xác định bởi các giá trị, một bảng kiểm tra hoặc một công cụ tìm kiếm trợ giúp.
  • 🧾 Quy tắc dự phòng: Khi sự kiện POH bị thiếu, hệ thống sẽ chuyển sang sử dụng tài liệu phần tử dữ liệu và sẽ không hiển thị gì nếu tài liệu đó cũng bị thiếu.
  • 🚫 Giới hạn vận chuyển: Câu lệnh FIELD trong POH không truyền trường màn hình vào chương trình, vì nó chỉ hiển thị trợ giúp.
  • 📚 Các mô-đun trợ giúp: HELP_OBJECT_SHOW_FOR_FIELD hiển thị tài liệu về phần tử dữ liệu, và HELP_OBJECT_SHOW hiển thị bất kỳ SAPtài liệu kịch bản.
  • 📋 Các mô-đun giá trị: F4IF_FIELD_VALUE_REQUEST khởi động chức năng trợ giúp nhập liệu từ điển, và F4IF_INT_TABLE_VALUE_REQUEST hiển thị một danh sách được xây dựng bên trong chương trình.
  • ↩️ Đường dẫn trở lại: Các hàm DYNPPROG, DYNPNR và DYNPROFIELD trả về giá trị đã chọn cho trường trên màn hình, trong khi RETURN_TAB trả về giá trị đó vào một bảng.

SAP Quy trình xử lý giá trị và quy trình xử lý yêu cầu trợ giúp

POH và POV là gì?

Đầu tiên, nếu bạn chưa biết gì về logic Luồng Màn hình và cách sử dụng chúng trong... SAPChúng tôi khuyên bạn nên xem hướng dẫn của chúng tôi về... Chương trình Đối thoại.

POH và POV là hai sự kiện màn hình đáp ứng yêu cầu trợ giúp từ người dùng. POH phản hồi phím F1 và giải thích ý nghĩa của một trường, trong khi POV phản hồi phím F4 và liệt kê các giá trị mà trường đó chấp nhận. Cả hai đều được khai báo trong logic luồng của màn hình, bên cạnh PBO và PAI.

Tiêu chí POH (Quy trình xử lý yêu cầu trợ giúp) POV (Quy trình dựa trên yêu cầu giá trị)
Kích hoạt bởi Phím F1 Phím F4, hoặc nút "Các mục có thể nhập"
Mục đích Giải thích ý nghĩa của lĩnh vực này. Cung cấp các giá trị mà trường chấp nhận
Nguồn mặc định Tài liệu mô tả phần tử dữ liệu trong Từ điển ABAP Giá trị cố định, kiểm tra bảng hoặc tìm kiếm trợ giúp
Truyền tải dữ liệu Không có gì, trường này chỉ được hiển thị. Giá trị đã chọn sẽ được ghi lại vào trường trên màn hình.
Mô-đun chức năng điển hình HELP_OBJECT_SHOW_FOR_FIELD F4IF_INT_TABLE_VALUE_REQUEST

Bây giờ, hãy xem xét chi tiết POH và POV

Quy trình yêu cầu trợ giúp (POH): Trợ giúp F1

  • Mỗi khi nhấn phím F1, sự kiện POH cho phần tử dữ liệu được chỉ định sẽ được thực thi.
  • Nếu sự kiện PROCESS ON HELP-REQUEST không tồn tại trong logic xử lý của màn hình, tài liệu mô tả trường đó trong Từ điển ABAP sẽ được sử dụng làm cơ sở và hiển thị. Ngay cả khi tài liệu đó không tồn tại, cũng không có trợ giúp nào được hiển thị.
  • Để hiển thị tài liệu trợ giúp về trường, bạn phải mã hóa logic luồng màn hình sau trong sự kiện POH:
PROCESS ON HELP-REQUEST
FIELD <f> [MODULE <mod>] WITH <num>
  • Nếu có tài liệu về thành phần dữ liệu dành riêng cho từng màn hình cho trường này , bạn có thể hiển thị nó bằng cách chỉ định số của nó .
  • Con số có thể là một chữ hoặc một biến. Biến phải được khai báo và điền vào chương trình ABAP tương ứng.
  • Lưu ý, câu lệnh FIELD không chuyển nội dung của trường màn hình đến chương trình ABAP trong sự kiện QUY TRÌNH TRỢ GIÚP-YÊU CẦU. Nó chỉ hiển thị tài liệu trợ giúp. Đó là nó.

Mô-đun Mô-đun này được định nghĩa trong chương trình ABAP giống như một mô-đun PAI thông thường. Logic xử lý của mô-đun phải đảm bảo hiển thị trợ giúp đầy đủ cho trường được đề cập. Thay vì gọi thêm một màn hình với các trường văn bản, bạn nên sử dụng một trong các mô-đun chức năng sau để hiển thị trợ giúp phù hợp. SAPtài liệu kịch bản

HELP_OBJECT_SHOW_FOR_FIELD

  • Mô-đun chức năng này hiển thị tài liệu phần tử dữ liệu cho các thành phần của bất kỳ cấu trúc hoặc bảng cơ sở dữ liệu nào từ Từ điển ABAP.
  • Bạn chuyển tên của thành phần và cấu trúc hoặc bảng vào các tham số nhập FIELD và TABLE.

HELP_OBJECT_SHOW

  • Sử dụng mô-đun chức năng này để hiển thị bất kỳ SAPtài liệu kịch bản.
  • Bạn phải chuyển lớp tài liệu (ví dụ: TX cho văn bản chung, DE cho tài liệu phần tử dữ liệu) và tên của tài liệu cho các tham số nhập DOKCLASS và DOKNAME.
  • Vì lý do kỹ thuật, bạn cũng phải truyền một bảng nội bộ trống với kiểu dòng T.LINE vào tham số tables của mô-đun hàm.

Mục F1 giải thích về lĩnh vực này. Mục tiếp theo liệt kê những gì có thể được nhập vào đó.

Quy trình trên giá trị (POV): F4

  • Khi người dùng chọn chức năng Mục có thể (F4), hệ thống sẽ hiển thị các giá trị đầu vào có thể có cho một trường (giá trị, bảng kiểm tra, mã đối sánh), miễn là chúng được nhà phát triển lưu trữ.
  • Sự kiện QUY TRÌNH TRÊN GIÁ TRỊ-YÊU CẦU luôn được xử lý nếu người dùng đã gọi “Các mục nhập có thể”.
  • Để xác định các giá trị khả thi cho một trường trên màn hình, bạn cần xác định những điều sau trong sự kiện POV của logic luồng màn hình:
PROCESS ON VALUE-REQUEST

FIELD field name MODULE module name
  • Đối với các giá trị có thể có, trong mô-đun được xác định ở trên, bạn nên sử dụng mô-đun chức năng chung HELP_VALUES_GET_WITH_TABLE để nhận các giá trị có thể có từ Từ điển ABAP.

Có một số chức năng khác cũng có thể được sử dụng để trợ giúp đầu vào:

F4IF_FIELD_VALUE_REQUEST

  • Gọi động sự trợ giúp đầu vào của Từ điển ABAP.
  • Bạn có thể chuyển tên thành phần của cấu trúc hoặc bảng cơ sở dữ liệu của Từ điển ABAP cho mô-đun chức năng trong các tham số nhập TABNAME và FIELDNAME.
  • Mô-đun chức năng khởi động Từ điển ABAP trợ giúp đầu vào cho thành phần này. Tất cả các trường màn hình có liên quan đều được đọc.
  • Nếu bạn chỉ định các tham số nhập DYNPPROG, DYNPNR và DYNPROFIELD, lựa chọn của người dùng sẽ được trả về trường tương ứng trên màn hình.
  • Nếu bạn chỉ định tham số bảng RETURN_TAB, thay vào đó, lựa chọn sẽ được trả về bảng.
MODULE VALUE_CARRIER INPUT.

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

TABNAME    = 'DEMOF4HELP'

FIELDNAME  = 'CARRIER1'

DYNPPROG   =  PROGNAME

DYNPNR  =  DYNNUM

DYNPROFIELD= 'CARRIER'.

ENDMODULE.

F4IF_INT_TABLE_VALUE_REQUEST

  • Mô-đun chức năng này hiển thị danh sách giá trị mà bạn đã tạo trong một chương trình ABAP.
  • Danh sách giá trị được chuyển đến mô-đun chức năng dưới dạng tham số bảng VALUE_TAB.
  • Nếu bạn chỉ định các tham số nhập DYNPPROG, DYNPNR và DYNPROFIELD, lựa chọn của người dùng sẽ được trả về trường tương ứng trên màn hình.
  • Nếu bạn chỉ định tham số bảng RETURN_TAB, thay vào đó, lựa chọn sẽ được trả về bảng.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING

RETFIELD         =  'CONNID'
DYNPPROG         =  PROGNAME
DYNPNR           =  DYNNUM
DYNPROFIELD      =  'CONNECTION'
VALUE_ORG        = 'S'
TABLES
VALUE_TAB        = VALUES_TAB.

Đó là tất cả đối với POH và POV. Để lại ý kiến ​​​​của bạn trong trường hợp có bất kỳ nghi ngờ.

Cách xây dựng trợ giúp F4 từ bảng nội bộ

Một danh sách giá trị không tồn tại trong Từ điển ABAP được tạo ra bên trong chương trình và được truyền cho hàm F4IF_INT_TABLE_VALUE_REQUEST. Các bước dưới đây tạo ra một hàm trợ giúp F4 hoạt động cho một trường trên màn hình.

  1. Khai báo bảng giá trị: Hãy xây dựng một bảng nội bộ mà cột đầu tiên chứa giá trị được ghi lại lên màn hình. Điền dữ liệu vào bảng này trong một mô-đun PBO hoặc trong chính mô-đun yêu cầu giá trị.
  2. Đăng ký trường này trong logic luồng: Thêm PROCESS ON VALUE-REQUEST vào màn hình và kết nối trường này với FIELD … MODULE … để mô-đun chạy khi nhấn phím F4.
  3. Gọi hàm module: Truyền tham số RETFIELD với tên cột, DYNPROFIELD với tên trường trên màn hình và VALUE_ORG = 'S' vì danh sách được truyền dưới dạng bảng có cấu trúc.
  4. Trả về giá trị: DYNPPROG và DYNPNR xác định chương trình và màn hình, do đó hàng được chọn sẽ được ghi trực tiếp vào trường màn hình mà không cần thêm mã nào khác.
  5. Kiểm tra nó: Kích hoạt màn hình, nhấn phím F4 trên trường nhập liệu và kiểm tra xem danh sách có xuất hiện và lựa chọn đã được áp dụng cho trường nhập liệu hay chưa.
* Flow logic of the screen
PROCESS ON VALUE-REQUEST.
  FIELD spfli-connid MODULE f4_connid.

* Module in the ABAP program
MODULE f4_connid INPUT.

  DATA: lt_values TYPE STANDARD TABLE OF spfli.

  SELECT * FROM spfli INTO TABLE lt_values
    WHERE carrid = spfli-carrid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'CONNID'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'SPFLI-CONNID'
      value_org   = 'S'
    TABLES
      value_tab   = lt_values.

ENDMODULE.

💡 Mẹo: Hãy đọc giá trị của một trường màn hình khác bằng mô-đun chức năng DYNP_VALUES_READ trước khi điền vào danh sách. Đó là cách mà chức năng trợ giúp F4 phụ thuộc, chẳng hạn như kết nối cho hãng hàng không đã nhập, được xây dựng.

Câu Hỏi Thường Gặp

Không cái nào cả. Phím F1 và F4 làm gián đoạn màn hình và chạy sự kiện riêng của chúng, sau đó quay lại màn hình ban đầu. Quá trình xử lý PAI thông thường chỉ bắt đầu khi người dùng kích hoạt mã chức năng thông thường.

Chức năng tìm kiếm trợ giúp được gắn kèm với phần tử dữ liệu hoặc bảng kiểm tra đã tạo ra danh sách F4. Việc lập trình POV chỉ cần thiết khi các giá trị được tính toán trong thời gian chạy hoặc phụ thuộc vào một trường khác trên màn hình.

Truyền tham số DYNPROFIELD cùng với tên cột và sử dụng GET CURSOR. LINE Để tìm hàng cần tìm. Sau đó, mô-đun chức năng sẽ ghi giá trị vào hàng chính xác của điều khiển trên PBO tiếp theo.

Đúng vậy. Các trợ lý AI trong các công cụ phát triển ABAP viết logic luồng POV, câu lệnh SELECT điền vào bảng giá trị và lệnh gọi F4IF_INT_TABLE_VALUE_REQUEST với các tham số RETFIELD và DYNPROFIELD chính xác.

Không. Phím F1 vẫn đọc tài liệu được lưu trữ trong Từ điển ABAP. Các trợ lý AI như... SAP Joule trả lời các câu hỏi bằng ngôn ngữ dễ hiểu ngay bên cạnh màn hình, bổ sung cho tài liệu hướng dẫn thực địa chứ không thay thế nó.

Tóm tắt bài viết này với: