DataBase Table

 

ABAP Database Tables

Định nghĩa:

·        Database table là một đối tượng có kiểu dữ liệu nằm trong DDIC (DDIC is an administrative super user issued by SAP during the ECC installation). Là nơi lữu trữ dữ liệu dưới dạng ma trận hàng và cột.

·        Các hàng trong table sẽ được gọi là record (bản ghi). Các cột được xác định bằng field (trường).

·        Các field (trường) trong table có thể được định nghĩa qua data elementdomain hoặc có thể tự định nghĩa các thuộc tính ở trong bảng.

Components of Table in ABAP DDIC:



Delivery and Maintenance

Delivery class: được sử dụng để lựa chọn kiểu dữ liệu được lưu trữ trong bảng. Tuỳ thuộc vào yêu cầu bài toán để xác định kiểu dữ liệu được lưu trữ. Thông thường chúng ta chỉ lưu trữ dữ liệu đơn thuần thì sẽ chọn kiểu Application table (master and transaction data)



Display/Maintaince: được sử dụng để lựa chọn việc hiển thị và maintaine( thêm ,sửa ,xoá dữ liệu).

 

Display in Data Browser (SE16)

Maintenance in Data Browser

Maintenance and Display in Table View Maintenance (SM30)

Generation of a Table Maintenance Dialog (SE54)

Display/Maintenance allowed with restrictions

X

-

-

2

Display/Maintenance allowed

1

1

X

2

Display/Maintenance not allowed

-

-

-

-

1: Nếu hộp bảo trì tồn tại, nó sẽ được gọi tới.

2: Nếu có thể tạo bảo trì tại SE54 thì ta có thể sử dụng SE34 để bảo trì hoặc gọi tới FM ‘VIEW_MAINTENANCE_CALL’.



Fields



Field name: Xác định tên trường, tên trường trong 1 bảng phải là duy nhất, tối đa 16 ký tự, không chứa dấu cách hay ký tự đặc biệt.

Key: Xác định xem trường đó có phải là khoá chính của bảng hay không. Nếu được tích thì trường đó là khoá.

Initial Values: Xác định trường đó có được để trống giá trị hay không. Nếu được tích thì trường đó phải được truyền giá trị vào( khoá của bảng thì phải tích là có ).

Data element: Nơi truyền vào data element của trường tham chiếu tới để lấy các thuộc tính như độ dài, kiểu dữ liệu,..

Data Type: Kiểu dữ liệu được xác định trong database.

Length: Độ dài ký tự được phép nhập vào.

Decimal Places: Độ dài số thập phân sau dấu phẩy của các kiểu dữ liệu CURR, DEC, FLTP, QUAN, DF16_DEC, and DF34_DEC.

Short Description: Mô tả trường dữ liệu.

Group:  Nhập vào named include. Nó sẽ gom nhóm các trường có cùng tên với nhau.

Input Help/Check

Cho phép người dùng thêm Forgein Key (tham khảo ở đây), Search Help (tham khảo ở đây).



 

Currency/Quantity Fields

Tại đây, người dùng có thể điền thông tin vào trường Reference Table và Ref.Field cho các trường có kiểu dữ liệu QUAN( đi với UNIT) và CURR(đi với CUKY).

Ta có thể reference đến table khác ngoài table đang chọn nhưng nó sẽ không có ý nghĩa về mặt dữ liệu. Khi nhập liệu các trường có kiểu dữ liệu QUAN và CURR sẽ được convert theo kiểu UNIT và CUKY tương ứng. Trường hợp sử dụng table khác giá trị nó sẽ không được convert theo đơn vị nhập theo record.



Indexes

Tại đây ta có thể chỉnh sửa quy trình truy xuất vào bảng. Từ đó, giúp tăng tốc việc truy xuất tới các records trong bảng. Database table sẽ tồn tại các primary indexes (chỉ mục chính dựa theo bộ key của bảng) và các chỉ mục phụ ta có thể thêm vào (secondary indexes)



 

 

 

Technical Settings

Sử dụng để xác định cách xử lý khi bảng được tạo. Tại đây người dùng có thể lựa chọn có sử dụng bộ nhớ đệm hay không, các bản ghi dữ liệu có được log hay không ,…





Data Class: Xác định vùng vật lý lưu trữ khi bảng được tạo.Tuỳ vào bài toán sẽ chọn loại phù hợp.

