SAP Từ điển dữ liệu ABAP (SE11)

⚡ Tóm tắt thông minh

SAP Từ điển dữ liệu ABAP (SE11) tập trung mọi định nghĩa siêu dữ liệu được sử dụng bởi SAP các ứng dụng. Trang này giải thích ba cấp độ có thể tái sử dụng — miền, phần tử dữ liệu và bảng — cộng với các đối tượng tổng hợp như chế độ xem, trợ giúp tìm kiếm và đối tượng khóa.

  • 📚 Định nghĩa cốt lõi: Từ điển ABAP là kho lưu trữ siêu dữ liệu trung tâm, mô tả cách mọi trường, bảng và khung nhìn được định nghĩa và tái sử dụng trong toàn bộ hệ thống. SAP hệ thống.
  • 🧱 Ba cấp độ có thể tái sử dụng: Miền chứa các thuộc tính kỹ thuật, các phần tử dữ liệu bổ sung ý nghĩa ngữ nghĩa, và các bảng hoặc cấu trúc tập hợp các phần tử đó thành các bản ghi.
  • 🔗 Các đối tượng tổng hợp: Chế độ xem kết hợp dữ liệu từ nhiều bảng, chức năng tìm kiếm hỗ trợ nhập liệu và chức năng khóa đối tượng bảo vệ bản ghi khi truy cập đồng thời.
  • 🔒 Cơ chế khóa: Các module hàm ENQUEUE và DEQUEUE được tạo ra từ các đối tượng khóa và phải luôn giải phóng khóa sau khi xử lý.
  • 🛠️ Quy trình tạo: Giao dịch SE11 tạo ra các bảng trong suốt bằng cách xác định các trường, lớp phân phối, cài đặt kỹ thuật, và sau đó kích hoạt đối tượng.
  • 🧭 Các giao dịch chính: SE11, SE13, SE14, SE16 và SM30 bao gồm định nghĩa, cài đặt kỹ thuật, tiện ích cơ sở dữ liệu, hiển thị dữ liệu và bảo trì.

SAP Từ điển dữ liệu ABAP SE11

Từ điển dữ liệu là gì?

Từ điển dữ liệu là nguồn thông tin trung tâm cho dữ liệu trong hệ thống quản lý thông tin. Chức năng chính của nó là hỗ trợ việc tạo và quản lý các định nghĩa dữ liệu (hoặc “siêu dữ liệu”).

In SAPKho lưu trữ trung tâm này được gọi là Từ điển ABAP, và nó được duy trì bằng giao dịch SE11. Mọi bảng, trường, khung nhìn và khóa được chương trình ABAP sử dụng đều được mô tả ở đây một lần và sau đó được sử dụng lại ở mọi nơi, do đó định nghĩa không bao giờ phải được lặp lại bên trong các chương trình riêng lẻ.

Từ điển dữ liệu ABAP

Hình ảnh trên hiển thị màn hình ban đầu của SE11, nơi mỗi loại đối tượng từ điển được chọn trước khi hiển thị hoặc thay đổi. Trước khi xem xét các loại đối tượng đó, việc hiểu lý do tại sao lại hữu ích. SAP Giữ siêu dữ liệu này bên ngoài các chương trình sử dụng nó.

Tại sao từ điển ABAP lại quan trọng

Từ điển ABAP tồn tại vì SAP Việc này tách biệt phần mô tả dữ liệu khỏi các chương trình xử lý dữ liệu. Một trường như số chứng từ mua hàng chỉ được mô tả một lần duy nhất, và mọi báo cáo, màn hình và mô-đun chức năng cần đến nó đều tham chiếu đến mô tả duy nhất đó.

Định nghĩa cốt lõi này mang lại bốn lợi ích thiết thực. Tính nhất quán được đảm bảo, bởi vì bất kỳ thay đổi nào được thực hiện đối với một miền sẽ ngay lập tức ảnh hưởng đến mọi trường tham chiếu đến nó thông qua một phần tử dữ liệu. Sự dư thừa biến mất, vì các nhà phát triển tái sử dụng các định nghĩa hiện có thay vì tạo ra các định nghĩa mới. Integrity Nó được bảo vệ vì các phạm vi giá trị, bảng kiểm tra và khóa ngoại được xác thực bởi từ điển chứ không phải bởi mã ứng dụng. Cuối cùng, từ điển không phụ thuộc vào cơ sở dữ liệu, do đó một bảng được định nghĩa trong SE11 sẽ được tạo trong cơ sở dữ liệu cơ bản với các kiểu dữ liệu gốc chính xác một cách tự động.

