!--a11y-->
文字項目は、次のようにアルファベットでソートすることのできる書式に変換することができます。
構文
CONVERT TEXT <c> INTO SORTABLE CODE <sc>.
この命令では、文字項目
<c> に対応するソート可能ターゲット項目 <sc> が書き込まれます。項目 <c> のタイプは C でなければならず、 <sc> はタイプ X でサイズは最低でも <c> の 16 倍はなければなりません。この命令の目的は、項目
<c> のアルファベット順ソートキーとして使用するために、文字項目 <c> の関連項目 <sc> を作成することです。ソート機能は内部テーブルと抽出に使用します( 内部テーブルのソート、および 抽出データセットのソートを参照してください)。未変換の文字項目をソートする場合は、プラットフォーム独自の文字の内部コードに対応する順序が、システムによって作成されます。
CONVERT TEXT の変換によって、目標項目のソート後には、対応する文字項目の順序がアルファベット順になるような方法で目標項目が登録されます。たとえば、ドイツ語の順序では、‘ Miller 、 Moller 、 Muller 、 Moller ’ではなく、‘ Miller 、 Moller 、 Moller 、 Muller ’となります。変換の方法は、実行中の
ABAP プログラムのテキスト環境により決定されます。テキスト環境はユーザのマスタレコードで定義されます。例外として、次の構文を使用してプログラム内のテキスト環境を設定することができます。構文
SET LOCALE LANGUAGE <lg> [COUNTRY <cy>] [MODIFIER <m>].
この命令では、言語
< 言語 > にもとづいてテキスト環境が設定されます。言語について国独自の違いがある場合は、オプションの COUNTRY を使用すれば、言語に追加する国を指定することができます。オプション MODIFIER を使用すると、1つの国のなかで言語に相違がある場合に、別の識別氏を指定することができます。電話帳と辞書とではソート順序が異なる場合などがこれに当たります。項目
<lg> 、 <cy> 、 <m> はタイプ C で、かつテーブル TCP0C のキー項目と同じ長さでなければなりません。テーブル TCP0C はプラットフォーム独自のテキスト環境を更新するためのテーブルです。 SET LOCALE 命令の実行中には、 TCP0C 内のエントリにしたがってテキスト環境が設定されます。内部的に転送されるプラットフォーム ID は例外として、テーブルキーの指定では SET 命令が使用されます。プラットフォーム識別子は暗黙的に引き渡されます。 <lg> が空白である場合、ユーザのマスタレコードにもとづいてテキスト環境が設定されます。指定したキーに対するエントリがテーブル内に存在しない場合は、実行時エラーが発生します。テキスト環境は、
ABAP において文字セットに依存する すべての操作に対して有効になります。このトピックに関する詳細については、
CONVERT TEXT および SET LOCALE LANGUAGE のキーワードマニュアルを参照してください。アルファベット順のソートの例については、
内部テーブルのソートを参照してください。
