Giới thiệu về ABAP: Kiểu dữ liệu, Operators & Editor – Hướng dẫn

⚡ Tóm tắt thông minh

Giới thiệu về ABAP bao gồm ngôn ngữ lập trình này. SAP Tài liệu này được tạo ra để xây dựng các ứng dụng trên hệ thống R/3. Nó giải thích về các kiểu dữ liệu, toán tử, câu lệnh điều khiển, bảng nội bộ và trình soạn thảo SE38, nơi mọi chương trình ABAP bắt đầu.

  • 🔤 Cú pháp khai báo: DATA variable_name TYPE variable_type khai báo mọi biến trong ABAP.
  • 🔢 Loại dữ liệu: Các ký tự I, F và P chứa số; C, D, N và T chứa ký tự; X chứa dữ liệu thập lục phân.
  • Operator: Các toán tử số học thay đổi giá trị, trong khi các toán tử logic như EQ, NE, GT và LT thúc đẩy các quyết định.
  • 🔁 Các câu lệnh kiểm soát: Các câu lệnh IF, CASE, WHILE và DO xác định những dòng lệnh nào của chương trình thực sự được thực thi.
  • 📋 Bảng nội bộ: Bảng nội bộ lưu trữ nhiều hàng trong bộ nhớ và là thành phần quan trọng của mọi báo cáo ABAP.
  • 🖥️ Editor: Giao dịch SE38 là Trình soạn thảo ABAP, nơi các chương trình được viết, kiểm tra và thực thi.

Giới thiệu về SAP ABAP

ABAP là gì?

ABAP là viết tắt của Advanced Business Application Programming (Lập trình ứng dụng kinh doanh nâng cao). Đây là một ngôn ngữ lập trình dùng để phát triển...ping ứng dụng cho SAP Hệ thống R/3.

Phiên bản ABAP mới nhất được gọi là ABAP Objects và hỗ trợ lập trình hướng đối tượng. SAP sẽ chạy các ứng dụng được viết bằng ABAP/4, phiên bản ABAP cũ hơn, cũng như các ứng dụng sử dụng Đối tượng ABAP.

Phần giới thiệu này không nhằm mục đích ghi lại mọi thứ. ngôn ngữ ABAP Cuốn sách này giới thiệu các khái niệm chính một cách nhanh chóng, giúp bạn có thể bắt đầu viết các chương trình hoạt động và sau đó chuyển sang các chủ đề nâng cao hơn.

Loại dữ liệu

Mỗi chương trình ABAP đều bắt đầu bằng việc khai báo dữ liệu mà nó sẽ làm việc cùng.

Cú pháp khai báo một biến trong ABAP –

DATA Variable_Name TYPE Variable_Type.

Ví dụ:

DATA employee_number TYPE I.

Dưới đây là danh sách các kiểu dữ liệu được ABAP hỗ trợ.

Loại dữ liệu Độ dài trường ban đầu Độ dài trường hợp lệ Giá trị ban đầu Ý nghĩa
Loại số
I 4 4 0 Số nguyên (số nguyên)
F 8 8 0 Số điểm nổi
P 8 1 - 16 0 Số đóng gói
Các loại ký tự
C 1 1 - 65535 ' … ' Trường văn bản (ký tự chữ và số)
D 8 8 '00000000' Trường ngày tháng (định dạng: YYYYMMDD)
N 1 1 - 65535 '0 … 0' Trường văn bản số (ký tự số)
T 6 6 '000000' Trường thời gian (định dạng: HHMMSS)
Kiểu thập lục phân
X 1 1 - 65535 X'0 … 0′ Trường thập lục phân

Tám kiểu dữ liệu nêu trên là các kiểu dữ liệu có độ dài cố định kinh điển. ABAP cũng cung cấp hai kiểu dữ liệu có độ dài thay đổi mà người mới bắt đầu học lập trình sẽ gặp ngay lập tức: STRING cho văn bản có độ dài bất kỳ, và XSTRING Dành cho dữ liệu nhị phân có độ dài bất kỳ.

ABAP Operaxoắn

Sau khi dữ liệu được khai báo, các toán tử sẽ là những tác nhân thay đổi và so sánh dữ liệu đó.

Gán giá trị

a = 16.
MOVE 16 TO a.
WRITE a TO b.

