- SAP脚本教程
- SAP脚本 - 首页
- SAP脚本 - 概述
- SAP脚本 - 智能表单
- SAP脚本 - 表单绘制器
- SAP脚本 - 布局集
- SAP脚本 - 打印程序
- SAP脚本 - 创建窗口
- SAP脚本 - 输出区域
- SAP脚本 - 文本模块
- SAP脚本 - 文本分组
- SAP脚本 - 格式选项
- SAP脚本 - 输出类型
- SAP脚本 - 控制打印输出
- SAP脚本 - 数据格式
- SAP脚本 - 导出
- SAP脚本 - 导入
- SAP脚本 - 控制表
- SAP脚本 - 文本和图形
- SAP脚本 - 控制命令
- SAP脚本 - 复制脚本
- SAP脚本 - 标准文本
- SAP脚本 - 文字处理
- SAP脚本 - 创建文档
- SAP脚本 - 更新文档
- SAP脚本 - 查找文档
- SAP脚本 - 保存文档
- SAP脚本 - 删除文档
- 文档打印预览
- SAP脚本 - 格式转换
- SAP脚本 - 原始数据接口
- SAP脚本 - 输出模式SPOOL
- SAP脚本 - 输出模式IDOC
- 在系统中创建脚本
- SAP脚本实用资源
- SAP脚本 - 快速指南
- SAP脚本 - 有用资源
- SAP脚本 - 讨论
SAP脚本 - 打印程序
在SAP脚本中,**打印程序**用于打印实际表单并从数据库表中获取数据,选择表单并以定义的格式打印文本元素。它从数据库中检索数据并将其与用户输入结合,格式化数据并打印。
所有打印程序和表单都存储在表**TNAPR**中。
打印程序中使用了不同的功能模块。要启动打印程序,使用OPEN_FORM功能模块,要结束程序使用CLOSE_FORM功能模块。
**OPEN_FORM** - 在打印程序中,在进行任何打印之前,应首先调用此函数。您指定表单的名称和打印语言。
CALL FUNCTION 'OPEN_FORM'
**START_FORM** - 此函数用于在一个请求中使用具有相似特征的不同表单。
CALL FUNCTION ’START_FORM’
**WRITE_FORM** - 此函数用于使用文本元素在表单的窗口中写入文本。
CALL FUNCTION ‘WRITE_FORM’
**CONTROL_FORM** - 此函数用于在ABAP程序中插入SAP脚本控制命令。
CALL FUNCTION ‘CONTROL_FORM’
**END_FORM** - 此函数在最后调用,并且没有导出参数。
CALL FUNCTION ‘END_FORM’
**CLOSE_FORM** - 要查看标准表单和标准打印程序,请运行**事务代码:NACE**
输入应用程序类型,然后单击顶部的输出类型。
在下面的屏幕截图中,您可以看到所选服务的应用程序名称。
打印程序 - 示例
以下是一个示例打印程序,它创建包含公司相关信息(如客户数据、日期、航班预订等)的发票。
第1部分 - 获取客户数据
TABLES: zcustom, zbook, zpfli. DATA: bookings like zbook... select * from... /In this section, you are reading the data from tables in database./
第2部分 - 打开表单
CALL FUNCTION 'OPEN_FORM' EXPORTING DEVICE = 'PRINTER' FORM = 'EXAMPLE1' DIALOG = 'X' OPTIONS = EXCEPTIONS CANCELLED = 1 DEVICE = 2 FORM = 3 OTHERS = 11 /In this section, you are calling OPEN_FORM function module to initialize print output./
在上述功能模块中,参数 -
**FORM**显示表单的名称。
**DEVICE**可以是PRINTER(使用SPOOL打印)、TELEFAX(传真输出)或SCREEN(输出到屏幕)
**OPTIONS**显示类型为ITCPO的结构,用于控制各种属性 - 打印预览、副本数量。
第3部分 - 打印表格标题
CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'textelement’ TYPE = 'TOP' WINDOW = 'MAIN' FUNCTION = 'SET' ... /In this section, you use WRITE_FORM function to output general text elements and column heading/
**ELEMENT**功能模块显示要打印的“textelement”,而“WINDOW”显示要打印的表单的哪个窗口。
**TYPE**显示窗口的输出区域,如TOP、BOTTOM或BODY。
**FUNCTION**指示要替换、添加或附加的文本。
第4部分 - 打印客户预订
LOOP AT bookings WHERE CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'BOOKING' TYPE = 'BODY' WINDOW = 'MAIN' ... ENDLOOP /In this section, text element BOOKING is used to output the bookings of a customer from the loop from BOOKING table in database./
第5部分 - 关闭表单
CALL FUNCTION 'CLOSE_FORM' IMPORTING * RESULT = EXCEPTIONS UNOPENED = 1 OTHERS = 5 /To end the Print Program/
您在最后调用此功能模块,它没有导出参数。