How to make smartform output into PDF?what r the step and
requirments?
Answer Posted / rajendra rai
You Can get smart form output in PDF format by writing a
executable program with HTML Viewver.
Steps:
1. Create a Screen '100' for your program and create a
Custom Control with name PDF.
2. Data diclaration for HTML Container:
data:g_html_container type ref to cl_gui_custom_container,
g_html_control type ref to cl_giu_htm_viewer,
lv_url type char(255).
DATA : l_job_output_info TYPE ssfcrescl.
DATA : ls_control_param TYPE ssfctrlop.
3. Fill ur data in internal table and call your smart form.
Pass Values to Smartform
CALL FUNCTION '/1BCDWB/SF00000166'
EXPORTING
control_parameters = ls_control_param
e_tpseg_start_date = lv_e_tpseg_start_date
e_tpseg_end_date = lv_e_tpseg_end_date
IMPORTING
job_output_info = l_job_output_info
TABLES
et_trip = lt_trip
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
You will Get data into OTF Format in "l_job_output_info".
3. You have to convert Data in PDF Format so, Call Function
Module 'CONVERT_OTF' and pass "l_job_output_info-otfdata".
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = pdf_fsize
bin_file = p_c_ztr_reports-report_pdf
TABLES
otf = l_job_output_info-otfdata
lines = lt_pdf
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
4 . You can use c_ztr_reports-report_pdf to load PDF Data
into HTML Control by converting Xstring to binary table by
function module 'SCMS_XSTRING_TO_BINARY'.
* Convert xstring to binary table to pass to the LOAD_DATA
*method
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = p_c_ztr_reports-report_pdf
TABLES
binary_tab = lt_data.
You Will Get converted data into a internal table "lt_data".
5. Call Your Screen '100'.
CALL SCREEN 100.
6. In PBO Module of 100 Screen.
7. Create object for HTML Container
Create Object g_html_container
exporting
Container_name = 'PDF' " Name You have mentioned
for Control Conatiner Screen.
8. Pass you defined html container to HTMl Control
Create OBJECT g_htnl_contol
exporting
parent = g_html_container.
9. call intance method load data and pass your converted
table into this method.
* Load the HTML
CALL METHOD g_html_control->load_data(
EXPORTING
type = 'application'
subtype = 'pdf'
IMPORTING
assigned_url = lv_url
CHANGING
data_table = lt_data
EXCEPTIONS
dp_invalid_parameter = 1
dp_error_general = 2
cntl_error = 3
OTHERS = 4 ).
From this Method u will get URL in lv_url.
10. call method to show ur url at Your Screen.
call method g_html_control->show_url( url = lv_url
in_place ='X').
You Will Get your Smartform output in PDF at your screen..
Enjoy!!!!!!!!!!!!!!!
| Is This Answer Correct ? | 9 Yes | 1 No |
Post New Answer View All Answers
How many types of buffering? : abap data dictionary
Can you delete data element, which is being used by table fields?
What are control tables? : abap data dictionary
What is a variable in the sap abap?
Define external layer?
How to upload data using catt ? : abap hr
What are the uses of table pool or table cluster.
What statement will be found in an sap application program that implements a function module exit?
What are field symbols?
how to see the table output?
how do you transport lsmw data from one system to another?
What are different data types in abap/4?
While doing bdc exp va01 transaction sometime in the item level data shows only 4 items and other times it will show 6 line items, how will you maintain this kind of screen resolutions scenerio? : abap bdc
Name some system global variables you can use in abap programs?
What are the different message types available in the abap/4 ?