在 SAP 标准产品和实际项目开发中,经常遇到一些需要将尺寸不大的文件(比如小于1MB的配置文件)的二进制内容,存储到 ABAP 数据库的情况。
比如笔者的 SAP OData 开发教程 里这篇文章,下图代码第 17 行,使用 ABAP OPEN SQL 将变量 ls_file_db
的值,插入到数据库表 zfile
里:
下图是数据库表 ZFILE
的字段列表,这个数据库表用于存放用户按照笔者这篇教程介绍的步骤,使用 SAP ABAP OData 服务将文件上传到 ABAP 服务器上后保存的文件内容。
具体的,文件的内容通过字段 VALUE
维护,数据类型是 RAWSTRING
.
比如在我的系统里,ZFILE 表里有三条数据,代表三个上传后成功保存的文件:
双击任意一条记录,查看明细:
其中 VALUE 字段显示的是文件二进制内容的十六进制编码,这个编码同我们本地使用 WinHex
,UltraEdit
等软件打开后查看到的内容是一致的。
本文介绍如何将数据库表里这种 RAWSTRING
格式的内容下载到本地,重新生成新的文件。
本文使用到的完整 50 行 ABAP 代码在文末,这里介绍代码编写的关键要点。