Sm artForm s在安钢 SAP系统中的开发与应用
2010-08-25李雪芹张小军张啸
李雪芹 张小军 张啸
(安阳钢铁股份有限公司)
Sm artForm s在安钢 SAP系统中的开发与应用
李雪芹 张小军 张啸
(安阳钢铁股份有限公司)
介绍了 ERP SAP中 Sm art Forms功能以及使用方法;以安钢 ERP中销售公司销售订单为例,详细阐述如何利用 Sm art Forms进行开发的细节、具体应用及实施效果。
Sm art FormS销售订单
0 前言
安阳钢铁股份有限公司信息化一期项目已于2008年8月正式投入使用。四级 ERP系统使用的是SAP钢铁版软件。在SAP实施过程中,不同的业务单位提出了不同的格式化文档。如销售公司销售订单文档,要求制作完订单后,将订单内容套打到事先已印刷好的格式化销售订单文档中。SAP系统中要实现上述功能,必须使用Smart Forms进行版面设计、开发。
1 Smart Forms简介
Sm art Form s主要应用于商业用途或对外的格式报表设计,具有字体控制、排版、图像文件输出等版式设计功能,能有效提高批量处理的效率,将数据筛选、整理过程和数据在 Form中的应用处理及格式化过程加以分离。Sm art Form s有 FormStyle(体例)、Form Builder(版式)两种工具。前者主要用段落格式和字符格式来实现段落和字符格式、段落和字符的颜色、下划线、字体、字号等设定;后者主要用窗口绘制器、文字编辑器、树型对象导航、表格创建器、节点属性维护等来实现页面、窗口、数据和文字等具体元素定位输出。使用 Sm art Form s开发的步骤为:提取数据库中应用数据;定义 Form格式及相关数据接口;将数据传输至 Form,并批量输出。
2 Sm art Form s在 SAP系统中编制特定单据方法及技术实现
以安钢销售公司销售订单为例,介绍设计、开发的方法及技术实现。该销售订单具有严格和复杂的设计格式,大致有六部分组成:销售订单抬头、销售订单行项目、销售订单产品共同属性、销售订单客户、合同要求、备注。其中最重要的输出区域销售订单行项目又分为行项目基本情况(见表1)和客户特殊要求两部分,在 Sm art Forms中通过一个控制页面的循环下嵌套两个分别输出行项目基本情况和客户特殊要求的两个循环来实现。而别的输出区域通过窗口下模板节点定位输出。下面为具体开发细节。
表1 销售订单行项目基本情况
2.1 创建ABAP程序,提取数据库中应用数据
创建ABAP程序和主要输出区域字段机组、品名、规格、宽、长、张/卷、牌号、技术条件、数量、客户特殊需求为结构的数据库表。程序中定义以数据库表为参照的内表,从数据库表VBAP(销售凭证行项目)、VBAK(销售凭证抬头)和物料销售属性特征值中提取所需数据存入内表。其它固定输出数据从数据库表VBKD(销售凭证业务数据)、CABN(特征)、CAWN(特性值)、CAWNT(值文本)等提取存入各自定义好的变量中。这些提取好数据的变量和内表等待 Form设计好后,调用函数通过接口把数据传输到 Form中输出显示。
2.2 创建 Sm art Form s,设计、开发格式化文档及相关数据接口
1)创建 FormStyle(体例),定义 For m设计中需要用到的段落格式左对齐 B9、右对齐 R2、居中 JZ和字符格式 S9(字体为9号字)。在事务代码 SPAD下,定义销售订单页格式 ZDD(300mm×203mm),设备类型 ZSAPSD,设备名称 ZSDXSDD。
2)创建 Form Builder(版式),定义全局设置。在树型对象导航区下全局设置有三项功能设置:表格属性、表格接口、全局定义。首先在表格属性右边的节点属性区域下选定需要输出的页格式;字符每英寸数;行每英寸数;本 Form中引用的体例。其次在表格接口属性区输入将从程序中传来输出显示的45个数据信息 (接口重要参数见表2)。第三在全局定义属性区定义在 Form中要使用的内表或变量。内表应与程序中内表参照同一个数据库表。
表2 接口重要参数
3)Form Builder(版式)逻辑结构设计。销售订单输出区域分为订单抬头、订单行项目及特殊要求、订单客户、物料共同属性、合同要求、备注六部分。因为首页与后续页的格式不变,所以在树型对象导航区中页和窗口属性区域一般属性中还选择后续页为 FIRST_PAGEG。FIRST_PAGEG页下的MA IN窗口主要用来动态输出订单行项目和特殊要求信息,其他窗口用来输出订单客户、订单抬头、物料共同属性等不随页面变化的固定数据。
首先,在MA IN主窗口创建一个输出行数在运行时可动态调整的动态表格节点 TABLE1,其属性区域定位输出包含机组、品名、规格、长、宽、张/卷、牌号、技术条件、数量字段信息的 TYPE1行和定位输出包含客户特殊要求信息的 TYPE2行。并在动态表格节点%TABLE1下的主要区域创建一个循环节点LOOP1用来控制订单页面。
其次,在循环节点LOOP1下创建两个循环节点LOOP2和LOOP3。在LOOP2属性区域下填入需要输出订单行项目数据信息的内表和行类型 TYPE1。在LOOP3属性区域下填入需要输出客户特殊要求数据信息的内表和行类型 TYPE2。分别在各行下的各列中创建文本节点,并插入要输出的内表字段名。此处需创建两个程序命令行来控制三个循环。
第三,订单上其它固定输出信息,在其特定位置分别创建窗口。以客户信息为例,在窗口 W INDOW1下创建输出行列数为四行一列的固定的模板节点 TEM PLATE1,在其下文本节点中插入要输出的客户名称、客户银行账号等具体客户信息,并在输出选项中填入要该变量所在行列数。
4)Form格式布局设定。FIRST_PAGE页按销售订单格式被分为1个主窗口和多个非主窗口。在Form各窗口的属性区域输出选项中可输入该窗口具体的左边距、上边距、宽、高数值,从而固定窗口输出位置。在窗口内动态表格节点和模板节点可设定具体的行高列长,从而把窗口内的输出数据按照设计好的位置固定输出。
2.3 数据传输至 Form,并批量输出。
在抽取数据的程序中定义输出设备名等打印参数,调用函数 SSF_FUNCT ION_MODULE_NAM E和FM_NAM E,把提取的数据通过 For m中定义好的接口参数表传输给 For m版式,按设计好的版面格式和定义好的逻辑结构批量显示输出。
3 应用效果
Sm art Form s定制的销售订单打印经过一年多的使用,整体运行安全、稳定、可靠;页面格式美观、整齐;套打功能节省了打印时间且满足客户对格式文档的个性化的需求。由于 Sm art Fo rm s良好的字体控制、排版、图像文件输出等版式设计、开发功能,能够満足复杂的各种格式化文档的需求,而且很好的完成了销售订单复杂的打印格式要求,因此成为安钢 SAP系统开发中交货单、结算清单等各种单据打印的首选工具,得到了广泛的应用。
4 结语
Sm art Form s较之 SAP其他输出格式工具更独立,使用起来更为方便,更能满足用户各种个性化格式输出要求,且可在 Fo rm创建的同时生成功能模块,从而为 For m和ABAP程序提供更为强大的参数接口,其输出功能也更为强大,受到开发人员的推崇。
[1]黄佳.SAP程序设计.北京:机械工业出版社2007:428.
[2]韦纳.赫特莱夫,克里斯托弗.瓦赫特.SAPSMART FORM S.北京:东方出版社,2008:152.
DEVELO PM ENT AND APPL I CAT I ON O F SM ART FORMSIN ANYANG STEEL’S SAP
L i Xueqin Zhang X iao jun Zhang X iao (Anyang Iron&Steel Strock Co.,L td)
The paper introduced the function and app lication of Sm art FormSin ERP SAP.Regarding sales orders as an examp le,it also described in detail how to use Sm art FormSto develop and the specific app lication and effection.
Sm art Fo rmSSalesO rder
2009—8—7