SAP制作一个简单的AdobeForm报表过程
1、安装ADS和Adobe LiveCycle Designer,具体安装过程这里先不讲了,百度寻找一下答案吧
2、创建一个结构表。T-code:SE11,选择“数据类型”,在文本框里填写表名(例如ZPDF999_JG),点击“创建”,在弹出对话框里选择“结构”,确定下一步,填写“简短描述”,以及参考MARA表,在结构表里添加两个字段(简单点就选两个好了,以后复杂报表大家自己再研究研究),然后保存,弹出对话框,点击“本地对象”,最后点击激活,提示黄色警告可以忽略。结构表的好处是想显示哪几个字段就哪几个字段,还可以自己创建字段。




3、创建一个表类型。跟创建结构类似。选择“数据类型”,在文本框里填写表名(例如ZPDF999),点击“创建”,在弹出对话框里选择“表类型”,确定下一步,填写“简短描述”,行类型填写“ZPDF999_JG”(即上一步创建的结构),然后保存,弹出对话框,点击“本地对象”,最后点击激活。


4、创建PDF界面。T-code:SFP。选择“界面”,文本框里填写名称“ZPDF999”,点击“创建”。弹出对话框,填写“描述”。保存。本地对象。进入界面编辑器中,再右边点击“+”图标,增加一行空白行,填写ZTAB1,TYPE,ZPDF999.
分别表示:
ZTAB1:自己取的表名,随便填;
TYPE:不解释,就填这个不会错;
ZPDF999:之前我们创建的表类型;




5、创建PDF表单。T-code:SFP。选择“表单”,文本框里填写名称“ZPDF999”,点击“创建”。弹出对话框,填写“描述”。“界面”选择上一步创建的界面名称。保存。本地对象。进入表单编辑器中。
展开接口下方“导入”,我们会看到我们在界面中定义的表名。
将表名拖到右边上下文下面的ZPDF999文件下。
然后点击布局。




6、编辑布局。左边列选择“Data View”,会看到ZTAB1表,将其拖到布局中央。稍作调整。
右边工具栏,将TXET工具拖放到布局中央,填写报表名称“AdobeForm简单报表”。
保存,激活,后退。


7、创建一个程序来调用PDF报表。T-code:se38。创建一个程序“ZPDF999”。
填写“标题”,选择“类型”,保存,本地对象。
敲打如下代码:
REPORT ZPDF999.
DATA:FM_NAME TYPE RS38L_FNAM, "定义打印参数
FP_OUTPUTPARAMS TYPE SFPOUTPUTPARAMS,"定义处理结果
ITAB TYPE ZPDF999."定义内表,参考之前我们建的表类型
*-----调用打开打印机函数---------*
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
IE_OUTPUTPARAMS = FP_OUTPUTPARAMS
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
ENDIF.
*-----调用ADS,即AdobeForm表单------*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
I_NAME = 'ZPDF999'
IMPORTING
E_FUNCNAME = FM_NAME.
IF SY-SUBRC <> 0.
ENDIF.
*-------取15条数据,插入内表-------*
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 15 ROWS.
CALL FUNCTION FM_NAME
EXPORTING
ZTAB1 = ITAB "AdobeForm读取内表数据
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3.
IF SY-SUBRC <> 0.
ENDIF.
*---------关闭打印机---------*
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
ENDIF.





8、查看结果。保存,激活,执行。
选择打印机,系统自带LP01,打印机预览查看结果。
完美显示。



9、更多详细讲解,以后再一一奉上,大家也可以在百度上查找更多的资料,来加深制作过程,制作出复杂有意义的单据。