Chinaunix首页 | 论坛 | 博客
  • 博客访问: 702461
  • 博文数量: 158
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1643
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-11 14:37
个人简介

人法地,地法天,天法道,道法自然

文章分类

全部博文(158)

文章存档

2022年(1)

2020年(3)

2016年(1)

2014年(7)

2013年(4)

2010年(5)

2009年(86)

2008年(25)

2007年(26)

我的朋友

分类:

2009-06-06 11:53:01

类似ME23N(显示采购订单)的屏幕,收缩区域内的的屏幕,可以节省空间.

 

全部展开:

 

收起第二个区域:

 

 

收起第一个区域:

 

 

 

设计过程如下:

 

1、  主屏幕(0120

子屏幕区域控件名称:SC_0120_1

逻辑流:

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0120.
*
  
CALL SUBSCREEN : SC_0120_1 including sy-repid sub_screen.

PROCESS AFTER 
INPUT.

  
CALL SUBSCREEN : SC_0120_1 .
 
 MODULE USER_COMMAND_0120.

 

2、  全部展开子屏幕0130

 

 

 

按钮功能码:PB_0130_1

            PB_0130_2

子屏幕区域控件名称:SC_0130_1SC_0130_2

逻辑流::

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0130.
*
  
CALL SUBSCREEN : SC_0130_1 including sy-repid '0140',
                   SC_0130_2 including sy-repid 
'0141'.


PROCESS AFTER 
INPUT.
* MODULE USER_COMMAND_0130.

  
CALL SUBSCREEN : SC_0130_1,
                   SC_0130_2.

 

3、同样设置其它子屏幕

0131:上区域展开,下区域收起,

按钮功能码:PB_0131_1PB_0131_2

子屏幕区域控件SC_0131_1SC_0131_2

逻辑流:

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0131.
*
  
CALL SUBSCREEN SC_0131_1 including sy-repid '0140'.

PROCESS AFTER 
INPUT.
* MODULE USER_COMMAND_0131.

  
CALL SUBSCREEN SC_0131_1 .

 

0132:上区域收起,下区域展开

按钮功能码:PB_0132_1PB_0132_2

子屏幕区域控件SC_0132_1SC_0132_2

逻辑流:

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0132.
*
  
CALL SUBSCREEN SC_0132_2 including sy-repid '0141'.
PROCESS AFTER 
INPUT.
* MODULE USER_COMMAND_0132.

  
CALL SUBSCREEN SC_0132_2.

 

0133:上区域收起,下区域收起

按钮功能码:PB_0133_1PB_0133_2

子屏幕区域控件SC_0133_1SC_0133_2

逻辑流:

PROCESS BEFORE OUTPUT.
* MODULE STATUS_0133.
*
PROCESS AFTER 
INPUT.
* MODULE USER_COMMAND_0133.

 

4、      显示表格的子屏幕01400141

 

 

 

设置过程参考:Table Control多表设计<>

 

5、  设置功能码事件响应:

REPORT  ZMYP_TCM.

tables:mara,t001l.

data:begin of itab occurs 0.
      
include structure mara.
      
data:mark type char1.
data:end of itab.

data:begin of item occurs 0.
      
include structure t001l.
      
data:mark type char1.
data:end of item.

DATA:     OK_CODE LIKE SY-UCOMM,
          S_OK_CODE 
LIKE SY-UCOMM.
data: sub_screen like sy-dynnr .

sub_screen = 
'0130' .

 

 

    …… ……

 

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0120  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0120 INPUT.”将该module放在主屏幕0120PAI
* DATA:lv_return_code type i.


 S_OK_CODE = OK_CODE.

* CALL METHOD cl_gui_cfw=>dispatch
*    IMPORTING
*      return_code = lv_return_code.
*
* CHECK lv_return_code = cl_gui_cfw=>rc_noevent.

 
CASE S_OK_CODE.
   
WHEN 'PB_0130_1'"收起上半部分         
        sub_screen = 
0132 .
   
WHEN 'PB_0130_2'"收起下半部分          
        sub_screen = 
0131 .
   
WHEN 'PB_0131_1'"收起上半部分         
        sub_screen = 
0133 .
   
WHEN 'PB_0131_2'"打开一下半部分         
        sub_screen = 
0130 .
   
WHEN 'PB_0132_1'"打开上半部分        
        sub_screen = 
0130 .
   
WHEN 'PB_0132_2'"收起下半部分    
        sub_screen = 
0133 .
   
WHEN 'PB_0133_1'"打开上半部分  
        sub_screen = 
0131 .
   
WHEN 'PB_0133_2'"打开下半部分   
        sub_screen = 
0132 .
 
ENDCASE.

ENDMODULE.                 " USER_COMMAND_0120  INPUT

 

    

阅读(2717) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~