2015-10-27 233 views
6

ここはあなたのためのものです。未割り当てのフィールドシンボルを持つフィールドの作成

なぜ、次のコードは短いダンプGETWA_NOT_ASSIGNEDで終了せず、その代わりに長さが2Cという戻り値を返しますか?

FIELD-SYMBOLS: <fs_any> TYPE any. 

DESCRIBE FIELD <fs_any> 
    TYPE DATA(l_type) 
    LENGTH DATA(l_length) IN BYTE MODE 
    DECIMALS DATA(l_decimals). 

この動作については、ABAPドキュメントで何も見つかりませんでした。

編集:

短いダンプは決して予想されないようです。私はそうvwegertの答えは長さ1cへのDATA: var.デフォルトでそれを好きでは任意の型なしの変数を宣言するために、もっともらしいことになりそうだ

FIELD-SYMBOLS: <fs_any> TYPE i. 

FIELD-SYMBOLS: <fs_any> TYPE but000. 

でも、それを試してみました。

答えて

5

DATA foo.は暗黙的にTYPE C LENGTH 1という変数を作成しますので、この場合はDESCRIBE FIELDが返されます。あなたはおそらくユニコードシステム上です。私のシステムでは、それは長さ1を返します。私は、文書化されていない振る舞いを引き起こしたと思います。 NOTこれに頼ることを強くお勧めします - いつでも変更される可能性があります。

+3

私たちのユニコードシステムでは、長さ2を返すことが確認できます。また、UNASSIGNの後も同じ値を返します。 –

関連する問題