SAP ABAP 对话框编程教程:中的模块池-09

SAP-ABAP 支持两种类型的程序 – 报告程序和对话程序。

如果您的 ABAP 程序需要用户输入 ,则使用对话框编程。

在本教程中,您将学习:

  • 报表程序和对话程序之间的区别
  • 对话框编程中的事务处理示例
  • 对话程序的组件

用户对话是用户与程序之间任何形式的交互,可以是以下任何一种

  • 输入数据
  • 选择菜单项
  • 单击按钮
  • 单击或双击条目

当我们需要在屏幕之间来回导航时,也会使用对话框程序

对话程序的创建类型为“M” – 模块池。它们不能独立执行,并且必须附加到至少一个事务代码,您可以在其中指定初始屏幕。

报表程序和对话程序之间的区别

报告程序:

报表是一种程序,它通常在不更改数据库的情况下读取和分析数据库表中的数据。

对话程序:

对话程序允许您以交互方式与系统一起工作,并更改数据库表的内容。每个对话程序都有一定的顺序,这些屏幕由系统逐个处理。

对话框编程中的事务处理示例

对话程序的组件

与通常需要创建一个可以独立于其他对象执行的自治程序的报告不同,对话程序开发需要开发多个对象,其中没有一个可以单独执行。 相反,所有对象都分层链接到主程序,并按对话框主程序指示的顺序执行。

对话程序的组件包括:

交易代码

  • 交易代码启动屏幕序列。
  • 您可以在 ABAP 工作台的存储库浏览器中或使用事务 SE93 创建事务代码。
  • 交易代码链接到 ABAP 程序和初始屏幕。
  • 您可以使用 CALL SCREEN 语句从任何 ABAP 程序启动屏幕序列。

屏幕

  • SAP 系统中的每个对话框都由一个或多个屏幕控制。
  • 通过事务 SE51,使用 ABAP 工作台中的屏幕刷创建屏幕
  • 每个屏幕都属于一个 ABAP 程序。
  • 这些屏幕由“屏幕掩码”或“布局”及其流逻辑组成。屏幕的布局确定输入/输出字段和其他图形元素(如复选框和单选按钮)的位置。流逻辑确定屏幕内的逻辑处理。

图形用户界面状态

  • 每个屏幕都有一个GUI状态,它们是程序的独立组件。
  • 这将控制菜单栏,标准工具栏,应用程序工具栏 ,用户可以使用它们选择应用程序中的功能。
  • 您可以使用菜单刷在 ABAP 工作台中创建它们。

ABAP 计划

  • R/3 系统中的每个屏幕和 GUI 状态都属于一个 ABAP 程序。
  • ABAP 程序包含由屏幕流逻辑调用的对话框模块,并且还处理来自 GUI 状态的用户输入。
  • 使用屏幕的 ABAP 程序也称为对话程序。
  • 在模块池中(类型M程序);要调用的第一个处理块始终是对话模块。但是,您也可以在其他 ABAP 程序(如可执行程序或功能模块)中使用屏幕。然后以不同的方式调用第一个处理块;例如,通过运行时环境或过程调用。然后使用 CALL SCREEN 语句启动屏幕序列。

屏幕流逻辑

屏幕流逻辑主要分为四个组件。

  • “在输出之前处理”(PBO) 事件:在显示屏幕之前进行处理
  • 输入后处理 (PAI) 事件:在用户在屏幕上执行操作后处理
  • 帮助请求处理 (POH):在按下 F1 时处理
  • 值请求处理 (POV):在按下 F4 时处理

Dynpro

  • 屏幕及其流逻辑称为 Dynpro(“动态程序”,因为屏幕流逻辑会影响程序流)
  • 每个 dynpro 只控制对话程序的一个步骤。
  • 属于某个程序的屏幕已编号。筛网流序可以是线性的,也可以是循环的。从屏幕链中,您甚至可以调用另一个屏幕链,并在处理完之后返回到原始链。您还可以从 ABAP 程序的对话框模块中覆盖静态定义的下一个屏幕。

ABAP 模块池

  • 在 PBO 或 PAI 事件上,Dynpro 调用 ABAP 对话程序。此类程序的集合称为 ABAP 模块池。
  • 例如,在 PAI 事件中调用的模块用于检查用户输入并触发相应的对话步骤,如更新任务。
  • 要从一个事务中调用的所有 dynpro 都引用一个公共模块池。

对话程序的结构

对话程序的流程

参考:https://www.guru99.com/dialog-programming-tutorial.html

