SAP 有趣的‘bug‘ 选择屏幕输入框没了

如下代码将会输出一个P_U的字段

PARAMETERS p_u TYPE string VISIBLE LENGTH 12 MEMORY ID m1.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'P_U'.
      screen-invisible = '1'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

如果我们给这个字段设置一个默认值,参考如下代码,这时将会输出什么呢?

DATA: lv_xs TYPE xstring.

PARAMETERS p_u TYPE string VISIBLE LENGTH 12 MEMORY ID m1.

INITIALIZATION.
  lv_xs =  '0000'.
  p_u = cl_bcs_convert=>xstring_to_string( iv_cp = '4103' iv_xstr = lv_xs ).

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'P_U'.
      screen-invisible = '1'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

会发现输入框消失了

此时将代码修改到上一个版本,并在AT SELECTION-SCREEN OUTPUT下清除该值,仍然没有输入框

DATA: lv_xs TYPE xstring.

PARAMETERS p_u TYPE string VISIBLE LENGTH 12 MEMORY ID m1.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'P_U'.
      screen-invisible = '1'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
  CLEAR: p_u.

START-OF-SELECTION.
  WRITE:/ p_u.

SAPKB74024 SAP Basis Component

相关推荐
斌将军4 天前
BP新增页签增强
abap
LilySesy6 天前
SAP+Internet主题HTML样式选择
前端·html·sap·abap·internet服务·its·扫码枪
SAP学习成长之路6 天前
如何在SM30生成的维护表中增加选择框 CheckBox
开发语言·数据库·sap·健康医疗·abap·代码规范
SAPABAP东芝9 天前
【SAP-ABAP】MIRO--界面增强增加数据导出导入按钮
sap·abap·fico
cyqweqe1239 天前
SAP采购发票税额总额非自动计算。TAX不写行号
abap
乐乐823412 天前
ABAP:SET CURSOR FIELD设置鼠标焦点
abap
冰魄禾19 天前
SAP ABAP开发学习——BAPI
运维·开发语言·笔记·运维开发·sap·abap
Lisson 31 个月前
The ABAP program lines are wider than the internal table.
abap
1314lay_10073 个月前
FUNCTION_ALV 下拉框的实现
abap