SAP ScriptForms 教程系列五

  SAP ScriptForms 教程系列五 SAPscript Function Modules

为了在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.

READ_TEXT_INLINE

Like READ_TEXT. In addition, it passes the first few text lines to a second lines table.

READ_REFERENCE_LINES

Reads the text lines of a reference text and passes them to the specified lines table.

SAVE_TEXT

Saves a text.

DELETE_TEXT

Deletes a text.

COPY_TEXTS

Copies a text.

SELECT_TEXT

Finds the texts for an application object.

管理相关

REFER_TEXT

Creates a reference to another text.

RENAME_TEXT

Renames the text in the text memory.

COMMIT_TEXT

Creates for all texts in the text memory the call of an appropriate update module.

INIT_TEXT

Initializes the internal work areas for a text.

调用编辑器

EDIT_TEXT

Calls the text editor.

EDIT_TEXT_INLINE

Merges the inline lines with the other text lines and calls the text editor.

一致性检查

CHECK_TEXT_AUTHORITY

Checks the authorization for standard texts.

CHECK_TEXT_ID

Checks whether the specified text ID is valid.

CHECK_TEXT_LANGUAGE

Checks whether the specified text language is valid.

CHECK_TEXT_OBJECT

Checks whether the specified text object is valid.

CHECK_TEXT_NAME

Checks whether the specified text name is valid.

编辑函数

TEXT_SYMBOL_COLLECT

Finds the variable symbols that occur in a text.

TEXT_SYMBOL_PARSE

Checks whether a character string is a SAPscript symbol.

TEXT_SYMBOL_REPLACE

Replaces symbols in a text with their values.

TEXT_SYMBOL_SETVALUE

Defines the value of a text symbol.

TEXT_CONTROL_REPLACE

Replaces control statements in a text (IF, CASE...).

TEXT_INCLUDE_REPLACE

Replaces INCLUDE control statements by the text lines of the corresponding text.

打印相关

PRINT_TEXT

Formats a text for output.

PRINT_TEXT_ITF

Prints a text in the internal ITF format.

Form 函数相关

OPEN_FORM

Opens the form output.

CLOSE_FORM

Ends the form output.

START_FORM

Starts a new form.

WRITE_FORM

Calls a form element.

WRITE_FORM_LINES

Writes text lines into a form.

END_FORM

Ends the current form.

CONTROL_FORM

Sends a control statement to the form.

READ_FORM_ELEMENTS

Finds the elements of a form.

READ_FORM_LINES

Passes the lines of a form elements into an internal lines table.

格式转换

CONVERT_TEXT

Converts texts between different formats.

CONVERT_TEXT_R2

Converts texts between R/3 format (SAPscript) and R/2 format.

CONVERT_OTF_MEMORY

Converts the formatted text (OTF format).

EXCHANGE_ITF

Exchanges the paragraph and character formats of a text with those of another style or form.

文本传输相关

IMPORT_TEXT

Imports texts.

EXPORT_TEXT

Exports texts.

TRANSFER_TEXT

Uploads/Downloads texts.

 

5.1OPEN_FORM

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

5.2CLOSE_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被打开,则出错。

5.3WRITE_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不存在


版权声明:本文为jiali765原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。