Sap-abap-strings

提供:Dev Guides
移動先:案内検索

SAP ABAP-文字列

ABAPプログラミングで広く使用されている*文字列*は、一連の文字です。

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

文字列を作成する

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

Data my_Char(5) VALUE 'Hello'.

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

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

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

Hello

ストリングの長さ

文字列の長さを調べるには、* STRLENステートメント*を使用できます。 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. Statement & Purpose
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: finddevguides
Concatenation with Space: Tutorials Point
Condense with Gaps: Tutorials Point Limited
Condense with No Gaps: finddevguidesLimited

-

  • 連結の場合、「sep」はフィールド間にスペースを挿入します。
  • CONDENSEステートメントは、フィールド間の空白を削除しますが、1文字のスペースのみを残します。
  • 「NO-GAPS」は、すべてのスペースを削除するCONDENSEステートメントへのオプションの追加です。