SAP Adobe Form 教程五 图片
前文:
SAP Adobe Form 教程三 日期,时间,floating field
原文标题:SAP Adobe Interactive Form Tutorial. Part V. Images, Graphics and Logo in Adobe Forms
本文链接:https://www.cnblogs.com/hhelibeb/p/15512978.html
前提:需要通过SE78上传图片。

上传完成后,请检查确认图片已经在系统中存在,

创建interface。
事务代码SFP,

在interface中添加一个IV_LOGO参数,类型为XSTRING,


创建form,

拖放参数IV_LOGO到Context,


在Context的YRAM_ADOBE_FORM5右击,并且选择create->graphic.


下一步很重要:把Graphic type从Graphic Reference改为Graphic content。


输入字段名IV_LOGO,选择MIME TYPE为‘IMAGE/BMP’.

保存,并前往Layout的Data View标签页。拖放Graphic到layout。

可以根据需要拉伸或压缩图片。可能需要删除图片标题,即默认图像字段文本。

出于演示目的,我在图片下方添加了另一个文本元素。
检查、保存和激活。
带有图形和表单界面的Layout已经完成。 注意到了吗,我们的Layout中有两个元素。图片字段和图形内容。 相当于变量名和实际内容。
调用adobe form的驱动程序,
1 *&---------------------------------------------------------------------*
2 *======================================================================*
3 * YRAM_ADOBE_FORM_PROGRAM5 *
4 *======================================================================*
5 * Project : SAP Adobe Forms Tutorial *
6 * Author : Ramanjula Naidu DARURU (www.SAPYard.com) *
7 * Description : Printing a logo in the adobe form *
8 *======================================================================*
9 REPORT yram_adobe_form_program5.
10
11 *======================================================================*
12 * Selection Screen
13 *======================================================================*
14 PARAMETERS : p_logo TYPE rstxt-tdname.
15 *======================================================================*
16 * Data Objects
17 *======================================================================*
18
19 DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
20 gs_fp_docparams TYPE sfpdocparams,
21 gs_fp_outputparams TYPE sfpoutputparams,
22 gv_name TYPE tdobname,
23 gv_logo TYPE xstring ,
24 gv_bmp TYPE xstring.
25 *======================================================================*
26 * Constants
27 *======================================================================*
28 CONSTANTS : gc_btype TYPE tdbtype VALUE 'BCOL',
29 gc_id TYPE tdidgr VALUE 'BMAP',
30 gc_object TYPE tdobjectgr VALUE 'GRAPHICS',
31 gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM5'.
32
33 *======================================================================*
34 * START of Calling the Form
35 *======================================================================*
36 *&---------------------------------------------------------------------*
37 **&&~~ Form Processing: Call Form - Open
38 *
39 CALL FUNCTION 'FP_JOB_OPEN'
40 CHANGING
41 ie_outputparams = gs_fp_outputparams
42 EXCEPTIONS
43 cancel = 1
44 usage_error = 2
45 system_error = 3
46 internal_error = 4
47 OTHERS = 5.
48 IF sy-subrc <> 0.
49 " Suitable Error Handling
50 ENDIF.
51 *&---------------------------------------------------------------------*
52 **&&~~ Get the Function module name based on Form Name
53 *
54 CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
55 EXPORTING
56 i_name = gv_form_name
57 IMPORTING
58 e_funcname = gv_fm_name.
59 IF sy-subrc <> 0.
60 " Suitable Error Handling
61 ENDIF.
62
63 * Passing the logo name
64 gv_name = p_logo.
65
66 * Get the image/logo graphic information
67 CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
68 EXPORTING
69 p_object = gc_object " GRAPHICS
70 p_name = gv_name " Name of the Logo
71 p_id = gc_id " BMAP
72 p_btype = gc_btype " BCOL for color, 'BMON' for Black & White
73 RECEIVING
74 p_bmp = gv_bmp
75 EXCEPTIONS
76 not_found = 1
77 internal_error = 2
78 OTHERS = 3.
79
80 gv_logo = gv_bmp.
81
82 *&---------------------------------------------------------------------*
83 **&&~~ Take the FM name by execuing the form - by using Pattern-
84 **&&~~ call that FM and replace the FM Name by gv_fm_name
85 **&&~~ Call the Generated FM
86 CALL FUNCTION gv_fm_name
87 EXPORTING
88 /1bcdwb/docparams = gs_fp_docparams
89 * iv_name = p_name
90 * iv_flag = p_flag
91 iv_logo = gv_logo
92 EXCEPTIONS
93 usage_error = 1
94 system_error = 2
95 internal_error = 3
96 OTHERS = 4.
97 IF sy-subrc <> 0.
98 * Implement suitable error handling here
99 ENDIF.
100 *&---------------------------------------------------------------------*
101
102 *&---------------------------------------------------------------------*
103 *&---- Close the spool job
104 CALL FUNCTION 'FP_JOB_CLOSE'
105 EXCEPTIONS
106 usage_error = 1
107 system_error = 2
108 internal_error = 3
109 OTHERS = 4.
110 IF sy-subrc <> 0.
111 * <error handling>
112 ENDIF.
参考阅读:如何上载PNG图片到SAP系统内
SAP Adobe Form 教程五 图片的更多相关文章
- webpack教程(五)——图片的加载
首先安装的依赖 npm install file-loader --save-devnpm install image-webpack-loader --save-devnpm install url ...
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- 无废话ExtJs 入门教程五[文本框:TextField]
无废话ExtJs 入门教程五[文本框:TextField] extjs技术交流,欢迎加群(201926085) 继上一节内容,我们在表单里加了个两个文本框.如下所示代码区的第42行位置,items: ...
- adobe form
Call Adobe Form through ABAP Program 2015-04-24 0个评论 来源:ChampaignWolf的专栏 收藏 我要投稿 Scenar ...
- PySide——Python图形化界面入门教程(五)
PySide——Python图形化界面入门教程(五) ——QListWidget 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-the-qlistw ...
- MeteoInfo-Java解析与绘图教程(五)
MeteoInfo-Java解析与绘图教程(五) 最近太忙了,终于有时间继续写了,上文说到了基本上的绘图方法,但缺少色阶呈现,一般图叠加着地图上,后端不需要管色阶,但也要注意web页面色阶和我们的生成 ...
- CRL快速开发框架系列教程五(使用缓存)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- Laravel教程 五:MVC的基本流程
Laravel教程 五:MVC的基本流程 此文章为原创文章,未经同意,禁止转载. Controller 期间受到很多私事影响,终于还是要好好写写laravel的教程了. 上一篇我们说了数据库和Eloq ...
- VB6 GDI+ 入门教程[6] 图片
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[6] 图片 2009 年 6 月 19 日 15条评论 ...
随机推荐
- TCL之基本语法1
TCL之基本语法1 1:set and puts set就是变量声明,这个声明在需要使用的指令下会自动执行,不会出现没有声明的错误.但是对于puts这类定向访问的是不能没有声明的.这里简单理解TCL ...
- KingbaseES中查询对象大小的SQL及函数区别
--查看所有数据库大小 select sys_database.datname, sys_size_pretty(sys_database_size(sys_database.datname)) AS ...
- KingbaseES V8R6集群运维系列 -- 修改ssh通信为 sys_securecmdd 通信
一.适用于: 本文档使用于KingbaseES V008R006版本. 二.关于SYS_SECURECMDD: sys_securecmdd是KingbaseES集群自带的工具,集群监控.管理集群时通 ...
- KingbaseES 用户密码认证及加密算法
kingbaseES用户的口令被存储在sys_authid系统表中. 口令可以用SQL命令create user 和alter user 管理,例如 :create/alter user u1 wit ...
- QT 自定义插件问题 error: LNK2001: 无法解析的外部符号
为了重复利用已有的代码,我使用自定义插件进行开发.当每个插件独立开发时没有遇到问题,但是当插件B引用了插件A时就会在编译时报错 error: LNK2001: 无法解析的外部符号. 例如,先定义一个插 ...
- MyBatis的映射关系
MyBatis的映射关系是有一个默认的,采用下划线命名的方式将数据库表的列名按照驼峰式映射成 Java 实体类的属性名 举个例子数据库表名为 tb_user,其中的字段名为 inst_code,对应的 ...
- #Tarjan#洛谷 1407 [国家集训队]稳定婚姻
题目 分析 如果婚姻安全那么两个点不在同一个强连通分量, 考虑强制定方向,夫妻女向男连边,情侣男向女连边, 这样就直接用Tarjan有向图缩点就可以了 代码 #include <iostream ...
- HUAWEI DevEco Testing注入攻击测试:以攻为守,守护OpenHarmony终端安全
OpenAtom OpenHarmony(以下简称"OpenHarmony")作为面向全场景的开源分布式操作系统,可广泛应用于智能家居物联网终端.智能穿戴.智慧大屏.汽车智能座舱. ...
- Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间
Java 用户输入(Scanner) 简介 Scanner 类用于获取用户输入,它位于 java.util 包中. 使用 Scanner 类 要使用 Scanner 类,请执行以下步骤: 导入 jav ...
- Docker学习路线1:介绍
Docker是什么? Docker是一个开源平台,通过将应用程序隔离到轻量级.可移植的容器中,自动化应用程序的部署.扩展和管理.容器是独立的可执行单元,封装了运行应用程序所需的所有必要依赖项.库和配置 ...