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

相关推荐
LilySesy3 天前
ABAP+&SFSY-FORMPAGES&变成星号
经验分享·sap·abap·erp系统·smartforms
SAP-nkGavin1 个月前
ABAP设计模式之---“童子军法则(The Boy Scout Rule)”
设计模式·sap·abap
SAP-nkGavin1 个月前
简单说一说Modern ABAP这个概念
sap·abap
爱喝水的鱼丶1 个月前
SAP-ABAP:在DEBUG过程中修改内表中的数据的方法详解
运维·开发语言·sap·异常处理·abap·修改内表
爱喝水的鱼丶2 个月前
SAP-ABAP:ABAP异常处理与SAP现代技术融合—— 面向云原生、微服务与低代码场景的创新实践
开发语言·低代码·微服务·云原生·sap·abap
爱喝水的鱼丶2 个月前
SAP-ABAP:SAP的BAPI_PO_CHANGE功能详解
开发语言·sap·abap·bapi·采购订单修改
爱喝水的鱼丶4 个月前
SAP-ABAP:SAP外网接口调用技术全景指南
运维·http·sap·abap·erp·接口调用·开发运维
ABAP 成4 个月前
SAP的WPS导出找不到路径怎么办;上载报错怎么办
abap
爱喝水的鱼丶4 个月前
SAP -ABAP:SAP 业务能力培养体系(结构化学习路径)
运维·开发语言·sap·abap·erp·业务学习
爱喝水的鱼丶4 个月前
SAP-ABAP:SAP数据库视图(Database View)详解-创建
sap·abap·erp·企业级应用·经验交流