公众号: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. C# Winform同时启动多个窗体类

    首先创建一个类,存放将要同时显示的窗体 using System; using System.Collections.Generic; using System.Linq; using System. ...

  2. 一篇极好的Git 总结

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 常用命令 简单的,常用的命令也就几个.但是想非常熟练使用,怕是要记住几十个. Workspace:工作区( ...

  3. 当Elasticsearch遇见Kafka

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由michelmu发表于云+社区专栏 Elasticsearch作为当前主流的全文检索引擎,除了强大的全文检索能力和高扩展性之外,对多种 ...

  4. thinkphp如何利用反射实现钩子方法

    ThinkPHP框架的控制器模块是如何实现 前控制器.后控制器,及如何执行带参数的方法? PHP系统自带的 ReflectionClass.ReflectionMethod 类,可以反射用户自定义类的 ...

  5. Docker实践:python应用容器化

    一.前言 容器使用沙箱机制,互相隔离,优势在于让各个部署在容器的里的应用互不影响,独立运行,提供更高的安全性.本文主要介绍python应用(django)跑在docker容器里,编写dockerfil ...

  6. vuex状态管理之学习笔记

    概述及使用场景 Vuex 是一个主要应用在中大型单页应用的类似于 Flux 的数据管理架构.它主要帮我们更好地组织代码,以及把应用内的的状态保持在可维护.可理解的状态. 但如果是简单的应用 ,就没有必 ...

  7. 带你了解CSRF和XSS(一)

    浏览器的同源策略限制了一些跨域行为,但仍有些特例(img.iframe.script标签)不受跨域限制,这就给XSS攻击创造了机会(这完全不是同源策略的锅,一定是程序员的锅). 在讲下面的内容前,还是 ...

  8. Django 学习笔记(三) --- HTML 模版加载 css、js、img 静态文件

    人生苦短 ~ Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用).因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的 ...

  9. Python和Java编程题(一)

    今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题 题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 1.题目 一个数如 ...

  10. [Luogu4986] 逃离

    Description 给定次数为 \(n\) 的函数 \(A(x),B(x),C(x)\),求 \(A^2(x)+B^2(x)-C^2(x)\) 在 \([L,R]\) 的零点.\(n\leq 10 ...