在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 显示的名称表格.
设备可以是PRINTER(使用假脱机打印),TELEFAX(传真输出)或屏幕(输出到屏幕)
选项显示ITCPO类型的结构以控制各种属性 - 打印预览,copi数量es.
第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
ELEMENT 功能模块显示要打印的"textelement","WINDOW"显示要打印的表单的哪个窗口.
TYPE 显示窗口的输出区域,如TOP,BOTTOM或BODY.
功能表示要替换,添加或追加文字.
第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 fromthe loop from BOOKING table in database./
第5节 - 关闭表格
CALL FUNCTION 'CLOSE_FORM' IMPORTING * RESULT = EXCEPTIONS UNOPENED = 1 OTHERS = 5 /To end the Print Program/
最后调用此功能模块,它没有导出参数.