Convert the spool to xls format and email through attachment to the user
Hi all,
When I execute a report in background, I get spool. I need to convert the spool to xls format and email through attachment to the user.The xls file should not be saved on local system.
If I use the Spool Recepient tab in SM37 it mails the spool list as .txt file to the mail receipient. But I need to send it as an .xls file.
Can any one help me on this
Did you get the solution? i have the same problem.
Similar Messages
-
How to convert Smart Form into PDF format and return the result in BAPI?
I want to convert a Smart Form into PDF format and return the result in BAPI.
can anyone tell me how it can be done with related example
regards
pranayhi,
smart form to pdf--
All you have to do is call your SF to get OTF and then concert it to PDF. Works like charm:
DATA: p_output_options TYPE ssfcompop,
p_control_parameters TYPE ssfctrlop.
p_control_parameters-no_dialog = 'X'.
p_control_parameters-getotf = 'X'.
CALL FUNCTION v_func_name "call your smartform
EXPORTING
output_options = p_output_options
control_parameters = p_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
and if u need more u can check below links also
Check the below links..
Re: Smartforms to PDF
Re: smartform (otf) as pdf and sending as email-attachment
VISIT THIS LINK
Re: Smartforms to PDF
PLZ REWARD POINTS IF IT HELPS YOU
rgds
anver -
Need to send my spool in HTML format as Email attachment
Hi All,
Can anyone let me know how to send a HTML attachment in a mail.
I have a ALV Report, when i execute, my report should pick the ALV Report output from spool, and should send a mail with spool output as HTML attachment.
Please explain me how i need to do the above.
Regards
NandaHi Nanda,
You can use 2 reports for this.
In one report just display the ALV..
and in the second report submit this first report to memory and get it html format and then send it as an email.
Just check this code (instead of alv...this is a normal report that is sent as HTML attachment)
*--Tables
TABLES: VBRK.
TYPES DECLARATION *
TYPES: BEGIN OF TY_VBRK,
KUNAG TYPE KUNAG," Payer Id
END OF TY_VBRK,
*-- customer details
BEGIN OF TY_KNA1,
KUNNR TYPE KUNNR," Customer Id
NAME1 TYPE NAME1," Customer Name
ADRNR TYPE ADRNR," Address No
END OF TY_KNA1,
*-- Mailing details
BEGIN OF TY_ADDR,
ADDRNUMBER TYPE AD_ADDRNUM, " Address No
MAIL_ID TYPE AD_SMTPADR, " Email Address
END OF TY_ADDR,
*-- Log details
BEGIN OF TY_MSG,
STR1 TYPE AD_SMTPADR, " Email Address
STR2 TYPE KUNNR, " Payer Id
STR3 TYPE NAME1, " Payer Name
STR4 TYPE D, " Date
STR5 TYPE T, " Time
END OF TY_MSG.
I N T E R N A L T A B L E S *
DATA: RECEPIENTS TYPE TABLE OF AD_SMTPADR, "table for email id's
LISTOBJECT TYPE TABLE OF ABAPLIST, "table with displayed list
HTML TYPE TABLE OF W3HTML, "html container
RETURN TYPE TABLE_OF_STRINGS, "message table
IT_VBRK TYPE TABLE OF TY_VBRK, "Billing Details
IT_KNA1 TYPE TABLE OF TY_KNA1, "Customer Details
IT_ADDR TYPE TABLE OF TY_ADDR, "Mail id
IT_MSG TYPE TABLE OF TY_MSG. "Log Details
*-- Structure Declarations
DATA: WA_REC TYPE AD_SMTPADR,
WA_KNA1 TYPE TY_KNA1,
WA_ADDR TYPE TY_ADDR,
WA_MSG TYPE TY_MSG.
Declarations for Sending mail *
*-- To Create link and add recepients address
DATA: SEND_REQUEST TYPE REF TO CL_BCS.
*-- To Create HTML document
DATA: DOCUMENT TYPE REF TO CL_DOCUMENT_BCS.
*-- To Create Sender Id
DATA: SENDER_ID TYPE REF TO IF_SENDER_BCS.
*-- To Create recepient address
DATA: RECIPIENT TYPE REF TO IF_RECIPIENT_BCS.
*-- To Handle Exceptions
DATA: BCS_EXCEPTION TYPE REF TO CX_BCS.
*-- To check if the mail is sent to all recepients
DATA: SENT_TO_ALL TYPE OS_BOOLEAN.
DATA: CONLENGTHS TYPE SO_OBJ_LEN . "To calculate length of the HTML file
V A R I A B L E S *
DATA: REPORT TYPE PROGRAMM, "Report name
SENDER TYPE AD_SMTPADR, "Sender Address
SUBJECT TYPE SO_OBJ_DES. "Subject
DATA: BCS_MESSAGE TYPE STRING ."String to store exceptions
DATA: V_KUNAG TYPE KUNAG. "Payer Id
DATA: V_MAIL TYPE AD_SMTPADR, "Mail Address
V_DATE TYPE ZZBCDATE. "To Validate Entered Date
S E L C T I O N - S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_ZZBCDA FOR VBRK-ZZBCDAT. "Billing Complete Date
PARAMETERS: P_MAILFT TYPE AD_SMTPADR, "Mail id
P_MAILSC TYPE AD_SMTPADR. "Mail id
SELECTION-SCREEN END OF BLOCK B1.
At Selection Screen *
AT SELECTION-SCREEN.
*-- Validate the dates entered
SELECT ZZBCDAT UP TO 1 ROWS
FROM VBRK
INTO V_DATE
WHERE ZZBCDAT IN S_ZZBCDA.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Dates Not Found In The Given Range'(002).
ENDIF.
S T A R T - O F - S E L E C T I O N *
CONCATENATE SY-UNAME '@YAHOO.COM'(003) INTO SENDER.
*-- Populating the Subject Line
MOVE 'Invoice Due Date Details'(004) TO SUBJECT.
*-- Selecting the Payer Details Based on Input Dates
SELECT KUNAG
FROM VBRK
INTO TABLE IT_VBRK
WHERE ZZBCDAT IN S_ZZBCDA.
*-- Selecting the Address Number from Customer Master
SELECT KUNNR
NAME1
ADRNR
FROM KNA1
INTO TABLE IT_KNA1
FOR ALL ENTRIES IN IT_VBRK
WHERE KUNNR = IT_VBRK-KUNAG.
*-- Selecting the Mail Id's
SELECT ADDRNUMBER
SMTP_ADDR
FROM ADR6
INTO TABLE IT_ADDR
FOR ALL ENTRIES IN IT_KNA1
WHERE ADDRNUMBER = IT_KNA1-ADRNR.
*-- Getting all the selected mail Id's
RECEPIENTS = IT_ADDR[].
MOVE (your first report name) TO REPORT.
IF NOT RECEPIENTS[] IS INITIAL .
LOOP AT IT_KNA1 INTO WA_KNA1.
AT NEW KUNNR.
READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_KNA1-KUNNR
BINARY SEARCH.
REFRESH RECEPIENTS.
*-- Populating the Recepients Mail Id's for the Particular Kunnr
LOOP AT IT_ADDR INTO WA_ADDR WHERE ADDRNUMBER = WA_KNA1-ADRNR.
IF NOT WA_ADDR IS INITIAL.
TRANSLATE WA_ADDR-MAIL_ID TO UPPER CASE.
APPEND WA_ADDR-MAIL_ID TO RECEPIENTS.
ENDIF.
ENDLOOP.
*-- Appending the mail id's from the input fields when not initial
IF NOT P_MAILFT IS INITIAL.
TRANSLATE P_MAILFT TO UPPER CASE.
APPEND P_MAILFT TO RECEPIENTS.
ENDIF.
IF NOT P_MAILSC IS INITIAL.
TRANSLATE P_MAILSC TO UPPER CASE.
APPEND P_MAILSC TO RECEPIENTS.
ENDIF.
*-- Sending the Kunnr while Submitting the Report
V_KUNAG = WA_KNA1-KUNNR.
TRANSLATE REPORT TO UPPER CASE .
*--Submitting the Report Exporting the List to Memory
SUBMIT (REPORT) WITH S_ZZBCDA IN S_ZZBCDA
WITH P_KUNAG = V_KUNAG
EXPORTING LIST TO MEMORY AND RETURN.
CLEAR: LISTOBJECT , HTML .
REFRESH : LISTOBJECT, HTML .
*-- Calling the Fn Module to get the list from the Memory
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
LISTOBJECT = LISTOBJECT.
*-- Calling Fn Module to get the List in HTML Format
CALL FUNCTION 'WWW_HTML_FROM_LISTOBJECT'
EXPORTING
REPORT_NAME = REPORT
TABLES
HTML = HTML
LISTOBJECT = LISTOBJECT.
*-- Getting the Size of the Html Document
DATA: V_LINES TYPE I.
DESCRIBE TABLE HTML LINES V_LINES.
CLEAR CONLENGTHS .
CONLENGTHS = V_LINES * 255.
TRY.
CLEAR SEND_REQUEST .
SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
CLEAR DOCUMENT .
*-- Creating the Document
DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'HTM'
I_TEXT = HTML
I_LENGTH = CONLENGTHS
I_SUBJECT = SUBJECT ).
*-- add document to send request
CALL METHOD SEND_REQUEST->SET_DOCUMENT( DOCUMENT ).
CLEAR SENDER_ID .
*-- Creating the internet address for the sender id.
SENDER_ID = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( SENDER ).
CALL METHOD SEND_REQUEST->SET_SENDER
EXPORTING
I_SENDER = SENDER_ID.
CLEAR WA_REC .
*-- Creating the Recepients address
LOOP AT RECEPIENTS INTO WA_REC .
CLEAR RECIPIENT .
RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS(
WA_REC ).
add recipient with its respective attributes to send request
CALL METHOD SEND_REQUEST->ADD_RECIPIENT
EXPORTING
I_RECIPIENT = RECIPIENT
I_EXPRESS = 'X'.
ENDLOOP .
CALL METHOD SEND_REQUEST->SET_STATUS_ATTRIBUTES
EXPORTING
I_REQUESTED_STATUS = 'E'
I_STATUS_MAIL = 'E'.
CALL METHOD SEND_REQUEST->SET_SEND_IMMEDIATELY( 'X' ).
*-- Sending the Document
CALL METHOD SEND_REQUEST->SEND(
EXPORTING
I_WITH_ERROR_SCREEN = 'X'
RECEIVING
RESULT = SENT_TO_ALL ).
IF SENT_TO_ALL = 'X'.
*-- Getting the details to display the Job Log
LOOP AT RECEPIENTS INTO V_MAIL.
WA_MSG-STR1 = V_MAIL.
WA_MSG-STR2 = WA_KNA1-KUNNR.
WA_MSG-STR3 = WA_KNA1-NAME1.
WA_MSG-STR4 = SY-DATUM.
WA_MSG-STR5 = SY-UZEIT.
APPEND WA_MSG TO IT_MSG.
ENDLOOP.
ELSE.
APPEND 'Mail not sent'(005) TO RETURN.
ENDIF.
COMMIT WORK.
CATCH CX_BCS INTO BCS_EXCEPTION.
BCS_MESSAGE = BCS_EXCEPTION->GET_TEXT( ).
APPEND BCS_MESSAGE TO RETURN .
EXIT.
ENDTRY.
ENDAT.
ENDLOOP.
ELSE .
APPEND 'Specify email address for sending'(006) TO RETURN .
ENDIF .
E N D - O F - S E L E C T I O N *
END-OF-SELECTION.
*-- Displaying the Job Log
FORMAT COLOR 1 INTENSIFIED ON.
WRITE:/ SY-ULINE(121),
(40) 'Mail Sent to'(007),
SY-VLINE,
(12) 'Payer Id'(008),
SY-VLINE,
(35) 'Payer Name'(009),
SY-VLINE,
(10) 'Sent Date'(010),
SY-VLINE,
(10) 'Sent Time'(011),
SY-VLINE,
SY-ULINE(121).
LOOP AT IT_MSG INTO WA_MSG.
FORMAT COLOR 2 INTENSIFIED ON.
WRITE:/ SY-ULINE(121),
(40) WA_MSG-STR1,
SY-VLINE,
(12) WA_MSG-STR2,
SY-VLINE,
(35) WA_MSG-STR3,
SY-VLINE,
(10) WA_MSG-STR4 DD/MM/YYYY,
SY-VLINE,
(10) WA_MSG-STR5 USING EDIT MASK '__:__:__',
SY-VLINE,
SY-ULINE(121).
ENDLOOP. -
Report output as an attachment in.XLS format via email.
Hi all,
When i run my report in back ground, my alv report output is to be sent as an email attachment in excel (.XLS) format. The issue i am facing is that i have around 40 fields in the output and i need to create a Header line with the Field Description in the Excel file. I am using the FM 'SO_DOCUMENT_SEND_API1', and passing the report output in to the table CONTENTS_BIN LIKE SOLISTI1 which is of Char 255. but my report output header is exceeding that length.
Kindly suggest me on how to acheive this.
Regards,
JoseHi Jose,
As for your first question you may place cl_abap_char_utilities=>horizontal_tab between contetaned fields' values. It will place then a tab mark between each two fields, which will be considered by excel as new column.
Using cl_abap_char_utilities=>newline is also correct. I will probably only result in one extra line at the end as after you append your last line to BIN table, also newline will be placed. cl_abap_char_utilities=>lf on the other hand should be placed in front of each line as this denotes Carriage Return so it simply means: "place the cursor at the beginning of each line just before writing this line".
Regards
Marcin -
Report in PDF format and email it to some clients, using Database Trigger
Hi
Is it possible to run a report in PDF format ad email it to some clients after a specific event through Database Trigger. For example whenever a client makes an entry into order entry table (through entry form), a trigger should execute on Orders table, this trigger should execute or generate a PDF formatted report and finally mail it to Sales team?
I have
ORAS 10g(10.1.2.0.2)
utl_mail configured.In Reportsconfig.properties file the http port is 7778,
now the output is like this...
SQL> /
* WELCOME TO EVENT-BASED-REPORTING API *
* API-Version : 9i *
* (C) Oracle Corporation, 2000 - 2002 *
* Debugging turned ON **************************
*** Length of Paramlist : 1
OK : Parameter added : GATEWAY=http://myserver.com:7778/reports/rwservlet
*** Length of Paramlist : 2
OK : Parameter added : SERVER=rep_myserver_oracleas2
*** Length of Paramlist : 3
OK : Parameter added : REPORT=D:\Reports\emp.rdf
*** Length of Paramlist : 4
OK : Parameter added : USERID=abc/xyz@mydb
*** Length of Paramlist : 5
OK : Parameter added : DESTYPE=mail
*** Length of Paramlist : 6
OK : Parameter added : DESFORMAT=PDF
*** Length of Paramlist : 7
OK : Parameter added : [email protected]
Starting run_report: building url
*** Building URL (RUN_REPORT)
OK : URL built :
http://myserver.com:7778/reports/rwservlet?SERVER=rep_myserver_oracleas2&REPO
RT=D%3A%CReports%5Cemp.rdf&USERID=abc%2Fxyz%40mydb&DESTYPE=mail&D
ESFORMAT=PDF&DESNAME=khan.emran84%40gmail.com&statusformat=xml
*** Submitting HTTP Request
*** using URL
:http://myserver.com:7778/reports/rwservlet?SERVER=rep_myserver_oracleas2&REP
ORT=D%3A%5CReports%5Cemp.rdf&USERID=abc%2Fxyz%40mydb&DESTYPE=mail&
DESFORMAT=PDF&DESNAME=khan.emran84%40gmail.com&statusformat=xml
OK : Request submitted - Return stream : <?xml version = '1.0' encoding =
'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
<error code="50159"
component="REP" message="Executed successfully but there were some errors when
distribute the output"/>
<
OK : Request submitted - Length of stream : 229
*** XML-Parsed - Following Structure discovered :
*** Checking elements!
serverQueues ()
*** Checking attributes!
error
*** Checking attributes!
__code = 50159
__component = REP
__message = Executed successfully but there were some errors when distribute the
output
*** Finished Parsing XML
Getting value for element: job
Getting value for element: error
*** Requesting value for Attribute error.component [REP]
Getting value for element: error
*** Requesting value for Attribute error.code [50159]
Getting value for element: error
*** Requesting value for Attribute error.message [Executed successfully but
there were some errors when distribute the output]
REP-50159:Executed successfully but there were some errors when distribute the
output
declare
ERROR at line 1:
ORA-20999:
ORA-06512: at "NRSP.SRW", line 264
ORA-06512: at "NRSP.SRW", line 799
ORA-06512: at line 15 -
Converting String To XML Format and send as attachment
Hi
My requirement is to convert String into XML Format and that XML File i have to send as an attachment
can any one one give solution for this Problem.
Thank you
Venkatesh.Khi,
i m filling the itab first and converting to xml
itab contaning these data
GS_PERSON-CUST_ID = '3'.
GS_PERSON-FIRSTNAME = 'Bill'.
GS_PERSON-LASTNAME = 'Gates'.
APPEND GS_PERSON TO GT_PERSON.
GS_PERSON-CUST_ID = '4'.
GS_PERSON-FIRSTNAME = 'Frodo'.
GS_PERSON-LASTNAME = 'Baggins'.
APPEND GS_PERSON TO GT_PERSON.
after conversion data is coming like that
#<?xml version="1.0" encoding="utf-16"?>
<CUSTOMERS>
<item>
<customer_id>0003</customer_id>
<first_name>Bill</first_name>
<last_name>Gates</last_name>
</item>
<item>
<customer_id>0004</customer_id>
<first_name>Frodo</first_name>
<last_name>Baggins</last_name>
</item>
</CUSTOMERS>
but errors are 1) # is coming at the first
2)for 'encoding="utf-16"?>', it is not coming perfectly, some other data (iso-8859-1) should come here
can anybody plz solve it.
regards,
viki -
Converting record albums to digital format and importing to iTunes
I'm trying to convert record albums to digital format using a USB turntable and import the tracks to iTunes. I have upgraded to the latest versions of software for the turntable and iTunes (10.5), but keep getting a message "unable to export to iTunes." When iTunes opens up, it indicates that it is converting a temp file (e.g., temp6) rather than the individual tracks.
Confession: I did something really dumb that may well have contributed to my problem. The first time I started using the turntable, I recorded the album side; typed in the artist, album, and names of individual tracks; and clicked on the button to begin the export to iTunes. When the iTunes windows opened up, things seemed to be working well. I could see the individual tracks listed as they were being converted. Then, a popup screen came up asking if I wanted to upgrade to the latest version of iTunes (I didn't have the 10.5 version at the time). I temporarily lost control of my body (and mind) and clicked on yes. This halted the conversion in process and I have never been able to get things working again, despite uninstalling and then reinstalling both the turntable software and iTunes software (including iTunes, Quicktime, Apple Software Update, Apple Mobile Device Support, Bonjour, and Apple Application Support).
I would really appreciate some help with this!Do not use the "export to..." feature. Let the conversion program create a file in an iTunes compatible format (such as WAV, AAC, or MP3) and then add that file to iTunes.
-
Convert Screen(spool) to PDF file sending mail with attach file
Hi :
I'd like convert spool list to pdf and sending file...
so, I read thread about spool convert to PDF before,
and know how to convert Spool to PDF file and send mail with attach file.
but I have a problem.
my solution as:
step 1. Call function: "CONVERT_ABAPSPOOLJOB_2_PDF"
step 2. Call function: "SO_NEW_DOCUMENT_ATT_SEND_API1"
then, I got a mail with attached PDF file, but the PDF file display limited 255 line.( SO_NEW_DOCUMENT_ATT_SEND_API1 limited)
I want to showing word is wider that 255.
and then I find a manual method as:
After program finished.
Function Menu -> system -> List -> Send
use Prog: "Create Document and Send"
I use this prog sending mail and attached file ,
PDF file do <b>NOT</b> have 255 word limit !
finally. my question is, If I want sending mail as Prog: "Create Document and Send", how to do?
which Function I have to use?...
Please help me, Thanks!Hi,
Check this sample code of sending spool as attachment to an email address..
Parameters.
PARAMETERS: p_email(50) LOWER CASE.
PARAMETERS: p_spool LIKE tsp01-rqident.
Data declarations.
DATA: plist LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
DATA: document_data LIKE sodocchgi1.
DATA: so_ali LIKE soli OCCURS 100 WITH HEADER LINE.
DATA: real_type LIKE soodk-objtp.
DATA: sp_lang LIKE tst01-dlang.
DATA: line_size TYPE i VALUE 255.
DATA: v_name LIKE soextreci1-receiver.
DATA rec_tab LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
Get the spool data.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = p_spool
first_line = 1
last_line = 0
desired_type = ' '
IMPORTING
real_type = real_type
sp_lang = sp_lang
TABLES
buffer = so_ali
EXCEPTIONS
no_such_job = 1
job_contains_no_data = 2
selection_empty = 3
no_permission = 4
can_not_access = 5
read_error = 6
type_no_match = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE s208(00) WITH 'Error'.
LEAVE LIST-PROCESSING.
ENDIF.
Prepare the data.
plist-transf_bin = 'X'.
plist-head_start = 0.
plist-head_num = 0.
plist-body_start = 0.
plist-body_num = 0.
plist-doc_type = 'RAW'.
plist-obj_descr = 'Test ALV'.
APPEND plist.
plist-transf_bin = 'X'.
plist-head_start = 0.
plist-head_num = 0.
plist-body_start = 1.
DESCRIBE TABLE so_ali LINES plist-body_num.
plist-doc_type = real_type.
Get the size.
READ TABLE so_ali INDEX plist-body_num.
plist-doc_size = ( plist-body_num - 1 ) * line_size
+ STRLEN( so_ali ).
APPEND plist.
Move the receiver address.
MOVE: p_email TO rec_tab-receiver,
'U' TO rec_tab-rec_type.
APPEND rec_tab.
IF NOT sp_lang IS INITIAL.
document_data-obj_langu = sp_lang.
ELSE.
document_data-obj_langu = sy-langu.
ENDIF.
v_name = sy-uname.
Send the email.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = document_data
sender_address = v_name
sender_address_type = 'B'
TABLES
packing_list = plist
contents_bin = so_ali
receivers = rec_tab
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE e208(00) WITH 'Error'.
ENDIF.
COMMIT WORK.
Send the email immediately.
SUBMIT rsconn01
WITH mode = 'INT'
AND RETURN.
Thanks,
Naren -
To Send HTML Format and excel file attachment in same mail
Dear All,
Have requerment ,to send a mail options HTML table format and same data in excel file attachement.have capable to do the html format using methods BCS .but how to send excel format attachment in same mail.
Please guide me how to do it.
Regards ,
Santhu
Edited by: santosh jajur on Apr 9, 2010 1:54 PMSanthosh,
please check the code:
report bcs_example_7.
This report provides an example for sending an Excel
attachment in Unicode Systems
constants:
gc_tab type c value cl_bcs_convert=>gc_tab,
gc_crlf type c value cl_bcs_convert=>gc_crlf.
parameters:
mailto type ad_smtpadr
default 'ur mail id'. "#EC *
data send_request type ref to cl_bcs.
data document type ref to cl_document_bcs.
data recipient type ref to if_recipient_bcs.
data bcs_exception type ref to cx_bcs.
data main_text type bcsy_text.
data binary_content type solix_tab.
data size type so_obj_len.
data sent_to_all type os_boolean.
start-of-selection.
perform create_content.
perform send.
form send.
try.
send_request = cl_bcs=>create_persistent( ).
create document object from internal table with text
append 'Hello world!' to main_text. "#EC NOTEXT
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = main_text
i_subject = 'Test Created By BCS_EXAMPLE_7' ). "#EC NOTEXT
add the spread sheet as attachment to document object
document->add_attachment(
i_attachment_type = 'xls' "#EC NOTEXT
i_attachment_subject = 'ExampleSpreadSheet' "#EC NOTEXT
i_attachment_size = size
i_att_content_hex = binary_content ).
add document object to send request
send_request->set_document( document ).
--------- add recipient (e-mail address) -----------------------
create recipient object
recipient = cl_cam_address_bcs=>create_internet_address( mailto ).
add recipient object to send request
send_request->add_recipient( recipient ).
---------- send document ---------------------------------------
sent_to_all = send_request->send( i_with_error_screen = 'X' ).
commit work.
if sent_to_all is initial.
message i500(sbcoms) with mailto.
else.
message s022(so).
endif.
endtry.
endform. "send
form create_content.
data lv_string type string.
data ls_t100 type t100.
columns are separated by TAB and each line ends with CRLF
concatenate 'This Is Just Example Text!' "#EC NOTEXT
gc_crlf gc_crlf
into lv_string.
header line
concatenate lv_string
'MSGID' gc_tab
'MSGNO' gc_tab
'Language' gc_tab "#EC NOTEXT
'Text' gc_crlf "#EC NOTEXT
into lv_string.
data lines
select * from t100 into ls_t100
where arbgb = 'SO' and msgnr = '182'.
concatenate lv_string
ls_t100-arbgb gc_tab
ls_t100-msgnr gc_tab
ls_t100-sprsl gc_tab
ls_t100-text gc_crlf
into lv_string.
endselect.
select * from t100 into ls_t100
where arbgb = 'SO' and msgnr = '316'.
concatenate lv_string
ls_t100-arbgb gc_tab
ls_t100-msgnr gc_tab
ls_t100-sprsl gc_tab
ls_t100-text gc_crlf
into lv_string.
endselect.
try.
cl_bcs_convert=>string_to_solix(
exporting
iv_string = lv_string
iv_codepage = '4103' "suitable for MS Excel, leave empty
iv_add_bom = 'X' "for other doc types
importing
et_solix = binary_content
ev_size = size ).
catch cx_bcs.
message e445(so).
endtry.
endform. "create_content
Thanks. -
Syncing Blackberry with ACT contacts and Calendar and Email through BES
I have had the hardest time setting up a blackberry for a user. It is the storm or bold 9800
we purchased companionlink and I was able to get the BES configured so it doesn't sync the calendar or contacts just email. On the Companionlink I have had issues were it doesn't sync the calendar or duplicates in the blackberry.
I have talked with support at companionlink and they tell me to select wipe the data on the BB and resync, that process takes forever. So my only option is to wipe everything clean and get one good sync but I can keep doing this for the user everytime.
IS there any troubleshooting methods I can use right now to get rid of the duplicates in the phone?
Or another program worth trying out?There are two options that I know of.
First, you can try bluetooth syncing so you don't have to plug the BB in http://www.blackberry.com/btsc/search.do?cmd=displayKC&docType=kc&externalId=KB04132&sliceId=SAL_Pub...
Second, and the one I use, is the Google Desktop sync. http://www.google.com/support/calendar/bin/answer.py?answer=89955 This will only sync calendar; not contacts. I sync 1-way from my Outlook to Google Calendar then use the normal Google Sync to get it all on my Blackberry. -
Is it possible to do fax and email through adobe?
Hi ,
I would like to know is it possible to implement fax and email functionality through adobe forms like smartforms.
regards,
vijayhi ,
check this link ...
Re: Sending Adobe Interactive Forms via Email
regards ,
prashanti -
Convert smartform spool to 2 pdf and send it by mail
Hi! Can someone show me some code how to call the smartform and use the spool to convert to pdf and then send it by mail?
Thanks in advance,
Regardshai
its very useful for u
Object ID : PTP_TS_FRM_202 *
Description : Print Program For PO Goods Receipt Document *
Developer : Ganesh Shanker Vidyarthi *
Date : 11/06/2006 *
Genentech Contact : *
Functional Contact : *
Purpose : This program is driver program of Goods Receipt*
Printing. *
Program Logic : The Goods Receipt form (Raw material worksheet) *
would be created once we entered the values of
MBLNR MJAHR ZEILE fields on the selection screen.
Modification Log *
Changed On Developer Transport No. Description *
11/06/2006 G.S.Vidyarthi Creation *
REPORT zptpfrm202p_pogr_pr_instr MESSAGE-ID zmm.
TABLES *
Database table made for getting information about PRINTPREVIEW and
PRINT command more than one times
TABLES: zgr_table.
TYPE-POOLS:syscr.
GLOBAL TYPE DECLARATION *
DATA: zdoc_output_info TYPE ssfcrespd, "SF:Return Document Inf.
zjob_output_info TYPE ssfcrescl, "SF:Return value at end of
form printing
i_control TYPE ssfctrlop ,
i_output_options TYPE ssfcompop,
zjob_output_opts TYPE ssfcresop. "SF:Return value at start
of form printing
*This internal table is used for storing Document Segment: Material
DATA: BEGIN OF i_mseg.
INCLUDE STRUCTURE mseg.
DATA: END OF i_mseg.
This internal table is used for storing Header: Material Document
DATA: BEGIN OF i_mkpf.
INCLUDE STRUCTURE mkpf.
DATA: END OF i_mkpf.
*Variables
DATA flag(1) TYPE c.
DATA: vfile TYPE string.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.
PARAMETERS:p_mblnr TYPE mkpf-mblnr OBLIGATORY MATCHCODE OBJECT zganesh,
p_mjahr TYPE mkpf-mjahr OBLIGATORY MATCHCODE OBJECT zganesh1,
p_zeile TYPE mseg-zeile OBLIGATORY MATCHCODE OBJECT zganesh2.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 10.
PARAMETER:r_disp RADIOBUTTON GROUP g1 USER-COMMAND u1 DEFAULT 'X'.
SELECTION-SCREEN:COMMENT 15(10) text-002 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 10.
PARAMETERS: r_down RADIOBUTTON GROUP g1.
SELECTION-SCREEN:COMMENT 15(10) text-003.
*PARAMETERS: v_file LIKE rlgrap-filename .
*SELECTION-SCREEN:COMMENT 70(50) text-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 10.
PARAMETERS: r_print RADIOBUTTON GROUP g1 .
SELECTION-SCREEN:COMMENT 15(10) text-004.
SELECTION-SCREEN END OF LINE.
PARAMETERS: v_file LIKE rlgrap-filename MODIF ID g12.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR v_file.
DATA : wlv_field_name LIKE dynpread-fieldname,
wlv_file_name LIKE ibipparms-path.
wlv_field_name = v_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = wlv_field_name
IMPORTING
file_name = wlv_file_name.
IF sy-subrc EQ 0.
vfile = wlv_file_name.
v_file = wlv_file_name.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'V_FILE'.
IF r_disp EQ 'X' OR r_print EQ 'X'.
screen-input = 0.
ELSE.
screen-input = '1'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
START-OF-SELECTION EVENT *
START-OF-SELECTION.
CALLING CONVERSION FUNCTION MODULE 'CONVERSION_EXIT_ALPHA_INPUT' *
*Conversion function module for appending 00 befor MBLNR FIELD
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_mblnr
IMPORTING
output = p_mblnr.
Call subroutine for fetching data from database
PERFORM get_data.
END-OF-SELECTION EVENT *
END-OF-SELECTION.
Call subroutine for calling and processing smartform
PERFORM call_smartform.
*& Form get_data
Subroutine for fetching data from database
FORM get_data .
Fetching data from MKPF table with using parameters MBLNR and MJAHR
SELECT SINGLE * FROM mkpf
INTO i_mkpf
WHERE mblnr = p_mblnr
AND mjahr = p_mjahr.
IF sy-subrc EQ 0.
Fetching data from MSEG with using parameters MBLNR,ZEILE and MJAHR
SELECT SINGLE * FROM mseg
INTO i_mseg
WHERE mblnr = i_mkpf-mblnr
AND mjahr = i_mkpf-mjahr
AND zeile = p_zeile.
IF sy-subrc NE 0.
CLEAR i_mseg.
ENDIF.
ELSE.
MESSAGE i000.
EXIT.
ENDIF.
ENDFORM. " get_data
*& Form call_smartform
Subroutine for calling smartform
FORM call_smartform .
Local template used in the processing output of smartform
TYPES: BEGIN OF lt_ztable,
mandt TYPE sy-mandt,
mblnr TYPE mseg-mblnr,
flag(1) TYPE c,
END OF lt_ztable.
CONSTANTS: c_x(1) TYPE c VALUE 'X'.
Workarea
DATA: lw_ztable TYPE lt_ztable.
*Variable used in the smartform
DATA: lv_form(30) TYPE c,
lv_fm_name(30) TYPE c.
lv_form = 'ZPTPFRM202L_POGR'.
*Calling function module SSF_FUNCTION_MODULE_NAME which gives new name
*to the function module that will generated by smartform.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lv_form
IMPORTING
fm_name = lv_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.
*Calling function module that will be generated by smartform
IF r_disp = c_x.
i_output_options-tdimmed = space.
i_output_options-tdnewid = c_x.
i_output_options-tddest = 'LOCL'.
i_control-no_dialog = 'X'.
i_control-preview = 'X'.
ELSEIF r_print = c_x.
i_output_options-tdimmed = c_x.
i_output_options-tddest = 'LOCL'.
i_control-no_dialog = c_x.
ELSE.
i_output_options-tdimmed = space.
i_output_options-tdnewid = c_x.
i_output_options-tddest = 'LOCL'.
i_control-getotf = 'X'.
i_control-preview = space.
i_control-no_dialog = c_x.
flag = c_x.
ENDIF.
CALL FUNCTION lv_fm_name
EXPORTING
control_parameters = i_control
output_options = i_output_options
user_settings = space
zmkpf = i_mkpf
zmseg = i_mseg
IMPORTING
document_output_info = zdoc_output_info
job_output_info = zjob_output_info
job_output_options = zjob_output_opts
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.
Modify the database table if it found the print command
IF zjob_output_opts-tdpreview NE c_x.
lw_ztable-mandt = sy-mandt.
lw_ztable-mblnr = p_mblnr.
lw_ztable-flag = c_x.
MODIFY zgr_table FROM lw_ztable.
CLEAR lw_ztable.
ENDIF.
IF flag EQ c_x.
DATA: li_lines LIKE tline OCCURS 100 WITH HEADER LINE.
DATA: lv_file TYPE string,
lbin_fsiz TYPE i.
lv_file = v_file.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = lbin_fsiz
TABLES
otf = zjob_output_info-otfdata
lines = li_lines
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 FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = lbin_fsiz
filename = lv_file
filetype = 'BIN'
TABLES
data_tab = li_lines
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.
ENDIF.
ENDFORM. " call_smartform
**Please reward suitable points***
With Regards
Navin Khedikar -
Problem when converting from spool to XLS file
Hey.
I need to get table data from the spool and send it by mail in an xls file.
so this is what i have done:
I have used the FM 'RSPO_RETURN_ABAP_SPOOLJOB' to get the data table from the spool.
then i am sending the data table in an xls file via the FM 'SO_DOCUMENT_SEND_API1'.
the problem is that the xls file that i am getting through the mail is defected.
All the contents of the spool is located in the first row, first column.
How can i fix it?
Thanks, Barak.After geting the data in a internal table.from spool......refer this report.....
data: p_email type somlreci1-receiver
value 'MAIL ID'.
data: begin of it001 occurs 0,
bukrs type t001-bukrs,
butxt type t001-butxt,
end of it001.
data: imessage type standard table of solisti1 with header line,
iattach type standard table of solisti1 with header line,
ipacking_list like sopcklsti1 occurs 0 with header line,
ireceivers like somlreci1 occurs 0 with header line,
iattachment like solisti1 occurs 0 with header line.
start-of-selection.
select bukrs butxt into table it001 from t001.
Populate table with detaisl to be entered into .xls file
perform build_xls_data .
Populate message body text
clear imessage. refresh imessage.
imessage = 'Please find attached excel file'.
append imessage.
Send file by email as .xls speadsheet
perform send_email_with_xls tables imessage
iattach
using p_email
'Example Excel Attachment'
'XLS'
'TestFileName'
'CompanyCodes'.
Form BUILD_XLS_DATA
form build_xls_data .
constants: con_cret type x value '0D', "OK for non Unicode
con_tab type x value '09'. "OK for non Unicode
*If you have Unicode check active in program attributes thnen you will
*need to declare constants as follows
*class cl_abap_char_utilities definition load.
constants:
con_tab type c value cl_abap_char_utilities=>horizontal_tab,
con_cret type c value cl_abap_char_utilities=>cr_lf.
concatenate 'BUKRS' 'BUTXT'
into iattach separated by con_tab.
concatenate con_cret iattach into iattach.
append iattach.
loop at it001 .
concatenate it001-bukrs it001-butxt
into iattach separated by con_tab.
concatenate con_cret iattach into iattach.
append iattach.
endloop .
endform.
Form SEND_EMAIL_WITH_XLS
form send_email_with_xls tables pit_message
pit_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription.
data: xdocdata like sodocchgi1,
xcnt type i.
Fill the document data.
xdocdata-doc_size = 1.
Populate the subject/generic message attributes
xdocdata-obj_langu = sy-langu .
xdocdata-obj_name = 'SAPRPT' .
xdocdata-obj_descr = p_mtitle .
Fill the document data and get size of attachment
clear xdocdata.
read table iattach index xcnt.
xdocdata-doc_size =
( xcnt - 1 ) * 255 + strlen( iattach ).
xdocdata-obj_langu = sy-langu.
xdocdata-obj_name = 'SAPRPT'.
xdocdata-obj_descr = p_mtitle.
clear iattachment. refresh iattachment.
iattachment[] = pit_attach[].
Describe the body of the message
clear ipacking_list. refresh ipacking_list.
ipacking_list-transf_bin = space.
ipacking_list-head_start = 1.
ipacking_list-head_num = 0.
ipacking_list-body_start = 1.
describe table imessage lines ipacking_list-body_num.
ipacking_list-doc_type = 'RAW'.
append ipacking_list.
Create attachment notification
ipacking_list-transf_bin = 'X'.
ipacking_list-head_start = 1.
ipacking_list-head_num = 1.
ipacking_list-body_start = 1.
describe table iattachment lines ipacking_list-body_num.
ipacking_list-doc_type = p_format.
ipacking_list-obj_descr = p_attdescription.
ipacking_list-obj_name = p_filename.
ipacking_list-doc_size = ipacking_list-body_num * 255.
append ipacking_list.
Add the recipients email address
clear ireceivers. refresh ireceivers.
ireceivers-receiver = p_email.
ireceivers-rec_type = 'U'.
ireceivers-com_type = 'INT'.
ireceivers-notif_del = 'X'.
ireceivers-notif_ndel = 'X'.
append ireceivers.
call function 'SO_DOCUMENT_SEND_API1'
exporting
document_data = xdocdata
put_in_outbox = 'X'
commit_work = 'X'
tables
packing_list = ipacking_list
contents_bin = iattachment
contents_txt = imessage
receivers = ireceivers
exceptions
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
others = 8.
endform.
Reward IF.........
Regards
Anbu -
Statement of Accounts Output to PDF file format and email to customers
Hi,
Would appreciate inputs from contributors on the issues/requirements below.
I have two requirements regarding the output of Customer Statement Of Accounts (form):
1. The output is to be in Adobe PDF file format;
2. The file has to be emailed automatically to customers based on the email address maintained in the Customer Master;
I envisage that the program would be executed online (on demand) or in the background via scheduled jobs. Due to complexity of the customer's requirements, we will be using a customized program to generate the form.
I am not familiar with both requirements. Would appreciate contribution on how to set up the above.
Teck LiangHello,
In FIBF transaction code, you can configure the same
SAMPLE_PROCESS_00002840
If you do not think this is not suffice your requirement, you can take help from ABAPer and create you own function module.
Refer SAP Note. 836169 how payment advice is being emailed.
It will emailed in PDF format.
Once you run F.27 the entries should flow to SOST.
Regards,
Ravi -
HT3775 How can I open AVI video formats and save them in a more user friendly version?
I am trying to open and save videos which are apparently saved in AVI format. I can't seem to be able to do either. Anyone has any idea how? Thanks!
http://perian.org
Still works though no longer supported.
http://support.apple.com/kb/dl923
The "other" version of QuickTime Player.
Maybe you are looking for
-
How to install Windows XP on a new hard drive in desktop computer
Have a Lenovo desktop. I replaced the defective hard drive. Obtained Windows XP installation disks from Lenovo. I received recovery two Recovery CDs, namely Rescue and Recovery CD and Product Recovery CD along with 5 CD Roms ( 1of 5 through 5of 5
-
Setting up a hotspot / isp service need help!
Hello, I came to the forum to seek help from experts in wireless fields and networking as I have an idea I would like to make come true. The problem is I am not 100% sure what equipment I need nor do I have this set up corectly! What I want is to bui
-
Protect a folder but not it's sub folders
Hi. I have a "main" folder that have lots of sub folders. If I'll delete by mistake the "main" folder ( and trash ) , the sub folders will lost ! How can I protect a folder from mistake deletion but not it's sub folders ? Not with a password as it se
-
The autoform in t:panelTabbedPane in tomahawk
I am using <t:panelTabbedPane> <t:panelTabbedPane> <t:panelTab> <h:form id="frm1"> <t:commandButton value="add"/> </h:frm> </t:panelTab> </t:panelTabbedPane> When I load the page I get a javascript error stating that the "elements is null". This is b
-
Need clarification using the selection tool
Hi all, I have some strange (to me) occurrences while using the 'selection tool'... Explanation: I'm using PSE11 on a Win 7 (64) PC. What I want to do is to create a new pic from an existing pic. The existing pic's background is unsuitable for what