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.