SAP ABAP 对话框编程教程:中的模块池-09相关推荐

  1. SAP ABAP 初学者编程 – 在线培训

    SAP ABAP 初学者编程 – 在线培训 与 Peter Moxon 一起学习 SAP ABAP 编程.帮助学习以获得认证 – 终身访问 + 更新! 课程英文名:sap-abap-programmi ...

  2. SAP ABAP 报告编程-08

    SAP ABAP 报告编程-08 SAP-ABAP支持两种类型的程序 - 报告程序和对话程序.报表 程序在需要显示大量数据时使用 在本教程中,您将学习: 选择屏幕 ABAP 报告计划中的事件 设置报表 ...

  3. 虚幻4脱坑指南——官网C++编程教程中第一人称设计游戏教程的若干问题及解决方法

    一.前言 我使用的虚幻4引擎版本为4.25.3,碰到的问题是针对官网C++编程教程中第一人称设计游戏教程出现的情况. 二.问题与实现 2.1.缺少引用的编译错误 如图1所示的步骤2.7中,将官网的代码 ...

  4. kotlin 对话框_Kotlin教程中的android警报对话框

    kotlin 对话框 Dialogs are present in our every day lives in the digital world. Almost every user knows ...

  5. SAP ABAP屏幕(Dialog)开发中,获取文本框的内容并且存到数据库中。

    续更SAP相关内容. 这次讲一下在ABAP屏幕开发中怎样获取文本框的值. 在C# Winform开发中,我们直接 textBox.Text就可以取到文本框的值,但在ABAP中要繁琐一些. 好了,操作. ...

  6. 数控程序中r及q代表什么_你想学会数控宏程序编程,推荐你套数控编程教程

    上两篇文章我分别用了两个不同类型的案例,阐述了<利用数学公式编写数控程序>的步骤: 第一步:设定变量带入方程式 第二步:利用方程式算坐标点 这两个步骤看起来非常简单,简单的就像是废话一样, ...

  7. ABAP 标准培训教程 BC400 学习笔记之三:ABAP 编程语言的特性和基本构成要素

    SAP ABAP 标准培训教程 BC400 中对 ABAP 编程语言特性的总结如下: Is typed - 强类型编程语言,任何 ABAP 变量在其声明时,其数据类型就已经的确定下来了. Enable ...

  8. SAP ABAP CDS view和 HANA CDS view的区别,CDS consumption view 和 BO view 的区别

    这两种技术都是SAP提出的"Code pushdown"理念的具体实现.SAP ABAP CDS view位于ABAP应用服务器层,使用OPEN SQL,支持的数据库不限HANA, ...

  9. pythonpath怎么设置_Python编程该怎么入门 模块引用的方法有哪些

    Python编程该怎么入门?模块引用的方法有哪些?模块简单说就是一堆代码实现某个功能,Python为开发人员提供了丰富的模块,通过这些模块,我们可以快速开发出功能强大的程序.下面千锋就给大家分享Pyt ...

最新文章

  1. JAVA逆向反混淆-追查Burpsuite的破解原理(转)
  2. 大脑神经细胞也有老熟人
  3. iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案
  4. 安装acdsee 3.1后出错
  5. OpenCV学习记录(一):使用haar分类器进行人脸识别
  6. ABAP 标准培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号
  7. VMware12.0下安装CentOS-6.9-x86_64-bin-DVD.iso
  8. java string 加密_java字符串加密解密
  9. Debug模式启动tomcat超时
  10. 二级缓存j2cache和SpringBoot整合
  11. ORCAD原理图检查
  12. MFCC、FBank以及语谱图特征提取
  13. Ubuntu 安装微信客户端
  14. Unity Android 接入高德定位SDK
  15. 只有程序员才懂的笑话
  16. 2020 奇安信前端秋招笔试选择题
  17. 计算机专业java餐厅点餐系统,Java实现餐厅点餐系统的实例代码.pdf
  18. Red Hat Enterprise Linux Server 7.4 安装方法
  19. DayThirteen 笔记
  20. 在2012年01月20号这一天,2345浏览器的V1.3版本出世了,又修复什么Bug?

热门文章

  1. python抢茅台_茅台放量乐坏了谁?—— 揭秘抢购背后的数亿黑色产业链
  2. STM32F1xx的IIC通信+推挽/开漏区别+是否上拉
  3. 【第十三届蓝桥杯单片机省赛模拟冲刺01】
  4. BBS社区运营,需要什么专业知识?
  5. CSS-transform 平面/空间(移动、旋转、缩放、过渡)略解以及示例
  6. java电商项目_Java电商项目总结(二)
  7. 卧听夏蝉---总结一下/ ./../三个路径符号的区别
  8. Ubuntu20.04安装QQ
  9. Elastik 采样器下载-Ueberschall Elastik 3.0.0 macOS
  10. 智能车载行业分析报告-缩减版