SAP Adobe Form 教程三 日期,时间,floating field
前文:
原文标题: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}。
将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.