可以通过函数 SSFCOMP_PDF_PREVIEW以pdf格式预览smartforms输出结果。
例子代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
REPORT ztest_pdf_output. *&---------------------------------------------------------------------* *& Data Declaration *&---------------------------------------------------------------------* DATA: gv_formname TYPE tdsfname VALUE 'HRRCF_CS_APPLICANT', gv_fm_name TYPE rs38l_fnam. DATA: gwa_ssfcompop TYPE ssfcompop, gwa_control TYPE ssfctrlop. DATA: gv_devtype TYPE rspoptype. DATA: gv_job_output TYPE ssfcrescl. DATA: gt_lines TYPE TABLE OF tline. DATA: gv_size TYPE i. *&---------------------------------------------------------------------* *& START-OF-SELECTION *&---------------------------------------------------------------------* START-OF-SELECTION. *Get the function module name using form name CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = gv_formname IMPORTING fm_name = gv_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. *Get Device Type CALL FUNCTION 'SSF_GET_DEVICE_TYPE' EXPORTING i_language = sy-langu IMPORTING e_devtype = gv_devtype EXCEPTIONS no_language = 1 language_not_installed = 2 no_devtype_found = 3 system_error = 4 OTHERS = 5. gwa_ssfcompop-tdprinter = gv_devtype. *Suppress print dialog gwa_control-no_dialog = 'X'. gwa_control-getotf = 'X'. *Trigger the smartform CALL FUNCTION gv_fm_name EXPORTING control_parameters = gwa_control output_options = gwa_ssfcompop IMPORTING job_output_info = gv_job_output 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. CALL FUNCTION 'SSFCOMP_PDF_PREVIEW' EXPORTING i_otf = gv_job_output-otfdata EXCEPTIONS convert_otf_to_pdf_error = 1 cntl_error = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. |
运行结果:
以上。
如果仅仅是为了显示,可以在打印浏览form的时候在transaction的位置输入‘PDF!’。
2019-07-31 10:44 上午