FavoriteLoading
0

Adobe Form创建教程 – 1

[隐藏]

1, 总览

众所周知, 在SAP中, 关于Form的设计迄今为止有三种工具, 现列出这三种工具,并对它们做一些简单的评论:

1. Script Form

这是最早期Form开发的工具, 也是本人最先使用的Form开发工具, 对其印象颇为深刻, 最深有感触的就是一直在身边放一把尺子, 然后根据需求一点点量出来. 在程序设计上没有任何难度, 但是做这种开发确实十分浪费时间和精力.

这个工具目前最多使用的情况大概有以下几种:

l 以前的老系统, 现在有很多企业还是使用46C,甚至以前的版本, 那么在做维护的操作的时候, 有很多的Form都是使用Script Form

l 顾问需求, 因为SAP Script Form有很多的模板, 那么对于一些比较资深(接触SAP时间较长)顾问, 非常熟悉这些模板, 在这些模板的基础上做些许修改非常节省开发时间

l 财务模块Form打印, 原因也是SAP Script Form的各种现成的模板

2. Smart Form

到SAP 4.7, ECC5开始, Smart Form的天下来临, 当时本人做对日项目开发,发现其大多数使用的Form工具都是Smart Form, 该工具对Form Painter支持非常好, 节省了很多画Form的时间(Script的画线都是写出来的), 同时, 个人认为从设计上也方便很多,比如可以在smart form里面写代码, template以及table控件的引入等等.

目前绝大多数的Form程序的开发, 都是使用Smart Form,所以这个是我们做ABAP开发人员来说必须熟练掌握的工具.因为网上有很多资料,所以本人也在考虑是否需要再详细写个Smart Form系列的文章. 如果各位读者认为有必要,请给我留言, 我会视情况做决定.

3. Interactive Form

ERP2004(ECC5)开始试行, ERP2005(ECC6, NetWeaver 2004s)开始普及,ERP6我理解应该会全面支持这个工具.

关于ERP2004的使用限制,参考Note: 735050

关于ERP2005的使用限制,参考 Note: 852235

在设计Interactive Form时,主要涉及到以下三种工具:

1. Interface:

在这里面可以定义Form的接口,包括import, export, tables以及exceptions, 有点像Function Module的定义, 当然在里面也可以定义一些全局变量, 以及可以写些初始化代码以及sub routine

2. Context:

在这里定义使用Interface中定义的内容, 可以有选择的使用(原因是interface你可以设计为可重用的对象), 这非常符合针对接口编程而不针对实现编程的理念. 在context中也可以自己添加一些文本模块或者图像.

3. Layout:

使用Adobe LiveCycle Designer, 包括静态元素(写死的一些文本)以及动态元素(引用自context).

Adobe Interactive Form的调用原理其实很简单, 因为它只不过是一些web service对象, 在SAP中要做的就是些代码去调用这些web service. 这些web service就是我们知道的Adobe Document Service(ADS), ADS是J2EE Engine的一部分, 也就是说, 如果你想使用Interactive Form开发工具, 必须安装J2EE Engine.

写了这么多, 在列举一下个人认为Interactive Form相对于Script Form和Smart Form的优势(SAP自然会列举很多,本人只列出自己认为的):

l 让Form程序的开发设计更简单

l Adobe LiveCycle直接集成在SAP中,画Form更方便

l 图片处理更方便(SE78边上玩去吧)

l Layout元素可以重用

l 可以导入现成PDF或者Word

l 字体支持更加强大

l Barcode之类的使用更加方便

2, 实例

咳咳, 不知不觉竟然写了这么多, 大家可能也看的云里雾里, 写的再多不如直接上个简单的程序,这样更加直观, 更加容易理解. 按照惯例,先上Hello World的Interactive Form的打印程序.

设计, 本例设计输入一个参数, 然后把这个输入参数的值通过Form打印出来, 嗯….为了做广告, 加个Logo的打印, Logo的图片是翱翔云天.

1. 创建Interface

1.1 进入事务代码: SFP

1.2 输入Interface名字,点击创建

clip_image002_thumb

1.3 在弹出窗口中选择接口类型,输入描述,点击保存按钮

clip_image004_thumb

1.4 在我们这个例子中,就是通过一个text加上Hello World, 为了更加多的用到一些接口方面的东西,我们加一个传入参数:

clip_image006_thumb

 

1.5 保存并且激活接口

2. 创建Form

2.1 事务代码:SFP

2.2 在Form中输入要创建的form名字,点创建

clip_image008_thumb

 

2.3 在弹出窗口中输入form的描述,同时选定Form用到的接口名字,点保存:

clip_image010_thumb

2.4 在context tab中,我们需要把输入的参数加入到context中,这个就是一个拖拽的动作:

clip_image012_thumb

 

2.5 在Layout tab中,设计Form的显示,我们这个简单的例子只要加一个显示hello world的文本控件:

动作很简单,把IM_String拖到form设计器上就可以了:

clip_image014_thumb

 

我们来关注一下它的简单属性:

2.5.1 外观:

2016-08-25_16-41-42

2.5.2 值

2016-08-25_16-42-11

2.5.3 数据绑定

2016-08-25_16-41-04

 

2.6 添加一个图片

选中Image控件,拖到form设计器中

clip_image022_thumb

然后指定这个图片的链接:

2016-08-25_16-38-21

2.7 保存,激活

3, 编写程序代码

最后一步,也就是写程序调用我们已经做好的form,关于这个程序该如何写,请参考下面的程序,里面的注释比较清楚的介绍这种程序的写法。

例子程序如下:

以上。