SAP ABAP - Chuỗi
Strings, được sử dụng rộng rãi trong lập trình ABAP, là một chuỗi các ký tự.
Chúng tôi sử dụng các biến kiểu dữ liệu C để chứa các ký tự chữ và số, với tối thiểu 1 ký tự và tối đa là 65.535 ký tự. Theo mặc định, chúng được căn chỉnh ở bên trái.
Tạo chuỗi
Khai báo và khởi tạo sau đây tạo ra một chuỗi bao gồm từ 'Xin chào'. Kích thước của chuỗi chính xác là số ký tự trong từ 'Hello'.
Data my_Char(5) VALUE 'Hello'.
Chương trình sau đây là một ví dụ về tạo chuỗi.
REPORT YT_SEP_15.
DATA my_Char(5) VALUE 'Hello'.
Write my_Char.
Đoạn mã trên tạo ra kết quả sau:
Hello
Chiều dài chuỗi
Để tìm độ dài của chuỗi ký tự, chúng ta có thể sử dụng STRLEN statement. Hàm STRLEN () trả về số ký tự có trong chuỗi.
Thí dụ
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'Tutorials',
length_1 TYPE I.
length_1 = STRLEN( title_1 ).
Write: / 'The Length of the Title is:', length_1.
Đoạn mã trên tạo ra kết quả sau:
The Length of the Title is: 9
ABAP hỗ trợ một loạt các câu lệnh thao tác với chuỗi.
Không. | Tuyên bố & Mục đích |
---|---|
1 | CONCATENATE Hai chuỗi được nối để tạo thành chuỗi thứ ba. |
2 | CONDENSE Câu lệnh này xóa các ký tự khoảng trắng. |
3 | STRLEN Được sử dụng để tìm độ dài của một trường. |
4 | REPLACE Dùng để thay thế các ký tự. |
5 | SEARCH Để chạy tìm kiếm trong chuỗi ký tự. |
6 | SHIFT Được sử dụng để di chuyển nội dung của một chuỗi sang trái hoặc phải. |
7 | SPLIT Được sử dụng để tách nội dung của một trường thành hai hoặc nhiều trường. |
Ví dụ sau sử dụng một số câu lệnh được đề cập ở trên:
Thí dụ
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'Tutorials',
title_2(10) VALUE 'Point',
spaced_title(30) VALUE 'Tutorials Point Limited',
sep,
dest1(30),
dest2(30).
CONCATENATE title_1 title_2 INTO dest1.
Write: / 'Concatenation:', dest1.
CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep.
Write: / 'Concatenation with Space:', dest2.
CONDENSE spaced_title.
Write: / 'Condense with Gaps:', spaced_title.
CONDENSE spaced_title NO-GAPS.
Write: / 'Condense with No Gaps:', spaced_title.
Đoạn mã trên tạo ra kết quả sau:
Concatenation: TutorialsPoint
Concatenation with Space: Tutorials Point
Condense with Gaps: Tutorials Point Limited
Condense with No Gaps: TutorialsPointLimited
Note -
Trong trường hợp Kết hợp, 'sep' sẽ chèn một khoảng trắng vào giữa các trường.
Câu lệnh CONDENSE loại bỏ khoảng trắng giữa các trường, nhưng chỉ để lại khoảng trắng của 1 ký tự.
'NO-GAPS' là phần bổ sung tùy chọn cho câu lệnh CONDENSE loại bỏ tất cả các khoảng trắng.