首页 > 编程语言 >什么是 ABAP Dynpro 程序

什么是 ABAP Dynpro 程序

时间:2023-10-03 13:36:27浏览次数:34  
标签:NAME 程序 ABAP 按钮 Dynpro 屏幕 1000

在 SAP 系统中,Dynpro(Dynamic Program)是一个非常重要的概念。Dynpro 是用于建立 SAP 的图形界面的一种工具,可以帮助我们创建和管理用户界面。ABAP Dynpro 程序通常用于创建交互式应用程序,可以帮助用户以图形界面的方式与系统进行交互。

一个 ABAP Dynpro 程序由一系列的屏幕组成,每个屏幕都由一些元素,例如输入字段、按钮、表格等组成。每个屏幕都有一些与之相关的 ABAP 代码,这些代码定义了用户与屏幕元素交互时系统应该如何响应。例如,当用户点击一个按钮时,与该按钮关联的 ABAP 代码将被执行。

在创建一个 ABAP Dynpro 程序时,我们首先需要创建一个或多个屏幕。每个屏幕都由一个 Layout 和一些 ABAP 代码组成。Layout 定义了屏幕上的元素和它们的布局,而 ABAP 代码定义了这些元素的行为。

例如,我们可以创建一个简单的 ABAP Dynpro 程序,该程序包含一个输入字段用于输入一个名字,和一个按钮用于显示一个欢迎信息。当用户输入名字并点击按钮时,系统会显示一条包含输入名字的欢迎信息。

首先,我们需要创建一个屏幕(例如,屏幕编号为 1000 的屏幕)。在这个屏幕的 Layout 中,我们添加一个输入字段和一个按钮。输入字段的名称可以为 NAME,按钮的名称可以为 DISPLAY_MESSAGE

然后,我们需要为这个屏幕编写一些 ABAP 代码。在这个代码中,我们首先定义一个全局变量 G_NAME,用于存储用户输入的名字。然后,我们为按钮 DISPLAY_MESSAGE 定义一个 PROCESS ON VALUE-REQUEST 事件处理器。在这个处理器中,我们读取输入字段 NAME 的值并存储到 G_NAME 中,然后显示一条包含 G_NAME 的欢迎信息。

以下是这个 Dynpro 程序的 ABAP 代码:

DATA: G_NAME TYPE STRING.

PROCESS BEFORE OUTPUT.
  MODULE STATUS_1000.

PROCESS AFTER INPUT.
  MODULE USER_COMMAND_1000.

MODULE STATUS_1000 OUTPUT.
  SET PF-STATUS 'SCREEN_1000'.
  SET TITLEBAR 'TITLE_1000'.
ENDMODULE.

MODULE USER_COMMAND_1000 INPUT.
  CASE SY-UCOMM.
    WHEN 'DISPLAY_MESSAGE'.
      READ TABLE SCREEN WITH KEY NAME = 'NAME' INTO DATA(WA_SCREEN).
      G_NAME = WA_SCREEN-VALUE.
      MESSAGE `欢迎,` && G_NAME TYPE 'I'.
    WHEN 'BACK'.
      LEAVE TO SCREEN '0'.
  ENDCASE.
ENDMODULE.

在这个代码中,PROCESS BEFORE OUTPUTPROCESS AFTER INPUT 是两个处理块,分别在屏幕显示之前和用户输入之后执行。MODULE STATUS_1000 用于设置屏幕的状态,例如 PF-STATUS 和 TITLEBAR。

标签:NAME,程序,ABAP,按钮,Dynpro,屏幕,1000
From: https://www.cnblogs.com/sap-jerry/p/17741033.html

