赞
踩
SAPscript
用途:SAP SCRIPT常用来打印需要输出到纸张的报表、凭证。
SAP SCRIPT 使用页、窗口、段落格式和文本来控制输出。文本存在于窗口之中,每个文本有段落格式来指定字体,间隔等信息。窗口存在于页上,在‘页窗口’设置每个窗口的位置。
事务码: SE71 格式绘制器
MAIN窗口只能有一个。一般循环内表输出的多行内容,写在MAIN窗口里。一旦mainwindow内容填满后,就会自动换页,在下一页的mainwindow中继续输出余下的内容,而且格式保持不变。
调用时,如果SAPscript和程序中变量名称相同,变量的值会自动传入SCRIPT
* 首先使用OPEN_FORM函数打开SAPscript
call function 'OPEN_FORM'.....
OPEN_FORM function module作用是打开将要打印的form,在你使用其它formfunction比如(WRITE_FORM, START_FORM,CONTROL_FORM...)之前,必须先要调用这个functionmodule。
必须通过使用CLOSE_FORM function module来结束将要打印的form,否则,系统不会显示或者打印任何东西。
在一个ABAP程序中,可以使用多个OPEN_FORM…CLOSE_FORM对,这样的话,可以在一个程序中,将几个不同的输出格式输出到缓冲池中。
语法(ABAP程序):
CALL FUNCTION'OPEN_FORM'
EXPORTING
FORM = SPACE
LANGUAGE = SY-LANGU
DEVICE = 'PRINTER'
DIALOG = 'X'
OPTIONS = SPACE
APPLICATION = 'TX'
ARCHIVE_INDEX = SPACE
ARCHIVE_PARAMS = SPACE
IMPORTING
LANGUAGE =
RESULT =
NEW_ARCHIVE_PARAMS =
EXCEPTIONS
CANCELED =
DEVICE =
FORM =
OPTIONS =
UNCLOSED =
参数说明:
1) Exporting 参数
FORM------à控制输出格式的form的名字,当调用了OPEN_FORM后,可以使用其它Function Modules来向这个form中输出文本。如果没有指定这名字,则在调用任何outputfunctions时,必须使用START_FORM来启动一个有效的form。缺省值:SPACE
LANGUAGE------àform使用的语言,缺省值:SY-LANGU
DEVICE------à指定form的输出设备,缺省值:PRINTER
DIALOG------à打印时是否显示打印对话框,可能值——'',不显示;'X',显示;缺省值为'X'
OPTIONS------à用这个参数来设置打印选项,打印选项在结构ITCOP中定义,缺省值SPACE
APPLICATION------à当DEVICE为SCREEN的时候,在显示格式化文本的界面上,需要定义一些menu,这些menu为在SCREEN中选择其他打印设备提供输入。参数值为SAPscript提供的一个界面名字,关于这些界面的对象名,可以参考表TTXOB,缺省值为'TX'
ARCHIVE_INDEX------à为要打印的归档输入索引信息,参考结构TOA_DATA,缺省值:SPACE
ARCHIVE_PARAMS------à归档参数,参考ABAP Dictionary结构ARC_PARAMS,缺省值:SPACE
2) Importing 参数
LANGUAGE------à当前系统使用的form的语言环境,参考字段:THEAD-TDSPRAS
RESULT------à保存打印结果信息,存储在结构ITCPP中
NEW_ARCHIVE_PARAMS------à包含归档处理结果,存储在结构ARC_PARAMS中
3) Exceptions 参数
CANCELED------à用户取消当前这次form打印
DEVICE------à有效的设备类型
FORM------à包含系统不能找到的form的名字
OPTIONS------à包含无效的formatting options
UNCLOSED------à当旧的from仍然打开的时候,系统被告知要打开一个新的form,必须先关闭旧的form
如果SAPscript有多页,使用START_FORM指定页
call function 'START_FORM'.....
* 输出
call function 'WRITE_FORM'.....
系统将在ELEMENT参数中指定的element输出到当前打开的form。
语法:
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT= SPACE
WINDOW= 'MAIN'
FUNCTION= 'SET'
TYPE= 'BODY'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT=
FUNCTION=
TYPE=
UNOPENED=
UNSTARTED=
WINDOW=
参数说明:
1) Exporting 参数
ELEMENT-----à指定想输出到指定window(WINDOW参数)中的文本元素的名字,这个文本元素必须定义在form window中,如果没有指定文本元素,将用缺省值:SPACE
WINDOW-----à指定想输出的文本元素所在的window,缺省为:MAIN
FUNCTION-----à这参数决定如何输出文本元素,输出类型依赖与window的类型和区域,具体参见sap online help
TYPE-----à这个参数仅仅针对main window而言,这个参数决定将文本元素输出到main window的什么位置,可能值为:TOP, BODY, BOTTOM;缺省值为:BODY
2) Importing 参数
PENDING_LINES-----à如果文本输出到main window的BOTTOM位置,可能会因为main window中没有足够的空间来容纳这些文本,这时候,系统就会自动将这些文本输入到下一页的BOTTOM位置,这种输出就叫做PENDING;如果输出是PENDING,则参数PENDING_LINES包含’X’,而且打印程序也会做出相应的反映,例如,文本末尾的显示分页命令NEW-PAGE可以显示触发PENDING输出到下一页的BOTTOM位置。
3) Exceptions 参数
ELEMENT-----à指定的文本元素不存在
FUNCTION-----à指定的值不存在,FUNCTION的可能值为SET, APPEND, DELETE
TYPE-----à指定的window区域类型无效,TYPE的可能值为BODY, TOP, BOTTOM
UNOPENED-----à如果这里没有form被打开,则出错
UNSTARTED-----à如果这里没有form被打开,则出错
WINDOW-----à在当前的form中指定的window不存在
l
* 对应START_FORM
call function 'END_FORM'.....
* 完成打印工作后,调用CLOSE_FORM关闭SAPscript
call function 'CLOSE_FORM'...
功能:关闭用OPEN_FORM打开的form。
语法:
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT=
TABLES
OTFDATA = ?...
EXCEPTIONS
UNOPENED =
参数说明:
RESULT------àCLOSE_FORM处理结果,存储在结构ITCPP中
OTFDATA------à如果在参数OPTIONS中,字段TDGETOTF包含'X',系统就返回在OTFDATA表中定义
的OTF输出格式(?)
UNOPENED------à如果这里没有form被打开,则出错。
通过段落格式“/E”来标示Text Elements。不同的窗口可以包含相同的Text Elements的名字。
对于Text Elements来说,只有当系统显示调用函数模块WRITE_FORM时,才被输出。当调用函数WRITE_FORM的时候,可以通过设置FUNCTION参数的值在打印程序中激活窗口中的Text Elements,FUNCTION可以是下面的值:
l SET
用当前的值代替所有window中激活的文本元素
l APPEND
将当前的Text Elements追加到激活的Text Elements
l DELETE
从激活的TextElements列表中删除当前的Text Elements
&PAGE& 当前页号
&SAPSCRIPT-FORMPAGES& START_FORM 和END_FORM之间的总页数
&SAPSCRIPT-JOBPAGES& OPEN_FORM 和CLOSE_FORM 之间的总页数.
BOX 画一个框(横线/竖线)。Xpos ypos指的是框左上角相对窗口的坐标。
/:BOX <xpos> <ypos> <width> <height> <frame><intensity>
判断
/:IF condition.
/:ELSE.
/:ENDIF.
例如只在首页输出某内容,可以加上如下判断
/:IF &PAGE& = 1.
…
/:ENDIF.
分支
/:CASE <…>
/:WHEN <…>
/:ENDCASE.
设置时间、日期、数字格式
/:SET TIME MASK = 'HH:MM'
/:SET DATE MASK = 'DD.MMMM.YYYY'
/:SET COUNTRY 'USA'
导入图片:SE78,进入FORM GRAPHICS->Storedon document server-> Graphics->BMAP, 用菜单图形->导入来导入图片。
插入图片:在窗口内容中,选插入->图形,选择要插入的图片
确定后,系统将自动生成相关语句。保存即可。
SE38中运行RSTXSCRP
执行后,选好保存的路径,确定即可导出到本地文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。