文档详情

第四章控制屏幕流程.doc

发布:2016-09-13约6.02千字共5页下载文档
文本预览下载声明
1控制屏幕流 程 概览 内容 屏幕流程控 制介绍 对于用户来 说,事务就 是逐个出现 的一系列屏 幕。在事务 程序中,屏 幕由一系列 的“下一个 屏幕”号链 接在一起。 定义事务时 ,要指定第 一个屏幕的 号码。然后 ,对事务中 的每个屏幕 ,可以静态 地或动态地 指定“下一 个屏幕” 静态屏幕 指示器 定义屏幕时 ,要为它指 定“下一个 屏幕”属性 。该属性给 出紧随着当 前屏幕的默 认屏幕名称 。然而,无 论何时动态 设置“下一 个屏幕”, 都会覆盖静 态属性。 动态屏幕 序列 任何屏幕都 可以设置它 自己的“下 一个屏幕” 作为屏幕处 理的一部分 。做到这一 点的 ABAP/4 命令是 SET SCREEN 和 CALL SCREEN。 动态设置屏 幕时,可以 逐个地串在 一起(象在 链中一样) ,或将它们 的组插入到 当前链中。 下列主题提 供关于在事 务中处理屏 幕的信息: 屏幕流程控 制介绍 (页 1) 设置下一个 屏幕 (页 2) 调用新的屏 幕序列 (页 2) 退出当前屏 幕 (页 3) 示例事务: 设置和调用 屏幕 (页 3) 后台处理屏 幕 (页 5) 1屏幕流程控 制介绍 关于在事务 中控制屏幕 流程的示例 ,请参见事 务 TZ40。 (该事务在 开发类 SDWA 中,同系统 一起传送。 )TZ40 让用户显示 航班信息并 将更新信息 输入到显示 中。 TZ40 使用两个屏 幕和对话框 (弹出窗口 )用于获得 用户的更新 。事务总是 显示开始的 两个屏幕( 号码为 100 和 200 )。第三个 (210) 只是在一定 的条件下才 显示。可能 的屏幕流程 如下: 在实践中, 用户见到如 下序列: 屏幕 100:用 户输入航班 信息,并按 ENTER 请求显示航 班详情。 屏幕 200:系 统在更新模 式中显示关 于航班的全 部细节。用 户通过键入 全部显示输 入所作的更 改。 屏幕 210 屏幕 210 只在用户试 图不保存而 退出屏幕 200 时才出现。 弹出内容提 醒用户保存 所作的更改 或取消(通 过指定“是 ”或“否” ) 要想使该屏 幕序列成为 可能,事务 TZ40 必须能够有 条件地调用 对话框屏幕 。 ABAP/4 模块可以“ 转入”或“ 调用”下一 个屏幕。两 者的差别在 于处理完下 一个屏幕之 后用户要让 控制转到哪 里。相关的 ABAP/4 命令是: SET SCREEN screen-number. CALL SCREEN screen-number. LEAVE SCREEN. LEAVE TO SCREEN screen-number. 通过 SET SCREEN, 在链中当前 屏幕简单地 指定下一个 屏幕。当前 屏幕处理完 毕后,控制 转入该下一 个屏幕。从 下一个屏幕 返回到当前 屏幕不是自 动的。 使用 CALL SCREEN, 挂起当前( 正调用的) 链,调入下 一个屏幕( 或屏幕链) 。通过语句 LEAVE SCREEN TO SCREEN 0 调用的屏幕 就能够返回 到挂起的链 上。 详细信息, 参见: 设置下一个 屏幕 (页 2) 调用新的屏 幕序列 (页 2) 退出当前屏 幕 (页 3) 2设置下一个 屏幕 每一个屏幕 都有静态的 “下一个屏 幕”属性, 该属性指定 跟随当前屏 幕的下一个 屏幕。可以 使用 SET SCREEN 语句覆盖该 指定: SET SCREEN screen number. SET SCREEN 告诉系统忽 略静态定义 的“下一个 屏幕”,而 使用 屏幕号 作为下一个 屏幕。 该覆盖是暂 时的并且对 储存在屏幕 制作器中的 属性值没有 影响。 SET SCREEN 语句只指定 下一个屏幕 :它不中断 当前屏幕的 处理。如果 未完成当前 屏幕就要转 入下一个屏 幕,请使用 LEAVE SCREEN 语句。 注意可以使 用变量指定 下一个屏幕 号: DATA: REQSCRN LIKE SY-DYNNR VALUE 100. MODULE SET_NEXT_SCREEN. SET SCREEN REQSCRN. ENDMODULE. 系统字段 SY-DYNNR 总是包含当 前屏幕的号 码。 2调用新的屏 幕序列 有时要将屏 幕或整个屏 幕序列插入 到事务过程 中。例如, 可能要让某 个用户从主 应用程序屏 幕中调用弹 出屏幕,以 输入辅助信 息。完成输 入以后,用 户应当能够 关闭弹出屏 幕并直接返 回到主屏幕 中先前所离 开的地方。 要做到这一 点,有两种 方法: 使用 CALL SCREEN 语句 C
显示全部
相似文档