SAP日记-ABAP - SMARTFORMS导出PDF的三种方式

2019-08-30 19:04

SAP日记-ABAP SMARTFORMS导出PDF

有几种方式

1、 安装pdf打印程序, 在sap打印界面选择改打印程序即可

适合打印PDF的个别用户。

2、

把smartform打印到spool.

然后在事务码SP02里面查到spool号

复制spool号 SE38 执行RSTXPDFT4即可

3、调用GUI_DOWNLOAD

此处仅为打印代码

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING

FORMNAME = 'ZSDK006' “SMARTFORMS名称 IMPORTING

FM_NAME = FM_NAME EXCEPTIONS

NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3.

CLEAR:OUTPUT_OPTIONS.

CONTROL_PARAMETERS-GETOTF = 'X'. CONTROL_PARAMETERS-NO_DIALOG = 'X'. OUTPUT_OPTIONS-TDNOPREV = 'X'.

CALL FUNCTION FM_NAME EXPORTING

OUTPUT_OPTIONS = OUTPUT_OPTIONS\ CONTROL_PARAMETERS = CONTROL_PARAMETERS

IMPORTING

JOB_OUTPUT_INFO = T_OTFDATA TABLES

GT_ITAB = ITAB “内表 EXCEPTIONS

FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

*************此处为导出PDF

T_OTF[] = T_OTFDATA-OTFDATA[]. CALL FUNCTION 'CONVERT_OTF' EXPORTING

FORMAT = 'PDF' MAX_LINEWIDTH = 132 IMPORTING

BIN_FILESIZE = W_BIN_FILESIZE TABLES

OTF = T_OTF LINES = T_PDF_TAB EXCEPTIONS

ERR_MAX_LINEWIDTH = 1 ERR_FORMAT = 2 ERR_CONV_NOT_POSSIBLE = 3 OTHERS = 4. IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

*---------------TAKING THE DOWNLOAD FILE PATH AS USER INPUT** DATA UA TYPE I.

CONCATENATE 'D:\\' KUNNR NAME1 ZDATE1+0(6) '对账单.pdf' INTO FILE_NAME. “定义文件名

这一段不屏蔽, 在打印的时候会有显示选择路径的对话框,屏蔽则直接保存在上面的文件名FILE_NAME指定的路径

* CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG * EXPORTING

* DEFAULT_FILE_NAME = FILE_NAME * CHANGING

* FILENAME = FILE_NAME * PATH = FILE_PATH * FULLPATH = FULL_PATH * USER_ACTION = UA * EXCEPTIONS

* CNTL_ERROR = 1 * ERROR_NO_GUI = 2 * NOT_SUPPORTED_BY_GUI = 3 * OTHERS = 4. * IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. * ELSE.

* IF UA = 0.

* Download the file to the selected path ************************

CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING

BIN_FILESIZE = W_BIN_FILESIZE

FILENAME = FILE_NAME FILETYPE = 'BIN' IMPORTING

FILELENGTH = W_FILESIZE TABLES

DATA_TAB = T_PDF_TAB EXCEPTIONS

FILE_WRITE_ERROR = 1 NO_BATCH = 2 GUI_REFUSE_FILETRANSFER = 3 INVALID_TYPE = 4 NO_AUTHORITY = 5 UNKNOWN_ERROR = 6 HEADER_NOT_ALLOWED = 7 SEPARATOR_NOT_ALLOWED = 8

\ FILESIZE_NOT_ALLOWED = 9 HEADER_TOO_LONG = 10 DP_ERROR_CREATE = 11 DP_ERROR_SEND = 12 DP_ERROR_WRITE = 13 UNKNOWN_DP_ERROR = 14 ACCESS_DENIED = 15 DP_OUT_OF_MEMORY = 16 DISK_FULL = 17 DP_TIMEOUT = 18 FILE_NOT_FOUND = 19 DATAPROVIDER_EXCEPTION = 20 CONTROL_FLUSH_ERROR = 21 OTHERS = 22.

IF SY-SUBRC <> 0.

MESSAGE 'File not downloaded' TYPE 'I'. ELSE.

ENDIF. * ENDIF. * ENDIF.

第一种和第二种都可在用户突然需要PDF文件的时候应用, 不需要写程序,第三种则应用在用户需要经常导出PDF格式时;第二种也可以通过SUBMIT 调用 RSTXPDFT4 执行。


SAP日记-ABAP - SMARTFORMS导出PDF的三种方式.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第五章 外商投资企业法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: