ABAP 选择屏幕字段动态隐藏和显示

选择屏幕字段动态隐藏和显示

TABLES : vbak,vbap,vbpa.

SELECTION-SCREEN BEGIN OF BLOCK b1  WITH FRAME TITLE text-001 .
SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MODIF ID md1 DEFAULT'2100' OBLIGATORY,
                s_vstel FOR vbap-vstel MODIF ID md1,
                s_kunnr FOR vbak-kunnr MODIF ID md1,
                s_vdatu FOR vbak-vdatu MODIF ID md1,
                s_kunnrw FOR vbpa-kunnr MODIF ID md3,
                s_land1 FOR vbpa-land1 MODIF ID md3,
                s_vbeln FOR vbak-vbeln MODIF ID md1,
                s_posnr FOR vbap-posnr MODIF ID md1,
                s_matnr FOR vbap-matnr MODIF ID md1,
                s_uname FOR sy-uname MODIF ID md2 DEFAULT sy-uname,
                s_udate FOR sy-datum MODIF ID md2,
                s_uzeit FOR sy-uzeit MODIF ID md2.
PARAMETERS: p_check TYPE char01 MODIF ID md3 AS CHECKBOX USER-COMMAND u1.
PARAMETERS: p_file LIKE rlgrap-filename MODIF ID md3 .
PARAMETERS: p_log  TYPE char01 AS CHECKBOX USER-COMMAND u2 MODIF ID md1.
SELECTION-SCREEN END OF BLOCK b1 .

 

AT SELECTION-SCREEN OUTPUT.

***当P_LOG为‘x’时,MD1和MD2显示,其他的隐藏,当P_LOG不为’X’时,MD2隐藏,其他的显示
  IF p_log = 'X'.
    LOOP AT SCREEN. 
      IF screen-group1 = 'MD1' OR screen-group1 =  'MD2'.
        screen-active = '1'. “显示
      ELSE.
        screen-active = '0'.”隐藏
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
  ELSE.
    LOOP AT SCREEN.
      IF screen-group1 = 'MD2'.
        screen-active = '0'. ”隐藏
      ELSE.
        screen-active = '1'. “显示
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
  ENDIF.

posted @   闫默涵  阅读(2101)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示