Announcement:
wanna exchange links? contact me at sapchatroom@gmail.com.
Posted by
Admin at
Reply from Szoke_Attila on Apr 20 at 3:33 AM Hi, If you use sapscript then you can choice PDF preview from its Print preview(Goto - PDF Preview). Anyway I use pdf saving from print function, if the user wants it. Steps: 1. the calling of OPEN_FORM with OTF request: IF gv_pdf = 'X'. itcpo-tdgetotf := 'X'. ENDIF. CALL FUNCTION 'OPEN_FORM' EXPORTING form = xformular language = ekko-spras options = itcpo archive_index = toa_dara archive_params = arc_params * ARCHIVE_PARAMS = ALARC_PAR1 device = xdevice dialog = xdialog mail_sender = lvs_sender mail_recipient = lvs_recipient EXCEPTIONS canceled = 01. 2. I get the result of sapscript printing in OTF: IF gv_pdf = 'X'. CALL FUNCTION 'CLOSE_FORM' IMPORTING RESULT = result * RDI_RESULT = TABLES OTFDATA = lt_otfdata EXCEPTIONS UNOPENED = 1 BAD_PAGEFORMAT_FOR_PRINT = 2 SEND_ERROR = 3 SPOOL_ERROR = 4 CODEPAGE = 5 OTHERS = 6 . 3. After I call an own fm: CONCATENATE ekko-ebeln '.pdf' INTO lv_file_name. CALL FUNCTION 'Z_SAVE_OTF2PDF' EXPORTING it_otfdata = lt_otfdata iv_def_file_name = lv_file_name IV_DEF_PATH = 'D:\' IV_ERROR_MESS = 'X' IMPORTING OV_FULL_PATH = lv_full_path OV_FILELENGTH = lv_binfilesize EXCEPTIONS ERROR_CONVERT_OTF = 1 ERROR_FILE_SAVE_DIALOG = 2 ERROR_GUI_DOWNLOAD = 3 OTHERS = 4 . ENDIF. FUNCTION Z_SAVE_OTF2PDF . *"--- *"*"Local interface: *" IMPORTING *" VALUE(IT_OTFDATA) TYPE OTF_T_ITCOO *" VALUE(IV_DEF_FILE_NAME) TYPE STRING *" VALUE(IV_DEF_PATH) TYPE STRING DEFAULT 'D:\' *" VALUE(IV_ERROR_MESS) TYPE BOOLE_D DEFAULT 'X' *" EXPORTING *" REFERENCE(OV_FULL_PATH) TYPE STRING *" REFERENCE(OV_FILELENGTH) TYPE I *" EXCEPTIONS *" ERROR_CONVERT_OTF *" ERROR_FILE_SAVE_DIALOG *" ERROR_GUI_DOWNLOAD *"--- DATA: lv_answer TYPE i, lv_binfilesize TYPE i, lv_file_name TYPE string, lt_pdfdata TYPE TABLE OF tline, lv_file_path TYPE string, lv_full_path TYPE string. CLEAR ov_full_path. CLEAR ov_filelength. CALL FUNCTION 'CONVERT_OTF' EXPORTING FORMAT = 'PDF' * MAX_LINEWIDTH = 132 * ARCHIVE_INDEX = ' ' * COPYNUMBER = 0 * ASCII_BIDI_VIS2LOG = ' ' * PDF_DELETE_OTFTAB = ' ' * PDF_USERNAME = ' ' * PDF_PREVIEW = ' ' * USE_CASCADING = ' ' IMPORTING BIN_FILESIZE = lv_binfilesize * BIN_FILE = TABLES otf = it_otfdata lines = lt_pdfdata EXCEPTIONS ERR_MAX_LINEWIDTH = 1 ERR_FORMAT = 2 ERR_CONV_NOT_POSSIBLE = 3 ERR_BAD_OTF = 4 OTHERS = 5 . IF sy-subrc <> 0. IF iv_error_mess = 'X'. MESSAGE e003(za) WITH 'CONVERT_OTF' text-m01 sy-subrc. ELSE. MESSAGE w003(za) WITH 'CONVERT_OTF' text-m01 sy-subrc. ENDIF. RAISE ERROR_CONVERT_OTF. ENDIF. SEARCH iv_def_file_name FOR 'pdf'. IF sy-subrc = 0. lv_file_name := iv_def_file_name. ELSE. CONCATENATE iv_def_file_name '.pdf' INTO lv_file_name. ENDIF. CALL METHOD cl_gui_frontend_services=>file_save_dialog EXPORTING * WINDOW_TITLE = DEFAULT_EXTENSION = 'pdf' DEFAULT_FILE_NAME = lv_file_name * FILE_FILTER = INITIAL_DIRECTORY = iv_def_path * WITH_ENCODING = PROMPT_ON_OVERWRITE = 'X' CHANGING filename = lv_file_name path = lv_file_path fullpath = lv_full_path USER_ACTION = lv_answer * FILE_ENCODING = EXCEPTIONS CNTL_ERROR = 1 ERROR_NO_GUI = 2 NOT_SUPPORTED_BY_GUI = 3 others = 4 . IF sy-subrc <> 0. IF iv_error_mess = 'X'. MESSAGE e003(za) WITH 'FILE_SAVE_DIALOG' text-m01 sy-subrc. ELSE. MESSAGE w003(za) WITH 'FILE_SAVE_DIALOG' text-m01 sy-subrc. ENDIF. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. RAISE ERROR_FILE_SAVE_DIALOG. ENDIF. IF lv_answer = 0. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING BIN_FILESIZE = lv_binfilesize filename = lv_full_path FILETYPE = 'BIN' * APPEND = ' ' * WRITE_FIELD_SEPARATOR = ' ' * HEADER = '00' * TRUNC_TRAILING_BLANKS = ' ' * WRITE_LF = 'X' * COL_SELECT = ' ' * COL_SELECT_MASK = ' ' * DAT_MODE = ' ' * CONFIRM_OVERWRITE = ' ' * NO_AUTH_CHECK = ' ' * CODEPAGE = ' ' * IGNORE_CERR = ABAP_TRUE * REPLACEMENT = '#' * WRITE_BOM = ' ' * TRUNC_TRAILING_BLANKS_EOL = 'X' * WK1_N_FORMAT = ' ' * WK1_N_SIZE = ' ' * WK1_T_FORMAT = ' ' * WK1_T_SIZE = ' ' * WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE * SHOW_TRANSFER_STATUS = ABAP_TRUE * VIRUS_SCAN_PROFILE = '/SCET/GUI_DOWNLOAD' IMPORTING FILELENGTH = ov_filelength tables data_tab = lt_pdfdata * FIELDNAMES = 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. ov_full_path := lv_full_path. ELSE. IF iv_error_mess = 'X'. MESSAGE e003(za) WITH 'GUI_DOWNLOAD' text-m01 sy-subrc. ELSE. MESSAGE w003(za) WITH 'GUI_DOWNLOAD' text-m01 sy-subrc. ENDIF. RAISE ERROR_GUI_DOWNLOAD. ENDIF. ENDIF. ENDFUNCTION. BR, Attila
| | | ---------------Original Message--------------- From: rere_batooot Sent: Tuesday, April 19, 2016 1:09 PM Subject: printpreviw for po Thanks for your reply ibut i want to clarify more my issue the business anlysit wants to dipaly the po (adobe form) by running zprogram so he can see all the po printpreview not one by one or not by hot spot is that possible ? | | Reply to this email to post your response. __.____._ | _.____.__ |