这是给你的。
为什么以下代码段不以短转储GETWA_NOT_ASSIGNED
结尾,而是返回长度为C
的{{1}}类型?
2
我在ABAP文档中找不到有关此行为的任何内容。
编辑:
看起来短期转储永远不会出现。我也尝试了
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).
和
FIELD-SYMBOLS: <fs_any> TYPE i.
所以vwegert的答案看起来似乎是合理的,因为声明一个没有任何类型的变量FIELD-SYMBOLS: <fs_any> TYPE but000.
会将其默认为DATA: var.
,其长度为c
。
答案 0 :(得分:5)
个人观点,不受文档支持:由于<DataGridCheckBoxColumn Header="Is checked" Binding="{Binding IsChecked}" />
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled}" Value="False">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridCheckBoxColumn.CellStyle>
将隐式创建DATA foo.
变量,因此TYPE C LENGTH 1
在这种情况下返回的是DESCRIBE FIELD
。你可能在Unicode系统上 - 在我的系统上,它返回长度1.我会说你已经触发了一些无证的行为,甚至可能是一个bug。我强烈建议 NOT 依赖于此 - 我想它可能会随时更改。