为了在ABAP程序中调用我们设计的FORM来打印我们需要的文档,SAPscript提供了很多Function Modules,下表是SAPscript中所提供的所有Function Modules,在本指南中,我们仅仅详细地讨论其中的三个Function Modules,它们是OPEN_FORM、CLOSE_FORM和WRITE_FORM;关于其他Function Modules的使用方法,请大家参考sap online help。
数据库相关 | 描述 |
READ_TEXT | Reads a text module and passes it to the specified work areas. |
Like READ_TEXT. In addition, it passes the first few text lines to a second lines table. | |
Reads the text lines of a reference text and passes them to the specified lines table. | |
Saves a text. | |
Deletes a text. | |
Copies a text. | |
Finds the texts for an application object. | |
管理相关 | |
Creates a reference to another text. | |
Renames the text in the text memory. | |
Creates for all texts in the text memory the call of an appropriate update module. | |
Initializes the internal work areas for a text. | |
调用编辑器 | |
Calls the text editor. | |
Merges the inline lines with the other text lines and calls the text editor. | |
一致性检查 | |
Checks the authorization for standard texts. | |
Checks whether the specified text ID is valid. | |
Checks whether the specified text language is valid. | |
Checks whether the specified text object is valid. | |
Checks whether the specified text name is valid. | |
编辑函数 | |
Finds the variable symbols that occur in a text. | |
Checks whether a character string is a SAPscript symbol. | |
Replaces symbols in a text with their values. | |
Defines the value of a text symbol. | |
Replaces control statements in a text (IF, CASE...). | |
Replaces INCLUDE control statements by the text lines of the corresponding text. | |
打印相关 | |
Formats a text for output. | |
Prints a text in the internal ITF format. | |
Form 函数相关 | |
Opens the form output. | |
Ends the form output. | |
Starts a new form. | |
Calls a form element. | |
Writes text lines into a form. | |
Ends the current form. | |
Sends a control statement to the form. | |
Finds the elements of a form. | |
Passes the lines of a form elements into an internal lines table. | |
格式转换 | |
Converts texts between different formats. | |
Converts texts between R/3 format (SAPscript) and R/2 format. | |
Converts the formatted text (OTF format). | |
Exchanges the paragraph and character formats of a text with those of another style or form. | |
文本传输相关 | |
Imports texts. | |
Exports texts. | |
Uploads/Downloads texts. |
OPEN_FORM function module作用是打开将要打印的form,在你使用其它form function比如(WRITE_FORM, START_FORM, CONTROL_FORM...)之前,必须先要调用这个function module。
必须通过使用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中输出文本。如果没有指定这名字,则在调用任何output functions时,必须使用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
功能:关闭用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被打开,则出错。
系统将在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不存在