`
Jack Wu
  • 浏览: 887157 次
  • 来自: ...
社区版块
存档分类
最新评论

如何设计折叠样式的屏幕(类似MIGO的屏幕)

阅读更多
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 &apos;2220&apos;.<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 &apos;PB_2220_1&apos; OR &apos;PB_2220_2&apos; OR &apos;PB_2240_1&apos; OR &apos;PB_2240_2&apos; OR<o:p></o:p>

         &apos;PB_2260_1&apos; OR &apos;PB_2260_2&apos; OR &apos;PB_2280_1&apos; OR &apos;PB_2280_2&apos;.<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 &apos;PB_2220_1&apos; OR &apos;PB_2260_2&apos;. "打开下半部展开的子屏幕<o:p></o:p>

      gv_subscreen_2200_1  =  2280.<o:p></o:p>

    WHEN &apos;PB_2220_2&apos; OR &apos;PB_2260_1&apos;. "打开上半部展开的子屏幕<o:p></o:p>

      gv_subscreen_2200_1  =  2240.<o:p></o:p>

    WHEN &apos;PB_2240_1&apos; OR &apos;PB_2280_2&apos;. "打开全关闭的子屏幕<o:p></o:p>

      gv_subscreen_2200_1  =  2260.

    WHEN &apos;PB_2280_1&apos; OR  &apos;PB_2240_2&apos;. "打开全打开的子屏幕<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 &apos;2290&apos;.<o:p></o:p>

CALL SUBSCREEN SA_2220_2 including sy-repid &apos;2300&apos;.<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 &apos;2290&apos;.<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 &apos;2300&apos;.<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>

分享到:
评论

相关推荐

    MIGO转储的实例操作方法

    MIGO被设计成一个用户友好的事务代码,德国开发团队将其称为“ENJOYABLE TRANSACTION”,意味着它提供了更高效、更全面的库存管理体验。 1. **MIGO操作基础**: - **哺乳仔猪出生**:在MIGO界面输入物料编码、数量...

    MiGo商城源代码

    通过深入分析这个项目的源代码,我们可以了解到构建一个功能完备的电子商务平台所需的关键技术和设计思路。 首先,商城类应用的基础架构通常包括用户模块、商品模块、订单模块、支付模块和评价系统等。在用户模块中...

    MiGo商城源代码.rar

    《MiGo商城源代码》是针对一款名为MiGo的在线购物平台的源代码集合,它包含了一系列用于构建和运行电商网站的文件。由于文件数量众多,这里我们将主要探讨该源代码可能涉及的关键技术、架构设计以及学习价值。 1. ...

    SAP 中MIGO收货自动打印Smartform

    在SAP系统中,MIGO(Material Goods Issue)主要用于处理库存物料的收货和发货操作。当执行103收货事务代码时,系统需要能够自动生成并打印IQC(Incoming Quality Check)检验单,以便进行质量检查和记录。本文将...

    采购订单项目类别C(B库存物料),MIGO 101 收货,报错M7072 请输入有关特殊库存B的客户

    通过上述步骤的细致操作,可以有效避免或解决类似M7072这样的错误提示。同时,对于更广泛的SAP MM模块操作过程中可能出现的各种问题,建议参考相关文档和论坛资料,如[链接]...

    Migo社交交友约会移动UI界面工具包_sketch&xd&Figma素材下载.zip

    Migo社交交友约会移动UI界面工具包,以其多平台支持(Sketch、Adobe XD及Figma)和丰富的界面设计元素,为开发者和设计师提供了强大的设计资源。下面,我们将深入探讨这一工具包的关键知识点,以及如何有效地利用...

    java8源码-migo-security-master:migo-security-master权限系统管理

    migo-security是一个轻量级权限管理系统,其核心设计目标是开发Swift、学习简单、轻量级、易扩展 使用migo-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成 部分代码使用Java8 Stream lambda ...

    MIGO批次特性增强实例

    标题"MIGO批次特性增强实例"涉及的是在SAP MM模块中对批次特性的扩展和配置。SAP MM是SAP的物料管理模块,用于管理企业的采购、库存和物料流动等业务流程。在这个实例中,主要关注如何通过增强点实现特定批次特性的...

    Migo order-crx插件

    migo命令购买中国,在线订单工具淘宝,tmall,1688 服务由migo订单提供: - 咨询在顶级批发和零售网站上找到商品来源中国:阿里巴巴,1688.com,淘宝,Tmall.com ...... - 根据要求和检验购买家居用品 - 包装和...

    migo.rar_vc 保存_小游戏

    标题中的“migo.rar_vc 保存_小游戏”表明这是一个关于使用VC++开发的小游戏项目,其中包含了源代码和可能的保存功能。这个小游戏是作者在学习VC++时创作的,目的是实现一个迷宫探索的游戏,玩家可以使用键盘上的...

    sap wm migo

    SAP WM MIGO 商品收货处理流程 SAP WM(Warehouse Management)系统中的商品收货处理流程是指从供应商处收货并将其存入仓库的整个过程。在此过程中,需要使用SAP MM(Material Management)模块来管理物料的收货和...

    SAP项目用户操作手册-MIGO 货物移动.docx

    "SAP项目用户操作手册-MIGO 货物移动" 本手册描述了执行货物移动的操作方法,包括仓库对采购订单收货、仓库对非生产用发料、物料退货换货、库存调拨等业务。 一、事务操作的目的 本手册描述了执行货物移动的操作...

    java版飞机大战源码-migo-freemaker:类似freemaker的Demo

    模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易。一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则...

    java8源码-migo:我朋友

    migo-security是一个轻量级权限管理系统,其核心设计目标是开发Swift、学习简单、轻量级、易扩展 使用migo-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成 部分代码使用Java8 Stream lambda ...

    java8stream源码-migo-security:一个轻量级权限管理系统,包含:管理员管理、角色管理、菜单管理、定时任务、参数管理、代码

    migo-security是一个轻量级权限管理系统,其核心设计目标是开发Swift、学习简单、轻量级、易扩展 使用migo-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成 部分代码使用Java8 Stream lambda ...

    ERP系统信息化资料:JTAN05_MM_功能说明书_MIGO收货自动打印自有&寄售物资入库单_20130627_V1.1222.doc

    ERP系统信息化资料:JTAN05_MM_功能说明书_MIGO收货自动打印自有&寄售物资入库单_20130627_V1.1222.doc

    sap常用table

    sap常用table sap常用table sap常用table sap常用table

    SAPMM对采购订单进行收货.pdf

    SAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdfSAPMM对采购订单进行收货.pdf

    SAP生产订单退料的处理

    SAP在对生产订单进行领料时,一般是依据生产订单产生的预留号进行发料,移动类型为261。当领用的物料发生质量问题或其它原因需要退料时,一种操作是使用MB1A,选择移动类型262,依据生产订单进行反冲。...

Global site tag (gtag.js) - Google Analytics