Từ điển cũng hoạt động trong quá trình chạy. Màn hình đọc nhãn trường, văn bản trợ giúp và phạm vi giá trị trực tiếp từ đó, đó là lý do tại sao trợ giúp F1 hoặc danh sách giá trị F4 xuất hiện mà không cần thêm một dòng mã nào. Hiểu ba cấp độ bên dưới sẽ giải thích cách thức tổ chức việc tái sử dụng đó.

Từ điển ABAP 3 cấp độ

Các đối tượng trong Từ điển ABAP nằm ở ba cấp độ hỗ trợ khả năng sử dụng lại của chúng. Các cấp độ này là:

  1. Tên miền
  2. Yếu tố dữ liệu
  3. Bảng và cấu trúc

Mỗi cấp độ được xây dựng dựa trên cấp độ trước đó: một miền cung cấp các thuộc tính kỹ thuật, một phần tử dữ liệu gán ý nghĩa kinh doanh cho các thuộc tính đó, và một bảng hoặc cấu trúc nhóm các phần tử dữ liệu lại thành một bản ghi. Chúng ta hãy cùng xem xét chi tiết hơn –

Tên miền

  • Mô tả các đặc tính kỹ thuật của trường bảng
  • Chỉ định một phạm vi giá trị mô tả các giá trị dữ liệu được phép cho các trường
  • Các trường tham chiếu đến cùng một tên miền (thông qua các thành phần dữ liệu được gán cho chúng) được thay đổi khi thực hiện thay đổi đối với tên miền
  • Đảm bảo tính thống nhất

Bán tại. Số chứng từ mua hàng (EBELN)

Từ điển: Tên miền hiển thị

Màn hình miền ở trên chỉ xác định kiểu dữ liệu và độ dài. Ý nghĩa nghiệp vụ của giá trị đó được cung cấp bởi cấp độ tiếp theo, tức là phần tử dữ liệu.

Yếu tố dữ liệu

  • Mô tả vai trò của một lĩnh vực trong bối cảnh kỹ thuật
  • Các trường có cùng ý nghĩa ngữ nghĩa có thể tham chiếu đến cùng một phần tử dữ liệu
  • Chứa thông tin trường

Bán tại. Số chứng từ mua hàng (EBELN)

Từ điển: Hiển thị thành phần dữ liệu

Màn hình phần tử dữ liệu chứa các nhãn trường và tài liệu mà người dùng nhìn thấy trên màn hình. Sau đó, các phần tử dữ liệu được kết hợp thành các bảng.

Bàn

  • Đại diện cho các bảng cơ sở dữ liệu nơi dữ liệu thực sự cư trú.
  • Các bảng có thể được định nghĩa độc lập với cơ sở dữ liệu trong Từ điển ABAP.
  • Các trường của bảng được xác định bằng (độc lập với cơ sở dữ liệu) của chúng SAP Các kiểu dữ liệu ABAP và độ dài.

Từ điển: Bảng hiển thị

Cấu trúc

  • Là các khai báo bản ghi KHÔNG tương ứng với Bảng cơ sở dữ liệu.
  • Giống như kiểu dữ liệu do người dùng xác định.
  • Được xác định giống như một bảng và sau đó có thể được xử lý từ các chương trình ABAP.
  • Cấu trúc chỉ chứa dữ liệu trong thời gian chạy của chương trình.

Từ điển: Cấu trúc hiển thị

Bảng dưới đây so sánh ba cấp độ một cách tổng quan.

Cấp Nó định nghĩa điều gì Lưu trữ dữ liệu? Ví dụ điển hình
miền Thuộc tính kỹ thuật: kiểu dữ liệu, độ dài, phạm vi giá trị Không EBELN (CHAR 10)
Phần tử dữ liệu Ý nghĩa ngữ nghĩa: nhãn trường, tài liệu, trợ giúp F1 Không EBELN — Mã số chứng từ mua hàng
Bàn Bản ghi các trường được tạo trong cơ sở dữ liệu. Vâng, một cách kiên trì. EKKO — Tiêu đề tài liệu mua hàng
Structure Bản ghi các trường chỉ được sử dụng bên trong chương trình. Đúng vậy, chỉ khi chạy chương trình. Khu vực làm việc cho một bảng nội bộ