Cả ba câu lệnh đều di chuyển một giá trị. Dấu bằng là dạng hiện đại, trong khi MOVE và WRITE TO là các dạng cũ hơn mà bạn vẫn có thể gặp trong các chương trình cũ.

Các phép tính toán học

COMPUTE a = a * 100.

ABAP cũng hỗ trợ các lệnh ADD, SUB.TRACT, MULTIPLY và DIVIDE có thể là các từ khóa riêng lẻ, nhưng dạng COMPUTE được hiển thị ở trên là dạng được sử dụng thường xuyên nhất.

khai thác hợp lý

Các toán tử logic trả về giá trị true hoặc false, và chúng là những gì mà mọi câu lệnh điều khiển trong phần tiếp theo kiểm tra. Mỗi toán tử đều có dạng chữ và dạng ký hiệu, và hai dạng này có thể hoán đổi cho nhau.

Hình thức từ Hình thức ký hiệu Ý nghĩa
EQ = Tương đương với
NE <> Không bằng
GT > Lớn hơn
GE >= Lớn hơn hoặc bằng
LT < Less hơn
LE <= Less hơn hoặc bằng

Tuyên bố kiểm soát

Các câu lệnh điều khiển sử dụng các toán tử logic ở trên để quyết định dòng mã nào sẽ được thực thi và tần suất thực thi.

NẾU … KẾT THÚC NẾU

IF [NOT] exp [ AND / OR [NOT] exp ].
  ........
[ELSEIF exp.
  .......]
[ELSE.
  .......]
ENDIF.

Tuyên bố CASE

CASE variable.
  WHEN value1.
    .........
  WHEN value2.
    .........
  [WHEN OTHERS.
    .........]
ENDCASE.

vòng lặp WHILE

WHILE <logical expression>.
  .....
ENDWHILE.

vòng lặp DO

DO <n> TIMES.
  .....
ENDDO.

Vòng lặp WHILE chạy chừng nào điều kiện của nó còn đúng. Vòng lặp DO chạy một số lần cố định, hoặc chạy vô tận cho đến khi câu lệnh EXIT dừng nó lại.

Bảng nội bộ trong ABAP

Biến đơn lẻ hiếm khi là đủ. Các chương trình nghiệp vụ đọc nhiều hàng dữ liệu cùng một lúc, và bảng nội bộ là cấu trúc lưu trữ chúng trong bộ nhớ.

Bảng nội bộ là một mảng động. Nó không có kích thước cố định, chỉ tồn tại trong suốt thời gian chương trình chạy và là cách chuẩn để di chuyển các hàng giữa cơ sở dữ liệu và màn hình.

" Declare an internal table and a work area
DATA: lt_employees TYPE TABLE OF pa0001,
      ls_employee  TYPE pa0001.

" Fill it from the database
SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS.

" Read it row by row
LOOP AT lt_employees INTO ls_employee.
  WRITE: / ls_employee-pernr, ls_employee-ename.
ENDLOOP.

Ba thao tác trên bao gồm hầu hết các công việc hàng ngày: khai báo bảng, điền dữ liệu vào bảng bằng câu lệnh SELECT, sau đó duyệt qua bảng bằng vòng lặp LOOP AT. APPEND thêm một hàng, READ TABLE tìm một hàng, và DELETE xóa các hàng khớp với điều kiện.

Trình soạn thảo ABAP/4

Toàn bộ cú pháp trên được nhập vào cùng một chỗ.

Giao dịch SE38 Mở trình soạn thảo ABAP, nơi bạn sẽ dành phần lớn thời gian với tư cách là một nhà phát triển để tạo và chỉnh sửa chương trình.

Trình soạn thảo ABAP/4

Trình soạn thảo ABAP/4, giao dịch SE38

Cách viết chương trình ABAP đầu tiên của bạn