Size Category: Xác định ước lượng số lượng bản ghi sẽ được lưu vào bảng.

Buffering: Xác định xem khi truy xuất hoặc maintenance bảng có được lưu trữ tại bộ nhớ đệm hay không.

Buffering Type: Nếu chọn có sử dụng bộ nhớ đệm thì sẽ chọn xem sử dụng loại bộ nhớ đệm nào.

Data Changes: Có lưu lại lịch sử thay đổi của bảng hay không.

Types of ABAP Tables

Trong ABAP Dictionary có 3 kiểu bảng :

·        Transparent Tables

·        Pooled Tables

·        Cluster Tables

Transparent table

Quan hệ 1-1( tức là khi bạn tạo một Transparent table thì bảng chính xác sẽ tạo trong cơ sở dữ liệu và nếu về cơ bản được sử dụng để lưu trữ dữ liệu giao dịch).

Khi một bảng được tạo tại ABAP Dictionary thì nó cũng được sinh ra tại database. Nó được dùng để lưu trữ dữ liệu. Có thể truy xuất dữ liệu từ SAP thông qua các câu lệnh SQL.

 

Pooled and Cluster Tables 

Quan hệ 1-n.

Đây là những dạng bảng trong SAP, dữ liệu từ các bảng khác nhau nhưng được lưu trữ cùng nhau trong pooled tables hoặc cluster tables. Các dữ liệu nội bộ(screen sequences, program parameters, temporary data, continuous texts such as documentation) phải được lưu trữ tại các bảng này.

·        Pooled Tables

Định nghĩa bởi 2 trường khoá( Tabname và VarKey)

Field

Data type

Description

Tabname

CHAR(10)

Name of pooled table

Varkey

CHAR (n)

Contains the entries from all key fields of the pooled table record as a string.

The maximum length for n is 110.

Dataln

INT2(5)

Length of the string in Vardata

Vardata

RAW (n)

Contains the entries from all data fields of the pooled table record as a string.

 The maximum length n depends on the database system used.

Khi thực hiện lưu data, hệ thống sẽ lưu nó vào pooled table tương ứng. Giá trị của các khoá chính của các bảng sẽ được lưu vào trường Varkey dưới dạng String. Giá trị của các trường dữ liệu còn lại sẽ được lưu vào Vardata dưới dạng String.  

Vì Varkey có kiểu dữ liệu là CHAR nên tất cả khoá chính các bảng phải có kiểu dữ liệu tương đương(CHAR,NUMC,CLNT).

Tổng độ dài giá trị trường tại các bảng không được phép vượt quá khả năng lưu trữ của Varkey hoặc Vardata.



·       Cluster Table

Xác định dựa vào bộ khoá từ các trường.

Field

Data type

Description

CLKEY1

*

Khoá thứ nhất

CLKEY2

*

Khoá thứ hai

...

...

...

CLKEYn

*

nth khoá

Pageno

INT2(5)

Số thứ tự các bản ghi

Timestamp

CHAR(14)

Thời gian lưu trữ

Pagelg

INT2(5)

Độ dài chuỗi Vardata

Vardata

RAW (n)

Chứa các giá trị các trường còn lại dưới dạng chuỗi.

Bản ghi của tất cả các cluster tables có cùng một khóa được lưu trữ dưới dạng khóa trong cụm bảng được chỉ định. Giá trị của các trường khóa được lưu trữ trong các trường khóa tương ứng của cụm bảng. 

Giá trị của tất cả các trường dữ liệu của bảng cụm được chỉ định được ghi dưới dạng một chuỗi vào trường Vardata của cụm bảng.

 Bên cạnh các giá trị dữ liệu thực tế, chuỗi dữ liệu còn chứa thông tin về cấu trúc của dữ liệu và nó đến từ bảng nào. Nếu chuỗi vượt quá độ dài tối đa của trường Vardata , hệ thống sẽ ghi một bản ghi tiếp tục với các giá trị khóa giống nhau.

 Các bản ghi tiếp tục cho một khóa được phân biệt bằng giá trị của chúng trong trường Pageno . Chiều dài thực của chuỗi trong Vardata được lưu trữ trong trường Pagelg bởi giao diện cơ sở dữ liệu.



Nhận xét

Bài đăng phổ biến từ blog này

Domains In SAP ABAP