ABAP编程中的参数传递:使用EXPORT/IMPORT与SPA/GPA参数

news2024/10/6 16:22:27

在ABAP编程中,有效地在程序之间传递数据是实现功能的关键。本文档将介绍两种常用的数据传递方法:EXPORT/IMPORT和SPA/GPA参数,并提供实际示例。
1. 使用EXPORT/IMPORT数据(ABAP/4内存)
EXPORT/IMPORT语句允许程序在ABAP/4内存中存储和检索数据字段。这种方法适用于程序内部以及被调事务、报表或其他模块之间的数据传递。
如何使用EXPORT/IMPORT:
EXPORT数据:
EXPORT <OBJECT1> <OBJECT2> ... <OBJECTN> TO MEMORY ID <ID-NAME>.
这将数据存储在内存中,全局有效。
IMPORT数据:
IMPORT <OBJECT1> <OBJECT2> ... <OBJECTN> FROM MEMORY ID <ID-NAME>.
这将从内存中检索数据。

注意事项:
使用EXPORT时,如果多次输出同一对象到同一ID,会覆盖内存中的第一个版本。
对于外部应用程序,不推荐使用EXPORT/IMPORT,因为这些应用程序无法找到调用所需的接口。
示例:
程序A : 将参数导出数据到内存


REPORT ZDEMO_EXPORT.
DATA: lv_name TYPE string,
      lv_age  TYPE i.
START-OF-SELECTION.
  " 设置数据
  lv_name = 'John Doe'.
  lv_age = 30.
  " 导出数据到内存
  EXPORT lv_name lv_age TO MEMORY ID 'ZDEMO_USER_DATA'.

程序B : 从内存中获取之前导出的数据


REPORT ZDEMO_IMPORT.
DATA: lv_name TYPE string,
      lv_age  TYPE i.

START-OF-SELECTION.
IMPORT lv_name lv_age FROM MEMORY ID 'ZDEMO_USER_DATA'.
" 在屏幕上显示导入的数据
WRITE: / 'Name: ', lv_name, ' Age: ', lv_age.

先执行程序A后再执行程序B ,程序B的执行结果如下:

2. 使用SPA/GPA参数传递数据
SPA/GPA参数是全局保存在内存中的字段值,适用于用户会话期间的数据传递。有两种方法使用SPA/GPA参数:
通过屏幕制作器设置字段属性:在屏幕制作器中,设置字段属性为“SET参数”或“GET参数”,并指定“参数ID”。
使用SET PARAMETER和GET PARAMETER语句:这些语句用于显式存储和检索SPA/GPA值。

示例:
程序A : 将参数保存到参数ID:


REPORT ZDEMO_SET_ID.
DATA :REPORTID(20).
REPORTID = 'YDMMR140' .
SET PARAMETER ID 'RID' FIELD REPORTID.
WRITE :/10 'REPORTID VALUE :', REPORTID.

程序B : 从参数ID中获取数据:

REPORT ZDEMO_GET_ID.
DATA :REPORTID(20).
GET PARAMETER ID 'RID' FIELD REPORTID.
WRITE :/10 'REPORTID VALUE :', REPORTID.

先执行程序A再执行程序B后,结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重生之我要学后端0--HTTP协议和RESTful APIs

http和RESTful APIs HTTP协议RESTful APIs设计RESTful API设计实例 HTTP协议 HTTP&#xff08;超文本传输协议&#xff09;是用于分布式、协作式和超媒体信息系统的应用层协议。它是网页数据通讯的基础。工作原理简述如下&#xff1a; 客户端请求&#xff08;Request&#xf…

Jmeter,badboy学习

1、注意Jmeter与jdk之间的版本对应 2、Jmeter的作用&#xff1a; jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本&#xff08;发get/post请求、加cookie、加header、加权限认证、上传文件&#xff09;、做webservice脚本、参数化、断言、关联&#x…

500多个专业怎么选择,高考填报志愿为什么难?

查成绩&#xff0c;报志愿&#xff0c;选专业&#xff0c;考出怎样的成绩&#xff0c;可选择的学校有哪些&#xff1f;所以很多人会比较慎重&#xff0c;可是慎重也不代表选择就容易。 目前来看&#xff0c;可选择的专业高达500多个&#xff0c;甚至超过500多个&#xff0c;文…

GPT-5对普通人有何影响

这篇文章对ChatGPT的使用方法和提问技巧进行了讨论&#xff0c;重点强调了背景信息和具体提问的重要性。文章清晰地传达了如何提高ChatGPT回答的质量&#xff0c;以及个人在使用ChatGPT时的体会和建议。然而&#xff0c;文章在逻辑组织和表达方面还有一些可以改进的地方&#x…

全局mixins

一、文章由来 在开发过程中发现在钩子函数位置直接使用dicts就能直接绑定数据了&#xff0c;由此溯源发现了自己的盲区 二、局部使用 // myMixin.js文件 var myMixin {created: function () {this.hello()},methods: {hello: function () {console.log(hello from mixin!)…

9 个让 Python 性能更高的小技巧,你掌握了吗?

我们经常听到 “Python 太慢了”&#xff0c;“Python 性能不行”这样的观点。但是&#xff0c;只要掌握一些编程技巧&#xff0c;就能大幅提升 Python 的运行速度。 今天就让我们一起来看下让 Python 性能更高的 9 个小技巧 python学习资料分享&#xff08;无偿&#xff09;…

