11-24-2010 2:08 PM
I am using the FM SSFCOMP_PDF_PREVIEW to view the SMART form in PDF format.
After that, I save or print the PDF using the SAVE and PRINT button.
Is it possible to get a predefined file name when I try to save the PDF?
Please note I am using version CRM4.0
11-25-2010 4:38 AM
hai friend,
please look this code other wise go to sap technical ok.
TABLES: VBAP.
*
*TYPES: BEGIN OF TY_VBAP,
VBELN TYPE VBELN_VA,
POSNR TYPE POSNR_VA,
MATNR TYPE MATNR,
*
NETPR TYPE NETPR,
END OF TY_VBAP.
DATA : IT_VBAP TYPE STANDARD TABLE OF VBAP,
WA_VBAP TYPE VBAP,
FM_NAME TYPE RS38L_FNAM.
DATA : W_BIN_FILESIZE TYPE I. " Binary File Size
DATA:
T_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,
Internal table to hold OTF data recd from the SMARTFORM
T_OTF_FROM_FM TYPE SSFCRESCL,
Internal table to hold the data from the FM CONVERT_OTF
T_PDF_TAB LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA : W_CPARAM TYPE SSFCTRLOP,
W_OUTOPTIONS TYPE SSFCOMPOP.
DATA :W_FULL_PATH TYPE STRING.
W_FULL_PATH = 'C:\Documents and Settings\praveenkumars\Desktop\XYZ.PDF'.
if u mainatin any path using this fm f4_filename.
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
SELECT VBELN
POSNR
MATNR
MATKL
NETPR FROM VBAP INTO CORRESPONDING FIELDS OF TABLE IT_VBAP WHERE VBELN IN S_VBELN .
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSMARTFORMS'
VARIANT = ' '
DIRECT_CALL = ' '
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.
W_CPARAM-NO_DIALOG = 'X'.
W_CPARAM-PREVIEW = SPACE. " Suppressing the dialog box
" for print preview
W_CPARAM-GETOTF = 'X'.
Printer name to be used is provided in the export parameter
OUTPUT_OPTIONS
W_OUTOPTIONS-TDDEST = 'LP01'.
CALL FUNCTION FM_NAME
EXPORTING
CONTROL_PARAMETERS = W_CPARAM
OUTPUT_OPTIONS = W_OUTOPTIONS
IMPORTING
JOB_OUTPUT_INFO = T_OTF_FROM_FM
TABLES
IT_VBAP = IT_VBAP
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[].
IF SY-SUBRC EQ 0.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
PDF_USERNAME = ' '
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.
ENDIF.
IF SY-SUBRC EQ 0.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = W_BIN_FILESIZE
FILENAME = W_FULL_PATH
FILETYPE = 'BIN'
TABLES
DATA_TAB = T_PDF_TAB.
ENDIF.
thanks,
anji.