将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版

在 SAP 标准产品和实际项目开发中,经常遇到一些需要将尺寸不大的文件(比如小于1MB的配置文件)的二进制内容,存储到 ABAP 数据库的情况。

比如笔者的 SAP OData 开发教程 里这篇文章,下图代码第 17 行,使用 ABAP OPEN SQL 将变量 ls_file_db 的值,插入到数据库表 zfile 里:

将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版_第1张图片

下图是数据库表 ZFILE 的字段列表,这个数据库表用于存放用户按照笔者这篇教程介绍的步骤,使用 SAP ABAP OData 服务将文件上传到 ABAP 服务器上后保存的文件内容。

具体的,文件的内容通过字段 VALUE 维护,数据类型是 RAWSTRING.

将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版_第2张图片

比如在我的系统里,ZFILE 表里有三条数据,代表三个上传后成功保存的文件:

将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版_第3张图片

双击任意一条记录,查看明细:

将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版_第4张图片

其中 VALUE 字段显示的是文件二进制内容的十六进制编码,这个编码同我们本地使用 WinHexUltraEdit 等软件打开后查看到的内容是一致的。

本文介绍如何将数据库表里这种 RAWSTRING 格式的内容下载到本地,重新生成新的文件。

本文使用到的完整 50 行 ABAP 代码在文末,这里介绍代码编写的关键要点。

你可能感兴趣的:(将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版)