
管理信息化编程指南方案.docx
56页SAP Script 编程指南1 SAPscript Forms 31.1 SAPscript的组成 31.2 Forms: 组件和技术 31.2.1 概念 31.2.1.1修改SAP Forms 31.2.1.2 Forms:概念 41.2.1.3 Client和语言版本:概念 41.2.2 组件 41.2.2.1 Header Data 41.2.2.2 Paragraph Formats and Attributes 61.2.2.3 Character Formats and Attributes 81.2.2.4 Windows 81.2.2.5 Pages(页面) 101.2.2.6 Pages window(页面窗口) 111.2.2.7 Text Elements (文本元素) 121.2.3 技术 151.2.3.1在Form中包含图形 151.2.3.2在FORM中包含公司logo 171.2.3.3在form中打印条形码 241.2.3.4 Using Boxes, Lines, and Shading 272.SAPscript Control Commands 302.1 Control Commands语法 302.2 Control Commands 种类 302.2.1 显示分页:NEW-PAGE 302.2.2 限制分页:PROTECT 312.2.3 下一个main window命令:NEW-WINDOW 312.2.4 给文本symbol分配值:DEFINE 312.2.5 格式化日期字段:SET DATE MASK 322.2.6 格式化Time字段:SET TIME MASK 332.2.7 设置与国家相关的格式:SET COUNTRY 332.2.8 设置symbol位:SET SIGN 342.2.9 Initializing Numbered Paragraphs:RESET 342.2.10包含其他文本:INCLUDE 352.2.11改变样式:STYLE 352.2.12格式化地址:ADDRESS 352.2.13在main window中设置Header Text:TOP 372.2.14在main window中设置Footer Text:BOTTOM 372.2.15条件文本:IF 372.2.16条件文本:CASE 382.2.17调用ABAP子程序:PERFORM 382.2.18合计:SUMMING 403.SAPscript Symbols 403.1Syntax of Symbols 403.2System Symbols 413.3Program Symbols 423.4Standard Symbols 433.5Text Symbols 434.Formatting Options 434.1Offset(偏移量) 434.2Output Length 444.3 Omitting the Leading Sign 444.3 Omitting Leading Zeros 454.4 Space Compression 454.5 Number of Decimal Places 454.6 Omitting the Separator for ‘Thousands’ 464.7 Specifying an Exponent for Floating Point Numbers 464.8 Right-Justified Output 464.9 Fill Characters 474.10 Suppressing Output of Initial Values 474.11Local Dates(Currently Only for Japan) 474.12Changing the Value of a Counter 474.13Preceding and Subsequent Texts(Pre-Text/Post-Text) 485.SAPscript Function Modules 495.1OPEN_FORM 515.2CLOSE_FORM 525.3WRITE_FORM 526一个完整的例子 531 SAPscript Forms1.1 SAPscript的组成SAPscript由下面五个部分组成:1)编辑器用来编辑一行文本。
如果用户决定维护与应用程序相关的文本,应用程序事务会自动调用这个文本编辑器,2)styles和forms,用来打印layout3)中央输出模块设计器它的任务是根据相应的格式信息为某种外部设备准备文本,这些格式信息来自于分配了文本的style和forms4)程序接口,通过将SAPscript组件包括在程序中来控制form的输出5)用来存储文本、styles、forms的数据库表格可以用下图来表示: 1.2 Forms: 组件和技术1.2.1 概念1.2.1.1修改SAP Forms如果需要修改SAP Forms,可以象下面这样设置开发环境:l 确信客户端没有标准的SAP Formsl 拷贝你需要的标准SAP Forms到你的开发环境中l 重新命名,最好以Y或者Z开头l 为了使更改生效,需要修改相关的SAP 打印程序使用经过你修改后的Forms,可以使用SAP IMG来进行1.2.1.2 Forms:概念Forms用来控制文档中的页面layout和文本格式在将某一文档输出到打印机或者屏幕的时候,必须将一个Form分配给该文档如果没有指定,就使用系统默认的Form在SAP应用中,通常利用Forms来定制诸如发票、支票之类的特殊文档的layout。
这些Forms用来描述文档页面中的信息结构,比如地址抬头、item行、页脚等等有两种方法来格式化Forms中的的文本:l 在标准的SAPscript文本处理器中(Tools Word processing Standard text),可以为一个文档选择一Form然后在Form的Main窗口中输入文本并格式化例如,我们为信件选择一个Form,然后在Main窗口中输入信件内容,当打印该信件时,信件内容随同其他信息一并打印出来(比如抬头、页脚等等)l 通过SAP应用中的打印程序生成文档该打印程序使用一个Form,并提示用户输入相关文本信息1.2.1.3 Client和语言版本:概念Forms和Styles是与客户端相关的,也就是说,在哪一个客户端创建的Form和Styles只能在这个客户端使用同样的,Forms和Styles也是语言相关的,在Forms和Styles中的定义的文本只能用一种语言来进行定义可以用SAP翻译工具来翻译这些Forms和StylesClient 000缺省:SAPscript给在client000中的Forms和Styles赋予一种特殊状态如果在打印一个文档的时候,文档中定义的Forms和Styles在当前客户端不可用,则SAPscript就在client000中检查所定义的Forms和Styles,如果找到,就利用client000中的来进行打印。
SAP标准Forms和Styles总是存储在client000中可以通过拷贝这些标准Forms和Styles到当前客户端并重新以YXXX或者ZXXX命名加以使用Language rules: SAPscript uses the following rules to manage versions of forms and styles in different languages: The language in which a form or style is created is its "original language." You can translate a form or style into other languages using SAP’s translation tools. If a form or style is needed only in its original language and need not be translated, then you can indicate this in the language attributes in the header data. The form or style then does not appear in work lists in the translation tools. In versions other than the original language version, changes to a form or style are limited only to translation of texts. No changes to definitions and attributes are permitted. 1.2.2 组件1.2.2.1 Header DataHeader Data由全局数据,比如page格式、page方向、初始字体等组成。
在Header Data的Basic settings标签中可以对这些数据进行维护Header Data还包括form的名字、描述、类以及状态Header Data的操作画面如下:一个例子:下图是简单的发票的例子,是利用SAPscript Form创建的每一个form由一个start page和任意数量的subsequent pages组成,这依赖于字符文本的长度在这个例子中,start page由地址栏窗口、包含参考消息的信息窗口、包含公司相关数据的窗口以及包含真正业务数据的窗口(业务数据也显示在subsequent page中)和包含页码的窗口组成 包含业务数据的窗口不同于其他窗口无论什么时候,只要一页数据显示不下时,会自动显示在subsequent中因而,这个窗口控制换页,而且这种窗口只能有一个,在SAPscript form中称这种窗口为main window.如下图所示:1.2.2.2 Paragraph Formats and Attributes在SAPscript中,Paragraph(段落)就是使用某种格式和相应属性的一种格式设置通过应用不同的段落属性组来简化文本处理,这些属性组包括:l 标准属性l 字体l Tabsl Outline对一个段落标志命名有下面的约定束成:l 段落名由一到两个字符组成;l 第一个字符必须是字母,第二个字符可以是字母、数字或者空格;特殊字符无效;l 段落格式在Description域中必须进行标识。
段落格式设置画面如下:下面分别对前面的属性组加以说明:1) 标准属性在标准属性组中,可以设置在段落格式中需要用到的通用属性,包括:描述信息(Description)左边右边距(Left margin, Right margin)第一行的缩进(indent 1st line)前后空格(Space before, Space after)对齐方式(Alignment)行间距(Line spacing)是否空行(No blank。
