在SAP ERP系统应用中,通常利用Forms表单来定制诸如发票、支票及标签之类的特殊文档的打印格式。这些Forms用来描述文档页面中的信息结构,比如地址抬头、item行、页脚等等,Forms设计就是要确定这些文档的输出格式。
利用SAPscript工具进行Forms标签的设计及打印主要分两大部分:标签的格式设计及调用Forms的ABAP程序设计:
一、Forms标签设计(事务代码SE71)
1.执行SE71,输入表单名后,点击“创建”进入管理数据:
输入描述后保存。
2.字符格式定义
点击“字符格式"
输入“H1"和描述后,点击“字体”
在字体属性中选择字体库及输入大小后保存。
3.段落格式定义
点击“段落格式”
输入段落及描述后点击“字体”
输入字体族及大小后保存,在段落属性中还可定义对齐、左右边缘等属性。
4.基本设置
在上述界面中,点击抬头
图标,回到管理数据界面:
点击“基本设置”
选择页格式及缺省段后保存。
5.格式设计
在上述界面,点击“格式”,进入设计界面:
系统默认创建MAIN窗口和PAGE1页,在这里也可以创建新的窗口。点击“页数”
在这里,可修改页的描述等信息。点击“页窗口”
变量必须前后用&标识,如&WLMS&代表从ABAP程序中获取变量WLMS的值,而在ABAP程序中,变量WLMS必须定义为全局变量。特别说明,其中的“,,,,”,一个“,,”代表段落格式中“制表符”定义的第一个标记位置,“,,,,”代表第二个标记位置,依此类推。见下图:
二、调用Forms的ABAP程序设计(事务码SE38)在ABAP程序中,可将Forms调用程序设计为子程序,如FORM PRING_BSD ,将相关函数的调用及逻辑处理都放在此子程序中,参考例子如下:FORM PRING_BSD . "打印标识单DATA: PARA LIKE ITCPO. "Forms的函数选择参数PARA-TDDEST = 'LP01'.PARA-TDPREVIEW = 'X'.PARA-TDIMMED = 'X'.para-TDDELETE = 'X'.CALL FUNCTION 'OPEN_FORM' "打开Forms的函数EXPORTINGDEVICE = 'PRINTER'FORM = 'YDMM196TEST1' "Forms名称DIALOG = 'X'OPTIONS = PARAEXCEPTIONSCANCELED = 1DEVICE = 2FORM = 3OPTIONS = 4UNCLOSED = 5OTHERS = 6.LOOP AT itab . " 循环处理内表WLMS = ITAB-MAKTX .“将内表数据赋予Forms窗口里的文本元素定义的变量WLDM = ITAB-MATNR.CALL FUNCTION 'WRITE_FORM' "写Forms函数EXPORTINGELEMENT = 'ITEM'WINDOW = 'MAIN'EXCEPTIONSOTHERS = 1.ENDLOOP.CALL FUNCTION 'CLOSE_FORM' "关闭Forms函数EXCEPTIONSOTHERS = 1.
ENDFORM . "PRING_BSD