SAP ABAP - Bảng nội bộ
Bảng bên trong thực sự là một bảng tạm thời, chứa các bản ghi của một chương trình ABAP mà nó đang được thực thi. Một bảng nội bộ chỉ tồn tại trong thời gian chạy chương trình SAP. Chúng được sử dụng để xử lý khối lượng lớn dữ liệu bằng cách sử dụng ngôn ngữ ABAP. Chúng ta cần khai báo một bảng nội bộ trong chương trình ABAP khi bạn cần lấy dữ liệu từ các bảng cơ sở dữ liệu.
Dữ liệu trong bảng nội bộ được lưu trữ trong các hàng và cột. Mỗi hàng được gọi làline và mỗi cột được gọi là field. Trong bảng nội bộ, tất cả các bản ghi có cùng cấu trúc và khóa. Các bản ghi riêng lẻ của một bảng nội bộ được truy cập bằng một chỉ mục hoặc một khóa. Vì bảng nội bộ tồn tại cho đến khi chương trình liên kết đang được thực thi, các bản ghi của bảng nội bộ sẽ bị loại bỏ khi quá trình thực thi chương trình bị chấm dứt. Vì vậy, các bảng bên trong có thể được sử dụng làm vùng lưu trữ tạm thời hoặc bộ đệm tạm thời, nơi dữ liệu có thể được sửa đổi theo yêu cầu. Các bảng này chỉ chiếm bộ nhớ tại thời điểm chạy chứ không phải tại thời điểm khai báo.
Bảng nội bộ chỉ tồn tại khi một chương trình đang chạy, vì vậy khi mã được viết, bảng nội bộ phải được cấu trúc theo cách mà chương trình có thể sử dụng nó. Bạn sẽ thấy rằng các bảng bên trong hoạt động giống như cấu trúc. Sự khác biệt chính là cấu trúc chỉ có một dòng, trong khi một bảng bên trong có thể có nhiều dòng theo yêu cầu.
Một bảng nội bộ có thể được tạo thành từ một số trường, tương ứng với các cột của bảng, giống như trong từ điển ABAP, một bảng được tạo bằng một số trường. Các trường khóa cũng có thể được sử dụng với các bảng nội bộ và trong khi tạo các bảng nội bộ này, chúng mang lại sự linh hoạt hơn một chút. Với các bảng nội bộ, người ta có thể chỉ định một khóa không phải duy nhất, cho phép lưu trữ bất kỳ số lượng bản ghi không phải duy nhất nào và cho phép lưu trữ các bản ghi trùng lặp nếu được yêu cầu.
Kích thước của một bảng nội bộ hoặc số dòng trong bảng đó không cố định. Kích thước của một bảng bên trong thay đổi theo yêu cầu của chương trình liên kết với bảng bên trong. Nhưng nên để các bảng bên trong càng nhỏ càng tốt. Điều này là để tránh hệ thống chạy chậm vì nó phải vật lộn để xử lý một lượng lớn dữ liệu.
Bảng bên trong được sử dụng cho nhiều mục đích -
Chúng có thể được sử dụng để lưu giữ kết quả của các phép tính có thể được sử dụng sau này trong chương trình.
Một bảng bên trong cũng có thể chứa các bản ghi và dữ liệu để có thể truy cập dữ liệu này một cách nhanh chóng thay vì phải truy cập dữ liệu này từ các bảng cơ sở dữ liệu.
Chúng rất linh hoạt. Chúng có thể được xác định bằng cách sử dụng bất kỳ số lượng cấu trúc xác định nào khác.
Thí dụ
Giả sử rằng một người dùng muốn tạo danh sách các số liên lạc của nhiều khách hàng khác nhau từ một hoặc một số bảng lớn. Trước tiên, người dùng tạo một bảng nội bộ, chọn dữ liệu có liên quan từ các bảng khách hàng và sau đó đặt dữ liệu vào bảng nội bộ. Người dùng khác có thể truy cập và sử dụng bảng nội bộ này trực tiếp để lấy thông tin mong muốn, thay vì viết các truy vấn cơ sở dữ liệu để thực hiện từng thao tác trong thời gian chạy chương trình.