相关文章

  • 什么是 SAP ABAP 系统的 Transport Request
    在SAP系统中,TransportRequest(TR)是一个非常重要的组成部分,它是SAP系统中实施改变和确保这些改变能够从一个系统(例如开发系统)传输到另一个系统(例如测试或生产系统)的关键工具。简单来说,TransportRequest主要用于在SAP系统间迁移配置和开发对象。在SAP系统中,所有的配......
  • ABAP 异常处理(Exception Handling) - 什么是 Non-Class-Based 异常试读版
    本教程前一篇文章,笔者介绍了ABAP系统里查看程序运行时错误的一个有用工具:事务码ST22:112.SAPABAPDumpAnalysis(ST22)工具的使用和背景介绍在笔者实际工作过程中,发现部分开发人员,对于运行时错误(RuntimeError)和异常(Exception)这些概念的区别,理解得不是很清楚,因此使......
  • SAP ABAP 系统记录传输请求处理过程的日志存放目录
    /usr/sap/trans/log是SAP系统中的一个重要目录。这个目录下存放的文件主要是用来记录SAP系统在进行各种不同类型的传输请求(TransportRequest)处理过程中的操作日志。在SAP系统的日常运行和维护中,这些日志文件提供了很多有价值的信息,例如出现错误时,可以通过查看这些日志文件......
  • SAP ABAP 系统传输请求(Transport Request)导入到其他系统背后执行的逻辑
    在SAP系统中,当我们需要将一些更改从一个系统(例如开发系统)传输到另一个系统(例如测试系统)时,我们会使用TransportRequest。这是一种将配置、报告、表等从一个系统复制到另一个系统的机制。在我们的例子中,我们正在谈论的是一个Dynpro程序。Dynpro(动态程序)是SAP系统中的标准用......
  • 《程序员修炼之道:从小工到专家》chap2(九月)
    Chap2注重实效的途径程序需要遵守的实用主义原则。重复的危害:如果某个事物在代码中重复多次,就可能会在维护过程中带来问题,因为改动了一处而忘记改动另一处造成自相矛盾。这加大了维护难度。要遵守DRY原则,即Don’trepeatyourself。重复通常由这些东西引起:强加的重复,由文档或......
  • 挑战程序设计竞赛 2.2 poj 2393 Yogurt factory
    https://vjudge.net/problem/POJ-2393奶牛们购买了一家酸奶厂,生产世界闻名的"YuckyYogurt"酸奶。在接下来的N(1<=N<=10,000)周里,牛奶和劳动力的价格每周都会波动,因此在第i周生产一单位酸奶将花费公司C_i(1<=C_i<=5,000)美分。Yucky酸奶厂设计合理,每周可以......
  • 新建小程序页面
    新建小程序页面只需要在app.json->pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件,如图所示:  2、修改项目的首页只需要调整app.json->pages中的前后顺序,即可修改项目的首页,小程序会把排在第一位的页面,当作项目首页进行渲染,如图所示: ......
  • 挑战程序设计竞赛 2.2 poj 1328 Radarinstallation
    https://vjudge.net/problem/POJ-1328假设海岸线是一条无限长的直线。陆地在海岸线的一边,海洋在另一边。每个小岛都是位于海边的一个点。而位于海岸线上的任何雷达装置都只能覆盖d的距离,因此,如果两者之间的距离最多为d,那么海中的一个小岛就可以被一个半径为d的装置覆盖。......
  • MySQL学习(1)MySQL程序有什么
    认识MySQLMySQL的客户端/服务器MySQL服务器是运行在计算机中,直接与要存储的数据打交道的程序,多个客户端程序可以连接到这个服务器程序,向服务器发送增删改查的请求,然后服务器程序根这些请求,对存储的数据进行相应的处理。MySQL社区版下载地址:https://dev.mysql.com/downloads/......
  • 认识小程序项目的基本组成结构
    小程序代码的构成-项目结构1、了解项目的基本组成结构1、pages用于存放所有小程序的页面2、utils用来存放工具性质的模块(例如:格式化时间的自定义模块)3、app.js小程序的项目入口文件4、app.json小程序项目的全局配置文件5、app.wxss小程序项目的全局样式文件6、project.......