如何将图像从 MIME 存储库添加到 SAP Adob​​e 表单?

Est*_*sti 3 abap livecycle-designer adobe-form

我已将图像加载到 SAP MIME 存储库:

名称:watermark100.bmp

MIME 类型:图标(在属性窗口的技术信息下。我没有设置这个,我假设 SAP 在我上传时根据文件类型默认设置)。

现在我正在尝试以 SAP adobe 表单显示此图像:

在表单界面中,我创建了一个全局常量:

GV_IMG_WATERMARK TYPE STRING VALUE 'watermark100.bmp'
Run Code Online (Sandbox Code Playgroud)

在上下文中,我创建了一个图形节点:

Name:         WATERMARK
Graphic Type: GRAPHIC CONTENT
Field:        GV_IMG_WATERMARK 
MIME Type:    'icon'  //I have also tried '.bmp'
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我测试表单时,没有显示图像。知道我做错了什么吗?

补充评论:

  • 我可以通过指向 URL 并将其嵌入到表单中来显示图像,但这对于我想要做的来说还不够。图像必须从 MIME 加载,并且显示节点将是有条件的。
  • 似乎有一种有点令人费解的方法可以将图像转换为 XSTRING 并将其传递给表单,接下来我可能会尝试这样做,但对于我想要实现的目标来说似乎过于复杂。

Est*_*sti 5

好的,我已经通过以下方式解决了它:

将数据声明更改如下:URL 仅遵循 MIME 存储库中的树结构

data:      gv_bmp_watermark type xstring.
constants: gc_url_watermark type string 
    value '/BC/PUBLIC/MyImages/watermark100.bmp'.
Run Code Online (Sandbox Code Playgroud)

在代码初始化下的界面中,我添加了以下内容:(请注意,您必须使用顶部的界面导入和导出相关变量 - 如果不这样做,您将得到一个不言自明的编译错误)

//* Read Images
data: lr_api type ref to if_mr_api.

lr_api = cl_mime_repository_api=>get_api( ).

lr_api->get( exporting i_url = gc_url_watermark
             importing e_content = gv_bmp_watermark ).
Run Code Online (Sandbox Code Playgroud)

Context 节点仅略有变化:

Name:         WATERMARK         
Graphic Type: GRAPHIC CONTENT         
Field:        GV_BMP_WATERMARK          
MIME Type:    'image/bmp'
Run Code Online (Sandbox Code Playgroud)