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

相关推荐
山茶花开时。1 天前
[SAP ABAP] CONVERSION_EXIT_ALPHA_INPUT
sap·abap
EasyStudios3 天前
金色传说:SAP-ABAP-Excel数据导入工具函数示例
sap·abap·excel导入
EasyStudios3 天前
金色传说:SAP-ABAP-交货单创建及过账工具类示例
sap·abap·工具类·se24·交货单bapi
goyeer6 天前
05.[SAP ABAP] ABAP中的运算符
算法·sap·abap·运算符
爱喝水的鱼丶20 天前
SAP-ABAP:SAP概述:数据处理的系统、应用与产品
运维·学习·sap·abap·1024程序员节
1314lay_100721 天前
SAP ABAP 导入excel表,导多个sheet
excel·abap
寒武青锋24 天前
SAP 后台批量激活程序
sap·abap
LilySesy1 个月前
ABAP+在select的时候,可以A=B A=C B=C这样子JOIN吗?
数据库·sql·ai·excel·sap·abap
LilySesy1 个月前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
海阔天空0921 个月前
ABAP S4 新语法 sql with 的用法demo
abap