2015-10-27 18 views
6

Eccone uno per te.DESCRIBE CAMPO con un simbolo di campo non assegnato

Perché il seguente codice non termina con una copia breve GETWA_NOT_ASSIGNED e restituisce invece il tipo C con lunghezza 2?

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). 

Non ho trovato nulla nella documentazione ABAP su questo comportamento.

EDIT:

Sembra che il breve discarica non è mai prevedibile. Ho provato anche con

FIELD-SYMBOLS: <fs_any> TYPE i. 

e

FIELD-SYMBOLS: <fs_any> TYPE but000. 

così vwegert 's risposta sembra essere plausibile, perché dichiarare una variabile senza alcun tipo come quello DATA: var. default è a c di lunghezza 1.

risposta

5

Parere personale, non supportato dalla documentazione: Dal DATA foo. creerà implicitamente una variabile di , questo è ciò che DESCRIBE FIELD restituisce in questo caso. Probabilmente sei su un sistema Unicode - sul mio sistema, restituisce la lunghezza 1. Direi che hai attivato alcuni comportamenti non documentati, forse anche un bug. Suggerisco caldamente di fare riferimento a NON, suppongo che potrebbe essere modificato in qualsiasi momento.

+3

Posso confermare che sul nostro sistema Unicode restituisce la lunghezza 2. E restituisce lo stesso valore anche dopo UNASSIGN. –