2006 Jun 02 6:23 AM
Hi all,
I need to create a pdf file from the sap script. can anyone please tell me how to go about it?
i have used the following functions in my se38 editor.
open_form,
write_form,
close_form.
Till here it works and i get the output in the sapscript.i need to copy this output into a pdf file and save it to my local directory.
I used the function
SX_OBJECT_CONVERT_OTF_PDF,GUI_DOWNLOAD.
but its giving me a dump error when i execute the program
Can anyone pls explain me how to proceed, what all parameters needs to be passed inside these functions.
Also note that i shud not get a printout of the output.
Many thanks in advance,
sinthu
Hi all,
I need to create a pdf file from the sap script. can anyone please tell me how to go about it?
i have used the following functions in my se38 editor.
open_form,
write_form,
close_form.
Till here it works and i get the output in the sapscript.i need to copy this output into a pdf file and save it to my local directory.
I used the function
SX_OBJECT_CONVERT_OTF_PDF,GUI_DOWNLOAD.
but its giving me a dump error when i execute the program
Can anyone pls explain me how to proceed, what all parameters needs to be passed inside these functions.
Also note that i shud not get a printout of the output.
Many thanks in advance,
sinthu
2006 Jun 02 6:28 AM
2006 Jun 02 6:30 AM
Check the below code......
Get the OTF from CLOSE_FORM (otf_data)
Convert OTF to PDF
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = pdf_size
TABLES
otf = otf_data
lines = it_pdf.
Make each line 255 characters
CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
TABLES
content_in = it_pdf
content_out = it_pdfout.
Create the PDF File
CLEAR it_pdfdata.
REFRESH it_pdfdata.
LOOP AT it_pdfout.
MOVE it_pdfout-tline TO it_pdfdata-line.
APPEND it_pdfdata.
CLEAR it_pdfdata.
ENDLOOP.
Use GUI_DOWNLOAD to to downlaod it_pdfdata file.
Enjoy Coding,
Thomas.
2006 Jun 02 6:30 AM
hi sinthu,
SAP has created a standard program <b>RSTXPDFT4</b> to convert your Sapscripts spools into a PDF format.
Specify the spool number and you will be able to download the sapscripts spool into your local harddisk.
It look exactly like what you see during a spool display....
Please note that it is not restricted to sapsciprts spool only.. Any reports in the spool can be converted using the program 'RSTXPDFT4'. ..
regards
satesh
2006 Jun 02 6:33 AM
Hi satish,
Thanks, but from where will i get the spool no? this pgm will be executed in background.
-sinthu
2006 Jun 02 6:37 AM
Hi sinthu,
1. spool number is not required.
2. when we use CLOSE_FORM
we can pass the optional tables parameters
<b>OTFDATA LIKE ITCOO</b>
(where we will get the sapscript outpt in OTF format)
<b>(also while using OPEN_FORM
pass this prameter in OPTIONS
OPTIONS-TDGETOTF = 'X'.</b>
3. then we can convert this into pdf.
4. just see this below small code for getting the idea.
(then u can use OPEN DATASET , TRANSFER,CLOSE DATASET
to save the PDF File, bcos u are running the program
in background(
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
*----
for front-end only
*----
for application server, use DATASET
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_size
filename = c_name
filetype = c_bin
TABLES
data_tab = i_content_bin.
regards,
amit m.
2006 Jun 02 6:37 AM
Hi Sindhu,
u can chk out in SP01 all the spool requests created..or else in SM36 u ll get the status of ur Background jobs( and also the spool no.)...
put ur spool no. in the program RSTXPDFT4 n execute...
2006 Jun 02 6:33 AM
Hi Sinthu,
You can execute the SAPScript and create a spool request for that... Now execute the program RSTXPDFT4 and in that give the spool number and the path of the pdf file(say D:\SP\file.pdf).
Regards,
SP.
2006 Jun 02 6:38 AM
Hi Smitha,
Check these links.
http://help.sap.com/saphelp_nw04/helpdata/en/c8/4adf7ba13c4ac1b4600d4df15f8b84/frameset.htm
Thanks,
Susmitha
2006 Jun 02 6:45 AM
Hi,
this code will give u the last spool number:
DATA : lv_spool_no TYPE TSP01-RQIDENT .
SELECT RQIDENT into lv_spool_no
UP TO 1 ROWS
FROM TSP01
WHERE "Put some restriction ..like last 5 days, to improve performance
ORDER BY RQCRETIME DESCENDING.
ENDSELECT.
<b>RSPO_ISELECT_SPOOLREQS</b> will get you all the spool request
rgds,
latheesh
2006 Jun 02 6:59 AM
hi sinthu,
to create a spool number for the script ..
just execute it and uncheck print immediately..
then give a printer name..
and give print..
it creates a spool request..
the number can be viewed in sp01.
just give that number and execute the program..
regards
satesh
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |