动态隐藏/显示选择屏幕

这个程序比较简单,也没太多的知识点,在此就不介绍了,程序如下:
*&---------------------------------------------------------------------*
*& Report  ZTEST_SELECT_SCREEN
*&
*&---------------------------------------------------------------------*
*& Create By    :  flying
*& Create Date  :  2009-11-25
*& descriptions :  测试隐藏/显示选择屏幕
*&---------------------------------------------------------------------*

REPORT   ZTEST_SELECT_SCREEN.

tables : mbew,
ekpo,
mseg.


*----------------------------------------------------------------------*
*  selection-screen
*  选择屏幕
*
*----------------------------------------------------------------------*
***  定义选择表的选择屏幕
selection-screen  begin  of  block  blk1 with  frame  title  text -000 .
parameters : r1 radiobutton  group  grp user-command sele default  'X' ,  "这里没有user-command sele会不起作用的
r2 radiobutton  group  grp,
r3 radiobutton  group  grp.
selection-screen  end    of  block  blk1.

***  定义表mbew的选择屏幕
selection-screen  begin  of  block  blk2 with  frame  title  text -001 .
parameters : p_werks like  mbew-bwkey modif id  m1.                  "设置屏幕元素的组,方便操作
select -options: s_matnr for  mbew-matnr modif id  m1.
selection-screen  end    of  block  blk2.

***  定义表ekpo的选择屏幕
selection-screen  begin  of  block  blk3 with  frame  title  text -002 .
parameters : p_werks1 like  ekpo-werks modif id  m2.
select -OPTIONS s_matnr1 for  ekpo-matnr modif id  m2.
selection-screen  end    of  block  blk3.

***  定义表mseg的选择屏幕
selection-screen  begin  of  block  blk4 with  frame  title  text -003 .
parameters : p_werks2 like  mseg-werks modif id  m3.
select -options s_matnr2 for  mseg-matnr modif id  m3.
selection-screen  end    of  block  blk4.

*-----------------------------------------------------------------------*
*  at selection-screen output
*  屏幕输出之前处理
*
*-----------------------------------------------------------------------*
at  selection-screen  output .
loop  at  screen .
case  screen -group1.                    "屏幕组
when  'M1' .
if  r1 eq  'X' .
screen -active = 1 .                "设置屏幕显示
else .
screen -active = 0 .                "设置屏幕隐藏
endif .
when  'M2' .
if  r2 eq  'X' .
screen -active = 1 .
else .
screen -active = 0 .
endif .
when  'M3' .
if  r3 eq  'X' .
screen -active = 1 .
else .
screen -active = 0 .
endif .
endcase .

modify  screen .                        "修改选择屏幕属性
endloop .

执行效果如下:
动态隐藏/显示选择屏幕_第1张图片

动态隐藏/显示选择屏幕_第2张图片

动态隐藏/显示选择屏幕_第3张图片

你可能感兴趣的:(测试)