SAP 脚本 – 打印程序

SAP 脚本 – 打印程序


在 SAP Scripts 中,Print Program用于打印实际表格并从数据库表中获取数据,选择表格并以定义的格式打印文本元素。它从数据库中检索数据并将其与用户输入相结合,格式化数据并打印出来。

所有打印程序和表格都存储在表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

输入应用程序类型并单击顶部的输出类型。

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(使用假脱机打印)、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/ 

你最后调用这个功能模块,它没有导出参数。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