Fork me on GitHub

SAP Adobe Form 教程三 日期,时间,floating field

前文:

SAP Adobe Form 教程一 简单示例

SAP Adobe Form 教程二 表

 

原文标题:SAP Adobe Interactive Form Tutorial. Part III. Date Time and Floating Fields

本文链接:https://www.cnblogs.com/hhelibeb/p/15501044.html

准备

首先依然还是创建interface和form。细节见前文。

 

 得到form如下,把参数NAME拖放到context,

 

将 DATE 和 TIME 字段拖放到 Context。 这些是系统生成的变量,

 

 

接着在Layout区域工作。

如何使用floating field?

floating field,即根据绑定打印的字段,具体打印内容取决于运行期间绑定的字段。

前往Layout,

 

插入标准文本字段,

展开/拉伸(如在ms paint中所做的)文本字段边界,以便在其中写文本。

 

输入下面的文本或任何所需的行。但选择一个你想保留为floating field的单词。floating field意味着,它可以打印任何绑定的字段。

My name is NAME, I am SAP Technical consultant. Thank you SAP Yard.

对于本示例,我们希望NAME是动态的。 选择文本(NAME),右键单击它并选择它作为floating field, NAME一词更改为 {TextField}。

 

 https://sapyard.com/wp-content/uploads/2017/01/image15.png

将floating field与我们拖到上下文区域的NAME字段绑定,

 

字段{Text Field}将具有动态长度(从上下文到绑定NAME字段的最大长度)。它将根据输入进行扩展和压缩。名称“Ram”只有3个字符,但名称“Wolfeschlegelsteinhausenbergerdorff”有30多个字符,但{TextField}仍会接受它。毕竟,这是一个floating field。

如何使用日期和时间?

前往Data view,

 

将日期和时间字段拖放到Layout中,

 

通过在选择类型下选择日期模式来更改日期格式,

 

可以在区域设置下通过选择所需的国家/地区来选择基于国家/地区的模式。
我们还可以使用上述针对日期字段的相同步骤来格式化时间。

 

Adobe Form中存在以下系统字段,

 

 

检查,保存和激活。

按F8运行,传入NAME值。

 

接着继续运行,

 

会得到日期时间和包含输入的NAME的文本,

 

 

通过驱动程序调用的话,可以使用以下代码,

 1 *======================================================================*
 2 * YRAM_ADOBE_FORM_PROGRAM3 *
 3 *======================================================================*
 4 * Project : SAP Adobe Forms Tutorial *
 5 * Author : Ramanjula Naidu DARURU (www.SAPYard.com) *
 6 * Description : Driver Program for Printing Floating Field, Date & Time *
 7 *======================================================================*
 8 REPORT yram_adobe_form_program3.
 9 
10 * Selection Screen
11 PARAMETERS: p_name TYPE name1.
12 
13 **&&~~ Data Objects
14 DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
15 gs_fp_docparams TYPE sfpdocparams,
16 gs_fp_outputparams TYPE sfpoutputparams.
17 
18 CONSTANTS : gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM3'.
19 
20 *======================================================================*
21 * START of Calling the Form
22 *======================================================================*
23 *&---------------------------------------------------------------------*
24 **&&~~ Form Processing: Call Form - Open
25 *
26 CALL FUNCTION 'FP_JOB_OPEN'
27 CHANGING
28 ie_outputparams = gs_fp_outputparams
29 EXCEPTIONS
30 cancel = 1
31 usage_error = 2
32 system_error = 3
33 internal_error = 4
34 OTHERS = 5.
35 IF sy-subrc <> 0.
36 " Suitable Error Handling
37 ENDIF.
38 *&---------------------------------------------------------------------*
39 **&&~~ Get the Function module name based on Form Name
40 *
41 CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
42 EXPORTING
43 i_name = gv_form_name
44 IMPORTING
45 e_funcname = gv_fm_name.
46 IF sy-subrc <> 0.
47 " Suitable Error Handling
48 ENDIF.
49 *&---------------------------------------------------------------------*
50 **&&~~ Take the FM name by execuing the form - by using Pattern-
51 **&&~~ call that FM and replace the FM Name by gv_fm_name
52 **&&~~ Call the Generated FM
53 CALL FUNCTION gv_fm_name "'/1BCDWB/SM00000176'
54 EXPORTING
55 /1bcdwb/docparams = gs_fp_docparams
56 name = p_name
57 EXCEPTIONS
58 usage_error = 1
59 system_error = 2
60 internal_error = 3
61 OTHERS = 4.
62 IF sy-subrc <> 0.
63 * Implement suitable error handling here
64 ENDIF.
65 *&---------------------------------------------------------------------*
66 
67 *&---------------------------------------------------------------------*
68 *&---- Close the spool job
69 CALL FUNCTION 'FP_JOB_CLOSE'
70 EXCEPTIONS
71 usage_error = 1
72 system_error = 2
73 internal_error = 3
74 OTHERS = 4.
75 IF sy-subrc <> 0.
76 * <error handling>
77 ENDIF.
YRAM_ADOBE_FORM_PROGRAM3

 

posted @ 2021-11-02 21:17  氢氦  阅读(1428)  评论(0编辑  收藏  举报