【日常记录】【JS】SSE 流式传输 ChatGPT 的网络传输模式

文章目录 1、SSE 流式传输2、后端代码3、前端代码5、SSE和WS 对比6、chatgpt SSE的服务端返回的数据参考链接 单工通信是一种单向的通信方式&#xff0c;其中信息只能从发送端传输到接收端&#xff0c;而接收端不能向发送端发送任何信息。在Web开发中&#xff0c;Server-Sent E…

家用洗地机十大品牌什么牌子好用?2024十大爆款洗地机分享

在快节奏的生活中&#xff0c;清洁家居成为了一项繁琐却必不可少的任务。而洗地机的出现&#xff0c;无疑给忙碌的都市人带来了福音。选择一款优质的洗地机可以大大提升我们清洁的效率&#xff0c;改善我们的生活品质。那么&#xff0c;哪家洗地机清洁力最强&#xff0c;更适合…

头歌——机器学习——决策树案例

第1关&#xff1a;基于决策树模型的应用案例 任务描述 本关任务&#xff1a;使用决策树算法完成成人收入预测。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.数据特征处理&#xff0c;2.使用决策树算法完成成人收入预测。 数据处理及特征工程 本次任务…

T80005编码器操作说明书:高清HDMI,高清SDI编码器

T80005编码器操作说明书&#xff1a;高清HDMI,高清SDI编码器 T80005编码器视频使用操作说明书&#xff1a;高清HDMI编码器,高清SDI编码器

Grafana+Prometheus构建强大的监控系统-保姆级教程[监控linux、oracle]

什么是Grafana&#xff1f; Grafana是一个开源软件&#xff0c;拥有丰富的指标仪表盘和图形编辑器&#xff0c;适用Prometheus、Graphite、Elasticsearch、OpenTSDB、InfluxDB、redis。。。简单点说就是一套开源WEB可视化平台。通过对数据库数据二次提取&#xff0c;做出好看的…

240627_昇思学习打卡-Day9-ResNet50图像分类

240627_昇思学习打卡-Day9-ResNet50图像分类 文章目录 240627_昇思学习打卡-Day9-ResNet50图像分类前言残差网络Residual Block代码实现Bottleneck Block代码实现 BN层&#xff08;Batch Normalization&#xff09;构建ResNet50网络数据集准备与加载模型训练与评估可视化模型预…

什么是div移动指令?如何用vue自定义指令实现?

目录 一、Vue.js框架介绍二、vue自定义指令directive三、什么是div移动指令四、使用vue自定义指令directive写一个div移动指令 一、Vue.js框架介绍 Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它设计得非常灵活&#xff0c;可以轻松地被集成到现有的项目中&#xf…

swiper轮播 loop:true失效解决

数据是写死的时候&#xff0c;能够loop:true是有效的;数据是动态获取的loop:true就会失效。 方法一&#xff1a;在接收到数据后&#xff0c;使用 setTimeout(() > {this.getSwiper(); //生成swiper方法}, 0); 下面是我项目具体使用的参考例子&#xff1a; 方法二&#xff…

1982Springboot宠物美容院管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot宠物美容院管理系统是一套完善的信息系统&#xff0c;结合springboot框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系 统具有完整的源代码和数据库…

McgsPro初级使用教程

MCGS触摸屏 1.也被称为昆仑通态触摸屏&#xff0c;是一款在工业自动化领域广泛应用的触摸屏产品。 2.以其高度可靠、多点触控、防水防尘、宽温设计、强大的通信能力、多样化的显示内容、灵活的组态设计和丰富的脚本编程等特点&#xff0c;成为工业自动化领域的强大伙伴。 下载好…

风控图算法之社群发现算法(小数据集Python版)

风控图算法之社群发现算法&#xff08;小数据集Python版&#xff09; 在风险控制领域&#xff0c;图算法扮演着日益重要的角色。&#xff08;这方面的资料有很多&#xff0c;不再赘述&#xff09; 图算法在风控场景的应用 图分析方法在业务风控中的应用 特别是社群发现算法&a…

Linux 设置中文语言环境(ubuntu)

1. 查看当前默认 2.下载中文语言包 apt-get install language-pack-zh-hans 3. 更新语言环境并重启 update-locale LANGzh_CN.UTF-8 sudo reboot

将 Cohere 与 Elasticsearch 结合使用

本教程中的说明向你展示了如何使用推理 API 使用 Cohere 计算嵌入并将其存储起来&#xff0c;以便在 Elasticsearch 中进行高效的向量或混合搜索。本教程将使用 Python Elasticsearch 客户端执行操作。 你将学习如何&#xff1a; 使用 Cohere 服务为文本嵌入创建推理端点&…

Java技术栈中的核心组件:Spring框架的魔力

Java作为一门成熟的编程语言&#xff0c;其生态系统拥有众多强大的组件和框架&#xff0c;其中Spring框架无疑是Java技术栈中最闪耀的明星之一。Spring框架为Java开发者提供了一套全面的编程和配置模型&#xff0c;极大地简化了企业级应用的开发流程。本文将探讨Spring框架的核…