马上需要用到adobe form,这里搬运一篇教程学习下。

英文原文:SAP Adobe Interactive Form Tutorial. Part I. First Adobe Form

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

准备

前提:系统中有Adobe life cycle designer,并且在服务器中配置过。

事务代码:SFP。可以用这个关键词来记住它:Smart Form PDF。

创建interface

输入一个interface并创建(interface对于adobe form是必填项):

interface有什么用?

1,在form interface中,你可以指定和应用程序交互的数据(表、结构、工作区)。

2,使用全局定义,定义你的字段、变量等。

3,系统字段包含预定义的数据,比如date。

填入描述并保存,

选择包,保存,

检查interface属性,浏览面板的左侧和右侧,点击自动生成的parameter name,

让我们添加自己的parameter name。选择form interface(在左侧)下的import选项,点击创建按钮(在右侧)。增加一个importing parameter IV_TEXT.

在本教程中,IV_TEXT是CHAR30类型,可选。

检查,保存,激活form interface.

创建form

回到事务代码SFP。这次我们需要创建form.

这是form的界面。左侧有interface右侧有context。

展开import parameter并拖放需要的变量到context。

Form builder中的context的意义是什么?

在context(也称为form context)中,指定将哪些数据从interface复制到form。还可以将此数据作为节点包含在层次结构中。在此层次结构中,还可以通过指定处理节点的条件来决定form逻辑。

Form Builder中的context函数是将interface绑定到布局的链接。可以从现有interface构造form context。

如果上面的解释让你觉得很模糊,那就先忘掉它。只需将context记作全局区域的数据声明,可能就像TOP Include程序一样。

简而言之,如果你希望参数,即内表、工作区或变量等从程序传递到interface,然后传递到form,那么你需要在表单的context中定义该内表、工作区或变量 。

form context中定义的任何内容都可以在要显示或操作的form中使用。 如果在form Interface中定义了一个变量但没有在context中创建它,那么该Interface变量将不会在form中可用。

如果你不喜欢快捷方式(拖放)或希望上下文参数名称与表单界面中的名称不同,则需要自己在上下文元素的属性中指定数据字段。 例如,如果你想创建一个上下文P_TEXT但想用 IV_TEXT绑定它,那么数据字段应该是IV_TEXT,如下所示。

提示:从interface拖放到context,然后更改context元素的名称/描述。 这会节省时间,并且不需要显式维护属性。

查看样式标签页,

左侧有Hierarchy, Tab Order, Data View等,右侧有Design, Mater和PDF Preview options.

让我们选择Data View并将我们想要在表单上打印的字段拖放到设计视图。 可以将此文件放置在布局中的任何位置。 对于我们的示例,只有一个元素IV_TEXT。 原因很简单, 我们在context中只创建了一个元素。 你可以添加更多context元素,它们将在此处可用,以传递给布局。 在接下来的内容中,我们将增加需求的复杂性,你将能够看到如何处理多个元素。

可以将标题从 IV_TEXT更改为所需的标题。 例如:Text。 单击元素并更改右侧对象的属性。

检查,保存和激活form。

使用接口对Adobe窗体进行独立测试

注意:与smartform一样,adobe form也会在后端生成一个Function Module。

F8运行,

按“打印预览”按钮。检查输入参数是否成功地从接口传递到布局。

与SAP Script和Smartform一样,Adobe Form 也需要一个驱动程序。 如果Form单独存在,它们就没有效用。 他们需要一个合作伙伴来完成。 让我们来看看这方面。

如果你之前曾用过Smartform,你会发现没有任何区别。 我们只需要使用接口参数将数据传递给表单。 并且调试也和Smartform类似。

*&---------------------------------------------------------------------*
*======================================================================*
* YRAM_ADOBE_FORM_PROGRAM1 *
*======================================================================*
* Project : SAP Adobe Forms Tutorial *
* Author : Ramanjula Naidu DARURU *
* Description : Driver Program to Print Adobe form *
*======================================================================*
REPORT yram_adobe_form_program1. TABLES : apb_lpd_otr_keys. **&&~~ Data Objects
DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
gs_fp_docparams TYPE sfpdocparams,
gs_fp_outputparams TYPE sfpoutputparams. CONSTANTS : gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM1'. **&&~~ Selection Screen
*
PARAMETERS : p_text TYPE char30.
*&---------------------------------------------------------------------*
**&&~~ 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/SM00000176'
EXPORTING
/1bcdwb/docparams = gs_fp_docparams
iv_text = p_text
* 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.
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_CLOSE'
* IMPORTING
* E_RESULT =
* EXCEPTIONS
* USAGE_ERROR = 1
* SYSTEM_ERROR = 2
* INTERNAL_ERROR = 3
* OTHERS = 4
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------END----------------------------------*

让我们通过SE38使用驱动程序测试输出:

执行驱动程序并选择打印预览选项。输入字段在表单布局中正确显示,

希望你喜欢这篇简单的文章。 这只是Adobe Form的基础知识。 在下一篇文章(Adobe  Form中的Form)中,我们将学习单词,然后开始使用这些ABC来构建句子。

配置

