2

ステートメントには多くのWRITEオプションがあるので、CONVERSION_EXIT_* 関数を呼び出すのか、それともさまざまな方法でプリミティブ データ型をどのように出力するのか疑問に思っていました。

CONVERSION_EXIT_*s を使用している場合、それらは何ですか?

4

1 に答える 1

3

プリミティブ データ型 ( ) には、変換出口 (など) が割り当てられてDATA foo TYPE n LENGTH 10いません。ALPHA

  • たとえば、次のように手動で選択できます

    書き込み ... に ... 編集マスク '==ALPHA' を使用。

  • または、データ ディクショナリ ドメイン (トランザクション コード) に割り当てることができますSE11。この場合、たとえば次のように暗黙的に呼び出されます。

    • 画面 (dynpro) 処理によって (明示的にオフにしない限り)。
    • 書き込みによる

      DATA(langu) = CONV syst-langu( 'E' ). " domain SYLANGU has conv.exit ISOLA

      データ テキスト タイプ c 長さ 2.

      テキストに言語を書き込みます。" conv.exit ISOLA は 'E' を 'EN' に変換します

を除いてWRITE、ABAP 自体は変換出口をサポートするためにほとんど何もしません。これは良いことです。なぜなら、変換はプログラムの入出力境界でのみ行われ、内部では行われないからです。

作業中はすべてのデータを内部形式のままにし、出力が行われる直前にのみ変換することをお勧めします。

于 2013-04-22T18:24:25.263 に答える