Tất cả về lập trình báo cáo ABAP
SAP-ABAP hỗ trợ hai loại Chương trình – Chương trình Báo cáo & Chương trình Đối thoại. Chương trình Báo cáo được sử dụng khi cần hiển thị lượng dữ liệu lớn
Mục đích/Sử dụng 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 để phân bổ.
- Được sử dụng khi báo cáo phải được gửi qua thư cho 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 có thể thực thi được. 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, phần 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 phép cộng kích thước đường thẳng .
- Số dòng cho một trang cụ thể có thể được đặt bằng cách sử dụng phép cộng số dò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 ta thêm một lớp thông báo vào chương trình bằng cách sử dụng phép cộng: ID tin nhắn . Các lớp tin nhắn được duy trì trong SE91.
Vì vậy, một chương trình báo cáo lý tưởng nên bắt đầu bằng:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Màn hình lựa chọn
“Màn hình lựa chọn” là màn hình trong đó 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 ra từ
- Thông số
- Lựa chọn các phương án
cú pháp
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
Thông số
Các tham số giúp người ta 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 hiện chương trình.
cú pháp
Xác định tham số dưới dạng kiểu dữ liệu
Parameters p_id(30) type c.
Xác định các tham số giống như một trường bảng.
Parameter p_id like <table name>-<field name>.
Tham số có thể là Hộp kiểm hoặc Nút radio.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Các tham số có thể là hộp danh sách.
Parameter p_id like <table name>-<field name> as listbox
Lựa chọn các phương án
Tùy chọn chọn được sử dụng để nhập một phạm vi giá trị hoặc một tập hợp giá trị cho chương trình
cú pháp
select-options s_vbeln for vbak-vbeln.
Bạn cũng có thể xác định một tùy chọn chọn giống như một biến
select-options s_vbeln for vbak-vbeln no intervals no-extension
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 hướng sự kiện. Các sự kiện khác nhau trong một Chương trình báo cáo là:
Tải chương trình
- Kích hoạt sự kiện liên quan trong 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ý liên quan một lần và chỉ một lần 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 tương tự đối với một chương trình ABAP thuộc loại 1, M, F hoặc S làm hàm tạo 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 ngoài các giá trị mặc định trên màn hình lựa chọn.
- Bạn có thể lấp đầy màn hình lựa chọn của mình bằng một số giá trị khi 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ý (ở cuối PAI ).
- Xác thực & Kiểm tra các giá trị đã nhập diễn ra ở đây
Bắt đầu lựa chọn.
- Ở đâ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 với các màu khác nhau và dòng “Tổng cộng” sẽ xuất hiện với màu Vàng.
cú pháp
Format Color n Format Color n Intensified On
n có thể tương ứng với nhiều con số khác nhau
Xin lưu ý rằng cũng có những bổ sung khác cùng với định dạng
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
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
- Dùng để tạo danh sách chi tiết từ một danh sách rất cơ bản
- Dữ liệu chi tiết được ghi vào danh sách thứ cấp.
- Danh sách phụ có thể che phủ hoàn toàn màn hình đầu tiên hoặc có thể hiển thị nó trên màn hình mới
- Các danh sách phụ có thể tự tương tác.
- Danh sách đầu tiên cũng có thể gọi một giao dịch.
- Có nhiều sự kiện khác nhau liên quan đến lập trình tương tác.
Một số lệnh dùng trong lập trình tương tác
Hotspot
Nếu một người kéo chuột qua dữ liệu được hiển thị trong báo cáo, con trỏ sẽ thay đổi thành Bàn tay có ngón trỏ duỗi ra. Một điểm nóng có thể đạt được bằng cách sử dụng câu lệnh FORMAT.
Syntax: Format Hotspot On (Off).
Ẩn giấu
Lệnh này giúp bạn lưu trữ tên trường dựa trên đó tên trường sẽ được xử lý thêm để có danh sách chi tiết. Nó được viết trực tiếp sau câu lệnh WRITE cho một trường. Khi một hàng được chọn, các giá trị sẽ tự động được điền vào các biến để sử dụng tiếp.
Syntax: Hide <field-name>.
Cơ sở dữ liệu logic
- Thay vì sử dụng truy vấn “Chọn”, bạn có thể sử dụng cơ sở dữ liệu logic để truy xuất dữ liệu cho một chương trình.
- Cơ sở dữ liệu logic được tạo ra bởi giao dịch SE36
- Tên của cơ sở dữ liệu logic có thể dài tới 20 ký tự. Nó có thể bắt đầu bằng tiền tố không gian tên.
- Dữ liệu được chọn bởi một chương trình khác và người ta có thể truy cập dữ liệu bằng GET lệnh đặt dữ liệu vào vùng làm việc .
Ưu điểm của cơ sở dữ liệu logic so với các truy vấn Chọn thông thường.
- Nó cung cấp các điều kiện kiểm tra để xem liệu đầu vào có chính xác, đầy đủ và hợp lý hay không
- Nó chứa các kiểm tra ủy quyền trung tâm để truy cập cơ sở dữ liệu
- Những cải tiến như cải thiện hiệu suất sẽ được áp dụng ngay lập tức cho tất cả các báo cáo sử dụng cơ sở dữ liệu logic.
Lưu ý: Do tính phức tạp liên quan, cơ sở dữ liệu logic không được sử dụng trong hầu hết các trường hợp