据我了解,abap 中的选择选项仅从 UI 中获取 45 个字符。
无论我指定选择选项的类型,它都不会超过 45 个字符。
SELECT-OPTIONS: s_key FOR somlreci1-receiver NO INTERVALS VISIBLE LENGTH 100.
somlreci1-receiver 是 char(1215)。但是我不能在该选择选项中写入超过 45 个。
有什么办法可以增加这个长度?
据我了解,abap 中的选择选项仅从 UI 中获取 45 个字符。
无论我指定选择选项的类型,它都不会超过 45 个字符。
SELECT-OPTIONS: s_key FOR somlreci1-receiver NO INTERVALS VISIBLE LENGTH 100.
somlreci1-receiver 是 char(1215)。但是我不能在该选择选项中写入超过 45 个。
有什么办法可以增加这个长度?
在@vlad-ardelean 发布的文档末尾,它提到:
如果在使用 SUBMIT 调用可执行程序时提供了数据类型的选择标准
...
如果选择标准是用添加的 NO-DISPLAY 声明的,那么第一行也不会执行转换例程或截断。
您可以在主程序中将选择选项声明为 NO-DISPLAY,然后从第二个程序中调用它
SUBMIT programname WITH so_field EQ lv_longdata SIGN 'I'.
...或类似于将 long 值传递给主程序。然而,这是一种非常复杂的方式。
除了@vlad-ardelean 的回答:有趣的是,在最近的版本中,最大字段长度提高到 255 个字符(参见http://help.sap.com/abapdocu_731/en/ABAPSELECT-OPTIONS.htm)。