Script to PDF format
Dear all,
I am converting script to PDF format, after convention other than English text is problem.
(English is text is visible and other language text is converting into symbol) how to solve this problem.
When I am taking a printout or print preview it is ok.
Thanks in advance
Regards
Manohar
Hi Manohar,
You have to log on in the environment specific to the language to see the output correctly. Eg: if ur script has japanese font you have to login in japanese environment to get it right in the PDF format.
Regards,
Sookshma
Similar Messages
-
Hi all,
I have a script and i need to print it in pdf format ,right now its printing in orginal or normal .Please let me know what i should do in order to print it in pdf form, i don't want to save it somewhere and then print it,i need to print it directly rather than saving it.
Any help would be greatly appreciated
Thanks
deepthihi,
can anyone check the code and tell me what iam missing
I don't want to save the pdf file i want to print it or see it under print preview.
WAITING FOR REPLIES
DATA: PDFTAB TYPE TABLE OF TLINE WITH HEADER LINE,
DATATAB TYPE TABLE OF ITCOO WITH HEADER LINE.
DATA: BINFILESIZE TYPE I,
FILE_NAME TYPE STRING,
FILE_PATH TYPE STRING,
FULL_PATH TYPE STRING.
data: begin of itcpp.
include structure itcpo.
data: end of itcpp.
itcpp-tdcopies = 1.
itcpp-tdimmed = 'X'.
itcpp-tddelete = 'X'.
itcpp-tdnewid = ' '.
ITCPP-tddest = 'LP01'.
ITCPP-tdgetotf = 'X'.
itcpp-tdpreview = 'X'.
Call function 'OPEN_FORM'
exporting
device = 'PRINTER'
dialog = 'X'
form = 'ZZ_PICK_LIST '
form = space
language = sy-langu
options = itcpp.
call function 'START_FORM'
exporting
ARCHIVE_INDEX =
form = 'ZTEST'
LANGUAGE = ' '
STARTPAGE = ' '
PROGRAM = ' '
MAIL_APPL_OBJECT =
IMPORTING
LANGUAGE =
EXCEPTIONS
FORM = 1
FORMAT = 2
UNENDED = 3
UNOPENED = 4
UNUSED = 5
SPOOL_ERROR = 6
OTHERS = 7
LOOP AT ITAB.
call function 'WRITE_FORM'
exporting
element = 'HEAD'
function = 'SET'
window = 'MAIN'
ENDLOOP.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = itcpp
RDI_RESULT =
TABLES
OTFDATA = DATATAB[]
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 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 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = ' '
IMPORTING
BIN_FILESIZE = BINFILESIZE
TABLES
OTF = DATATAB[]
LINES = PDFTAB[]
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.
*ENDIF. -
How to find download and convert pdf format function module for a script
Hi,
I have script requirement its already fixed with nace tcode and when we run output type in tcode va02 its generatinga mail with attaching script ouput in pdf format. Now i want find how that script generating pdf format and attaching to mail there in driver program no any function modules using for that.
So anyone can help me for this finding.
Thanks.Dear Pradeep,
Use FM: CONVERT_OTF, this FM converts PDF output. After use the FM: SX_TABLE_LINE_WIDTH_CHANGE FOR convert line width 255.
Regards,
Abbas. -
How to convert sap script to pdf and send it as email attachment
hi,
my requirement is to convert a standard sales order form to pdf and send it as email attachment. get me some sample code for the same
thanks in advanceHi
See this sample code and after that use the fun module to send the mail
SO_NEW_DOCUMENT_ATT_SEND_API1
REPORT zzz_jaytest .
Types Declaration
TYPES : BEGIN OF ty_pa0001,
pernr TYPE pa0001-pernr,
bukrs TYPE pa0001-bukrs,
werks TYPE pa0001-werks,
END OF ty_pa0001.
Internal Table Declaration
DATA : i_pa0001 TYPE STANDARD TABLE OF ty_pa0001, "For pa0001 Details
i_otf TYPE STANDARD TABLE OF itcoo, "For OTF data
i_content_txt TYPE soli_tab, "Content
i_content_bin TYPE solix_tab, "Content
i_objhead TYPE soli_tab,
Work Area Declaration
w_pa0001 TYPE ty_pa0001, "For pa0001 Details
w_res TYPE itcpp, "SAPscript output
"parameters
w_otf TYPE itcoo, "For OTF
w_pdf TYPE solisti1, "For PDF
w_transfer_bin TYPE sx_boolean, "Content
w_options TYPE itcpo, "SAPscript output
"interface
Variable Declaration
v_len_in TYPE so_obj_len,
v_size TYPE i.
Constants Declaration
CONSTANTS : c_x TYPE c VALUE 'X', "X
c_locl(4) TYPE c VALUE 'LOCL', "Local Printer
c_otf TYPE sx_format VALUE 'OTF', "OTF
c_pdf TYPE sx_format VALUE 'PDF', "PDF
c_printer TYPE sx_devtype VALUE 'PRINTER', "PRINTER
c_bin TYPE char10 VALUE 'BIN', "BIN
c_name TYPE string VALUE 'C:\ZZZ_JAYTEST.PDF',"Downloading
"File Name
c_form(11) TYPE c VALUE 'ZZZ_JAYTEST'. "Form Name
START-OF-SELECTION.
Selecting the records from pa0001
SELECT pernr bukrs werks FROM pa0001
INTO TABLE i_pa0001 UP TO 10 ROWS.
Setting the options
w_options-tdcopies = 1 ."Number of copies
w_options-tdnoprev = c_x."No print preview
w_options-tdgetotf = c_x."Return of OTF table
w_options-tddest = c_locl."Spool: Output device
Opening the form
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = c_form
device = c_printer
language = sy-langu
OPTIONS = w_options
IMPORTING
RESULT = w_res.
LOOP AT i_pa0001 INTO w_pa0001.
Writting into the form
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
ENDLOOP.
Closing the form
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = w_res
TABLES
otfdata = i_otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
codepage = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Converting OTF data to single line
LOOP AT i_otf INTO w_otf.
CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
INTO w_pdf.
APPEND w_pdf TO i_content_txt.
ENDLOOP.
Converting to PDF Format
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = c_otf
format_dst = c_pdf
devtype = c_printer
CHANGING
transfer_bin = w_transfer_bin
content_txt = i_content_txt
content_bin = i_content_bin
objhead = i_objhead
len = v_len_in
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
v_size = v_len_in.
Downloading the PDF File
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_size
filename = c_name
filetype = c_bin
TABLES
data_tab = i_content_bin.
If you r using this function module check it once....
call function 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = v_len_in
TABLES
otf = i_otf
lines = i_tline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
others = 4.
Fehlerhandling
if sy-subrc <> 0.
endif.
or u can use the standard program RSTXPDFT4 to download the script into PDF format onto a particular location
follow this link for sample program.
http://searchsap.techtarget.com/tip/0,289483,sid21_gci1121833,00.html
check...
How to send smart form via email
/people/pavan.bayyapu/blog/2005/08/30/sending-html-email-from-sap-crmerp
Regards
Anji -
Is Any Body Tell Me How to Creat a Script Form(converting script into pdf)
waiting for u r responce, pls help me in this concernd
Welcome to SDN.
If you want to conver SCRIPT to PDF format check this link -
hi, hoe to convert script form into pdf format
how to convert script into PDF
If you want to convert it to Adobe Forms refer this -
Adobe Forms
Regards,
Amit
Reward all helpful replies. -
Conversion of QC21 sap script to pdf
Hello Experts
I was working on QC21 sap script layout,got guidance from u guys & i managed to finish.
now can anyone tell me how to convert the sap script to pdf format?
KashHi,
if u wish to automate the process, then u can write the following code...
DATA: V_PRINT_PARMS LIKE PRI_PARAMS.
DATA: V_PDFSPOOLID TYPE TSP01-RQIDENT,
V_RQIDENT TYPE TSP01-RQIDENT.
DATA: V_RQ2NAME TYPE STRING.
DATA: T_PDF LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA: T_RSPAR TYPE STANDARD TABLE OF RSPARAMS.
To Setup The Print Parameters
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
AUTHORITY = SPACE
COPIES = '1'
COVER_PAGE = SPACE
DATA_SET = SPACE
DEPARTMENT = SPACE
DESTINATION = SPACE
EXPIRATION = '1'
IMMEDIATELY = SPACE
LAYOUT = SPACE
MODE = SPACE
NEW_LIST_ID = 'X'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = V_PRINT_PARMS.
IF SY-SUBRC EQ 0.
Submit Program & Store Spool ID Into Memory
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
CURR_REPORT = 'RQCAAP01'
TABLES
SELECTION_TABLE = T_RSPAR.
ENDIF.
SUBMIT RQCAAP01 VIA SELECTION-SCREEN TO SAP-SPOOL WITHOUT SPOOL DYNPRO
SPOOL PARAMETERS V_PRINT_PARMS
WITH SELECTION-TABLE T_RSPAR
AND RETURN.
Retrieving Spool ID From TSP01 Table
CONCATENATE V_RQ2NAME SY-UNAME INTO V_RQ2NAME.
SELECT * FROM TSP01
WHERE RQ2NAME EQ V_RQ2NAME ORDER BY RQCRETIME DESCENDING.
V_RQIDENT = TSP01-RQIDENT.
EXIT.
ENDSELECT.
IF SY-SUBRC NE 0.
CLEAR V_RQIDENT.
ENDIF.
To Convert Spool ID To PDF Format
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = V_RQIDENT
TABLES
PDF = T_PDF.
IF SY-SUBRC EQ 0.
To Download The File In PDF Format
to get file name and location for saving
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = 'Select The Path Where The PDF Should Be Saved'
DEFAULT_FILE_NAME = 'Certificate Of Analysis.PDF'
CHANGING
FILENAME = v_filename
PATH = v_filepath
FULLPATH = v_fullpath.
To download the PDF file
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = v_fullpath
FILETYPE = 'BIN'
TABLES
DATA_TAB = T_PDF.
ENDIF.
I hope this resolves ur issue...
Regards,
Radhika -
Script to pdf to email????
I have to convert a script to pdf format and then download it to presentation server and then send it as an attachment by email ( to the external mail ids).
please help me with this.
waiting in anitcipation.
regards.
suki.Use...HRHAP_DOC_CONVERT_SMF_TO_PDF or SX_OBJECT_CONVERT_OTF_PDF
or CONVERT_OTF_2_PDF to convert data to PDF...
Use the below code to send an email...
FUNCTION Z_SEND_EMAIL.
""Local interface:
*" IMPORTING
*" VALUE(SENDER) LIKE SOUD3-USRNAM
*" VALUE(SUBJECT) LIKE SOOD1-OBJDES
*" REFERENCE(SUPPRESS_COMMIT) TYPE CHAR01 DEFAULT ''
*" TABLES
*" RECEIVERS
*" EMAIL_TEXT STRUCTURE SOLI OPTIONAL
*" EXCEPTIONS
*" ACTIVE_USER_NOT_EXIST
*" COMMUNICATION_FAILURE
*" COMPONENT_NOT_AVAILABLE
*" FOLDER_NOT_EXIST
*" FOLDER_NO_AUTHORIZATION
*" FORWARDER_NOT_EXIST
*" NOTE_NOT_EXIST
*" OBJECT_NOT_EXIST
*" OBJECT_NOT_SENT
*" OBJECT_NO_AUTHORIZATION
*" OBJECT_TYPE_NOT_EXIST
*" OPERATION_NO_AUTHORIZATION
*" OWNER_NOT_EXIST
*" PARAMETER_ERROR
*" SUBSTITUTE_NOT_ACTIVE
*" SUBSTITUTE_NOT_DEFINED
*" SYSTEM_FAILURE
*" TOO_MUCH_RECEIVERS
*" USER_NOT_EXIST
*" ORIGINATOR_NOT_EXIST
*" X_ERROR
*" OTHERS
Modification Log: (Please Flag all changes with the Correction Number)
Date(MMDDYYYY) Programmer Corr. # TM ID
Description:
3/18/04 SpechtBN D81K900520 Updated function module call
for so_object_send, exception
handling and commit work.
03/02/2005 miranddn D81K910999 Add option to suppress
COMMIT WORK statement. Interfering with form outputs. Entered as
optional parameter so that objects using this function can remain
unchanged and the function will behave normally for them.
CLEAR: T_OBJECT_HD_CHANGE,
T_USER,
T_OBJCONT,
T_OBJHEAD,
T_OBJPARA,
T_OBJPARB,
T_RECEIVERS.
REFRESH: T_OBJCONT,
T_OBJHEAD,
T_OBJPARA,
T_OBJPARB,
T_RECEIVERS.
determine receivers:
LOOP AT RECEIVERS.
T_RECEIVERS-RCDAT = SY-DATUM.
T_RECEIVERS-RECESC = 'U'.
T_RECEIVERS-RECNAM = 'U-'.
T_RECEIVERS-RECEXTNAM = RECEIVERS.
T_RECEIVERS-SNDART = 'INT'.
T_RECEIVERS-SNDPRI = 1.
T_RECEIVERS-DELIVER = 'X'.
T_RECEIVERS-READ = 'X'.
T_RECEIVERS-ADR_NAME = RECEIVERS.
T_RECEIVERS-SORTFIELD = RECEIVERS.
T_RECEIVERS-SORTCLASS = 5.
T_RECEIVERS-SNDCP = ' '. " not a copy to ...
APPEND T_RECEIVERS.
ENDLOOP.
Message Header (including subject)
T_OBJECT_HD_CHANGE-OBJLA = SY-LANGU.
T_OBJECT_HD_CHANGE-OBJNAM = 'MESSAGE'.
Subject
T_OBJECT_HD_CHANGE-OBJDES = SUBJECT.
T_OBJECT_HD_CHANGE-OBJSNS = 'S'." sensitivity Std,Func,Priv. S,F,P
T_OBJECT_HD_CHANGE-VMTYP = 'R'. "object type T = transaction
T_OBJECT_HD_CHANGE-ACNAM = 'U'.
Sender
IF SENDER = SPACE.
T_USER-SAPNAM = SY-UNAME.
ELSE.
T_USER-SAPNAM = SENDER.
ENDIF.
CALL FUNCTION 'SO_NAME_CONVERT'
EXPORTING
NAME_IN = T_USER
IMPORTING
NAME_OUT = T_USER
EXCEPTIONS
OTHERS = 8.
IF SY-SUBRC NE 0.
T_USER-SAPNAM = 'SPECHTBN'.
ENDIF.
T_OBJPARA-NAME = 'MESSAGE'.
T_OBJPARA-LOW = SY-DATUM.
APPEND T_OBJPARA.
CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
FOLDER_ID = ' '
FORWARDER = ' '
OBJECT_FL_CHANGE = ' '
OBJECT_HD_CHANGE = t_object_hd_change
OBJECT_ID = ' '
OBJECT_TYPE = 'RAW'
OUTBOX_FLAG = ' '
OWNER = SENDER
STORE_FLAG = ' '
DELETE_FLAG = ' '
SENDER = ' '
CHECK_SEND_AUTHORITY = ' '
CHECK_ALREADY_SENT = ' '
GIVE_OBJECT_BACK =
ORIGINATOR = ' '
ORIGINATOR_TYPE = 'J'
LINK_FOLDER_ID = ' '
SEND_REQUEST_OID = ' '
IMPORTING
OBJECT_ID_NEW =
SENT_TO_ALL =
ALL_BINDING_DONE =
OFFICE_OBJECT_KEY =
ORIGINATOR_ID =
E_SEND_REQUEST_OID =
TABLES
OBJCONT = email_text
OBJHEAD = t_objhead
OBJPARA = t_objpara
OBJPARB = t_objparb
RECEIVERS = t_receivers
PACKING_LIST =
ATT_CONT =
ATT_HEAD =
NOTE_TEXT =
LINK_LIST =
APPLICATION_OBJECT =
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 1
COMMUNICATION_FAILURE = 2
COMPONENT_NOT_AVAILABLE = 3
FOLDER_NOT_EXIST = 4
FOLDER_NO_AUTHORIZATION = 5
FORWARDER_NOT_EXIST = 6
NOTE_NOT_EXIST = 7
OBJECT_NOT_EXIST = 8
OBJECT_NOT_SENT = 9
OBJECT_NO_AUTHORIZATION = 10
OBJECT_TYPE_NOT_EXIST = 11
OPERATION_NO_AUTHORIZATION = 12
OWNER_NOT_EXIST = 13
PARAMETER_ERROR = 14
SUBSTITUTE_NOT_ACTIVE = 15
SUBSTITUTE_NOT_DEFINED = 16
SYSTEM_FAILURE = 17
TOO_MUCH_RECEIVERS = 18
USER_NOT_EXIST = 19
ORIGINATOR_NOT_EXIST = 20
X_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
case sy-subrc.
when 1.
raise ACTIVE_USER_NOT_EXIST.
when 2.
raise COMMUNICATION_FAILURE.
when 3.
raise COMPONENT_NOT_AVAILABLE.
when 4.
raise FOLDER_NOT_EXIST.
when 5.
raise FOLDER_NO_AUTHORIZATION.
when 6.
raise FORWARDER_NOT_EXIST.
when 7.
raise NOTE_NOT_EXIST.
when 8.
raise OBJECT_NOT_EXIST.
when 9.
raise OBJECT_NOT_SENT.
when 10.
raise OBJECT_NO_AUTHORIZATION.
when 11.
raise OBJECT_TYPE_NOT_EXIST.
when 12.
raise OPERATION_NO_AUTHORIZATION.
when 13.
raise OWNER_NOT_EXIST.
when 14.
raise PARAMETER_ERROR.
when 15.
raise SUBSTITUTE_NOT_ACTIVE.
when 16.
raise SUBSTITUTE_NOT_DEFINED.
when 17.
raise SYSTEM_FAILURE.
when 18.
raise TOO_MUCH_RECEIVERS.
when 19.
raise USER_NOT_EXIST.
when 20.
raise ORIGINATOR_NOT_EXIST.
when 21.
raise X_ERROR.
when 22.
raise OTHERS.
endcase.
ENDIF.
Begin of D81K910999
if suppress_commit is initial.
commit work.
else.
Do nothing
endif.
End of D81K910999
ENDFUNCTION. -
Converting Script from OTF to PDF format
Hi Experts,
Using FM CONVERT_OTF in SAP Script print program I am converting data of Script from OTF to PDF format but the data in PDF document srinks and looks like slightly overlapping one leter on the other, can any ony please tell me that how can I avaoid this.
Thanks in Advance
Best Regards
VenkatDear Venkatesh,
I have the same scenario. I have to convert Script to PDF and then write it to FTP Server.
Could you please provide me the code which you have used?
Regards,
Chaitanya A -
What are methods for converting otf to pdf format in sap script
Hi,
I have a requirement in script i have to convert that that otf file to pdf format,when i use function modules its corrupting that pdf file,So i want convert otf to pdf using class method any one can help me for that.If any sample coding for class method.
Thanks.ok
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
* max_linewidth = 255
IMPORTING
bin_filesize = lv_bin_filesize
* bin_file = pdf_xstring
TABLES
otf = lt_otf
lines = lt_pdf_table
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = lv_bin_filesize
filename = c_name
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 =
TABLES
data_tab = lt_pdf_table
* 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.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
TRY.
GET PARAMETER ID 'RECEIPTENT' FIELD lvs_recipient1.
send_request = cl_bcs=>create_persistent( ).
* lt_attach_bin = cl_document_bcs=>xstring_to_solix( ip_xstring = lt_solix ).
APPEND 'Test message' TO lt_text.
l_sub_50 = lc_test1.
document = cl_document_bcs=>create_document( i_type = 'RAW'
i_text = lt_text
i_subject = l_sub_50 ).
document->add_attachment( i_attachment_type = 'PDF'
i_attachment_subject = 'script.pdf'
i_att_content_hex = lt_attach_bin ).
l_sub_line = lc_test1.
TRY.
* Build subject line for email.
CALL METHOD send_request->set_message_subject
EXPORTING
ip_subject = l_sub_line.
CATCH cx_send_req_bcs INTO loref_obj_error.
PERFORM sub_catch_error1 USING loref_obj_error.
ENDTRY.
send_request->set_document( document ).
* sender = cl_cam_address_bcs=>create_internet_address( '[email protected]' ).
recipient1 = lvs_recipient1-objkey.
recipient = cl_cam_address_bcs=>create_internet_address( '[email protected]' ).
* send_request->set_sender( sender ).
send_request->add_recipient( i_recipient = recipient
i_express = 'X' ).
sent_to_all = send_request->send( i_with_error_screen = 'X' ).
COMMIT WORK.
CATCH cx_bcs INTO bcs_exception.
MESSAGE 'eee' TYPE 'S'.
EXIT.
ENDTRY. -
To convert Sap Script output to PDF format and send it via email.
Hi Friends,
Could any one please tell me, how to convert the Sap Script output to PDF format and send it via email. If any one have the code, kindly mail me to [email protected]
Thanks & Regards,
JohnPlese check this sample code from other thread.
REPORT zzz_jaytest .
Types Declaration
TYPES : BEGIN OF ty_pa0001,
pernr TYPE pa0001-pernr,
bukrs TYPE pa0001-bukrs,
werks TYPE pa0001-werks,
END OF ty_pa0001.
Internal Table Declaration
DATA : i_pa0001 TYPE STANDARD TABLE OF ty_pa0001, "For pa0001 Details
i_otf TYPE STANDARD TABLE OF itcoo, "For OTF data
i_content_txt TYPE soli_tab, "Content
i_content_bin TYPE solix_tab, "Content
i_objhead TYPE soli_tab,
Work Area Declaration
w_pa0001 TYPE ty_pa0001, "For pa0001 Details
w_res TYPE itcpp, "SAPscript output
"parameters
w_otf TYPE itcoo, "For OTF
w_pdf TYPE solisti1, "For PDF
w_transfer_bin TYPE sx_boolean, "Content
w_options TYPE itcpo, "SAPscript output
"interface
Variable Declaration
v_len_in TYPE so_obj_len,
v_size TYPE i.
Constants Declaration
CONSTANTS : c_x TYPE c VALUE 'X', "X
c_locl(4) TYPE c VALUE 'LOCL', "Local Printer
c_otf TYPE sx_format VALUE 'OTF', "OTF
c_pdf TYPE sx_format VALUE 'PDF', "PDF
c_printer TYPE sx_devtype VALUE 'PRINTER', "PRINTER
c_bin TYPE char10 VALUE 'BIN', "BIN
c_name TYPE string VALUE 'C:\ZZZ_JAYTEST.PDF',"Downloading
"File Name
c_form(11) TYPE c VALUE 'ZZZ_JAYTEST'. "Form Name
START-OF-SELECTION.
Selecting the records from pa0001
SELECT pernr bukrs werks FROM pa0001
INTO TABLE i_pa0001 UP TO 10 ROWS.
Setting the options
w_options-tdcopies = 1 ."Number of copies
w_options-tdnoprev = c_x."No print preview
w_options-tdgetotf = c_x."Return of OTF table
w_options-tddest = c_locl."Spool: Output device
Opening the form
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = c_form
device = c_printer
language = sy-langu
OPTIONS = w_options
IMPORTING
RESULT = w_res.
LOOP AT i_pa0001 INTO w_pa0001.
Writting into the form
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
ENDLOOP.
Closing the form
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = w_res
TABLES
otfdata = i_otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
codepage = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Converting OTF data to single line
LOOP AT i_otf INTO w_otf.
CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
INTO w_pdf.
APPEND w_pdf TO i_content_txt.
ENDLOOP.
Converting to PDF Format
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = c_otf
format_dst = c_pdf
devtype = c_printer
CHANGING
transfer_bin = w_transfer_bin
content_txt = i_content_txt
content_bin = i_content_bin
objhead = i_objhead
len = v_len_in
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
v_size = v_len_in.
Downloading the PDF File
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_size
filename = c_name
filetype = c_bin
TABLES
data_tab = i_content_bin.
The extension is put the it_mailpack-obj_name parameter of 'SO_NEW_DOCUMENT_ATT_SEND_API1'. -
PDF format of script output in irregular format
Hi All,
I am getting script output in OTF format in 'CLOSE_FORM'
of standard sales order script.
This,I am able to send in PDF format as mail attachment by using function module 'SO_NEW_DOCUMENT_ATT_SEND_API1'.
But the alignment and format of data in the attachment doesn't exactly match with original script output.
Can anyone help me in this regard? Thanks in advance
- jawaharHi,
disregard my earlier mail.
fill itcpo structure and try
<b> itcpo-tdgetotf = 'X'.
xdevice = 'PRINTER'. </b>
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = TNAPR-FONAM
LANGUAGE = NAST-SPRAS
<b> OPTIONS = ITCPO</b>
ARCHIVE_INDEX = TOA_DARA
ARCHIVE_PARAMS = ARC_PARAMS
DEVICE = XDEVICE
DIALOG = ' '
IMPORTING
RESULT = ITCPP
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
FORMAT_SRC = 'OTF'
FORMAT_DST = 'PDF'
DEVTYPE = 'HPLJ5SI'
TABLES
CONTENT_IN = CONTENT_IN
CONTENT_OUT = CONTENT_OUT
EXCEPTIONS
ERR_CONV_FAILED = 1
OTHERS = 2.
OBJBIN[] = CONTENT_OUT[].
endif.
DOC_CHNG-OBJ_NAME = TEXT-003.
doc_chng-obj_descr = text-001.
CONCATENATE TEXT-002 VBDKR-VBELN "zinvoice14-vessel
INTO DOC_CHNG-OBJ_DESCR SEPARATED BY SPACE.
IF SY-SYSID NE 'S4P'.
CONCATENATE DOC_CHNG-OBJ_DESCR TEXT-004 INTO DOC_CHNG-OBJ_DESCR
SEPARATED BY SPACE.
ENDIF.
OBJTXT = 'This is an example of a Sapscript emailed out of SAP'.
APPEND OBJTXT.
DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
Fill the fields of the packing_list for the main document:
It is a text document
CLEAR OBJPACK-TRANSF_BIN.
The document needs no header (head_num = 0)
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
but it has a body
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
of type RAW
OBJPACK-DOC_TYPE = 'RAW'.
APPEND OBJPACK.
Create the attachment (the list itself)
IF NAST-KSCHL NE 'ZSTT'.
DESCRIBE TABLE OBJBIN LINES TAB_LINES.
Fill the fields of the packing_list for the attachment:
It is binary document
OBJPACK-TRANSF_BIN = 'X'.
we need no header
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
but a body
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
of type ALI
IF NAST-KSCHL NE 'ZSTT'.
OBJPACK-DOC_TYPE = 'PDF'.
OBJPACK-OBJ_NAME = 'Attachment'.
OBJPACK-OBJ_DESCR = 'PDF file'.
READ TABLE OBJBIN INDEX TAB_LINES.
DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJBIN ).
OBJPACK-DOC_SIZE = DOC_SIZE.
APPEND OBJPACK.
ENDIF.
get E-mail address
loop at t_tvbdkr. "S4DK966284
w_name = t_tvbdkr-tdname. "S4DK966284
W_NAME = VBDKR-TDNAME. "S4DK966284
IF NAST-KSCHL EQ 'ZLEE'." or nast-kschl eq 'ZPRE'.
PERFORM READ_TEXT USING W_NAME 'Z555' 'VBBK'.
ENDIF.
IF SY-SUBRC EQ 0.
DELETE TDLINES WHERE TDFORMAT EQ '/*'
OR TDLINE EQ SPACE.
LOOP AT TDLINES.
RECIPIENT_INT-ADDRESS = TDLINES-TDLINE.
RECLIST-RECEIVER = RECIPIENT_INT.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
ENDLOOP.
if sy-subrc eq 0. "S4DK966284
exit. "S4DK966284
endif. "S4DK966284
ENDIF.
endloop.
LOOP AT T_TVBDPR.
CHECK T_TVBDPR-TDNAME+0(10) = VBDKR-TDNAME. "S4DK966284
W_NAME = T_TVBDPR-TDNAME.
IF NAST-KSCHL EQ 'ZLEE'.
PERFORM READ_TEXT USING W_NAME 'Z558' 'VBBP'.
ENDIF.
IF SY-SUBRC EQ 0.
DELETE TDLINES WHERE TDFORMAT EQ '/*'
OR TDLINE EQ SPACE.
LOOP AT TDLINES.
RECIPIENT_INT-ADDRESS = TDLINES-TDLINE.
RECLIST-RECEIVER = RECIPIENT_INT.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
ENDLOOP.
if sy-subrc eq 0. "S4DK966284
exit. "S4DK966284
endif. "S4DK966284
ENDIF.
ENDLOOP.
SEND THE DOCUMENT BY CALLING THE SAPOFFICE API1 MODULE
FOR SENDING DOCUMENTS WITH ATTACHMENTS
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
IMPORTING
SENT_TO_ALL = SENT_TO_ALL
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
Regards
amole -
Converting sap script output into pdf format?
Hi all,
I have modified the standard purchase order script form MEDRUCK . Now i need to generate the output into pdf format.
This is not only limited to spool requests , But also when the user creates the purchase order and clicks on print or print preview the output should be in pdf format.
Please help on where and what code has to be written for this requirement?
Thanks,
Aravind.Hi
I don't know which is your release, but I don't think it's possible to create a preview in pdf format, but u can create a pdf file instead of the spool and then open it automatically, this is an example:
- A) Open form
IF P_PDF = 'X'.
XDEVICE = 'PRINTER'.
* Get OTF
ITCPO-TDGETOTF = 'X'.
ENDIF.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
DEVICE = XDEVICE
DIALOG = 'X'
FORM = 'ZFI_CL_EC_MOVI'
OPTIONS = ITCPO
MAIL_SENDER = LVS_SENDER
MAIL_RECIPIENT = LVS_RECIPIENT
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
OTHERS = 11.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
B) Close FORM
CALL FUNCTION 'CLOSE_FORM'
TABLES
OTFDATA = T_OTF
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE I208(00) WITH 'Errore chiusura stampa'(A02).
ELSE.
PERFORM DOWNLOAD_PDF.
ENDIF.
C) Create PDF and open it:
FORM DOWNLOAD_PDF.
DATA: BIN_FILESIZE TYPE I.
DATA: T_FILE_PDF TYPE STANDARD TABLE OF TLINE,
DOCTAB_ARCHIVE TYPE STANDARD TABLE OF DOCS.
DATA: FILE_TABLE TYPE FILETABLE WITH HEADER LINE.
DATA: RC TYPE I,
USER_ACTION TYPE I.
DATA: TITLE TYPE STRING,
FILENAME TYPE STRING.
CHECK P_PDF = 'X'.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
IMPORTING
BIN_FILESIZE = BIN_FILESIZE
TABLES
OTF = T_OTF
DOCTAB_ARCHIVE = DOCTAB_ARCHIVE
LINES = T_FILE_PDF
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE I208(00) WITH 'Errore conversione PDF'(A03).
EXIT.
ENDIF.
TITLE = 'Creare File'(T02).
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = TITLE
DEFAULT_EXTENSION = '*.pdf'
CHANGING
FILE_TABLE = FILE_TABLE[]
RC = RC
USER_ACTION = USER_ACTION
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
OTHERS = 4
IF SY-SUBRC <> 0.
MESSAGE I208(00) WITH 'Errore creazione PDF'(A04).
EXIT.
ELSE.
IF USER_ACTION = 9. EXIT. ENDIF.
IF RC = 1.
READ TABLE FILE_TABLE INDEX 1.
ENDIF.
ENDIF.
MOVE FILE_TABLE-FILENAME TO FILENAME.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
BIN_FILESIZE = BIN_FILESIZE
FILENAME = FILENAME
FILETYPE = 'BIN'
CHANGING
DATA_TAB = T_FILE_PDF
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 I208(00) WITH 'Errore creazione PDF'(A04).
EXIT.
ELSE.
MESSAGE S208(00) WITH 'File creato con successo'(S01).
ENDIF.
CHECK P_OPEN = 'X'.
CALL FUNCTION 'CALL_BROWSER'
EXPORTING
URL = FILE_TABLE-FILENAME
EXCEPTIONS
FRONTEND_NOT_SUPPORTED = 1
FRONTEND_ERROR = 2
PROG_NOT_FOUND = 3
NO_BATCH = 4
UNSPECIFIED_ERROR = 5
OTHERS = 6.
IF SY-SUBRC <> 0.
MESSAGE S208(00) WITH 'Impossibile aprire file'(A05).
ENDIF.
ENDFORM. " DOWNLOAD_PDF
Max -
How to modify a print program that is used to convert the script o/p in to PDF FORMAT .. give me procedure to develop & help me sdn..
Re: script o/p to pdf format
Hi Dara Rajesh,
RSTXPDFT4 is using for download pdf from spool request but i like get the pdf form script output display.
Kindly help me to do.
Advance Thanks. -
How to Print PDF Format In SAP SCRIPT
Hi All,
I have a requirement to print the output in PDF format.
First we can pass the parameter from Excel sheet,through on the parameters , we can fetch the output and print the PDF format.
Please help me.
regards
raghavaHi Ragha,
SAP has created a standard program RSTXPDFT4 to convert your Sapscripts spools into a PDF format.
You will get the spool number from transaction SP02.
Also go through the following document:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/49e15474-0e01-0010-9cba-e62df8244556
Regards,
Nitin. -
Send spool id output (sap script) via email in PDF format
Dear friends,
Looking for sample program to send spool id output of sapscript via email in PDF format.
Regards,
Praveen LoboHi,
Try this code..
* Parameters.
PARAMETERS: p_email(50) LOWER CASE.
PARAMETERS: p_spool LIKE tsp01-rqident.
* Data declarations.
DATA: plist LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
DATA: document_data LIKE sodocchgi1.
DATA: so_ali LIKE soli OCCURS 100 WITH HEADER LINE.
DATA: real_type LIKE soodk-objtp.
DATA: sp_lang LIKE tst01-dlang.
DATA: line_size TYPE i VALUE 255.
DATA: v_name LIKE soextreci1-receiver.
DATA rec_tab LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
* Get the spool data.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = p_spool
first_line = 1
last_line = 0
desired_type = ' '
IMPORTING
real_type = real_type
sp_lang = sp_lang
TABLES
buffer = so_ali
EXCEPTIONS
no_such_job = 1
job_contains_no_data = 2
selection_empty = 3
no_permission = 4
can_not_access = 5
read_error = 6
type_no_match = 7
OTHERS = 8.
* Check the return code.
IF sy-subrc <> 0.
MESSAGE s208(00) WITH 'Error'.
LEAVE LIST-PROCESSING.
ENDIF.
* Prepare the data.
plist-transf_bin = 'X'.
plist-head_start = 0.
plist-head_num = 0.
plist-body_start = 0.
plist-body_num = 0.
plist-doc_type = 'RAW'.
plist-obj_descr = 'Spool data'.
APPEND plist.
plist-transf_bin = 'X'.
plist-head_start = 0.
plist-head_num = 0.
plist-body_start = 1.
DESCRIBE TABLE so_ali LINES plist-body_num.
plist-doc_type = real_type.
* Get the size.
READ TABLE so_ali INDEX plist-body_num.
plist-doc_size = ( plist-body_num - 1 ) * line_size
+ STRLEN( so_ali ).
APPEND plist.
* Move the receiver address.
MOVE: p_email TO rec_tab-receiver,
'U' TO rec_tab-rec_type.
APPEND rec_tab.
IF NOT sp_lang IS INITIAL.
document_data-obj_langu = sp_lang.
ELSE.
document_data-obj_langu = sy-langu.
ENDIF.
v_name = sy-uname.
* Subject.
document_data-obj_descr = 'Spool attached'.
* Send the email.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = document_data
sender_address = v_name
sender_address_type = 'B'
TABLES
packing_list = plist
contents_bin = so_ali
receivers = rec_tab
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE e208(00) WITH 'Error in sending email'.
ENDIF.
COMMIT WORK.
* Send the email immediately.
SUBMIT rsconn01
WITH mode = 'INT'
AND RETURN.
* Success message.
MESSAGE s208(00) WITH 'Email sent'.
Thanks
Naren
Maybe you are looking for
-
Some Drum notes not displaying in Score editor
I have a problem with a project in getting a correct display of the drum notes in the Score editor despite the playback being OK. I have a mapped drum instrument set up with an identcal structure to that on another project which is working properly.
-
Making system settings for measurement documents and measuring point
What is the significance of making system settings for measurement documents and measuring point in spro? Edited by: Pallavi Kakoti on Jul 14, 2011 1:23 PM
-
Problem in Transaction Launcher
Hi friends, I have used the cookbook example on page 30. And it is working fine for the transaction VA01 but when i replace it with any other transaction like SE38 or BP its does not work and after calling the Transaction launcher it shows an error i
-
I'm having a crazy threading problem that seems like a Java6 bug. Class TestDesktopInterface starts ProcessThread (code for both below). After approx 3.8 seconds, the TestDesktopInterface thread ceases to respond (freezes, or locks, or something). Th
-
Hi! I didn't find any solutions to this, but I was wondering if someone here knows how to fix this problem? When I watch streaming clips in Firefox with Quicktime, my video screen turns green, but the sound still continues. This happens if my mouse m