Màn hình phía trên là nơi các bước sau diễn ra. Trình tự các bước bên dưới sẽ tạo ra một báo cáo hoàn chỉnh chỉ trong vài phút.

  1. Mở trình soạn thảo. Nhập mã giao dịch SE38 trong SAP Nhập lệnh vào trường GUI và nhấn Enter.
  2. Hãy đặt tên cho chương trình. Nhập tên bắt đầu bằng Z or Y, Ví dụ ZHELLO_WORLDHai chữ cái đó là không gian tên khách hàng, và SAP Đảm bảo rằng nó sẽ không bao giờ ghi đè lên chúng trong quá trình nâng cấp.
  3. Tạo ra nó. Nhấp chuột Tạo, nhập mô tả ngắn và chọn Chương trình thực thi như một loại.
  4. Chỉ định một gói hàng. Chọn Đối tượng cục bộ Để thực hành. Một đối tượng cục bộ sẽ nằm trong hệ thống của bạn và không cần yêu cầu vận chuyển.
  5. Viết mã.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Kiểm tra cú pháp. Ấn Bản Ctrl + F2Thanh trạng thái sẽ hiển thị bất kỳ lỗi nào và dòng gây ra lỗi đó.
  2. Kích hoạt chương trình. Ấn Bản Ctrl + F3Một chương trình không hoạt động sẽ không thể chạy.
  3. Thi hành, hành hình. Ấn Bản F8Danh sách đầu ra sẽ mở ra và hiển thị cả hai dòng WRITE.

Dấu gạch chéo trong câu lệnh WRITE sẽ tạo ra một dòng mới. Bỏ dấu gạch chéo này sẽ in toàn bộ nội dung trên một dòng, đây là thói quen định dạng đầu tiên mà hầu hết người mới bắt đầu đều học được.

Giao dịch ABAP thông thường Codes

Một vài mã giao dịch bao gồm hầu hết mọi thứ mà một lập trình viên ABAP mới cần.

Giao dịch Mục đích
SE38 Trình soạn thảo ABAP. Tạo, chỉnh sửa, kiểm tra và chạy chương trình.
SE80 Trình điều hướng đối tượng. Một môi trường làm việc duy nhất cho các chương trình, lớp, gói và màn hình.
SE11 Từ điển ABAP. Định nghĩa và kiểm tra các bảng cơ sở dữ liệu, các phần tử dữ liệu và miền dữ liệu.
SE16N Trình duyệt dữ liệu. Xem nội dung của bất kỳ bảng nào mà không cần viết câu lệnh SELECT.
SE37 Công cụ xây dựng hàm. Tạo và kiểm thử các mô-đun hàm.
SE24 Công cụ tạo lớp. Tạo các lớp toàn cục cho các đối tượng ABAP.
ST22 Phân tích lỗi kết xuất. Đọc lỗi thời gian chạy khi chương trình kết thúc.

SE38 và SE11 là đủ để lập báo cáo ban đầu. ST22 trở nên quan trọng nhất trong nhóm ngay khi chương trình gặp sự cố.

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

Z và Y tạo thành không gian tên khách hàng. SAP Chương trình không bao giờ xuất các đối tượng có tiền tố đó, vì vậy bản nâng cấp không thể ghi đè lên chương trình của bạn. Các tên nằm ngoài không gian tên đó có nguy cơ bị thay thế.

ABAP/4 là phiên bản lập trình theo thủ tục, được xây dựng dựa trên báo cáo và chương trình con. ABAP Objects bổ sung thêm các lớp, giao diện và kế thừa. Cả hai đều chạy trên cùng một hệ thống, vì vậy mã cũ và mã mới cùng tồn tại.

Hãy sử dụng kiểu dữ liệu P, kiểu dữ liệu đóng gói. Nó lưu trữ các số thập phân một cách chính xác, điều mà tiền tệ yêu cầu. Kiểu dữ liệu F là số dấu phẩy động và gây ra sai số làm tròn, khiến các tổng số tài chính không đáng tin cậy.

Đúng vậy. Trợ lý AI có thể giải thích lỗi, dịch mã giả sang ABAP và đề xuất một vòng lặp gọn gàng hơn. Luôn luôn chạy kiểm tra cú pháp, vì mã được tạo ra có thể tham chiếu đến các bảng mà hệ thống của bạn không có.

Không thể thiếu bước kiểm tra. Mã được tạo tự động thường bỏ qua các bước kiểm tra quyền truy cập, quy tắc hiệu năng và danh sách API đã phát hành của ABAP Cloud. Hãy coi nó như bản nháp đầu tiên, sau đó kiểm tra nó như bất kỳ đoạn mã nào khác.

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