Đối tượng tổng hợp của từ điển ABAP

Tổng hợp có nghĩa là bao gồm một số thành phần. Trong Từ điển ABAP, các đối tượng tổng hợp là các đối tượng đến từ nhiều bảng trong suốt khác nhau.

  1. Cảnh Quan
  2. tìm kiếm sự trợ giúp
  3. Khóa đối tượng

Hãy nhìn vào chúng một cách chi tiết

Cảnh Quan

  • Lượt xem trong SAP – ABAP được sử dụng để tóm tắt dữ liệu được phân bổ giữa nhiều bảng.
  • Dữ liệu của chế độ xem không thực sự được lưu trữ về mặt vật lý. Thay vào đó, dữ liệu của chế độ xem được lấy từ một hoặc nhiều bảng khác
  • Nó được điều chỉnh theo nhu cầu của một ứng dụng cụ thể

Từ điển: Chế độ xem hiển thị

tìm kiếm sự trợ giúp

  • Trợ giúp Search là công cụ giúp bạn tìm kiếm các bản ghi dữ liệu trong hệ thống
  • Tìm kiếm hiệu quả và thân thiện với người dùng hỗ trợ người dùng khi không xác định được khóa của bản ghi

Từ điển: Hiển thị Tìm kiếm Trợ giúp

Khóa đối tượng

  • Truy cập đồng thời vào cùng một bản ghi dữ liệu của hai người dùng trong SAP hệ thống được đồng bộ hóa bằng cơ chế khóa.
  • Khóa được thiết lập và giải phóng bằng cách gọi các mô-đun chức năng nhất định. Các mô-đun chức năng này được tạo tự động từ định nghĩa của cái gọi là đối tượng khóa trong Từ điển ABAP/4

mô-đun chức năng : Enqueue_ – để khóa bảng dequeue_ – để mở khóa

Từ điển: Đối tượng khóa hiển thị

⚠️ Cảnh báo: Một khóa được thiết lập bằng ENQUEUE và không bao giờ được giải phóng bằng DEQUEUE sẽ vẫn hoạt động cho đến khi phiên người dùng kết thúc. Luôn luôn gọi mô-đun DEQUEUE, kể cả trong đường dẫn xử lý lỗi của chương trình.

Sau khi đã hiểu rõ các loại đối tượng, phần tiếp theo sẽ áp dụng chúng bằng cách tạo một bảng trong suốt trong SE11.

Cách tạo bảng trong suốt trong SE11

Bảng trong suốt là đối tượng từ điển phổ biến nhất, vì nó có mối quan hệ một-một với một bảng vật lý trong cơ sở dữ liệu. Các bước dưới đây tạo một bảng trong suốt từ đầu.

  1. Mở SE11: Nhập giao dịch SE11, chọn Bảng cơ sở dữ liệu Chọn nút radio, nhập tên vào không gian tên khách hàng (bắt đầu bằng Z hoặc Y) và chọn Tạo.
  2. Nhập mô tả ngắn và loại hình giao hàng: trên Thuộc tính Trong tab, thêm một đoạn văn bản ngắn và thiết lập lớp gửi, điều này cho biết SAP Cách dữ liệu hoạt động trong quá trình sao chép hoặc nâng cấp máy khách. Lớp phân phối A được sử dụng cho dữ liệu ứng dụng, và C được sử dụng cho dữ liệu tùy chỉnh.
  3. Đặt thuộc tính bảo trì: Chọn Được phép trưng bày/bảo trì Vì vậy, sau này có thể tạo chế độ xem bảo trì bằng SE55 hoặc SM30.
  4. Xác định các trường: trên Lĩnh vực Trong tab, thêm MANDT làm trường khóa đầu tiên với phần tử dữ liệu MANDT, sau đó thêm các trường khóa nghiệp vụ. Mỗi trường được định kiểu bởi một phần tử dữ liệu, phần tử này lại tham chiếu đến một miền, do đó ba cấp độ được mô tả trước đó được sử dụng lại thay vì được định nghĩa lại.
  5. Duy trì các cài đặt kỹ thuật: Nhấp chuột Cài đặt kỹ thuật (giao dịch SE13) và thiết lập lớp dữ liệu, ví dụ APPL0 cho dữ liệu chính, cùng với loại kích thước dự kiến. Các giá trị này quyết định không gian bảng và kích thước ban đầu trong cơ sở dữ liệu.
  6. Kích hoạt: Ấn Bản Kích hoạtQuá trình kích hoạt tạo ra bảng vật lý trong cơ sở dữ liệu và làm cho định nghĩa đó có thể sử dụng được trong các chương trình ABAP.

