在sap的应用中,我们有时会需要设计折叠样式的屏幕(类似MIGO的屏幕),以缓解屏幕区域的太小的矛盾。折叠样式屏幕实现的基本原理是用子屏幕根据用户的输入调用不同的子屏幕来实现的。现在以放置两个子屏幕的折叠式的屏幕来说明实现的步骤。为了实现两个子屏幕的折叠式的屏幕需要设计7个屏幕(一个主屏幕,两个信息屏幕,一个全展示子屏幕,一个下半部展示子屏幕,一个上半部展示子屏幕,一个下全关闭子屏幕)。具体步骤如下:<!----><o:p></o:p>
Step 1:设计一个主屏幕,放置一个”子屏幕范围”<o:p></o:p>
屏幕的逻辑流为:<o:p></o:p>
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN sa_2200_1 INCLUDING sy-repid '2220'.<o:p></o:p>
*
PROCESS AFTER INPUT.<o:p></o:p>
MODULE USER_COMMAND_0100.<o:p></o:p>
CALL SUBSCREEN sa_2200_1.<o:p></o:p>
<o:p> </o:p>
MODULE USER_COMMAND_0100 INPUT.<o:p></o:p>
DATA lv_return_code TYPE i.<o:p></o:p>
<o:p> </o:p>
CLEAR save_ok.<o:p></o:p>
save_ok = ok_code.<o:p></o:p>
CLEAR ok_code.<o:p></o:p>
CLEAR gv_processed.<o:p></o:p>
CALL METHOD cl_gui_cfw=>dispatch<o:p></o:p>
IMPORTING
return_code = lv_return_code.<o:p></o:p>
CHECK lv_return_code = cl_gui_cfw=>rc_noevent.<o:p></o:p>
CASE save_ok.<o:p></o:p>
WHEN 'PB_2220_1' OR 'PB_2220_2' OR 'PB_2240_1' OR 'PB_2240_2' OR<o:p></o:p>
'PB_2260_1' OR 'PB_2260_2' OR 'PB_2280_1' OR 'PB_2280_2'.<o:p></o:p>
PERFORM set_the_col_area_screen.<o:p></o:p>
WHEN others.<o:p></o:p>
* action code from the menus will be processed here.<o:p></o:p>
PERFORM get_screen_number USING save_ok.<o:p></o:p>
ENDCASE.<o:p></o:p>
ENDMODULE. " USER_COMMAND_0100 INPUT<o:p></o:p>
<o:p> </o:p>
*&---------------------------------------------------------------------*<o:p></o:p>
*& Form set_the_col_area_screen<o:p></o:p>
*&---------------------------------------------------------------------*<o:p></o:p>
* This subroutine is used to set the subscreen for the collapsible<o:p></o:p>
* areas<o:p></o:p>
*----------------------------------------------------------------------*<o:p></o:p>
FORM set_the_col_area_screen .<o:p></o:p>
CASE save_ok.<o:p></o:p>
WHEN 'PB_2220_1' OR 'PB_2260_2'. "打开下半部展开的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2280.<o:p></o:p>
WHEN 'PB_2220_2' OR 'PB_2260_1'. "打开上半部展开的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2240.<o:p></o:p>
WHEN 'PB_2240_1' OR 'PB_2280_2'. "打开全关闭的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2260.
WHEN 'PB_2280_1' OR 'PB_2240_2'. "打开全打开的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2220.<o:p></o:p>
ENDCASE.<o:p></o:p>
ENDFORM. " set_the_col_area_screen<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
Step 2: 最底层的两个信息子屏幕<o:p></o:p>
屏幕(2290)
<!----><v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 297.75pt; HEIGHT: 183.75pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata></v:shape>
<v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 297.75pt; HEIGHT: 183.75pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata></v:shape>
逻辑流<o:p></o:p>
PROCESS BEFORE OUTPUT.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
<o:p> </o:p>
屏幕(2230)
<v:shape id="_x0000_i1026" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 228pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image003.png" o:title=""></v:imagedata></v:shape>
逻辑流<o:p></o:p>
PROCESS BEFORE OUTPUT.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
<o:p> </o:p>
Step 3: 定义全展示子屏幕 (2220)
<o:p></o:p>
<v:shape id="_x0000_i1027" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 372pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image005.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2220_1
第一个按钮的功能码:PB_2220_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN SA_2220_1 including sy-repid '2290'.<o:p></o:p>
CALL SUBSCREEN SA_2220_2 including sy-repid '2300'.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
CALL SUBSCREEN SA_2220_1.<o:p></o:p>
CALL SUBSCREEN SA_2220_2.<o:p></o:p>
<o:p> </o:p>
Step 4:定义上半部展开的子屏幕(2240)
<o:p><o:p></o:p></o:p>
<v:shape id="_x0000_i1028" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 316.5pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image007.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2240_1
第一个按钮的功能码:PB_2240_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN SA_2240_1 including sy-repid '2290'.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
CALL SUBSCREEN SA_2240_1.<o:p></o:p>
<o:p> </o:p>
Step 5:定义下半部展开的子屏幕(2280)
<o:p></o:p>
<v:shape id="_x0000_i1029" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 239.25pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image009.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2280_1
第一个按钮的功能码:PB_2280_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN SA_2280_2 including sy-repid '2300'.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
CALL SUBSCREEN SA_2280_2.<o:p></o:p>
<o:p> </o:p>
Step 6:定义全关闭的子屏幕(2260)<o:p></o:p>
<v:shape id="_x0000_i1030" type="#_x0000_t75" style="WIDTH: 401.25pt; HEIGHT: 151.5pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image011.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2260_1
第一个按钮的功能码:PB_2260_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
分享到:
相关推荐
在SAP中通过MIGO做103收货的时候,打印IQC检验单
MiGo商城源代码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
SAP的MM模块MIGO转储的实例操作!
该App是一款商城类应用 做到不用出门就可享受购物的乐趣
IM中的field selection的设置(oldTransaction&MIGO;等).docx
101B对采购订单项目类别为C的订单收货,有可能会出现错误 "M7072 请输入有关特殊库存B的客户",解决方法见附件, 强调说明:因为该错误会有很多可能,这个错误更多出现MIGO 101B收货,请点击下面的网址,去查看是否是...
migo-security是一个轻量级权限管理系统,其核心设计目标是开发Swift、学习简单、轻量级、易扩展 使用migo-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成 部分代码使用Java8 Stream lambda ...
migo命令购买中国,在线订单工具淘宝,tmall,1688 服务由migo订单提供: - 咨询在顶级批发和零售网站上找到商品来源中国:阿里巴巴,1688.com,淘宝,Tmall.com ...... - 根据要求和检验购买家居用品 - 包装和...
SAP项目用户操作手册-MIGO 货物移动.docx
Migo社交交友约会移动UI界面工具包.sketch&xd&Figma素材下载 Figma、sketch、ui界面设计、xd、社交交友APP界面设计
一步一步图文解释
Business Process Procedure IM.1 Using WM – Goods Receipt Processing
小游戏迷宫源代码!上下左右为WSAD,并具有地图编辑和保存的功能,这是我学VC是做的一个小程序, 希望与大家指点。
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易。一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则...
migo-security是一个轻量级权限管理系统,其核心设计目标是开发Swift、学习简单、轻量级、易扩展 使用migo-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成 部分代码使用Java8 Stream lambda ...
migo-security是一个轻量级权限管理系统,其核心设计目标是开发Swift、学习简单、轻量级、易扩展 使用migo-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成 部分代码使用Java8 Stream lambda ...
ERP系统信息化资料:JTAN05_MM_功能说明书_MIGO收货自动打印自有&寄售物资入库单_20130627_V1.1222.doc
sap常用table sap常用table sap常用table sap常用table
SAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdf
Home Assistant组件,用于集成Vaillant vSMART和Bulex / Saunier Duval MiGo 该组件使您可以通过家庭助理控制Bulex / Saunier Duval MiGo的Vaillant vSMART。 该组件使用由Samuel Dumont开发的定制的Vaillant 基于...