SAP-ABAP hỗ trợ hai loại Chương trình - Chương trình Báo cáo & Chương trình Hộp thoại. Báo cáo Chương trình được sử dụng khi cần hiển thị một lượng lớn dữ liệu
Trong hướng dẫn này, bạn sẽ học:
- Màn hình lựa chọn
- Các sự kiện trong Chương trình Báo cáo ABAP
- Định dạng báo cáo
- Lập trình báo cáo tương tác
- Cơ sở dữ liệu lôgic
Mục đích / Sử dụng các Chương trình Báo cáo
- Chúng được sử dụng khi dữ liệu từ một số bảng phải được chọn và xử lý trước khi trình bày
- Được sử dụng khi báo cáo yêu cầu định dạng đặc biệt
- Được sử dụng khi báo cáo phải được tải xuống từ SAP sang một trang tính Excel để được phân phối trên toàn bộ.
- Được sử dụng khi báo cáo phải được gửi đến một người cụ thể.
Những điểm quan trọng cần lưu ý về chương trình báo cáo
- Chương trình Báo cáo luôn là Chương trình Thực thi. Loại chương trình luôn là 1.
- Mỗi chương trình Báo cáo tương ứng với một Loại ứng dụng cụ thể, tức là với Bán hàng & Phân phối, FI - CO, v.v. Nó cũng có thể là Ứng dụng chéo tức là loại '*'.
- Lập trình Báo cáo là một chương trình hướng sự kiện.
- Dòng đầu tiên của chương trình báo cáo luôn là Báo cáo
. - Để loại bỏ tiêu đề danh sách hoặc tên của chương trình, việc bổ sung Không có Tiêu đề Trang Chuẩn được sử dụng.
- Kích thước dòng cho một báo cáo cụ thể có thể được đặt bằng cách sử dụng kích thước dòng bổ sung
. - Số dòng cho một trang cụ thể có thể được đặt bằng cách sử dụng số dòng cộng n (n1) . N là số dòng cho trang và N1 là số dòng dành cho chân trang.
- Để hiển thị bất kỳ thông tin hoặc thông báo lỗi nào, chúng tôi thêm một lớp thông báo vào chương trình bằng cách sử dụng bổ sung: Message-id
. Các lớp tin nhắn được duy trì trong SE91.
Báo cáokhông có tiêu đề trang chuẩnline-size số dòng message-id .
Màn hình lựa chọn
"Màn hình lựa chọn" là màn hình nơi người ta chỉ định các giá trị đầu vào mà chương trình sẽ chạy.
Màn hình lựa chọn thường được tạo từ
- Thông số
- Lựa chọn các phương án
Cú pháp
Màn hình lựa chọn bắt đầu màn hìnhmàn hình lựa chọn bắt đầu của khối <#> với tiêu đề khung …… màn hình lựa chọn kết thúc khối <#>màn hình lựa chọn cuối màn hình
Tham số Các tham
số giúp một người thực hiện lựa chọn động. Chúng chỉ có thể chứa một giá trị cho một chu kỳ thực thi chương trình.
Cú pháp
Xác định các tham số như một kiểu dữ liệu
Tham số p_id (30) kiểu c.
Xác định các tham số giống như một trường bảng.
Tham số p_id như- .
Các tham số có thể là Hộp kiểm cũng như Nút radio.
Tham số p_id dưới dạng hộp kiểm. Tham số p_id1 nhóm nút radio.Tham số p_id2 nhóm nút radio .
Tham số có thể là hộp danh sách.
Tham số p_id như- dưới dạng hộp danh sách
Chọn Tùy chọn
Một Select-Option được sử dụng để nhập vào một loạt các giá trị hoặc một tập hợp các giá trị cho một chương trình
Cú pháp
select-options s_vbeln cho vbak-vbeln.
Bạn cũng có thể xác định một tùy chọn được chọn như một biến
select-options s_vbeln cho vbak-vbeln không có khoảng thời gian không có phần mở rộng
Các sự kiện trong Chương trình Báo cáo ABAP
Các chương trình báo cáo ABAP là các chương trình định hướng sự kiện . Các sự kiện khác nhau trong một báo cáo Chương trình là:
Load-of-chương trình
- Kích hoạt sự kiện được liên kết trong một phiên nội bộ sau khi tải chương trình loại 1, M, F hoặc S.
- Cũng chạy khối xử lý được liên kết một lần và một lần duy nhất cho mỗi chương trình và phiên nội bộ.
- Khối xử lý LOAD-OF-PROGRAM có chức năng gần giống với chương trình ABAP kiểu 1, M, F hoặc S như một hàm tạo có cho các lớp trong Đối tượng ABAP
Khởi tạo.
- Sự kiện này được thực hiện trước khi màn hình lựa chọn được hiển thị.
- Khởi tạo tất cả các giá trị.
- Bạn có thể gán các giá trị khác với các giá trị được mặc định trên màn hình lựa chọn.
- Bạn có thể điền vào màn hình lựa chọn của mình với một số giá trị trong thời gian chạy.
Tại màn hình lựa chọn.
- Sự kiện được xử lý khi màn hình lựa chọn đã được xử lý (khi kết thúc PAI).
- Xác thực & Kiểm tra các giá trị đã nhập diễn ra tại đây
Bắt đầu lựa chọn.
- Tại đây chương trình bắt đầu chọn các giá trị từ các bảng.
Kết thúc lựa chọn.
- Sau khi tất cả dữ liệu đã được chọn, sự kiện này sẽ ghi dữ liệu ra màn hình.
Sự kiện tương tác
- Được sử dụng để báo cáo tương tác. Nó được sử dụng để tạo một danh sách chi tiết từ một danh sách cơ bản.
Định dạng báo cáo
ABAP cho phép các báo cáo được định dạng theo ý muốn của người dùng. Ví dụ: "Dòng thay thế" phải xuất hiện bằng các màu khác nhau và dòng "Tổng" phải xuất hiện bằng màu Vàng.
Cú pháp
Định dạng màu nĐịnh dạng màu n Tăng cường độ Bật
n có thể tương ứng với các số khác nhau
Xin lưu ý rằng có những bổ sung khác cùng với định dạng
ĐỊNH DẠNG MÀU SẮC TẮT ĐƯỢC CẢM BIẾN TẮT ĐẦU TƯ TẮT HOTSPOT TẮT ĐẦU VÀO TẮT
Lập trình báo cáo tương tác
- Sử dụng Lập trình tương tác, người dùng có thể chủ động kiểm soát việc truy xuất dữ liệu và hiển thị dữ liệu
- Được sử dụng để tạo một danh sách chi tiết từ một danh sách rất cơ bản
- Dữ liệu chi tiết được viết trên một danh sách thứ cấp.
- Danh sách phụ có thể phủ hoàn toàn màn hình đầu tiên hoặc một người có thể hiển thị nó trong một màn hình mới
- The secondary lists can be themselves interactive.
- The first list may also call a transaction.
- There are different events associated with interactive programming.
Some commands used for interactive programming
HotspotIf one drags the mouse over the data displayed in the report the cursor changes to a Hand with an Outstretched Index finger. An hotspot can be achieved using the FORMAT statement.
Syntax: Format Hotspot On (Off).
HideThis command helps you to store the field names based on which one will be doing further processing to get a detailed list. It is written directly after the WRITE statement for a field. When a row is selected the values get automatically filled in the variables for further use.
Syntax: Hide.
Logical Databases
- Instead of using "Select" queries you can use logical database to retrieve data for a program.
- Logical databases are created by transaction SE36
- The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix.
- The data is selected by another program and one can access the data using GET
command which places the data in the work area .
Advantages of a logical database over normal Select queries.
- It offers check conditions to see whether the input is correct, complete and plausible
- It contains central authorization checks for database access
- Enhancements such as improvement in performance immediately apply to all reports which use logical database.
Note: Due to the complexities involved, logical databases are not used in most of the cases