当前位置:   article > 正文

SAP SCRIPTFORM 操作手册_sap script form

sap script form

SAPscript

 

用途:SAP SCRIPT常用来打印需要输出到纸张的报表、凭证。

 

SAP SCRIPT 使用页、窗口、段落格式和文本来控制输出。文本存在于窗口之中,每个文本有段落格式来指定字体,间隔等信息。窗口存在于页上,在‘页窗口’设置每个窗口的位置。

 

建立SAPscript

事务码: SE71 格式绘制器

1.  创建SAPscript(form)


 

2.  SAPscript 组件分为表头、页数、窗口、页窗口、段落格式、字符格式

 


3.  表头:基本设置中,需要设定纸张、方向、缺省页和缺省段、字体类型和大小等信息。
缺省页和缺省段需要先在页数和段落格式里定义。


4.  页数:指定页的描述、下一页和计算输出页码的方式。
下一页指的是当前页输出完成后,输出下一页的类型。一般指定为自身,确实需要换页时再在程序中控制。


5.  窗口:在这里建立、修改、删除窗口。

MAIN窗口只能有一个。一般循环内表输出的多行内容,写在MAIN窗口里。一旦mainwindow内容填满后,就会自动换页,在下一页的mainwindow中继续输出余下的内容,而且格式保持不变。

 


6.  页窗口:修改窗口在页上的位置


7.  段落格式:可以设置各种段落格式的字体,行间距,左右间距等信息。



8.  字符格式:修改字体。可以使同一种段落格式下,用不同的字体输出。


9.  在“窗口”或“页窗口”选中窗口后,点击文本元素按钮,可以修改窗口中的内容。

 

程序对SAPscript的调用

调用时,如果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不存在


* 对应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被打开,则出错。

 

Text Element

通过段落格式“/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

执行后,选好保存的路径,确定即可导出到本地文件。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/651282
推荐阅读
相关标签
  

闽ICP备14008679号