Smartforms PDF format
Hi Experts,
Is their any options available to show smartforms in PDF format from standard transactions like vf02, without changing the Driver program.
I assigned in NACE transaction as smartform type as PDF but inspite of that the smartform is not coming in pdf format.
Please help me.
Thanks & Regards
Birendra Kumar
hi,
There is a way to download smartform in PDF format.
Please do the following:
<b>1. Print the smartform to the spool.
2. Note the spool number.
3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the noted spool number.</b>
or.
<b>Migrating a PDF-Based Print Form</b>
1. Go to the Smart Forms initial screen (transaction SMARTFORMS).
2. Choose Utilities> Migration> Interactive Form--> Export.
3. In the dialog box, enter the name of the Smart Form that you want to migrate, the name of the PDF-based target form, and the target interface. The system suggests the name of the Smart Form as the name for the target form and target interface. You can change these names. The target form and the target interface can have different names.
4. Choose Continue.
5. The system displays the Settings dialog box where you can flag various options for migration. To activate the selected options and close the dialog box, choose Continue.
To view additional information about a particular option, select the option, and press F1.
6. In the dialog box Create Object Directory Entry, enter a package for the interface, or save it as a local object.
7. Assign the form to a package, or save the form as a local object.
8. The system migrates the form.
9. If no errors occur during the migration, you can activate the new interface and the PDF-based form. If you see an error message, read Migration with Errors or Warnings below.
<b>Activating an Interface and PDF-Based Print Form</b>
If the form was migrated without errors, the system returns a corresponding message. You now have a PDF-based form (consisting of a form and interface) that you can edit. Initially, migrated forms and interfaces are always inactive and therefore have to be activated before a call can be made from the application.
To activate or edit the form, choose Utilities> Migration>Interactive Form-->Edit.
The system displays the initial screen of the form builder for PDF-based forms. After you have activated the form, you can "switch runtime" as described below.
<b>Switching Runtime</b>
To call the PDF-based form from the application without changes to the ABAP program and formal parameters, proceed as follows:
1. Choose Utilities>Migration> Interactive Form-->Switch Runtime.
2. In the dialog box Switch Runtime, enter the name of the Smart Form and the name of the PDF-based form. In the Runtime Type field, select the form that you want to output at runtime.
3. If the PDF form is assigned to a transportable package, you have to assign the runtime switch to a transport request. If this is the case, the system automatically displays a corresponding dialog box.
<b>Migration with Errors or Warnings</b>
If errors or warnings occurred during migration, and the Smart Form was migrated only partially or not at all, a log is displayed. This log is written to the application log and is kept in the system for a week.
To display the log within this time period, choose Utilities>Migration>Interactive Form-->Display Log.
A log is generated for each migration run. If you migrate a Smart Form more than once, you receive multiple logs. Select a log to see the list of the properties that were not or only partially migrated. Each message in the log starts with the node name from the Smart Form, which enables you to identify the source of the error in the form.
regards,
Ashokreddy.
Message was edited by:
Ashok Reddy
Message was edited by:
Ashok Reddy
Similar Messages
-
Hi All,
I have a requirement to get a print preview of the smartform in the pdf format and have the option to either print it or save it.
meaning - the adobe application must automatically open and in it, there must be a window to display the smartform in the PDF format.
the code i have so far is as below
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = W_FORM_NAME
IMPORTING
FM_NAME = W_FMODULE
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.
Calling the SMARTFORM using the function module retrieved above
GET_OTF parameter in the CONTROL_PARAMETERS is set to get the OTF
gst_output_options-tddest = 'FRNT_End_Print'. "Frontend printer
gst_output_options-tdnewid = sy-prnew.
gst_output_options-tdimmed = 'X'.
gst_output_options-tddelete = sy-prrel.
clear gst_control_parameters.
gst_control_parameters-no_dialog = 'X'.
gst_control_parameters-getotf = 'X'.
gst_control_parameters-preview = 'X'. "Deactivate preview!
*Call the original function module.
call function w_fmodule
exporting
control_parameters = gst_control_parameters
output_options = gst_output_options
importing
job_output_info = gt_job_output_info
job_output_options = gt_output_options
tables
tbl_amt = final_tab
exceptions
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4.
if sy-subrc ne 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
T_OTF[] = gt_job_output_info-OTFDATA[].
call function 'SSFCOMP_PDF_PREVIEW'
exporting
i_otf = t_otf
exceptions
convert_otf_to_pdf_error = 1
cntl_error = 2
others = 3.
if sy-subrc ne 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
The adobe application is launched but the window inside does not hold anything.
i get a pop-up inside the adobe window with the message " FILE DOES NOT BEGIN WITH '%PDF-' ".
Any suggestions are greatly appreciated.
hoping to hear from you all.
thank you.
SandeepHi Sandeep,
Plz try with this code this code is working properly.
DATA: form_name TYPE rs38l_fnam.
DATA: wa_ctrlop TYPE ssfctrlop,
wa_outopt TYPE ssfcompop.
DATA: t_otfdata TYPE ssfcrescl,
t_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE.
DATA: t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
DATA: w_filesize TYPE i.
DATA: w_bin_filesize TYPE i.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZSM_PDF_1'
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
fm_name = form_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.
wa_ctrlop-getotf = 'X'.
wa_ctrlop-no_dialog = 'X'.
wa_outopt-tdnoprev = 'X'.
CALL FUNCTION form_name
EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
control_parameters = wa_ctrlop
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
output_options = wa_outopt
user_settings = 'X'
mydate = F_DATE
IMPORTING
* DOCUMENT_OUTPUT_INFO =
job_output_info = t_otfdata
* JOB_OUTPUT_OPTIONS =
TABLES
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.
t_otf[] = t_otfdata-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
* ARCHIVE_INDEX = ' '
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.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
bin_filesize = w_bin_filesize
* CODEPAGE = ' '
filename = 'C:\Users\KO58\Desktop\test1.pdf'
filetype = 'BIN'
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
IMPORTING
filelength = w_filesize
TABLES
data_tab = t_pdf_tab
* FIELDNAMES =
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10
IF sy-subrc <> 0.
MESSAGE i003(z00) WITH 'File not downloaded succesfully'.
ELSE.
MESSAGE i003(z00) WITH 'File Test.pdf downloaded succesfully '
'under D drive'.
ENDIF.
If usefull plz give rewards.
Cheers
Anirudh -
Error while downlaoding smartform into Application server in PDF format
Hi friends,
I am downlaoding Smartform to Application server in PDF format. getting below dump while executing
OPEN DATASET p_filename FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
TRANSFER i_tline TO p_filename
CLOSE DATASET p_filename.
if i add " IGNORING CONVERSION ERRORS " after ENCODING DEAFULT then i am not getting dump and pdf file is creating but i am not able to see LOGO in SAP Application server ( downlaoded back from application server to my pc and checked it).
DUMP:
here i am getting dump saying that : You cannot convert the character set
Runtime Error CONVT_CODEPAGE
Exception CX_SY_CONVERSION_CODEPAGE
What happened?
While a text was being converted from code page '4102' to '4110', one of
the following occurred:
- an character was discovered that could not be represented in one of
the two code pages;
- the system established that this conversion is not supported.
2 characters could not be represented (and thus could not converted).
If 2 = 0, a second or a different error has occurred.
Please Help.
ThanksHi
I think some basis related configuartions to be done
Try like this and inform me
A cyclic job runs, which processes the messages seen in the SOST queue.
Are you sure it's not the frequency of the cyclic job, rather than the
number of messages in the queue, that you are observing? In messages
that are queued and before the cyclic job runs, "wait for comm. service"
is the normal status.
If you mean that there are always 4 items queued in SOST regardless of
the cyclic send job, then I have no ideas. I would have thought there
was no way to do that.
when the send job runs it just never
picks them up & sends them, while it picks up many others. The send job
is somehow blind to these; no error message occurs. In this case, I
'delete' them from the queue (in SOST) and then 'undelete' (drop down
menu -> /Go to /Deleted Items) them and then re-queue them. THEN they
actually get picked up & sent when the next cyclic send job executes.
Regards
Pavan -
Convert Smartform in PDF format and send to SAP Workplace
Hi to all.
I need help of somebody expert in SMARTFORM's.
I need to convert a smartform into PDF format and to send as attachement for SAP workplace
of the user.
I developed the next code.
IT is to function and to send the mail for SAP workplace, but it happens that smartform
contains images (logos) and tables, when the user tries to open the file pdf in inbox gives
to error - "An unrecognized token ' q0 ' was found".
I tried to call a smartform only with text and functioned well.
Somebody can help me?
My code:
Begin ***********************************************
REPORT zteste_nsa_send_pdf_sap_office.
DATA: t_print LIKE zeps_fm04 OCCURS 0 WITH HEADER LINE,
v_size TYPE i.
DATA: ls_bil_invoice TYPE lbbil_invoice.
TABLES: nast.
DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
i_tline TYPE TABLE OF tline WITH HEADER LINE,
i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
Objects to send mail.
i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
Work Area declarations
wa_objhead TYPE soli_tab,
w_ctrlop TYPE ssfctrlop,
w_compop TYPE ssfcompop,
w_return TYPE ssfcrescl,
wa_doc_chng TYPE sodocchgi1,
w_data TYPE sodocchgi1,
wa_buffer TYPE string,"To convert from 132 to 255
Variables declarations
v_form_name TYPE rs38l_fnam,
v_len_in LIKE sood-objlen,
v_len_out LIKE sood-objlen,
v_len_outn TYPE i,
v_lines_txt TYPE i,
v_lines_bin TYPE i.
START-OF-SELECTION.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZFPS_FICHA_VALORIZACAO'
IMPORTING
fm_name = v_form_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.
w_ctrlop-getotf = 'X'.
w_ctrlop-no_dialog = 'X'.
w_compop-tdnoprev = 'X'.
CALL FUNCTION v_form_name
EXPORTING
control_parameters = w_ctrlop
output_options = w_compop
user_settings = 'X'
is_bil_invoice = ls_bil_invoice
is_nast = nast
is_repeat = 'X'
IMPORTING
job_output_info = w_return
TABLES
t_list = t_print
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.
i_otf[] = w_return-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
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.
IF sy-subrc EQ 0.
ENDIF.
Convert PDF from 132 to 255.
LOOP AT i_tline.
TRANSLATE i_tline USING '~'.
CONCATENATE wa_buffer i_tline INTO wa_buffer.
ENDLOOP.
TRANSLATE wa_buffer USING '~'.
DO.
i_record = wa_buffer.
APPEND i_record.
SHIFT wa_buffer LEFT BY 255 PLACES.
IF wa_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
SEND MAIL
REFRESH: i_reclist,
i_objtxt,
i_objbin,
i_objpack.
CLEAR wa_objhead.
Object with PDF.
i_objbin[] = i_record[].
Object with main text of the mail.
i_objtxt = 'Fichas de Valorização e Esquemas Tipo'.
APPEND i_objtxt.
Document information.
wa_doc_chng-obj_name = 'SMART'.
wa_doc_chng-expiry_dat = sy-datum + 10.
wa_doc_chng-obj_descr = 'Ficha de Valorização'.
wa_doc_chng-sensitivty = 'F'. "Functional object
wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + STRLEN( i_objtxt ).
Pack to main body as RAW.
Obj. to be transported not in binary form
DESCRIBE TABLE i_objtxt LINES v_lines_txt.
READ TABLE i_objtxt INDEX v_lines_txt.
CLEAR i_objpack-transf_bin.
i_objpack-head_start = 1.
i_objpack-head_num = 0.
i_objpack-body_start = 1.
i_objpack-body_num = v_lines_txt.
i_objpack-doc_type = 'RAW'.
APPEND i_objpack.
Packing as PDF.
Obj. to be transported in binary form
DESCRIBE TABLE i_objbin LINES v_lines_bin.
READ TABLE i_objbin INDEX v_lines_bin.
i_objpack-transf_bin = 'X'.
i_objpack-head_start = 1.
i_objpack-head_num = 0.
i_objpack-body_start = 1.
i_objpack-body_num = v_lines_bin.
i_objpack-doc_type = 'PDF'.
i_objpack-obj_name = 'SMART'.
CONCATENATE 'Ficha_Valorizacao' '.pdf' INTO i_objpack-obj_descr.
i_objpack-doc_size = ( v_lines_bin - 1 ) * 255 + STRLEN( i_objbin ).
APPEND i_objpack.
e-mail receivers.
CLEAR i_reclist.
i_reclist-receiver = sy-uname.
i_reclist-rec_type = 'B'.
i_reclist-express = 'X'.
APPEND i_reclist.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_doc_chng
put_in_outbox = 'X'
commit_work = ' '
TABLES
packing_list = i_objpack
object_header = wa_objhead
contents_bin = i_objbin
contents_txt = i_objtxt
receivers = i_reclist
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 EQ 0.
ENDIF.
End *************************************************
Thanks very much to all and Happy New year...
NelsonPlease check this link...
[http://help.sap.com/saphelp_nw04/helpdata/en/27/67443cc0063415e10000000a11405a/content.htm|http://help.sap.com/saphelp_nw04/helpdata/en/27/67443cc0063415e10000000a11405a/content.htm]
-Muktar -
How to configure a standard SmartForm to be sent by e-mail in PDF format
How to configure a standard SmartForm to be sent by e-mail in PDF format
We need to use standard SAP configuration to send e-mails (output type Medium = 5 External Send).
Currently we were able to send the forms on OTF format, not PDF.
Does anyone know how to automatically make the conversion from OTC to PDF without having to code anything on ABAP?Hello Luiz,
actually there are only a few steps to do:
Just call transaction SCOT and doubleclick your SMTP node. Click on the "set"-Button behind the supported address type "internet". Choose "PDF" as output format for SAPforms.
By the way. You can also generate a PDF-File from a Spool with report RSTXPDFT4.
I hope this will help you.
Bye
Frank -
How to send output of smartform in pdf format as an attachment to email
how to send output of smartform in pdf format as an attachment to email
search before posting further and follow Forum rules
Edited by: Vijay Babu Dudla on Jan 15, 2009 4:50 AMDid u check on sdn?
i dont think so or else there are many posts on this topic and good wikis too.
look at one of these code tutorial wiki
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/mail%2bsend%2bthrough%2boutput%2bcontrols
So next time do use the search functionality.
кu03B1ятu03B9к
Edited by: kartik tarla on Jan 15, 2009 12:33 PM -
I have a problem in converting smartform output to pdf format.
Hi,
While converting the smartform output to pdf format.
It is showing this error.
otf end command // missing in otf data.
I have used this function.
Assigning the OTFDATA to OTF Structure table
CLEAR gt_otf.
gt_otf[] = gs_otfdata-otfdata[].
Convert the OTF DATA to SAP Script Text lines
CLEAR gt_pdf_tab.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = gv_bin_filesize
TABLES
otf = gt_otf
lines = gt_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.
Please help me in this regard. Thanks in advance.Hi ,
I am getting this exception "err_conv_not_possible"
CALL FUNCTION f_name " '/1BCDWB/SF00000092'
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = st_control_parameters
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = st_output_options
USER_SETTINGS = 'X'
ZST_TEXTSYMBOLS = ZST_TEXTSYMBOLS
wa_kna1 = wa_kna1
wa_claim_header = wa_claim_header
IMPORTING
DOCUMENT_OUTPUT_INFO = st_document_output_info
JOB_OUTPUT_INFO = st_job_output_info
JOB_OUTPUT_OPTIONS = st_job_output_options
TABLES
IT_CLAIM_VERSION = IT_CLAIM_VERSION
IT_CLAIM_ITEM = IT_CLAIM_ITEM
IT_CLAIM_PARTNER = IT_CLAIM_PARTNER
IT_FINAL = IT_FINAL
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.
ELSE.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
BIN_FILESIZE = v_bin_filesize
TABLES
OTF = st_job_output_info-OTFDATA[]
DOCTAB_ARCHIVE = it_docs
LINES = it_lines
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 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.
ENDIF.
HERE when i tried to debug it i got SY-SUBRC = 1.
Please help me in this regard. Thanks in advance. -
Hi All,
Can anyone send me the sample code for attaching a SmartForm in PDF Format.
Thanks in advance.
Ulhashi,
check this
http://www.****************/Tutorials/Smartforms/OTF2PDF.htm -
Smartform Printing in PDF format
Hi all,
I am looking to print standard SmartForms in PDF output.
I have printed a standard SmartForm to the spool. I convert the spool job to PDF using function module CONVERT_OTFSPOOLJOB_2_PDF. From this I get a new spool request titled "#####(original spool no) converted to PDF format".
My Basis team has create a new printer with device type PDF1 which I have used during this function module.
However this PDF spool shows up as odd characters. It also does not print as expected, again it prints the odd characters.
Obviously I'm missing something - does anyone have any suggestions?
Thanks-Within SP01, viewing the spool request, I see the following characters:
═䑆ⴱ⸳ഊ◢팍ਲ扪
祰攠⽔祰攱ഊ>
〰‱〰〠㄰〰‵>
‱〰〠〠〠〠>
㈰‷㈰‷㘰‷㘰>
⽁獣敮琠㜲>
ਯ䱡獴䍨慲′>
㔳㠠㔳㠠㠵> Etc....
EDIT: I note that when I submit this post, the characters change. I'm seeing 'symbols' mainly, some Asian characters (the form should be in English).
When printing, it comes out with something like:
%PDF-1.3
%aDuE
2 0 objtype /Type1
/BaseFont /H00 1000 1000 520 1000 74 1000 0 0 0 0
/CapHeight
/LastChar 255
%Charwid8 592 779 650 650. etc
/F002 6 0 R
Date=(0000000)
@SAP_OB End TOA_DARA
>>
endob00327 00000 n
and so on...
For now we would like to validate the PDF printing before modifying any new print programs to automate the process.
Thanks-
Message was edited by: Chad Carter
Message was edited by: Chad Carter -
Hi all,
I want to extract the data from the invoice smartform and i should display it in pdf format.I have invoice number with me as input parameter.
Can any one solve my problem...it is urgent plz.........
Thanks ,
Rakesh.hi
good
please check this code
By using FM we can convert smartform to PDF like CONVERT_PDF
and GUI_DOWNLOAD.
*& Report ZSRI_RE_02
REPORT ZSRI_RE_02.
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME.
PARAMETER: P_DATE LIKE SY-DATUM.
PARAMETER: P_REA TYPE CHAR255.
SELECTION-SCREEN:END OF BLOCK B1.
*DATA:WS_UCOMM LIKE SY-UCOMM.
DATA FORM_NAME TYPE rs38L_fnam.
DATA: WA_CTRLOP TYPE SSFCTRLOP,
WA_OUTOPT TYPE SSFCOMPOP.
DATA: T_OTFDATA TYPE SSFCRESCL,
T_PDF_TAB LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA: t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
DATA: w_filesize TYPE i.
DATA: w_bin_filesize TYPE i.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSRI_FORM_01'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FORM_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.
wa_ctrlop-getotf = 'X'.
wa_ctrlop-no_dialog = 'X'.
wa_outopt-tdnoprev = 'X'.
CALL FUNCTION FORM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = WA_CTRLOP
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = WA_OUTOPT
USER_SETTINGS = 'X'
MYDATE = P_DATE
REASON = P_REA
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = T_OTFDATA.
JOB_OUTPUT_OPTIONS =
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.
t_otf[] = t_otfdata-otfdata[].
*Convert into PDF
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
IMPORTING
BIN_FILESIZE = w_bin_filesize
BIN_FILE =
TABLES
OTF = T_OTF
LINES = T_PDF_TAB
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 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.
To download into PC
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = W_BIN_FILESIZE
CODEPAGE = ' '
FILENAME = 'D:\SRI2.PDF'
FILETYPE = 'BIN'
MODE = ' '
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
COL_SELECT = ' '
COL_SELECTMASK = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH = W_FILESIZE
TABLES
DATA_TAB = T_PDF_TAB.
FIELDNAMES =
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
reward point if helpful.
thanks
mrutyun^ -
Action - Display smartform in PDF format
Hi All,
I have a requirement whereby on triggering of a print form action in crmd_order, the smartform should be displayed in PDF format and from there, user should be able to choose whether to save or to print the form. How can this be done?
Thanks!
CadyHi,
Here's the solutions.
1 .Show the PDF as pop-up upon trigger, very much the same how PDF attachment always pops up in the internet explorer. But this pops up in GUI.
Call the smartform FM with the GETOTF checked,
control_parameters-GETOTF = 'X'.
control_parameter-no_dialog = 'X'.
control_parameter-langu = <ur language>.
output_options-tddest = 'LOCL'.
output_option-tdimmed = 'X'.
output_option-tddelete = 'X'.
i_otf = job_output_info-OTFDATA.
CALL FUNCTION 'SSFCOMP_PDF_PREVIEW'
EXPORTING
i_otf = i_otf
EXCEPTIONS
CONVERT_OTF_TO_PDF_ERROR
CNTL_ERROR
OTHERS
2. Triggering action in ICWC and PDF pops up in new window.
Call function 'SSF_GET_DEVICE_TYPE'
EXPORTING
i_language = sy-langu
IMPORTING
e_devtype = devtype
EXCEPTIONS
no_language
language_not_installed
no_devtype_found
system_error
others
control_parameters-langu = sy-langu.
control_parameters-no_dialog = 'X'.
control_parameters-getotf = 'X'.
CALL FUNCTION '<your_form_FM>'
EXPORTING
CONTROL_PARAMETERS = control_parameters
OUTPUT_OPTIONS = output_options
IMPORTING
JOB_OUTPUT_INFO = output_data
TABLES
orderadm_h = <your tables>
EXCEPTIONS
FORMATTING_ERROR
INTERNAL_ERROR
SEND_ERROR
USER_CANCELED
OTHERS
call function 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = l_pdf_len
bin_file = l_pdf_xstring
TABLES
OTF = OUTPUT_DATA-OTFDATA
LINES = LT_LINES
EXCEPTIONS
err_max_linewidth
err_format
err_conv_not_possible
err_bad_otf
others
CREATE OBJECT cached_response TYPE CL_HTTP_RESPONSE EXPORTING add_c_msg = 1.
l_pdf_len = xstrlen( l_pdf_xstring ).
cached_response->set_data( data = l_pdf_xstring
length = l_pdf_len ).
cached_response->set_header_field( name = if_http_header_fields=>content_type
value = 'application/pdf' ).
cached_response->set_status( code = 200 reason = 'OK' ).
cached_response->server_cache_expire_rel( expires_rel = 180 ).
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = guid.
CONCATENATE runtime->application_url '/' guid '.pdf' INTO display_url.
cl_http_server=>server_cache_upload( url = display_url
response = cached_response ).
url = display_url.
RETURN.
Declare display_url as an attribute in the implementation class as well as page attribute.
Push the display_url value to page attribute using the SET_MODELS method in the implementation class.
Clear display_url in DO_INIT_CONTEXT so that PDF only pops up when action is triggered.
Put this piece of code in the page htm.
I can't seem to be able to put the code here. It's a java script.
IF display_url IS NOT INITIAL.
* I can't show the script here for i kept getting error when i tried putting the java script here.
ENDIF.
3. To trigger a print action and send PDF attachment in background, a spool will still be created.
Call the smartform FM as usual.
lt_spoolid[] = es_job_output_info-spoolids[].
READ TABLE lt_spoolid INTO lw_spoolid INDEX 1.
CHECK lw_spoolid IS NOT INITIAL.
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = lw_spoolid
no_dialog = 'X'
IMPORTING
pdf_bytecount = lw_bytecount
TABLES
pdf = lt_lines
EXCEPTIONS
err_no_otf_spooljob
err_no_spooljob
err_no_permission
err_conv_not_possible
err_bad_dstdevice
user_cancelled
err_spoolerror
err_temseerror
err_btcjob_open_failed
err_btcjob_submit_failed
err_btcjob_close_failed
OTHERS
IF sy-subrc NE 0.
*/ Set to incorrectly processed.
CALL METHOD cl_log_ppf=>add_message
EXPORTING
ip_problemclass = '2'
ip_handle = ip_application_log.
ENDIF.
CHECK sy-subrc = 0.
* Convert PDF from 132 to 255, combine everything into a single string.
LOOP AT lt_lines INTO lw_lines.
* Individually replace the space with a '~'.
TRANSLATE lw_lines USING ' ~'.
CONCATENATE lw_buffer lw_lines INTO lw_buffer.
ENDLOOP.
* Replace '~' by space.
TRANSLATE lw_buffer USING '~ '.
DO.
* Putting in the first 255 chars into the variable.
lw_record = lw_buffer.
* Append 255 chars as a record.
APPEND lw_record TO lt_record.
SHIFT lw_buffer LEFT BY 255 PLACES.
IF lw_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
* Object with PDF.
lt_objbin = lt_record.
DESCRIBE TABLE lt_objbin LINES lw_lines_bin.
* Object with main text for the mail.
lw_objtxt = <your text>
append lw_objtxt to lt_objtxt.
DESCRIBE TABLE lt_objtxt LINES lw_lines_txt.
* Document information.
lw_doc_chng-obj_name = 'Smartform'.
lw_doc_chng-expiry_dat = sy-datum + 20.
lw_doc_chng-obj_descr = <your text>.
lw_doc_chng-sensitivty = 'F'
lw_doc_chng-doc_size = lw_lines_txt * 255.
* Pack to main body as RAW
* Obj to be transported not in binary form
CLEAR lw_objpack-transf_bin.
* Start line of object header in transport packet.
lw_objpack-head_start = 1.
* Number of lines and object header in object packet.
lw_objpack-head_num = 0.
* Start line of object contents in an object packet.
lw_objpack-body_start = 1.
* Number of lines of the object contents in an object packet.
lw_objpack-body_num = lw_lines_txt.
* Code for document class.
lw_objpack-doc_type = 'RAW'.
APPEND lw_objpack TO lt_objpack.
* Packing as PDF.
lw_objpack-transf_bin = lc_x.
lw_objpack-head_start = 1.
lw_objpack-head_num = 0.
lw_objpack-body_start = 1.
lw_objpack-body_num = lw_lines_bin.
lw_objpack-doc_type = 'PDF'.
lw_objpack-obj_name = <your text>.
CONCATENATE '<your text>' '.pdf' INTO lw_objpack-obj_descr.
lw_objpack-doc_size = lw_lines_bin * 255.
APPEND lw_objpack TO lt_objpack.
* Document information.
CLEAR lw_reclist.
* Email receivers.
lw_reclist-receiver = <email address>
lw_reclist-express = 'X'.
lw_reclist-rec_type = 'U'. "Internet address.
lw_reclist-com_type ='INT'.
APPEND lw_reclist TO lt_reclist.
* Send mail.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = lw_doc_chng
TABLES
packing_list = lt_objpack
object_header = lw_objhead
contents_txt = lt_objtxt
contents_bin = lt_objbin
receivers = lt_reclist
EXCEPTIONS
too_many_receivers
document_not_sent
document_type_not_exist
operation_no_authorization
parameter_error
x_error
enqueue_error
OTHERS
IF sy-subrc = 0.
COMMIT WORK.
ELSE.
*/ Set to incorrectly processed.
CALL METHOD cl_log_ppf=>add_message
EXPORTING
ip_problemclass = lc_2
ip_handle = ip_application_log.
ENDIF.
4. Trigger action and send PDF attacment as mail. No Spool.
control_parameters-GETOTF = 'X'.
control_parameter-no_dialog = 'X'.
control_parameter-langu = <ur language>.
output_options-tddest = 'LOCL'.
output_option-tdimmed = 'X'.
output_option-tddelete = 'X'.
CALL FUNCTION 'your smartform FM
EXPORTING
control_parameters = lw_ctrl_params
output_options = lw_output_options
user_settings = space "Has to be set to SPACE so it will get parameters from lw_output_options.
et_orderadm_h
et_orderadm_i
et_cancel
et_appointment
et_partner
es_but000
IMPORTING
job_output_info = lw_output "OTF format
EXCEPTIONS
formatting_error
internal_error
send_error
user_canceled
OTHERS
* Get the OTF data.
lt_otf = lw_output-otfdata[].
* Convert OTF format to PDF.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = lw_bin_filesize
TABLES
otf = lt_otf
lines = lt_lines
EXCEPTIONS
err_max_linewidth
err_format
err_conv_not_possible
err_bad_otf
OTHERS
The rest will the similiar to no.3, * Convert PDF from 132 to 255, combine everything into a single string. onwards.
Cheers,
ck. -
VF01- invoice smartform in PDF format to be sent thro' mail
Hello Gurus,
We have a requirement from our client that we need to trigger a mail of invoice smartform in PDF format on saving in VF01.
Can any body suggest the steps in NACE and also output..
RegardsAs per your post, I understood that,
After saving Invoice , automatically Invoice has to send in PDF format to the respective email id maintained in CMR-Payer master
if yes, this involves ABAP & BASIS ,
ABAP- Program & FOrm routine has to created & assigned in respective output type & type-PDF (Check in NACE- Output type)
for this, you need to maintain the Condition record- VV31 - with medium as "Mail" -
or else,
you can do this manually also, in VF31- you can give a print & save in PDF format- you can send it - but its complete manual process. -
Chinese char issue in smartform preview as pdf format
Hi chinese guy!!
please help me with chinese char in smartform preview as pdf format
i created smartform with chinese char and then when executing this smartform by t-code smartforms, it show as simplified chinese char, but when getting JOB_OUTPUT_INFO in order to convert OTF as pdf format, although smartforms performed as pdf format, only chinese char were broken. smartform with english or korean language does not have any issue, only chinese issue now.
i got into r/3 as logon ZH by SAP GUI english version and i used adobe acrobat reader chinese simplifed version. r/3 version is ecc60 unicode system***
please help me,, any chinese guy there?
1. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
2. CONTORL_PARAMETERS-NO_DIALOG = 'X'.
CONTORL_PARAMETERS-GETOTF = 'X'.
OUTPUT_OPTIONS-TDNOPREV = 'X'.
CLEAR JOB_OUTPUT_INFO.
3.
CALL FUNCTION FUNCTION
EXPORTING
CONTROL_PARAMETERS = CONTORL_PARAMETERS
OUTPUT_OPTIONS = OUTPUT_OPTIONS
IMPORTING
JOB_OUTPUT_INFO = JOB_OUTPUT_INFO
TABLES
ITEM = ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4.
OTF_TAB[] = JOB_OUTPUT_INFO-OTFDATA[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = PDF_FSIZE
TABLES
OTF = OTF_TAB
LINES = PDF_TABLE
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.hi,
please see the notes 999712.
thanks -
Conversion of sapscripts/smartforms to PDf format
i want to use the standard program RSTXPDFT4 for converting into pdf format. but i want a way in which the spool number is automatically generated for the current script or smartform opened instead of the manual entry of the spool number by the user.
hi bhaskar,
this sample code may help u to convert smartforms to pdf.
report ztest_smartforms_to_pdf
DATA : FM_NAME TYPE RS38L_FNAM,
IT_VENDOR LIKE TABLE OF ZVENDOR,
IT_MATERIAL LIKE TABLE OF ZMATERIAL,
IT_PO LIKE TABLE OF ZPURCHASEORDER.
DATA: CTRLPARAMS TYPE SSFCTRLOP,
JOBOUTPUT TYPE SSFCRESCL,
TLINES LIKE TABLE OF TLINE,
IT_FILETABLE LIKE TABLE OF FILE_TABLE WITH HEADER LINE,
FNAME TYPE STRING,
RC TYPE I,
BIN_SIZE TYPE I.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSSF_PURCHASEORDER'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME.
CTRLPARAMS-GETOTF = 'X'.
CALL FUNCTION FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = CTRLPARAMS
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = JOBOUTPUT
JOB_OUTPUT_OPTIONS =
TABLES
IT_VENDOR = IT_VENDOR
IT_PO = IT_PO
IT_MATERIAL = IT_MATERIAL.
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 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
IMPORTING
BIN_FILESIZE = BIN_SIZE
TABLES
OTF = JOBOUTPUT-OTFDATA
LINES = TLINES
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 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 METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'ENTER A FILENAME'
DEFAULT_FILENAME = 'REPORT.PDF'
FILE_FILTER = '*.PDF'
INITIAL_DIRECTORY = 'C:\'
CHANGING
FILE_TABLE = IT_FILETABLE[]
RC = RC.
LOOP AT IT_FILETABLE.
FNAME = IT_FILETABLE-FILENAME.
ENDLOOP.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = BIN_SIZE
FILENAME = FNAME
FILETYPE = 'BIN'
TABLES
DATA_TAB = tlines. -
Hi, I have converted different smartforms to pdf format.How to combine pdf?
Hi All,
I have converted different smartforms to pdf format. How to combine all the pdf's into single pdf.
I need all the smartforms to be in single pdf.
Please help me in this regard.
Thanks in advance.Hi Keshu,
Individual pdf should be sent to individual user.
And at last all the pdfs of the smartform should be combined into one.
And admin have the provision to download it .
I mean the requirement is
For example.
For the month of september i will generate Pay Slip to each employee. And each pdf will be send to corresponding employee.
And finally all the pay slips of all the employees will be combined into single PDF and admin will download it and keep it for reference.
So as of now. I have generated individual pdfs and mailed it accordingly.
But how to combine it into one PDF is my question.
Please help me in this regard.
Thanks in advance.
Maybe you are looking for
-
Looking for a Apple developer to help me create an application
Looking for a Apple developer to help me create an application
-
I have an MacBook Air, which keys do i use to connect it to a projector
Which keys do I use to connect my MacBook to a projector
-
FCP 7. Best technique for slow motion
What is the best techique or plugin for effective slow motion? Right-clicking on a clip and adjusting time is not good. I have tried sending to Motion and adjusting the timing there but it softens the image. Is Twixtor the way to go?? Thanks
-
Numbers interferes with Quicken download
I just bought iWork for my Intel iMac. When running Quicken, whenever I try to download checking account or credit card data, Numbers seems to commandeer the data, downloading into a spreadsheet, although I want it to download to Quicken. I have to t
-
Basic Tutorials on VC++
Hi guys I am in college right now and a decent c++ programmer. I have gotten a real fire lit under my ass to learn how to use daq boards and want to pretty much know everything about them. I know this can take a while but i am having trouble fin