cancel
Showing results for 
Search instead for 
Did you mean: 

Smartform to PDF Conversion

Former Member
0 Kudos
58

Hi ,

I want to convert Purchase order smartform output to PDF.

Can anyone send me example program on that.

Priya.

Accepted Solutions (1)

Accepted Solutions (1)

ashok_kumar24
Contributor
0 Kudos

Hi Priya,

Check out the following documentation and example program and help links

s_control_parameters-no_dialog = 'X'.

s_control_parameters-getotf = 'X'.

CALL FUNCTION v_func_name "call your smartform

EXPORTING

output_options = s_output_options

control_parameters = s_control_parameters

IMPORTING

job_output_info = s_job_output_info

call function 'CONVERT_OTF_2_PDF'

tables

otf = s_job_output_info-otfdata

lines = t_pdf

here is the example for SAMRTFORM TO PDF.

http://www.sap4.com/wiki/index.php/Genera_PDF_a_partir_de_Smartforms

Example Program

data:

fm_name TYPE RS38L_FNAM, "Smart Forms: FM Name

sf_name TYPE TDSFNAME

value 'YOUR_FORM_NAME', "Smart Forms: Form Name

P_OUTPUT_OPTIONS TYPE SSFCOMPOP,

P_JOB_OUTPUT_INFO TYPE SSFCRESCL,

P_CONTROL_PARAMETERS TYPE SSFCTRLOP,

P_LANGUAGE TYPE SFLANGU value 'E',

P_E_DEVTYPE TYPE RSPOPTYPE.

data:

P_BIN_FILESIZE TYPE I,

P_BIN_FILE TYPE XSTRING,

P_OTF type table of ITCOO,

P_DOCS type table of DOCS,

P_LINES type table of TLINE,

name type string,

path type string,

fullpath type string,

filter type string,

guiobj type ref to cl_gui_frontend_services,

uact type i,

filename(128).

*"----


GET SMARTFORM FUNCTION MODULE NAME ---

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = sf_name

IMPORTING

FM_NAME = fm_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.

CALL FUNCTION 'SSF_GET_DEVICE_TYPE'

EXPORTING

I_LANGUAGE = P_LANGUAGE

I_APPLICATION = 'SAPDEFAULT'

IMPORTING

E_DEVTYPE = P_E_DEVTYPE.

P_OUTPUT_OPTIONS-XSFCMODE = 'X'.

P_OUTPUT_OPTIONS-XSF = SPACE.

P_OUTPUT_OPTIONS-XDFCMODE = 'X'.

P_OUTPUT_OPTIONS-XDF = SPACE.

P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.

P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.

P_CONTROL_PARAMETERS-GETOTF = 'X'.

****...................................PRINTING.........................

CALL FUNCTION fm_name

EXPORTING

CONTROL_PARAMETERS = P_CONTROL_PARAMETERS

OUTPUT_OPTIONS = P_OUTPUT_OPTIONS

  • (....) <--- your form import parameters

IMPORTING

JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA.

****...................................CONVERT TO PDF...............

CALL FUNCTION 'CONVERT_OTF_2_PDF'

IMPORTING

BIN_FILESIZE = P_BIN_FILESIZE

TABLES

OTF = P_OTF

DOCTAB_ARCHIVE = P_DOCS

LINES = P_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.

concatenate 'xxxx' '.pdf' into name.

****..................................REQUEST FILE NAME.................

create object guiobj.

call method guiobj->file_save_dialog

EXPORTING

default_extension = 'pdf'

default_file_name = name

file_filter = filter

CHANGING

filename = name

path = path

fullpath = fullpath

user_action = uact.

if uact = guiobj->action_cancel.

exit.

endif.

move fullpath to filename.

****..................................DOWNLOAD AS FILE................

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

BIN_FILESIZE = P_BIN_FILESIZE

FILENAME = filename

FILETYPE = 'BIN'

TABLES

DATA_TAB = P_LINES

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.

Thanks

Kumar

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Priya,

Check this.

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/convertSmartformtoPDFformat&

Reward if useful.

Thanks

Aneesh.