更加不同的复选框显示不同的选择界面

*&---------------------------------------------------------------------*
*& Report  ZIAN01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zian01 .
TABLES afko ,afpo ,resb ,jest ,pordarch ,t001w ,
        tj02t ,mara ,mkpf ,mseg ,mbew ,zwip .

TYPE-POOLS :slis .
CONSTANTS cs_callback_user ( 30 TYPE  VALUE  'ALV_USER_COMMAND' ,
           cs_pf_status_set ( 30 TYPE  VALUE  'PF_STATUS_SET'  .
DATA :wcl_container  TYPE  REF  TO cl_gui_custom_container ,
     wip_wcl_alv  TYPE  REF  TO cl_gui_alv_grid .

DATA :gs_fieldcat  TYPE lvc_s_fcat .
DATA :gt_fieldcat  TYPE lvc_t_fcat .
DATA :gs_layout  TYPE lvc_s_layo .
DATA :ok_code  TYPE sy -ucomm .
DATA gs_print  TYPE slis_print_alv ,
      it_sort  TYPE slis_t_sortinfo_alv .
CONSTANTS :casechar  TYPE  VALUE  'X' .

SELECTION-SCREEN  BEGIN  OF  BLOCK pz  WITH  FRAME  TITLE  text - 123 .

SELECTION-SCREEN  BEGIN  OF  BLOCK pd  WITH  FRAME  TITLE  text - 001 .
SELECT-OPTIONS :
    so_werks    FOR t001w -werks  MEMORY  ID wrk MODIF  ID rz1 ,
    s_model     FOR afpo -matnr MODIF  ID rz1  ,
    s_dispo     FOR afko -dispo MODIF  ID rz1 .

PARAMETERS :
cutoff   TYPE sy -datum  DEFAULT sy -datum OBLIGATORY MODIF  ID rz1 . .

SELECTION-SCREEN  END  OF  BLOCK pd .

*&input screen
SELECTION-SCREEN  BEGIN  OF  BLOCK pe  WITH  FRAME  TITLE  text - 002 .
PARAMETERS :tkdate2  TYPE sy -datum MODIF  ID rz2  DEFAULT sy -datum  .
SELECT-OPTIONS s_sttsn2  FOR zwip -sttsn MODIF  ID rz2 .
SELECTION-SCREEN  BEGIN  OF  LINE .
SELECTION-SCREEN  COMMENT  1 ( 10 text -p01  MODIF  ID rz2 .
PARAMETERS :co_psmng  TYPE afpo -psmng MODIF  ID rz2 .

SELECTION-SCREEN  COMMENT  35 ( 12 text -p02  MODIF  ID rz2 .
PARAMETERS :po_psmng  TYPE afpo -psmng MODIF  ID rz2 .
SELECTION-SCREEN  END  OF  LINE .

SELECTION-SCREEN  BEGIN  OF  LINE .
SELECTION-SCREEN  COMMENT  1 ( 14 text -p03  MODIF  ID rz2 .
PARAMETERS :p_conf1  AS  CHECKBOX MODIF  ID rz2 .

SELECTION-SCREEN  COMMENT  35 ( 14 text -p04  MODIF  ID rz2 .
PARAMETERS :p_conf2  AS  CHECKBOX MODIF  ID rz2 .
SELECTION-SCREEN  END  OF  LINE .
SELECTION-SCREEN  END  OF  BLOCK pe .

*&display&print screen.
SELECTION-SCREEN  BEGIN  OF  BLOCK pf  WITH  FRAME  TITLE  text - 002 .
PARAMETERS tkdate3  TYPE sy -datum MODIF  ID rz3 .
SELECT-OPTIONS s_sttno  FOR zwip -sttno MODIF  ID rz3 .
SELECT-OPTIONS s_werks  FOR zwip -werks MODIF  ID rz3 .
SELECT-OPTIONS s_model3  FOR zwip -model MODIF  ID rz3 .
SELECT-OPTIONS s_sttsn  FOR zwip -sttsn MODIF  ID rz3 .

SELECTION-SCREEN  END  OF  BLOCK pf .

PARAMETERS p_create  RADIOBUTTON  GROUP pz
                     USER-COMMAND com .
PARAMETERS p_change  RADIOBUTTON  GROUP pz  DEFAULT  'X' .
PARAMETERS p_disply  RADIOBUTTON  GROUP pz .
PARAMETERS p_print  RADIOBUTTON  GROUP pz .
PARAMETERS p_input  RADIOBUTTON  GROUP pz .
SELECTION-SCREEN  END  OF  BLOCK pz .

AT  SELECTION-SCREEN  OUTPUT .
   PERFORM modify_screen .
INITIALIZATION .

START-OF-SELECTION .
   CASE casechar .
     WHEN p_create .
     "  PERFORM get_all_data.
    "   PERFORM collect_data.
*  PERFORM display_wip_by_model.
     "  PERFORM create_fieldcat.
       CALL  SCREEN  100 .
     WHEN p_change .
       "PERFORM change_fieldcat.
       CALL  SCREEN  100 .
     WHEN p_disply .
     "  PERFORM get_stock_taking.
     " PERFORM display_fieldcat.
       CALL  SCREEN  100 .
     WHEN p_print .
       SUBMIT zppr016b  WITH cutoff  EQ tkdate3
                       WITH s_sttno  IN s_sttno
                       WITH s_werks  IN s_werks
                       WITH s_model  IN  s_model3  AND  RETURN
                       .
     WHEN p_input .
       MESSAGE  '暂时未起用'  TYPE  'I' .
       STOP .
   ENDCASE .

END-OF-SELECTION .

FORM modify_screen  .
   LOOP  AT  SCREEN .
     IF  screen -group1  'RZ1' .
       IF p_create  = 'X' .
         screen -active    1 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_change  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_disply  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_print  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_input  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ENDIF .
     ENDIF .

     IF  screen -group1  'RZ2' .
       IF p_create  = 'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_change  'X' .
         screen -active    1 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_disply  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_print  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_input  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ENDIF .
     ENDIF .


     IF  screen -group1  'RZ3' .
       IF p_create  = 'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_change  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_disply  'X' .
         screen -active    1 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_print  'X' .
         screen -active    1 .
         MODIFY  SCREEN .
         CONTINUE .
       ELSEIF p_input  'X' .
         screen -active    0 .
         MODIFY  SCREEN .
         CONTINUE .
       ENDIF .
     ENDIF .
   ENDLOOP .
ENDFORM .                     " MODIFY_SCREEN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值