SAP_Training_ABAP.ppt_第1页
SAP_Training_ABAP.ppt_第2页
SAP_Training_ABAP.ppt_第3页
SAP_Training_ABAP.ppt_第4页
SAP_Training_ABAP.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABAP编程进阶Smartforms,大纲,RFCSmartforms编程提示,RFC,RFC简介RFC应用,返回,RFC简介,SAPR/3(及以后的ERP和其他系统)做为企业业务操作的基础平台,不可避免的要跟其他系统(如数据分析、办公自动化等)进行数据交互。同时随着企业应用SAP范围的增加,会出现很多不同版本或不同功能的SAP系统。如何让这些系统之间能够实现信息共享和业务互操作,就成为SAP扩展应用的重要课题。SAP提供了RFC(RemoteFunctionCalls)来解决这些问题。RFC是一个概念,它包含了软件技术发展和SAP开发过程中的很多具体技术,如OLE、DCOM等公共技术以及IDoc、BAPI等SAP专有技术。,RFC应用,第三方系统从SAPR/3获取数据:要求本函数能读取R/3数据,并以相应的结构形式输出至对应接口。第三方系统将自有数据写SAPR/3:要求本函数从对应接口获取数据,再根据业务需求写入R/3系统或作其它处理。函数接口:结合双方系统需要定义适合的接口形式,便于数据正确地传入和传出。,Smartforms,简介设计SAPSmartForms文本和图片表单中的数据表格和模板流程控制集成到应用程序Smartstyles,返回,简介,SAPSmartForms是替换SAPScript的下一代表单开发技术。相比SAPScript来说,它的设计器更加直观,层级关系更加明显,也应该更便于开发使用。SAPSmartForms还提供了表格布局的功能,与传统的固定行高布局相比,更为灵活。,返回,设计SAPSmartForms,使用SAP表单制作器和它的相关工具来创建和调整表单(事务码:SMARTFORMS)。在这里可以定义布局(例如文本或图片的位置和大小),表单元素的处理顺序,应用数据输出到表单的接口。一旦做出了任何必要调整,必须激活表单。在这个过程中,系统首先检查是否表单包含错误,然后自动保存表单。主要的步骤是生成一个函数模块。一个函数模块是一个ABAP代码的封装片段,它可以理解为子程序。函数模块的接口跟从表单制作器为表单定义的接口完全移植。由于函数模块自动生成,就不需要ABAP知识。,返回,SAP表单制作器的区域,使用图形化的SAP表单制作器来编辑表单。SAP表单制作器分成三个区域:左手边:导航树。这个树显示了SAPSmartForm的层级。独立的表单元素(例如页或图片)被表示成节点。可以在导航树下方附加显示变量和字段列表。关于更多信息,看第五单元表单中的数据。中间:维护屏幕。这个屏幕有几个选项卡,可以设置和修改当前选中节点的属性。还可以用编辑器输入文本或用表格绘制器来确定表格的布局。右手边:表单绘制器。表单绘制器用来定义页布局,列入窗口和图片的位置和尺寸。如果想要隐藏表单绘制器的话,可以选择菜单“实用程序表单绘制器开/关”可以在导航树或者表单绘制器双击节点来编辑它们。,SAP表单制作器的区域,导航树表单的所有元素都在导航树中表现为特定节点。子节点“继承”了高级节点的属性,例如样式。如果某个节点不被处理,则其子节点也不被处理。一个节点的后继节点则无关。它会在前驱节点被处理后处理。如果一个节点有子节点,可以双击节点图标前的三角符号来展开这个结构。可以双击节点来编辑它。系统就会在维护屏幕和表单绘制器(如果打开)中显示这个节点。,返回,SAP表单制作器的区域,导航树(续)在顶级节点下,可以发现下面两个节点:全局设置,它包括了:表单属性:这些是管理信息和基本格式设置。表单接口:这里必须定义用应用程序填写的字段或者要返回给应用程序的字段(看第五单元表单中的数据)。全局定义:这里可以定义表单中用到的附加字段(看第五单元表单中的数据)。,SAP表单制作器的区域,表单属性:一般属性表单属性不但包括表单的名字和描述,还有它的当前状态:激活还是非激活。一个表单可以是这两个版本的任意一个。应用程序则只使用激活版本。这意味着你可以暂时保存修改而不直接影响正在处理的应用。要激活一个表单,选择“表单激活”。注意当复制或重命名一个表单时,副本的状态总是非激活的。,返回,SAP表单制作器的区域,表单属性:输出选项页格式可以选择在假脱机管理中提供的页格式。可以为每个页分别指定方向(纵向或横向)。可以为新表单指定缺省页格式。从事务SMARTFORMS的初始屏幕选择“实用程序设置通用”来设置。必须为每个表单设置样式。样式是不同字符和段落格式的集合,可以用在表单中。然而,可以为多数子节点指定独立的样式,覆盖表单的缺省设置。看第九单元SmartStyles。,SAP表单制作器的区域,表单属性:输出选项(续)字符每英寸(CPI)。这个字段允许你确定CH单位的长度,用它可以在表单里指定横向宽度(例如窗口宽度)。如果输入了缺省值10,也就是一个字符占十分之一英寸,差不多2.5毫米。类似的是行每英寸(LPI)。这个字段允许你确定LN单位的长度,在表单里指定纵向长度(窗口高度)。除了把表单传输给假脱机管理,还可以在系统之间通过XML数据流来交换数据。为这个意图提供了一个被保证的接口,称为SAPSmartFormsXML接口(XSF)。要使用这个接口,选中“XSF输出激活”复选框(应用程序不会考虑这个设置)。,SAP表单制作器的区域,页每个表单至少有一个页。页在导航树上表示为一个节点。跟其他节点类型(例如文本或者表)一样,在某个页上单击鼠标右键会打开一个上下文菜单,有相关选项:创建或删除(只有在修改模式下出现)。当创建一个新节点时,系统建议一个唯一的技术名称,如果需要,你也可以修改。注意,在删除一个节点的时候,在指定页上的所有子节点都会被删除。复制到剪贴板、剪切并插入剪贴板、从剪贴板粘贴。所有子节点都会受到影响。展开或收缩树中的页。,返回,SAP表单制作器的区域,页属性可以在下列选项卡中做出设置:一般属性:下一页:缺省值是当前页本身。自动页编号类型:可以选择罗马数字或阿拉伯数字,还可以选择大写或小写。此外,还能决定页计数器的表现。注意:即使你设置了页编号也并不意味着你的页被编号了。为了让页显示编号,必须在某个文本窗口中输出变量SFSY-PAGE变量。可以在下列选项卡中做出设置:输出选项:由于指定的页格式会应用到整个表单,只能在页级别上设置方向(纵向或横向)。,SAP表单制作器的区域,主窗口和二级窗口有两种类型的窗口:主窗口和二级窗口。在主窗口的子节点,可以输入诸如客户预定的跨越多页的文本和数据(称为主体文本)。当主窗口完全被文本和数据填充时,文本会在下一页的主窗口继续显示。页就会自动换页(可以使用跟缺省设置不同的下一页,参见流程控制)。你只能在表单中定义一个主窗口。主窗口在每一页都必须具有相同的宽度,但是可以选择不同的高度和位置。不带主窗口的页不能把它自己做为下一页,因为这会造成一个无限循环。这是,系统会在处理了三页之后终止处理。,返回,SAP表单制作器的区域,主窗口和二级窗口(续)在二级窗口子节点,可以在预定义的输出区域输出文本和数据。这意味着文本不会象主体文本一样换页输出。超出二级窗口范围的文本和数据会被丢弃而不输出。二级窗口的高度、宽度和位置在每页上都可以不同。图片会自动设置到正确的大小。如果涉及到地址,当输出区域过小时,只有最重要的信息会被显示。,SAP表单制作器的区域,窗口属性你可以在几个级别执行检查,从最底层节点到整个表单。要确保所有窗口都没有错误,它们必须适合于相应页,并且主窗口必须在所有页上具有相同宽度。所有错误信息都会显示在维护屏幕的底端。点击节点名字可以直接转到改节点。使用输出选项设置窗口的位置和表现(看下一页)。,SAP表单制作器的区域,窗口:输出选项可以指定上左边距来确定窗口的位置,输入高度和宽度来指定大小。如果在表单绘制器中画窗口,设置的值会自动复制到维护屏幕,反之亦然。跟所有允许文本输出的其他节点一样,可以为窗口定义边框和阴影。使用字段“纵向空白”和“横向空白”来定义文本与边框之间的距离。这里需要设置合适的值,通常,如果为边框使用细线,框线有可能会部分覆盖掉文字。,SAP表单制作器的区域,窗口:输出选项(续)如果选择了“总是回执边框和阴影”复选框,窗口即使没有设置相关内容也会以这种格式输出。可以使用下列测量单位:CM、MM、IN(英寸,大约2.54厘米)、PT(点,1/72英寸)、TW(缇,1/20点)。对于指定的纵向长度,还可以使用LN,对于横向宽度,可以使用CH。在表单属性中定义这些单位。,SAP表单制作器的区域,窗口属性(续)对于多数节点类型,你可以用窗口使用条件来确定它们被处理的时机。一方面,你可以从一些处理事件中选择(例如“不在第一页”或“只在第一页”);另一方面,你可以使用特殊值来控制流程。例如,你可能希望文本A只为特定客户打印,而文本B为所有客户打印。关于更多细节,请参考第七单元流程控制。如果为某个窗口设置的条件不满足,窗口和所有子节点都不会被处理(同理,如果条件满足就都处理)。如果在不同页使用相同窗口节点,每个节点都可以有它自己的“输出选项”和“条件”选项卡。,文本,使用文本节点在表单中输出所有文本(地址节点是个例外)。文本节点应该是窗口的子节点,或者是表格或者模板等子节点的子节点。可以为现存的文本节点使用上下文菜单(鼠标右键)。上下文菜单允许你,例如,直接在一个文本节点之后直接创建另一个文本节点。还可以使用上级节点的上下文菜单来创建文本节点。这时,新的文本节点会做为那个节点的第一个子节点。通过菜单“编辑节点”也可以有相同的功能。文本节点本身不能有子节点。注意:不适合子窗口内部的文本会被丢弃。只有在主窗口中,剩余的文本才会在下页继续处理。,返回,图片,不仅可以把嵌入图片做为背景图片,还能做为独立的图片窗口(就是页的直接子节点)或做为窗口的子节点。这需要图片已经存在于系统中。可以使用导航树的上下文菜单或者菜单的“编辑节点创建”来象创建其他节点一样创建图片节点。,图片特性,可以使用导航树的上下文菜单或者菜单的“编辑节点创建”来象创建其他节点一样创建图片节点。如果把图片做为现存节点的子节点创建(例如,窗口或模板),就不会显示在表单绘制器中。不能使用拖放放置图片。图片的输出依赖于上级节点。,表单中的数据,在表单中经常需要字段(可变数据),比如输入今天的日期、把数据库表的值放进表单或者为节点处理顺序定义条件。在SAPSmartForms中有下列类型的数据:1、称为参数的接口数据。它们通过应用程序传入表单或传出。2、表单的所有节点都能获得的全局数据。3、象页号或者当前时间这样的系统字段。(看第四单元文本、地址和图片的“系统字段”页)4、使用ABAP语句在当前节点的程序行中创建的本地数据。(这种数据类型不会在本课程中处理,因为它需要与表单无关的ABAP知识。),返回,表格和模板,本单元会介绍两个其他的节点类型:表格和模板。表格和模板有一些相同之处,例如,它们都用表格绘制器来设计,并且都使用不同的行类型。它们的布局中最重要的不同之处在于:表格的确切布局和长度只能在运行时确定,根据应用程序从数据库读取的记录数量和类型。模板布局则完全在表单绘制器中定义。这意味着它们的单元格的类型和数量不能被应用程序在运行时修改。主要在预打印表单中使用模板,例如支票或税单,就是国内习惯说的套打。,返回,流程控制,SAPSmartForms提供的其他流程控制选项:节点的输出条件二选一:二选一是控制两个节点的条件。如果条件满足就处理其中一个节点,不满足就处理另一个。程序行允许把ABAP语句集成到表单中,而不需要调整应用程序。命令节点的一个例子是动态换行。循环的子节点会执行多次。文件夹可以把节点分组。,返回,集成到应用程序,从数据库获取数据调用函数模块SSF_FUNCTION_MODULE_NAME获取表单对应函数名。以获取的函数名进行调用,输出表单。,返回,Smartstyles,样式制作器。创建段落和字符格式。在文本中使用格式:字符格式有两个选项卡:“标准设置”和“字体”。“字体”选项卡的字段与表头数据的“标准设置”选项卡或者段落的“字体”选项卡的字段完全相同。在这里对字体族、字体大小、字体样式、下划线、颜色做出的设置会覆盖表头数据或者段落格式中的设置。请注意,在标准设置或者段落格式中做出的字体相关的设置不会显示在字体格式的预览中。,返回,字体,为了设置所需的附加字体/字体大小,需要下列步骤:1、在客户命名空间复制现存设备类型以创建一个新设备类型,使用假脱机管理(事务码SPAD)。2、为新设备类型创建新打印控制,使用事务码SPAD或者SE73。3、如果有必要的话,创建一个新的字体族。4、为特定字体族定义系统字体,包括期望的大小和粗体/斜体设置。5、为新创建的设备类型的系统字体定义打印机字体,以及分配相应的打印控制。6、给你的打印机分配新输出设备类型。例如,修改你的HP打印机的条目:用你新创建的设备类型(ZHPLJ4)替换旧的(HPLJ4)。,编程提示,屏幕字段与表字段的对应报表程序的传统过程与面向对象程序数据处理性能与索引的利用,返回,屏幕字段与表字段的对应,技术信息字段数据元素的被使用数据表清单值表应用层级DUBUG以及SQL追踪,报表程序的传统过程与面向对象,报表程序本身的主体程序架构为过程型。普通列表输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论