Adobe Form介绍:
全局定义:
-
全局数据:可以指定缺省值或在代码初始化中赋值,可以被集成到表单布局中。
-
类型:用types声明的变量,无法集成到布局中。
-
字段符号:可以作为全局字段用在相同位置,动态编程和加速内表处理时有用。
初始化:
-
代码初始化:来自程序中的数据可以在发送到表单前被修改,注意输入输出的声明。
-
FORM例程:在初始化中可以调用在接口中创建的from子程序。
货币/数量字段:
-
必须为表单中打印的金额和数量字段给出一个参考字段,类似se11创建金额或数量字段时指定的参考字段。(结构定义中引用的参考字段在PDF会报错提示不可用)。
Context页签被分为四个部分:
-
接口:所有相关接口中的字段,也包括系统字段。可以拖放到上下文中
-
上下文:所有从接口中拖过来的字段,也会包含一些附加元素(右键创建)。被用于布局中。
-
接口字段的属性:双击接口中的字段可以查看。
-
上下文元素的属性、细节、条件:双击上下文元素可以查看或者编辑。
不要在显示模式下修改布局,修改会在离开布局区域时丢失。 熟用面板Palettes功能。
-
层次hierarchy面板:显示了所有包含在布局中的对象
-
数据-视图data-view面板:所有活动的上下文节点中的对象都显示在这个面板中,可以通过拖拽将它们放到PDF中。
-
库library面板:列出了可以包含在表单中的所有对象,也可以通过拖拽放在PDF中,如某个元素被多次使用,可以添加到库中,然后从库中拖拽。
-
字段font和段落paragraph面板:可以调整字段或文本的字体及大小和对应文本的位置,设置文本与边框之间的边距。
-
报告report面板:可以找到布局中字段的信息以及它们对上下文字段的映射,此外,当表单本地预览时警告也会显示在这里。
在创建一个对象的时候,主要通过数据-视图面板或库面板拖动到页面相对象的位置。
对象object面板(动态显示):
-
点击某个字段,object会显示cell子面板:可以修改对象的类型,改成文本类型或者数字类型等。
-
点击master page,object会显示master page和pagination子面板:可以修改页的尺寸及方向。
-
点击subform page,object会显示subform、pagination和binding子面板。
-
布局layout面板:修改字段在页面中的位置以及字段的宽度和高度,对于动态元素可以对高度和宽度选择扩展以适应来避免行消失。
-
边框Border面板:设置边框显示或隐藏,设置背景填充。
-
辅助Accessibility面板:设置table role。
重命名对象的时候,应该注意大小写,PDF是大小写敏感的。
-
场所Form Locale:某个语言和国家的结合,会隐含了时间和日期格式以及小数点格式。
-
表单运行中的脚本:JS和FormCalc,JS更适合于交互式场景,FormCalc更加适合打印场景,可以在default中设置默认的脚本语言,但是可以在某段独立脚本中使用另外一种。
-
如果想要测试数据,但又不想激活表单或者每次输入数据,就可以在预览中输入一个文本文件。<DATA> </DATA>格式。
-
插入静态图像:可以从data-view或库里面拖放,对于静态图像,必须通过有效的URL指定它的定位。图像有三种尺寸:原始尺寸、缩放适应、扩展适应。
-
插入静态文本:文本会自动换行。如果想要强制换行,可以输入回车或者shift+回车,差别是前者将文本分成两个互相独立的段落,可以设置不同的字体和段落格式;后者仍然是一个单元。
-
插入几何图像:从库里直接拖拽即可,可以设置背景填充色等。
-
插入动态字段/图像:有些文本字段设计时如果不知道确切高度和宽度,就在布局面板的尺寸和位置下选择扩展以适应。
Master page
-
每个表单至少要包含一个主页面。
-
主页面上的对象会出现在所有的页体上,类似的公司logo什么的可以设置在主页面上。
-
每个主页面必须包含一个内容区域(content area),它定义了供动态输出使用的大小,页体使用内容区域提供的空间。
-
主页面对象object面板:
-
页尺寸:A4,A5或者自定义等等。
-
方向:纵向或横向。
-
限制页面出现次数:主页面出现的次数。
Body page
-
页体是动态内容的组织单元。
-
标记页数pagination:设置页体在主页面中的位置,有点类似于smart forms中的窗口。
-
页体类型:
-
Positioned:根据拖拽的实际位置插入。
-
Flowed:根据所占空间一个跟一个显示。
-
允许内容中的换页:当内容超出表单容量时,是否自动添加新行换页。
对象模板:
-
Field页签中的Appearance外观:文本字段的显示样子。
-
Field页签中的允许多页:和layout中的扩展以适合联合起来用,如果没有设置,超出的长度部分不会显示,如果设置就会显示所有的行。
-
Field页签中的长度限制:限制字符显示的长度。
-
Field页签中的格式:日期、时间、数字等的格式,必要时用。
-
Value页签中的类型:更交互型打印有关。
-
Value页签中的default:如果字段没有数据绑定或数据绑定失效,就会使用缺省值。对于空字段无效。
-
Binding页签中的Name:就是字段的名称。
-
Binding页签中的data binding:所有动态字段必须有字段绑定,如果在是通过data-view拖拽过来的字段会自动绑定,绑定是大小写敏感的。
浮动字段:在静态文本中包含动态字段的时候使用,方法如下:
-
设置光标到希望插入浮动字段的位置。
-
选择 insert-floating field或右键-floating field。
-
选中浮动的字段,在对象面板下面的绑定中输入相应的数据绑定。
-
浮动字段自动就是文本字段,如果想要一个不同的类型可以在对象面板的字段选项卡中修改类型。
-
页号也可以作为浮动字段插入,右键-当前页编号或总页数。
Adobe Form创建教程:
T-CODE—SFP
-
创建interface(界面接口)
保存激活完成
-
创建FORM表单
在context tab中,我们需要把输入的参数加入到context中,这个就是一个拖拽的动作
在Layout tab中,设计Form的显示
【Master Pages是为了插入固定logo抬头数据,Design View主要表单内容数据】
保存激活。
-
编写代码
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 | *&---------------------------------------------------------------------* *& Report ZBO_PDF_001 *& *&---------------------------------------------------------------------* REPORT ZBO_PDF_001. *定义Form的名字 data: lv_form_name type fpwbformname. *定义得到的函数名字,这个函数就是form的接口 data: lv_fm_name type rs38l_fnam. *定义打印参数 data: lwa_fp_params type SFPOUTPUTPARAMS. *定义处理结果 data: lv_result type sfpjoboutput. START-OF-SELECTION. *取得函数的名字 lv_form_name = 'ZBOBO_PDF_DEMO_HELLOWORLD'. CALL FUNCTION 'FP_FUNCTION_MODULE_NAME' EXPORTING I_NAME = lv_form_name IMPORTING E_FUNCNAME = lv_fm_name. * 这个是RFC的名字 lwa_fp_params-connection = 'ADS'. * 打开一个打印job CALL FUNCTION 'FP_JOB_OPEN' CHANGING IE_OUTPUTPARAMS = lwa_fp_params EXCEPTIONS CANCEL = 1 USAGE_ERROR = 2 SYSTEM_ERROR = 3 INTERNAL_ERROR = 4 OTHERS = 5. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. *调用真正的form接口函数 CALL FUNCTION lv_fm_name EXPORTING im_string = 'Hello World!'. * 关闭打印job CALL FUNCTION 'FP_JOB_CLOSE' IMPORTING E_RESULT = lv_result EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3 OTHERS = 4. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. |
分页:将每页subform设置成Flowmed
笔记记录不易,希望有帮助到你,谢谢关注阅读!