公众号:SAP Technical
本文作者:matinal

前言部分

这一篇介绍两个知识点:

一个是在ABAP7.50以上版本中,使用CREATE DATA。

另一个是介绍ABAP7.50的INTERFACE。

希望读者看完这篇文章之后,对这两个概念不再陌生,知道如何使用及其使用原理。

创建数据对象

创建内部表和类型i的数据对象。

数据对象在使用之前直接创建,然后由引用变量初始化并传递给收集器。

通过解除引用数据引用来访问数据对象。

如果未指定任何TYPE或LIKE,则必须完全键入数据引用变量dref。

然后使用数据引用变量的静态数据类型创建数据对象。

来看下面的例子:

TYPES t_itab TYPE TABLE OF i WITH NON-UNIQUE KEY table_line. 

DATA: tab_ref TYPE REF TO t_itab,
i_ref TYPE REF TO i. IF tab_ref IS INITIAL.
CREATE DATA tab_ref.
ENDIF. tab_ref->* = VALUE #( FOR j = 1 UNTIL j > 10 ( j ) ). IF tab_ref IS NOT INITIAL.
IF i_ref IS INITIAL.
CREATE DATA i_ref.
ENDIF.
LOOP AT tab_ref->* INTO i_ref->*.
cl_demo_output=>write( |{ i_ref->* }| ).
ENDLOOP.
ENDIF.
cl_demo_output=>display( ). CLEAR: tab_ref, i_ref.

注意点:

全局类的可见性部分以及功能模块和全局方法的参数接口也包含隐式增强点。

这些可以在类构建器或函数构建器中显示和增强。

AMDP方法没有任何隐含的增强点。

用户接口

对于用户对话框的执行,需要可以通过用户界面(UI)访问的输入和输出服务。

用户界面用于用户和程序之间的交互。

如果用户界面的某些部分显示在屏幕上的GUI窗口中,则这是图形用户界面(GUI)。

SAP GUI是特定实现使用dynpros执行基于对话框的应用程序,它作为底层是ABAP的软件组件安装在服务器上的展示层的。

它包含执行用户和程序之间对话框所需的所有控件元素。

我们来看一下图形,更加直接。

在屏幕上,SAP GUI在GUI窗口中显示dynpro(动态程序)的屏幕。

屏幕可以包含用于显示内容或用于接收用户动作的屏幕元素。

使用Screen Painter工具中的Layout Editor处理屏幕及其屏幕元素。

每个屏幕元素都具有在Screen Painter中静态预定义的属性,并且部分可以在ABAP程序中动态修改。

作为图形用户界面的另一部分,每个标准窗口都包含一个菜单栏,一个标准工具栏和一个应用程序工具栏。

显示为模式对话框的GUI窗口仅包含应用程序工具栏。条形图是ABAP程序的独立组件,并以GUI状态组合在一起。

此外,在设置GUI状态时将它们分配给dynpro。除了图形元素,功能键也是用户界面的一部分。

它们被定义为ABAP程序的独立组件,因此是GUI状态的一部分。

使用Menu Painter工具处理GUI状态的组件和GUI状态本身。

在大多数情况下,用户界面显示的控制元素与功能代码链接,可以在ABAP程序中进行评估。

可以在系统字段sy-pfkey中找到当前GUI状态的描述。

SAP GUI中的GUI窗口在具有标题栏和状态栏时完成。

标题栏也使用Menu Painter编辑,包含GUI窗口的标题。

状态栏显示在使用MESSAGE语句执行ABAP程序期间可以传输的信息。

此外,它还包含可以使用栏右侧的图标显示或隐藏的系统信息。

【第四篇】SAP ABAP7.5x新语法之CREATE DATA&INTERFACE的更多相关文章

  1. 【第八篇】SAP ABAP7.5x新语法之F4增强【续】

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之F4增强[续]   ...

  2. 【第七篇】SAP ABAP7.5x新语法之F4增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之F4增强 前言部分 ...

  3. 【第六篇】SAP ABAP7.5x新语法之SQL注入

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之SQL注入   前 ...

  4. 【第五篇】SAP ABAP7.5x新语法之命名规约

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之命名规约   命名 ...

  5. 【第三篇】SAP ABAP7.5x新语法之程序结构&SubScreen

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文地址:SAP ABAP7.5x系列之程序结构& ...

  6. 【第一篇】SAP ABAP7.5x新语法之预定义数据结构

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之预定义数据结构 前 ...

  7. 【第二篇】SAP ABAP7.5x新语法之OPEN SQL

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之OPEN SQL ...

  8. 【ABAP系列】SAP ABAP7.40新语法简介第一篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

  9. 【ABAP系列】SAP ABAP7.40新语法简介第二篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

随机推荐

  1. mysql修改数据路径

    步凑: 1.关闭mysql服务 [root@localhost /]# service mysqld stop 2.移动mysql文件夹到自定义的目录 [root@localhost /]# mv / ...

  2. 【转】php结合redis实现高并发下的抢购、秒杀功能

    抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存 ...

  3. 高手速成android开源项目【项目篇】

    主要介绍那些Android还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好.Linux项目地址:https://github.com/torvalds/linuxAndroid ...

  4. 从零开始学 Web 之 移动Web(八)Less

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. 通过 Ansible 创建 Jenkins Server

    创建 CI 流程的第一件事应该是安装 CI 工具,本文以最常见的 Jenkins 为例,介绍如何使用 Ansible 自动安装 Jenkins Server.说明:本文的演示环境为 ubuntu 16 ...

  6. InnoDB存储引擎概览

    InnoDB存储引擎概览   InnoDB存储引擎以其平衡了高可靠性和高性能性而闻名遐迩,在MySQL 8.0版本中,InnoDB存储引擎是默认的存储引擎.(历史追溯从MySQL 5.5.5版本开始, ...

  7. python学习笔记01--基础

    一.解释型语言 python是一门解释型语言,这意味着: l  编写过后的代码不用编译连接即可运行,节约调试时间 l  python的解释器在大多数系统中都有很好实现,所以编写的代码可以运行在任何系统 ...

  8. [译]Node.js框架对比:Express/Koa/Hapi

    本文翻译自: https://www.airpair.com/node.js/posts/nodejs-framework-comparison-express-koa-hapi 1.介绍 直至今日, ...

  9. c#:HttpClient加标头

    using (var client = new HttpClient()) { string requestUrl = string.Format("{0}{1}", ConstD ...

  10. Jjava8 Lambda 神操作

    public class Lambda { @FunctionalInterface public interface AddInter { void add(int x, long y); } pu ...