Skip to Content
0
Former Member
May 13, 2008 at 04:17 AM

smart Form Download in PDF

924 Views

Hello All ,

I have created one smart form and provided option to download the same in PDF. My Problem is that is downloaded in PDF but at the same time my end user want to see the print preview and take the print from there itself also.

I am using the following code can some one suggest me the what need to do the change after both option will work at the same time.

Please Note I have also made the use of property

SSFCOMPOP-TDNOPREV

But after this also issue not resolve. Some one Please suggest me the how to resolve the issue.

DATA :

WA_FMNM TYPE TDSFNAME, " Smart Forms: Form Name

WA_CNTL TYPE SSFCTRLOP, " FOR PDF PRINT

WA_POP TYPE SSFCOMPOP, " printer name

T_OTF_FROM_FM TYPE SSFCRESCL,

T_PDF_TAB LIKE TLINE OCCURS 0 WITH HEADER LINE,

T_OTF TYPE SSFCRESCL-OTFDATA,

W_BIN_FILESIZE TYPE I, " BINARY FILE SIZE

W_FILE_NAME TYPE STRING,

WA_FNMD TYPE RS38L_FNAM. " Name of Function Module

DATA:

W_FORM_NAME TYPE TDSFNAME,

W_FMODULE TYPE RS38L_FNAM,

W_CPARAM TYPE SSFCTRLOP,

W_OUTOPTIONS TYPE SSFCOMPOP,

W_FILE_PATH TYPE STRING,

W_FULL_PATH TYPE STRING.

  • SMART FORM FUNCTION MODULE

WA_FMNM = TEXT-113.

W_FORM_NAME = TEXT-113.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = WA_FMNM

IMPORTING

FM_NAME = WA_FNMD

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.

  • END FORM

******************************************************************

WA_CNTL-GETOTF = 'X'.

WA_CNTL-NO_DIALOG = 'X'.

WA_CNTL-PREVIEW = SPACE .

WA_POP-TDDEST = 'LP01'.

CALL FUNCTION WA_FNMD

EXPORTING

CONTROL_PARAMETERS = WA_CNTL

OUTPUT_OPTIONS = WA_POP

V_APPLN_OB = V_APPLN_OB

V_KUNNR_OB = V_KUNNR_OB

V_EBELN = V_EBELN

V_CAT_NAME = V_CAT_NAME

V_VAR_NAME = V_VAR_NAME

IMPORTING

JOB_OUTPUT_INFO = T_OTF_FROM_FM

TABLES

T_ZCNC18 = T_ZCNC18

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_OTF_FROM_FM-OTFDATA[].

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

FORMAT = 'PDF'

MAX_LINEWIDTH = 132

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

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_SAVE_DIALOG

EXPORTING

PROMPT_ON_OVERWRITE = 'X'

CHANGING

FILENAME = W_FILE_NAME

PATH = W_FILE_PATH

FULLPATH = W_FULL_PATH

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

NOT_SUPPORTED_BY_GUI = 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 'GUI_DOWNLOAD'

EXPORTING

BIN_FILESIZE = W_BIN_FILESIZE

FILENAME = W_FULL_PATH

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'

TABLES

DATA_TAB = T_PDF_TAB

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.

Regards

Swati Namdev