SAPABAP-文字列

StringsABAPプログラミングで広く使用されている、は文字のシーケンスです。

最小1文字、最大65,535文字の英数字を保持するために、データ型C変数を使用します。デフォルトでは、これらは左揃えになっています。

文字列の作成

次の宣言と初期化により、「Hello」という単語で構成される文字列が作成されます。文字列のサイズは、「Hello」という単語の文字数とまったく同じです。

Data my_Char(5) VALUE 'Hello'.

次のプログラムは、文字列の作成例です。

REPORT YT_SEP_15. 
DATA my_Char(5) VALUE 'Hello'. 
Write my_Char.

上記のコードは次の出力を生成します-

Hello

文字列の長さ

文字列の長さを見つけるために、 STRLEN statement。STRLEN()関数は、文字列に含まれる文字数を返します。

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.

上記のコードは次の出力を生成します-

The Length of the Title is: 9

ABAPは、文字列を操作するさまざまなステートメントをサポートしています。

S.No. ステートメントと目的
1

CONCATENATE

2つのストリングが結合されて、3番目のストリングが形成されます。

2

CONDENSE

このステートメントは、スペース文字を削除します。

3

STRLEN

フィールドの長さを見つけるために使用されます。

4

REPLACE

文字の置換に使用されます。

5

SEARCH

文字列で検索を実行します。

6

SHIFT

文字列の内容を左または右に移動するために使用されます。

7

SPLIT

フィールドの内容を2つ以上のフィールドに分割するために使用されます。

次の例では、上記のステートメントのいくつかを使用しています。

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.

上記のコードは次の出力を生成します-

Concatenation: TutorialsPoint 
Concatenation with Space: Tutorials Point 
Condense with Gaps: Tutorials Point Limited 
Condense with No Gaps: TutorialsPointLimited

Note

  • 連結の場合、「sep」はフィールド間にスペースを挿入します。

  • CONDENSEステートメントは、フィールド間の空白スペースを削除しますが、1文字のスペースのみを残します。

  • 'NO-GAPS'は、すべてのスペースを削除するCONDENSEステートメントへのオプションの追加です。