抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Adobe Form中可以使用三种文本类型。分别是Text Module、Include Text和Dynamic Text。本篇笔记用来记录如何使用这三种文本类型在Adobe Form中进行展示。

Adobe Form显示文本

一、功能实现

1.Interface

(1)创建Interface

使用事物代码 SFP,打开Adobe Form的页面并输入Interface的名称。

1.Interface_创建界面

(2)填写描述信息

点击Create按钮之后再输入Interface的描述信息。

2.Interface_填写描述

(3)创建输入参数

选中左侧的Form Interface页签下的Import。在右侧点击新建按钮添加接口的输入参数。

3.Interface_创建输入参数

2.Text Module

因为需要在Adobe Form中使用到文本模块对象,所以在这里提前创建对象。

(1)新建Text Module

使用事物代码 SMARTFORMS 打开新建界面。在Text Module输入框中输入对象内容。

8.Text Module_新建Text对象

(2)填写描述与文本

想Text Module中填写描述与文本内容。

9.Text Module_维护文本内容

填写完成之后点击保存按钮。

3.Adobe Form

(1)创建Adobe Form

使用事物代码SFP回到Adobe Form的创建界面,在Form的输入框中填入Form的名称,然后点击创建按钮。

5.Adobe Form_创建Adobe Form

(2)填写描述

4.Adobe Form_创建Adobe Form

(3)绑定Interface输入参数

从Interface中导入输入参数。将Import中的参数拖动到Context中。

6.Adobe Form_添加参数

(4)新建Text对象

在Context下单击右键,按照图中所示的方式新建一个Text对象。

7.Adobe Form_新建Text对象

(5)设置文本对象属性

新建好Text对象之后,按照下图所示的内容设置对象。其中将No error if text does not exist选项勾选上。这样当Text Module对象不存在或不可用时就不会报错了。

10.Text Module_维护Text Object属性

(6)设置Layout

设置完成上面的内容之后转到Layout页签。再点击Data View页签,将我们刚刚创建的Text对象拖动到Form中。

11.Text Module_设置Layout页面

(7)设置文本展示属性

你可以在界面上拖动Text对象,来设置他展示的区域。然后也可以修改他的名称。如下所示我们将文本对象的Text名称修改为Text Module。

12.Text Module_修改Text Object属性

完成之后保存并激活该Form对象。

二、Form测试

1.测试程序

(1)测试源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
*======================================================================*
* Selection Screen
*======================================================================*
PARAMETERS :
P_LANGU TYPE SPRAS. "Language

*======================================================================*
* Data Objects
*======================================================================*

DATA: GV_FM_NAME TYPE RS38L_FNAM, " FM Name
GS_FP_DOCPARAMS TYPE SFPDOCPARAMS,
GS_FP_OUTPUTPARAMS TYPE SFPOUTPUTPARAMS.

*======================================================================*
* Constants
*======================================================================*
CONSTANTS : GV_FORM_NAME TYPE FPNAME VALUE 'YADOBE_FORM_DEMO7'.

*======================================================================*
* START of Calling the Form
*======================================================================*
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
IE_OUTPUTPARAMS = GS_FP_OUTPUTPARAMS
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Get the Function module name based on Form Name
*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
I_NAME = GV_FORM_NAME
IMPORTING
E_FUNCNAME = GV_FM_NAME.
IF SY-SUBRC <> 0.
" Suitable Error Handling
ENDIF.

*&---------------------------------------------------------------------*
**&&~~ Take the FM name by executing the form - by using Pattern-
**&&~~ call that FM and replace the FM Name by gv_fm_name
**&&~~ Call the Generated FM
CALL FUNCTION GV_FM_NAME "'/1BCDWB/SM00000204'
EXPORTING
/1BCDWB/DOCPARAMS = GS_FP_DOCPARAMS
IV_LANGU = P_LANGU
* IMPORTING
* /1BCDWB/FORMOUTPUT =
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&---- Close the spool job
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
* <error handling>
ENDIF.

(2)执行结果

测试程序的选择画面。

13.Form 测试_程序_选择屏幕

执行的PDF内容如下所示,与创建的Text Module中维护的内容保持一致。

14.Form 测试_程序_执行结果

2.直接运行

直接在Form的编辑界面点击执行按钮,输入IV_LANGU的值,然后查看执行的效果如下所示。

15.Form 测试_直接执行_输入参数

程序执行的结果如下所示。和上面执行的结果一致。

14.Form 测试_程序_执行结果

三、参考资料

SAP Adobe Interactive Form Tutorial. Part VII. Displaying Text Module Texts in Adobe forms

评论