💡 Mẹo: Tạo khóa ngoại cho mỗi trường cần được kiểm tra tính hợp lệ so với bảng kiểm tra. Từ điển sau đó sẽ tự động thực thi mối quan hệ, và không cần mã kiểm tra tính hợp lệ nào trong chương trình.

Sau khi bảng được kích hoạt, nó có thể được truy cập trực tiếp từ một chương trình ABAP bằng cách sử dụng... Mở SQLVí dụ dưới đây đọc bảng từ điển chuẩn SCARR vào một bảng nội bộ và liệt kê nội dung của nó.

REPORT zdemo_ddic_read.

* Internal table typed directly from the dictionary table SCARR
DATA: lt_scarr TYPE STANDARD TABLE OF scarr,
      ls_scarr TYPE scarr.

SELECT carrid carrname currcode
  FROM scarr
  INTO TABLE lt_scarr.

LOOP AT lt_scarr INTO ls_scarr.
  WRITE: / ls_scarr-carrid, ls_scarr-carrname, ls_scarr-currcode.
ENDLOOP.

Vì bảng nội bộ được định kiểu bằng TYPE STANDARD TABLE OF scarr, nên độ dài trường và kiểu dữ liệu của mọi bảng đều được lấy từ từ điển. Nếu định nghĩa bảng thay đổi, chương trình sẽ tự động cập nhật sau khi kích hoạt mà không cần chỉnh sửa.

Giao dịch từ điển ABAP thiết yếu Codes

Các giao dịch sau đây bao gồm công việc hàng ngày liên quan đến việc định nghĩa, kiểm tra và bảo trì các đối tượng từ điển.

Giao dịch Mục đích
SE11 Màn hình ban đầu của Từ điển dữ liệu (Chỉ hiển thị trên SE12)
SE13 Từ điển ABAP: Cài đặt kỹ thuật
SE14 Tiện ích cơ sở dữ liệu
SE15 Hệ thống thông tin kho lưu trữ
SE16 Trình duyệt dữ liệu
SE17 Hiển thị bảng tổng quan
SE55 Bảo trì chế độ xem bảng
SM30 Bảo trì bảng

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

SE11 duy trì định nghĩa của một đối tượng từ điển, chẳng hạn như các trường và khóa của một bảng. SE16 hiển thị và lọc các hàng dữ liệu được lưu trữ bên trong bảng đó. Một cái xử lý siêu dữ liệu, cái kia xử lý các bản ghi.

Đúng vậy. Một phần tử dữ liệu có thể nhận trực tiếp một kiểu dữ liệu được định nghĩa trước thay vì tham chiếu đến một miền giá trị. Tuy nhiên, vẫn nên sử dụng miền giá trị vì nó tập trung phạm vi giá trị và cho phép một thay đổi tác động đến mọi trường sử dụng nó.

Bảng trong suốt (transparent table) có sự tương ứng một-một với bảng cơ sở dữ liệu vật lý. Bảng gộp (pooled table) chia sẻ một bảng cơ sở dữ liệu với nhiều bảng từ điển nhỏ, do đó nó chỉ có thể được đọc bằng Open SQL, chứ không bao giờ bằng SQL gốc.

Các trợ lý AI như SAP Joule và các công cụ hỗ trợ lập trình trong các công cụ phát triển ABAP đề xuất tên trường, đề xuất các phần tử dữ liệu cho một bảng mới, giải thích các bảng chuẩn không quen thuộc và đánh dấu các khóa ngoại bị thiếu trước khi đối tượng được kích hoạt.

Trí tuệ nhân tạo (AI) có thể soạn thảo danh sách trường, kiểu dữ liệu và cách đặt tên, nhưng định nghĩa này vẫn cần được nhà phát triển xem xét và kích hoạt. Lớp phân phối, cài đặt kỹ thuật và khóa ngoại cần được con người xác nhận trước khi vận chuyển.

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