SAP 小技巧使用 EXPORTIMPORT 保存特殊数据

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Data Engineering, 开发, 数据工程, 系统管理

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

前言

特定的程序中,可能需要存储多个变量,结构,内表. 后续需要再次读取出之前存储的数据.

对于存储的数据无需数据检索,只要能读出即可.

此时可以考虑使用EXPORT/IMPRT TO/FROM DATABASE 语句实现.

**使用EXPORT TO DATABASE IMPORT FROM DATABASE 解决特殊场景下的数据记录**

语法规则

截图是ABAP语法帮助中的部分内容

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

数据存储表.

** 固定字段部分 **

• RELID IMPORT/EXPORT 数据表中的区域.根据需使用固定2位的字符串

• ID 写入/读取的关键ID

• SRTF2 EXPORT/IMPORT 数据表中的下个记录计数器 (新版无需该字段)

• CLUSTR EXPORT/IMPORT 表格中的用户数据长度字段 (新版无需该字段)

• CLUSTD IMPORT/EXPORT数据库表的数据字段

**自定义字段部分** ,记录一些通用字段:日期,时间,用户等. 可以根据需要增加新的字段,用于快速检索查询保存的数据.

• USERID 用户名

• TIMESTAMP简短格式的 UTC 时戳 (YYYYMMDDhhmmss)

• ......

根据CLUSTD字段定义的类型,可以分为两种版本.

• LRAW 限制了长度2886 需要字段SRTF2,CLUSTER 辅助保存超出2886长度的内容.早期ECC版本中使用,如图旧版本

• RAWSTRING 无长度限制 无需字段SRTF2,CLUSTER辅助. 新的ECC版本中使用.如图新版本

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

旧版本

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

新版本

使用业务场景

可以在如下场景是使用这种数据记录方式

• 接口内容日志

• 程序临时保存的数据(单据的暂存功能)

• 程序中动态内表保存的数据

• ......

下图是我在一些程序中使用了这种存储方式.

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

以接口RFC函数为例

在RFC接口中,可以需要记录所有接口调用时传递的内容,以便监控接口的调用是否正确

> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP工具箱之 接口调用集中监控

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485919&idx=1&sn=28ed168f2d167eea7e23f4c3c194e282&chksm=cf5dd4e9f82a5dff86123597a2d1ec33e22a2796f4ddf4e56a00c3537949f0540f571fd00550#rd)

> 接口框架

>

> 无峰,公众号:ABAP 技巧与实战 [ SAP开发框架系列之 接口框架

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247484693&idx=1&sn=651a852dba65476a2e2beeb59d109d42&chksm=cf5dd823f82a5135d9fd136931c4945187061095e6853eb2e188f49f8afc3446f29f877287ba#rd)

_**01** _

**界面定义**

所有的RFC函数使用相同的界面. 比如传入变量,结构都使用IS_STR 不同的函数参考不同的类型.

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

_**02** _

**内容保存**

RFC函数传递内容的保存

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

_**03** _

**内容呈现**

统一监控程序中, 使用IMPORT 读取需要查看的传输内容,呈现的时候,根据不同的接口定义通过动态内表呈现内容.

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

致命的缺点

保存的数据结构一旦发现变化,历史存储的记录将无法读出.

如果一次保存了多个结构/内表. 其中有一个内表中增强了字段或者修改了字段长度. 则改变的内表将无法读出. 但是未改变的其它结构/内表的读取不受影响.

具体表现为IMPORT 语句返回值SY-SUBRC <> 0\. 读取的内表为空

解决方案

在数据结构发现变化后, 使用程序升级保存的数据内容.

示例代码中 gt_alv_12_old 是按照改变前的结构定义的内表,

GT_ALV_12按照改变后的结构定义的内表. IMPORT读取数据后,赋值到新结构内表中(系统会执行类型转换或长度变更),写回数据,完成数据内容的升级.

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

总结

EXPORT/IMPORT TO/FROM DATABASE便于存储大量/动态结构的数据内容.

因为存储的数据是非结构化数据,所以不能对数据中的字段进行检索,只能全部读取内容呈现时再检索内容.

在一些特殊的场景中使用,可以简化数据存储,读取过程.

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

**公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群**

SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
SAP 小技巧使用 EXPORTIMPORT 保存特殊数据 - 封面图
ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP小技巧使用EXPORTIMPORT保存特殊数据.md」整理生成,仅用于内部技术分享与学习交流。