本ページでは、ABAPの基礎知識―テキストシンボルについて解説しています。
テキストシンボルは、名称付きのデータオブジェクトのことで、画面上で表示する文字・テキストをIDで管理したものです。実際のプログラムでは、このIDを指定することで、文字・テキストを出力して利用します。
このページで学べる内容
- テキストシンボル(テキストエレメント)とは?
- テキストシンボルの使い方
- テキストシンボルを利用するメリット/目的
ABAPerであれば、知らないと恥ずかしい内容ばかりですので是非最後までご覧ください。
テキストシンボルとは?
テキストシンボルとは、画面上に表示されるテキストをID番号でシンボル化したものです。「シンボル化」をわかりやすく説明すると「シンボル化=テキストをID番号で保持」ということになります。
ID番号で管理されたテキストを表示させたい場合には、「こんにちは!」とプログラム中に記述するのではなく、プログラムには、ID番号"S01" と記載します。
あえて、「こんにちは」とコーディングするのではなく、テキストシンボルを利用するのはなぜでしょうか?ここからは、テキストシンボルを利用する目的とメリットを学習していきます。
※例で利用したWRITE命令について知りたい方はこちらをご覧ください。
テキストシンボル利用のメリット
例として、選択画面上に以下のように「初めての選択画面」と表示させるプログラムを考えてみましょう。(実際の手順はページ後半で再度解説します。ここでは、テキストシンボルのメリットを考えていきます。)
まず、テキストシンボルS01を登録します。
その後、以下のようにコーディングします。
SELCTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXET-S01. ・・・ SELECTION-SCREEN END OF BLOCK B1.
これで、画面には「初めての選択画面」という文字が表示されます。
英語表示したい場合
テキストシンボルの1つ目のメリットが多言語対応できるという点です。実は、テキストシンボルは、それぞれの言語ごとにテキストを定義できるのです。
ID"S01"に、日本語と英語の2つのテキストを設定しておけば、利用するユーザに合わせて表示方法を変えることができます。
テキストを変えたい場合
設定されているテキストを変更したい場合は、テキストシンボルの設定画面上から、テキストの内容を変更するだけでOKです。
つまり、プログラムの改修が不要です。プログラムの改修を行えば、その分改修や、テストの工数も必要になりますし、バグの可能性も0ではありません。テキストシンボルを設定しておけば、それらのリスクを冒さずにシステムに変更を加えることが可能になります。
上記の2つの理由から、文字列を画面に表示させたい場合は原則として、テキストシンボルを利用します。
テキストシンボルの利用方法
何となくテキストシンボルのイメージが沸いたところで、実際の構文ルールと利用シーンを確認して理解を深めましょう。
構文ルール:テキストシンボル
TEXT-(シンボルID)
テキストシンボルを利用する際には、上記のように「TEXT-」の後にシンボルIDを指定するだけです。これで、事前に設定したテキストシンボルをプログラム実行中に呼び出すことができます。
またIDは必ず3文字で設定します。
サンプルコード:テキストシンボルの利用
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-S01. ・・・ SELECTION-SCREEN END OF BLOCK B1.
「TEXT-S01」が該当部分です。
”S01=「初めての選択画面」”をテキストシンボルとして設定しておけば、以下画面のようにテキストが表示されます。
特にここで例示した選択画面の文言については、ユーザからの要望や多言語化を見据えてプログラム中にハードコーティングするべきではありません。テキストシンボルの利用がデフォルトスタンダードです。
SELECTION-SCREENについて合わせて学習したい方は、以下の記事からどうぞ。
テキストシンボルの作成方法
ここからは、実際にテキストシンボルを定義する方法を解説していきます。テキストシンボルは、頻繁に利用するものではないので忘れがちになる機能でもあるため、ブックマークがおすすめです。
トランザクションコード:SE32
テキストシンボルは、トランザクションコード:SE32から設定します。
テキストシンボルは、プログラム単位で保持するものであるため、まずはテキストシンボルを設定したいプログラムを選択します。実際にテキストシンボルを設定する場合は、変更ボタンを押下してください。
IDとテキスト入力
IDとテキストを入力します。IDは先ほども解説しましたが、必ず3文字で指定します。
上記で設定を行った場合、プログラム中で”TEXT-S01”=”初めての選択画面”と表示させることが可能になります。
これを英語の場合のテキストも事前に設定しておけばログオン言語が変更されても、プログラムを改修することなく問題なく英語版の文字を出力することができます。テキストエレメントは難しい概念ではありません。この機会にさっと理解してしまいましょう。
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!