‎2006 Dec 20 10:29 AM
can anyone tell me the code for converting a script into the pdf format n then mail it as an attachment??
i am in urgent need of this.
thanking u in anticipation.
regards,
supriya.
‎2006 Dec 20 10:32 AM
chk this one
http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm
plzz refer to this link..it will solve ur problem
Message was edited by:
kishan negi
kishan negi
‎2006 Dec 20 10:32 AM
hi,
Visit this link for SAMple code of SAPSCRIPT to PDF.:
http://www.sapgenie.com/abap/pdf_creation.htm
and check the following weblog for code samples.
/people/sap.user72/blog/2004/11/10/bsphowto-generate-pdf-output-from-a-bsp
chk this one
http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm
some function modules useful would be
CONVERT_OTF
SO_NEW_DOCUMENT_ATT_SEND_API1 to send mails with attachments
plzz refer to this link..it will solve ur problem
Regards
Anver
‎2006 Dec 20 11:06 AM
&----
*& Report ZPAYMENT_PRG
*&
&----
*&
*&SAP-SCRIPT
&----
REPORT ZPAYMENT_PRG_PDF_EMAIL MESSAGE-ID ZMSG NO STANDARD PAGE HEADING.
SAP-SCRIPT SALES ORDER .
DATA: BEGIN OF T_VBAP OCCURS 0,
VBELN TYPE VBAP-VBELN ,
POSNR TYPE VBAP-POSNR ,
ARKTX TYPE VBAP-ARKTX ,
NETPR TYPE VBAP-NETPR ,
NETWR TYPE VBAP-NETWR ,
GEWEI TYPE VBAP-GEWEI ,
VOLUM TYPE VBAP-VOLUM ,
VOLEH TYPE VBAP-VOLEH ,
MATNR TYPE VBAP-MATNR ,
KWMENG TYPE VBAP-KWMENG ,
WAERK LIKE VBAP-WAERK ,
END OF T_VBAP,
BEGIN OF T_VBRP OCCURS 0,
VBELN LIKE VBRP-VBELN,
VGBEL LIKE VBRP-VGBEL,
AUBEL LIKE VBRP-AUBEL ,
BRGEW LIKE VBRP-BRGEW,
END OF T_VBRP,
BEGIN OF T_TVZBT OCCURS 0 ,
ZTERM LIKE TVZBT-ZTERM ,
VTEXT LIKE TVZBT-VTEXT ,
END OF T_TVZBT ,
BEGIN OF T_LIPS OCCURS 0 ,
VBELN TYPE LIPS-VBELN ,
VGBEL LIKE LIPS-VGBEL ,
VGPOS LIKE LIPS-VGPOS ,
END OF T_LIPS ,
BEGIN OF T_LIKP OCCURS 0,
VBELN LIKE LIKP-VBELN,
KUNNR TYPE LIKP-KUNNR ,
BLDAT LIKE LIKP-BLDAT,
LFDAT LIKE LIKP-LFDAT ,
END OF T_LIKP ,
BEGIN OF T_VBKD OCCURS 0,
VBELN LIKE VBAP-VBELN,
ZTERM LIKE VBKD-ZTERM,
INCO1 LIKE VBKD-INCO1,
INCO2 LIKE VBKD-INCO2 ,
BSTDK LIKE VBKD-BSTDK ,
END OF T_VBKD,
BEGIN OF T_VBRK OCCURS 0 ,
VBELN LIKE VBRK-VBELN ,
WAERK LIKE VBRK-WAERK ,
END OF T_VBRK ,
BEGIN OF T_OUTPUT OCCURS 0 ,
VBELN LIKE VBAP-VBELN ,
POSNR LIKE VBAP-POSNR ,
ARKTX LIKE VBAP-ARKTX ,
NETPR LIKE VBAP-NETPR ,
NETWR LIKE VBAP-NETWR ,
GEWEI LIKE VBAP-GEWEI ,
VOLUM LIKE VBAP-VOLUM ,
VOLEH LIKE VBAP-VOLEH ,
MATNR LIKE VBAP-MATNR ,
KWMENG LIKE VBAP-KWMENG ,
VTEXT LIKE TVZBT-VTEXT ,
VGBEL LIKE LIPS-VGBEL,
VGPOS LIKE LIPS-VGPOS ,
AUBEL LIKE VBRP-AUBEL ,
BRGEW LIKE VBRP-BRGEW,
KUNNR LIKE LIKP-KUNNR,
LFDAT LIKE LIKP-LFDAT ,
BLDAT LIKE LIKP-BLDAT,
ZTERM LIKE VBKD-ZTERM,
INCO1 LIKE VBKD-INCO1,
INCO2 LIKE VBKD-INCO2,
BSTDK LIKE VBKD-BSTDK ,
WAERK LIKE VBAP-WAERK ,
END OF T_OUTPUT .
DATA : L_ARKTX LIKE VBAP-ARKTX ,
V_LEN TYPE I ,
VAR1(10) ,
VAR2(10) ,
VAR3(10) .
PARAMETERS: P_VBELN LIKE VBAP-VBELN.
SELECT VBELN POSNR ARKTX WAERK
NETPR NETWR GEWEI VOLUM VOLEH
MATNR KWMENG
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE T_VBAP
WHERE VBELN = P_VBELN .
SELECT VBELN ZTERM INCO1
INCO2 BSTDK
FROM VBKD
INTO CORRESPONDING FIELDS OF TABLE T_VBKD
FOR ALL ENTRIES IN T_VBAP
WHERE VBELN = T_VBAP-VBELN .
SELECT VBELN VGBEL VGPOS
FROM LIPS
INTO CORRESPONDING FIELDS OF TABLE T_LIPS
FOR ALL ENTRIES IN T_VBAP
WHERE VGBEL = T_VBAP-VBELN .
IF NOT T_LIPS[] IS INITIAL .
SELECT VBELN KUNNR BLDAT LFDAT
FROM LIKP
INTO CORRESPONDING FIELDS OF TABLE T_LIKP
FOR ALL ENTRIES IN T_LIPS
WHERE VBELN = T_LIPS-VBELN .
SELECT VBELN AUBEL BRGEW VGBEL
FROM VBRP
INTO CORRESPONDING FIELDS OF TABLE T_VBRP
FOR ALL ENTRIES IN T_LIPS
WHERE VGBEL = T_LIPS-VBELN .
ENDIF .
SELECT VBELN WAERK
FROM VBRK
INTO CORRESPONDING FIELDS OF TABLE T_VBRK
FOR ALL ENTRIES IN T_VBRP
WHERE VBELN = T_VBRP-VBELN .
SELECT ZTERM VTEXT
FROM TVZBT
INTO CORRESPONDING FIELDS OF TABLE T_TVZBT
FOR ALL ENTRIES IN T_VBKD
WHERE ZTERM EQ T_VBKD-ZTERM .
LOOP AT T_VBAP .
T_OUTPUT-VBELN = T_VBAP-VBELN .
T_OUTPUT-WAERK = T_VBAP-WAERK .
T_OUTPUT-POSNR = T_VBAP-POSNR .
T_OUTPUT-ARKTX = T_VBAP-ARKTX .
T_OUTPUT-NETPR = T_VBAP-NETPR .
T_OUTPUT-NETWR = T_VBAP-NETWR .
T_OUTPUT-GEWEI = T_VBAP-GEWEI .
T_OUTPUT-VOLUM = T_VBAP-VOLUM .
T_OUTPUT-VOLEH = T_VBAP-VOLEH .
T_OUTPUT-MATNR = T_VBAP-MATNR .
T_OUTPUT-KWMENG = T_VBAP-KWMENG .
L_ARKTX = T_OUTPUT-ARKTX .
*V_LEN = STRLEN( L_ARKTX ) .
SPLIT L_ARKTX AT SPACE INTO VAR1 VAR2 VAR3 .
READ TABLE T_VBKD WITH KEY VBELN = T_VBAP-VBELN .
IF SY-SUBRC = 0 .
T_OUTPUT-ZTERM = T_VBKD-ZTERM .
T_OUTPUT-INCO1 = T_VBKD-INCO1 .
T_OUTPUT-INCO2 = T_VBKD-INCO2 .
T_OUTPUT-BSTDK = T_VBKD-BSTDK .
ENDIF .
READ TABLE T_LIPS WITH KEY VGBEL = T_VBAP-VBELN .
IF SY-SUBRC = 0 .
T_OUTPUT-VGBEL = T_LIPS-VGBEL .
ENDIF .
READ TABLE T_LIKP WITH KEY VBELN = T_LIPS-VBELN .
IF SY-SUBRC = 0 .
T_OUTPUT-KUNNR = T_LIKP-KUNNR .
T_OUTPUT-BLDAT = T_LIKP-BLDAT .
T_OUTPUT-LFDAT = T_LIKP-LFDAT .
ENDIF .
READ TABLE T_VBRP WITH KEY VGBEL = T_LIPS-VBELN .
IF SY-SUBRC = 0 .
T_OUTPUT-AUBEL = T_VBRP-AUBEL .
T_OUTPUT-BRGEW = T_VBRP-BRGEW .
ENDIF .
READ TABLE T_VBRK WITH KEY VBELN = T_VBRP-VBELN .
IF SY-SUBRC = 0 .
T_OUTPUT-WAERK = T_VBRK-WAERK .
ENDIF .
READ TABLE T_TVZBT WITH KEY ZTERM = T_VBKD-ZTERM .
IF SY-SUBRC = 0 .
T_OUTPUT-VTEXT = T_TVZBT-VTEXT .
ENDIF .
APPEND T_OUTPUT .
ENDLOOP .
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = 'ZPAYMENT1'
LANGUAGE = SY-LANGU.
LOOP AT T_OUTPUT .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ORD'
WINDOW = 'ORDER'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DEL'
WINDOW = 'DELIVER'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'MAIN1'
TYPE = 'BODY'
WINDOW = 'MAIN'.
ENDLOOP .
CALL FUNCTION 'CLOSE_FORM'
.
***************************************************************
TABLES: TST05.
DATA: BEGIN OF ITAB OCCURS 0,
TLINE(255),
END OF ITAB.
DATA: BEGIN OF ITAB2 OCCURS 0,
TLINE(255),
END OF ITAB2.
DATA: BEGIN OF ITAB3 OCCURS 0,
TLINE(255),
END OF ITAB3.
DATA: BEGIN OF OTF_TAB OCCURS 0,
TLINE(255),
END OF OTF_TAB.
DATA: LEN_OUT LIKE SOOD-OBJLEN.
DATA: LEN_IN LIKE SOOD-OBJLEN.
DATA: BEGIN OF DATA_SET OCCURS 200,
DATA_LENGTH(5),
PRECOL(1),
DATA_LINE(1000),
END OF DATA_SET.
DATA: BEGIN OF OTF_PAGE OCCURS 200.
INCLUDE STRUCTURE ITCOO.
DATA: END OF OTF_PAGE,
OTF_PAGES TYPE P,
OTF_MAX_PAGES TYPE P VALUE 10.
DATA: BEGIN OF OTF_CONTROL.
INCLUDE STRUCTURE ITCPP.
DATA: END OF OTF_CONTROL,
FORCE_RAW_OTF VALUE ' ',
L100_EXCLUDE(4) VALUE 'OTFJ',
BEGIN OF OTF_PAGE_INDEX OCCURS 20,
LINE_NUM TYPE P,
END OF OTF_PAGE_INDEX,
CUR_OTF_PAGE VALUE 1.
DATA: DATA_SET_LINECOUNT TYPE P,
DATA_SET_MAX_LINES TYPE P VALUE 100000,
DATA_SET_VALID TYPE C VALUE ' ',
DATA_SET_IS_OTF TYPE C VALUE ' ',
DATA_SET_LENGTH(5) TYPE C,
LINE_SPECIAL LIKE DATA_SET-DATA_LINE,
NEED_LINE_SPECIAL TYPE C,
DSN_TYPE(8) TYPE C.
DATA: FCODE(4) TYPE C,
DATE TYPE D,
TIME TYPE T,
RC(10) TYPE C,
ERRMSG(100) TYPE C,
PRINTJOB_CREATED(1) TYPE C,
PRINTJOB_CLEARED(1) TYPE C,
PRINTJOB_LIST(1) TYPE C,
DISPLAY_MODE(1) TYPE C,
LINE_MAX TYPE P VALUE '100000',
NEW_SCREEN_300(1) TYPE C,
MULTI_PRINT_300(1) TYPE C,
PRINT_ALL_300(1) TYPE C,
PRINT_COUNT_300 TYPE I,
SHOW_USER_100 TYPE C VALUE ' ',
ERROR_DISPLAY_LEVEL TYPE C VALUE '9',
NEXT_ERROR_DISPLAY_LEVEL TYPE C,
PREV_ERROR_DISPLAY_LEVEL TYPE C,
START_300(5) TYPE C, END_300(5) TYPE C,
SEP LIKE SY-VLINE,
DEFAULT_PRI,
TSP01_BUF LIKE TSP01,
TSP01_CURLINE LIKE SY-STARO,
TSP01_CURCOL LIKE SY-CUCOL,
TSP01_CURROW LIKE SY-CUROW.
DATA: BEGIN OF DATA_SET_LINE,
DATA_LENGTH(5),
PRECOL(1),
DATA_LINE(1000),
END OF DATA_SET_LINE.
DATA: STATUS LIKE SY-SUBRC.
DATA: WGF_MESSAGE(80).
DATA: H_PATH(20) TYPE C.
DATA: H_MASK(20) TYPE C VALUE ',.pdf ,.pdf. '.
DATA: FILE_NAME(20).
DATA: FILENAME LIKE RLGRAP-FILENAME.
DATA: IMPORT(132).
PARAMETERS: IDENT(5) TYPE C.
PERFORM GET_OTF_TAB.
LOOP AT OTF_PAGE.
OTF_TAB-TLINE = OTF_PAGE.
APPEND OTF_TAB.
ENDLOOP.
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
FORMAT_SRC = 'OTF'
FORMAT_DST = 'PDF'
DEVTYPE = 'ASCIIPRI'
LEN_IN = LEN_IN
IMPORTING
LEN_OUT = LEN_OUT
TABLES
CONTENT_IN = OTF_TAB
CONTENT_OUT = ITAB2
EXCEPTIONS
ERR_CONV_FAILED = 1
OTHERS = 2.
PERFORM GET_PATH USING 'PDF_FILE'.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = 'C:/PDF.PDF'
FILETYPE = 'BIN'
BIN_FILESIZE = LEN_OUT
TABLES
DATA_TAB = ITAB2
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
&----
*& Form GET_OTF_TAB
&----
FORM GET_OTF_TAB.
DATA: PART(4) VALUE '0001',
BEGIN OF MSG,
A(40),
B(40),
C(40),
END OF MSG.
REFRESH DATA_SET.
DATA_SET_LINECOUNT = 0.
DATA_SET_IS_OTF = ' '.
OTF_PAGES = 0.
REFRESH OTF_PAGE_INDEX.
CALL 'RSPOACSD'.
SELECT * FROM TST05 WHERE DTHREAD = 'X'.
CALL 'RSPOAOSD'
ID 'ID' FIELD IDENT
ID 'TYPE' FIELD TST05-DTYPE
ID 'RECTYP' FIELD 'VYL----'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS = 0.
DSN_TYPE = TST05-DTYPE.
IF DSN_TYPE(3) = 'OTF'.
DATA_SET_IS_OTF = 'X'.
ENDIF.
ENDIF.
IF STATUS <> 24. EXIT. ENDIF.
ENDSELECT.
DATA_SET_VALID = 'X'.
DATA_SET_MAX_LINES = ( LINE_MAX * '1.1' ) + 100.
DO.
CLEAR: DATA_SET_LINE, DATA_SET_LENGTH.
CALL 'RSPOARSD'
ID 'BUFF' FIELD DATA_SET_LINE+5
ID 'DATALEN' FIELD DATA_SET_LENGTH
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS = 36.
WHILE STATUS = 36.
CALL 'RSPOACSD'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
ADD 1 TO PART.
IF DATA_SET_IS_OTF = ' '.
CALL 'RSPOAOSD'
ID 'ID' FIELD IDENT
ID 'TYPE' FIELD DSN_TYPE
ID 'PART' FIELD PART
ID 'RECTYP' FIELD 'VYL----'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
ELSE.
CALL 'RSPOAOSD'
ID 'ID' FIELD IDENT
ID 'PART' FIELD PART
ID 'TYPE' FIELD DSN_TYPE
ID 'RECTYP' FIELD 'VYL----'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
ENDIF.
IF SY-SUBRC NE 0. EXIT. ENDIF.
CLEAR: DATA_SET_LINE, DATA_SET_LENGTH.
CALL 'RSPOARSD'
ID 'BUFF' FIELD DATA_SET_LINE+5
ID 'DATALEN' FIELD DATA_SET_LENGTH
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
ENDWHILE.
ENDIF.
IF STATUS <> 0 AND STATUS <> 40. EXIT. ENDIF.
DATA_SET = DATA_SET_LINE.
IF NOT ( DATA_SET_LENGTH IS INITIAL ).
DATA_SET-DATA_LENGTH = DATA_SET_LENGTH - 1.
ENDIF.
APPEND DATA_SET.
ADD 1 TO DATA_SET_LINECOUNT.
IF DATA_SET_IS_OTF = ' '.
IF DATA_SET_LINECOUNT >= DATA_SET_MAX_LINES.
CLEAR DATA_SET.
APPEND DATA_SET.
MOVE '----
' TO DATA_SET-DATA_LINE.
APPEND DATA_SET.
CLEAR DATA_SET.
APPEND DATA_SET.
WRITE: 'Abbruch nach'(029) TO MSG-A.
WRITE: DATA_SET_MAX_LINES TO MSG-B.
WRITE: 'Zeilen.'(030) TO MSG-C.
CONDENSE MSG.
DATA_SET-DATA_LINE = MSG.
APPEND DATA_SET.
EXIT.
ENDIF.
ELSE.
MOVE DATA_SET_LINE-DATA_LINE TO OTF_PAGE.
APPEND OTF_PAGE.
IF OTF_PAGE(2) = 'EP'.
ADD 1 TO OTF_PAGES.
IF OTF_PAGES >= OTF_MAX_PAGES.
MESSAGE S229(PO) WITH OTF_MAX_PAGES.
EXIT.
ENDIF.
ELSEIF OTF_PAGE(2) = 'OP'.
OTF_PAGE_INDEX-LINE_NUM = DATA_SET_LINECOUNT.
APPEND OTF_PAGE_INDEX.
ENDIF.
ENDIF.
ENDDO.
IF STATUS <> 0 AND STATUS <> 12.
CALL 'RSPOACSD'.
MESSAGE E112(PO) WITH STATUS RC ERRMSG.
ENDIF.
CALL 'RSPOACSD'.
STATUS = SY-SUBRC.
IF STATUS <> 0.
MESSAGE E112(PO) WITH STATUS RC ERRMSG.
ENDIF.
ENDFORM. " GET_OTF_TAB
&----
*& Form GET_PATH
&----
FORM GET_PATH USING P_FILENAME.
CLEAR: H_PATH, FILE_NAME.
FILE_NAME = P_FILENAME.
CALL FUNCTION 'WS_QUERY'
EXPORTING
QUERY = 'CD' "// Current Directory
IMPORTING
RETURN = H_PATH.
CONCATENATE FILE_NAME '.pdf' INTO FILE_NAME.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = FILE_NAME
DEF_PATH = H_PATH
MASK = H_MASK
MODE = 'O'
IMPORTING
FILENAME = FILENAME"dbname
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
ENDFORM. " GET_PATH
****************************************************************
THIS IS THE CODE I AM USING.BUT IT IS NOT GIVING ME AN OUTPUT IN PDF PLEASE HELP.
‎2006 Dec 20 11:11 AM
call function 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
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.
* Fehlerhandling
if sy-subrc <> 0.
*
endif.
perform download_pdf.
form download_pdf.
daTA : p_file LIKE rlgrap-filename VALUE 'C:test.pdf'.
data : file type string.
file = p_file.
data : wf_len_in1 type i.
wf_len_in1 = v_len_in.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = wf_len_in1
FILENAME = file
FILETYPE = 'BIN'
TABLES
DATA_TAB = i_tline.
‎2006 Dec 20 11:09 AM
Hi,
Try this and reward points if it helps.
REPORT zzz_jaytest .
Types Declaration
TYPES : BEGIN OF ty_pa0001,
pernr TYPE pa0001-pernr,
bukrs TYPE pa0001-bukrs,
werks TYPE pa0001-werks,
END OF ty_pa0001.
Internal Table Declaration
DATA : i_pa0001 TYPE STANDARD TABLE OF ty_pa0001, "For pa0001 Details
i_otf TYPE STANDARD TABLE OF itcoo, "For OTF data
i_content_txt TYPE soli_tab, "Content
i_content_bin TYPE solix_tab, "Content
i_objhead TYPE soli_tab,
Work Area Declaration
w_pa0001 TYPE ty_pa0001, "For pa0001 Details
w_res TYPE itcpp, "SAPscript output
"parameters
w_otf TYPE itcoo, "For OTF
w_pdf TYPE solisti1, "For PDF
w_transfer_bin TYPE sx_boolean, "Content
w_options TYPE itcpo, "SAPscript output
"interface
Variable Declaration
v_len_in TYPE so_obj_len,
v_size TYPE i.
Constants Declaration
CONSTANTS : c_x TYPE c VALUE 'X', "X
c_locl(4) TYPE c VALUE 'LOCL', "Local Printer
c_otf TYPE sx_format VALUE 'OTF', "OTF
c_pdf TYPE sx_format VALUE 'PDF', "PDF
c_printer TYPE sx_devtype VALUE 'PRINTER', "PRINTER
c_bin TYPE char10 VALUE 'BIN', "BIN
c_name TYPE string VALUE 'C:\ZZZ_JAYTEST.PDF',"Downloading
"File Name
c_form(11) TYPE c VALUE 'ZZZ_JAYTEST'. "Form Name
START-OF-SELECTION.
Selecting the records from pa0001
SELECT pernr bukrs werks FROM pa0001
INTO TABLE i_pa0001 UP TO 10 ROWS.
Setting the options
w_options-tdcopies = 1 ."Number of copies
w_options-tdnoprev = c_x."No print preview
w_options-tdgetotf = c_x."Return of OTF table
w_options-tddest = c_locl."Spool: Output device
Opening the form
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = c_form
device = c_printer
language = sy-langu
OPTIONS = w_options
IMPORTING
RESULT = w_res.
LOOP AT i_pa0001 INTO w_pa0001.
Writting into the form
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
ENDLOOP.
Closing the form
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = w_res
TABLES
otfdata = i_otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
codepage = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Converting OTF data to single line
LOOP AT i_otf INTO w_otf.
CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
INTO w_pdf.
APPEND w_pdf TO i_content_txt.
ENDLOOP.
Converting to PDF Format
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = c_otf
format_dst = c_pdf
devtype = c_printer
CHANGING
transfer_bin = w_transfer_bin
content_txt = i_content_txt
content_bin = i_content_bin
objhead = i_objhead
len = v_len_in
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
v_size = v_len_in.
Downloading the PDF File
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_size
filename = c_name
filetype = c_bin
TABLES
data_tab = i_content_bin.
‎2006 Dec 20 12:19 PM
i need to convert the script to pdf format n then download it to a particular location n then email it as an attachment.
please help me with this.the previous is not doing it.
‎2006 Dec 21 2:23 PM
As long as your setup has a device type of PDF1 - and a printer with this device type, you simply have to send the output to this printer and the rest will be done for you automatically.
‎2006 Dec 22 11:56 AM
hi,
Create the form in the spool. Take the spool number and use the standard program RSTXPDFT4 to download the script into PDF format onto a particular location. Then you can send the email with this pdf file as an attachment using the FM SO_NEW_DOCUMENT_ATT_SEND_API1.
Check this sample programs .
http://www.erpgenie.com/abap/pdf_creation.htm
http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm
Hope this helps.
Regards,
Richa