2015-10-27 16 views
6

İşte size bir tane.TANIMLANMAYAN alan sembolü atanmamış alan sembolü

Aşağıdaki kod parçası kısa bir dökümü GETWA_NOT_ASSIGNED ile bitmiyor ve bunun yerine C türünü 2 uzunluğuna sahip mi döndürüyor?

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

Bu davranışla ilgili ABAP belgelerinde hiçbir şey bulamadım.

DÜZENLEME: Kısa dökümü beklenen asla gibi

görünüyor. uzunluğunda 1 ile bu c o DATA: var. varsayılan gibi herhangi türü olmayan bir değişken bildirerek çünkü

FIELD-SYMBOLS: <fs_any> TYPE i. 

ve

FIELD-SYMBOLS: <fs_any> TYPE but000. 

yüzden vwegert 'ın cevabı akla yatkın olarak görünüyor

ile de denedim.

cevap

5

Kişisel görüş, değil belgelerine tarafından desteklenen ya: DATA foo. örtülü TYPE C LENGTH 1 bir değişken oluşturmak olacağından, bu DESCRIBE FIELD bu durumda çıkmıyor budur. Muhtemelen bir Unicode sistemindesiniz - sistemimde, uzunluk 1'i döndürüyor. Bazı belgelenmemiş davranışları, hatta belki de bir hatayı tetiklediğinizi söyleyebilirim. Buna güvenmek için NOT önerdim - Sanırım her an değişebilir.

+3

Unicode sistemimizde uzunluk 2 döndürdüğünü onaylayabilirim. Ayrıca UNASSIGN'ten sonra aynı değeri döndürür. –