Abap/4操作屏幕(5)

来源:互联网 发布:坚果s1安装软件 编辑:程序博客网 时间:2024/06/05 09:10

*&---------------------------------------------------------------------*
*& Report  Z_CPT7_8                                                    *
*&                                                                     *
*&---------------------------------------------------------------------*
*&   修改屏幕状态                      *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  Z_CPT7_8.
DATA:OK_CODE TYPE SY-UCOMM,
     SAVE_OK TYPE SY-UCOMM.

DATA:SGRP(20) TYPE C,
     SMOD(1) TYPE C.

DATA:CANMOD(1) TYPE C.

CANMOD = 'X'.

CALL SCREEN 100.


*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.

*根据按钮确定字段组
SGRP = ''.
IF SAVE_OK = 'BTN1'.
    SGRP = 'NO1'.
ELSE.
    SGRP = 'NO2'.
ENDIF.

IF CANMOD = 'X'.
    SMOD = '1'.
ELSE.
    SMOD = '0'.
ENDIF.

*这个循环是迭代屏幕中的所有元素
LOOP AT SCREEN.
    IF SCREEN-GROUP1 = SGRP.
*       设置这个属性就可以禁用屏幕了
        SCREEN-INPUT = SMOD.
        MODIFY SCREEN.
    ENDIF.
ENDLOOP.


ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
    SAVE_OK = OK_CODE.
    CLEAR OK_CODE.
    CASE OK_CODE.
        WHEN 'BTN1'.
            SGRP = 'NO1'.
        WHEN 'BTN2'.
            SGRP = 'NO2'.
    ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Module  CANCEL  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE CANCEL INPUT.
    LEAVE PROGRAM.
ENDMODULE.                 " CANCEL  INPUT

 

 

 

 

 

 

 

 


*子屏幕100的逻辑流代码
PROCESS BEFORE OUTPUT.
 MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
 MODULE USER_COMMAND_0100.
 MODULE CANCEL AT EXIT-COMMAND.

原创粉丝点击