读者提问:在哪里配置驱动程序和关联的Adobe Form名称,从而事务中触发?
答案:t-code NACE==>选择应用程序。 例如:V3 ==> 按“Output type”按钮 ==> 选择输出类型。 例如:RD00 ==> 按“Processing Routines” ==> 在这里我们可以配置Medium / Program / Form Routine / Form / PDF-SmartForm Form。

在PDF-Smartform表单下,我们可以配置 adobe form。

在PP模块中——我们可以在事务OPK8中进行配置。

SAP Adobe Form 教程一 简单示例的更多相关文章

  1. ActiveMQ学习教程/2.简单示例

    ActiveMQ学习教程(二)——简单示例 一.应用IDEA构建Maven项目 File->New->Module...->Maven->勾选->选择->Next ...

  2. SharpDX之Direct2D教程I——简单示例和Color(颜色)

    研究Direct2D已经有一段时间了,也写了一个系列的文章 Direct2D ,是基于Windows API Code Pack 1.1.在前文 Direct2D教程VIII——几何(Geometry ...

  3. RecyclerView(5)官方教程带简单示例

    Create Lists The RecyclerView widget is a more advanced and flexible version of ListView. This widge ...

  4. Python结合SAP GUI Script操作sap的简易教程

    众所周知,如果要用Python做一些桌面WIN32应用的自动化工作,就需要用到著名的pywin32尤其是其中的win32com.client模块,pywin32的安装不能直接通过pip install ...

  5. Playmaker全面实践教程之简单的使用Playmaker示例

    Playmaker全面实践教程之简单的使用Playmaker示例 简单的使用Playmaker示例 通过本章前面部分的学习,相信读者已经对Playmaker有了一个整体的认识和印象了.在本章的最后,我 ...

  6. Spring MVC 文件上传简单示例(form、ajax方式 )

    1.Form Upload SpringMVC 中,文件的上传是通过 MultipartResolver 实现的,所以要实现上传,只要注册相应的 MultipartResolver 即可. Multi ...

  7. pureMVC简单示例及其原理讲解三(View层)

    本篇说的是View层,即视图层,在本示例中包括两个部分:MXML文件,即可视控件:Mediator. 可视控件 可视控件由UserForm.mxml(图1)和UserList.mxml(图2)两个文件 ...

  8. adobe form

    Call Adobe Form through ABAP Program 2015-04-24      0个评论    来源:ChampaignWolf的专栏   收藏    我要投稿 Scenar ...

  9. pureMVC简单示例及其原理讲解五(Facade)

    本节将讲述Facade,Proxy.Mediator.Command的统一管家.自定义Facade必须继承Facade,在本示例中自定义Facade名称为ApplicationFacade,这个名称也 ...

  10. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

随机推荐

  1. 深度探索.NET Feature Management功能开关的魔法

    前言 .NET Feature Management 是一个用于管理应用程序功能的库,它可以帮助开发人员在应用程序中轻松地添加.移除和管理功能.使用 Feature Management,开发人员可以 ...

  2. layui select onchange事件处理

    1.html代码如下,不要忘记 lay-filter属性 <div class="layui-input-block">         <select id=& ...

  3. 关于FTP文件传输协议说明,带你了解更详情的文件传输协议

    Internet和其他网络上的人与设备之间的通信使用协议进行.您可以说协议定义了对话规则:谁必须在何时发送哪些信息?如果数据没有到达接收者,会发生什么?您如何保护转帐免受错误和犯规?每当我们使用Int ...

  4. 索引与查询使用的 collate 不一致导致无法使用索引

    索引与表的collate 不一致的情况下,会导致表上的索引不可用,这时要想使用索引,必须在SQL 语句指定建索引所用的collate. 数据库默认collate : test=# \l List of ...

  5. 使用OHOS SDK构建googletest

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/google/googl ...

  6. 如何成为10x倍工程师

    10倍效率 +10x 的工程师很难找,但是 -10x 工程师是存在的. 所谓 -10x 工程师,就是每周要浪费团队 400 个小时的工程师. 他有以下特征: 创造无效的繁忙工作,比如演示文稿.图表.工 ...

  7. Python 列表操作指南2

    将元组的元素添加到列表中: thislist = ["apple", "banana", "cherry"] thistuple = (&q ...

  8. 常用的Numpy通用函数列表

    官网来源:Universal functions (ufunc) - NumPy v1.21 Manual 数学运算(Math operations) 表达式 定义 add(x1, x2, /[, o ...

  9. 拥抱开源更省钱「GitHub 热点速览」

    免费.低成本.自托管.开源替代品...这些词就是本周的热门开源项目的关键字.常见的 AI 提升图片分辨率的工具,大多是在线服务或者调用接口的客户端,而「Upscaler」是一款下载即用的免费 AI 图 ...

  10. 鸿蒙手表定位功能Demo体验,适用儿童、老年和外出旅游安全市场

    针对儿童和老人,可穿戴的智能手表用处很大.市场也有许多类似的产品,支持接打电话.支付扫码.定位等功能,属于新兴的商业机会.依托华为品牌,鸿蒙手表也致力为用户打造精品的.产品质量佳.可穿戴的智能体验.对 ...