Desktop Office Integration and Email
Dear Colleagues:
I have developed a Desktop Office Integration application that retrieves WORD documents from a BDS Content Server, customizes the document with BP data, emails the document to the BP as an attachment, and associates the document with the BP (Document tab). It works well.
I am now trying to figure out how to process the document and use the text as the body of an email message instead of an attachment - I cannot assume that all email recipients use MS Word.
I have tried several FMs that convert raw data to either strings or RTF format but, inspite of my efforts, I get conversion errors.
If anyone has tried something similar I would appreciate any advice.
Regards,
Steve
hi.
i dont know if this will be useful to you. because i did not not understand your exact requirement. are you using OAOR tr code?
You mean to say you want to a word document which was uploaded through bds document navigator.
The code given below actually searches for a string and replaces all occurences of it with a new string..
IF old_search_string ne search.
get number of document characters.
GET PROPERTY OF document_cntl_handle-obj
'characters' = ocharacters.
GET PROPERTY OF ocharacters 'count' = char_count.
char_position = 0.
old_search_string = search.
ENDIF.
set range now
IF char_position >= char_count.
char_position = 0.
ENDIF.
CALL METHOD OF document_cntl_handle-obj 'Range' = orange
EXPORTING #1 = char_position #2 = char_count.
search now
GET PROPERTY OF orange 'Find' = ofind.
IF not replace is initial.
DATA: is_available type i.
CALL METHOD proxy->has_wordprocessor_interface
IMPORTING is_available = is_available
retcode = retcode.
IF is_available = 1 .
CALL METHOD proxy->get_wordprocessor_interface
IMPORTING wp_interface = wp_ref
retcode = retcode.
IF RETCODE EQ C_OI_ERRORS=>RET_OK.
CALL METHOD wp_ref->replace
EXPORTING replace_string = replace
search_string = search
pos = 'GLOBAL'
flag = 'ALL'.
ENDIF.
ENDIF.
ELSE.
*search
CALL METHOD OF ofind 'Execute'
EXPORTING #1 = search "FindText
#2 = false "MatchCase
#3 = false "MatchWholeWord
#4 = false "MatchWildCards
#5 = false "MatchSoundsLike
#6 = true "MatchAllWordForms
#7 = true "Forward
#8 = '1' "Wrap
#9 = true.
GET PROPERTY OF ofind 'Found' = string_found.
IF string_found > 0.
GET PROPERTY OF orange 'Font' = ofont.
GET PROPERTY OF ofont 'ColorIndex' = color_index.
IF color_index ne 6.
color_index = 6.
ELSE.
color_index = 11.
ENDIF.
SET PROPERTY OF ofont 'ColorIndex' = color_index.
ENDIF.
GET PROPERTY OF orange 'End' = char_position.
ENDIF.
Similar Messages
-
Need help with Desktop Office Integration (DOI)
Hi all,
i need help to read an Excelsheet into an int. table.
Its the first time, that i use the SAP DOI. I copy different coding into my Report to get connection to an existing Excelsheet.
Here is my Coding:
* first get the SAP DOI i_oi_container_control interface
CALL METHOD c_oi_container_control_creator=>get_container_control
IMPORTING control = gr_control
error = gr_errors.
APPEND gr_errors.
* create a control container as defined in dynpro 100
CREATE OBJECT gr_container
EXPORTING container_name = 'CONTAINER'.
* initialize the SAP DOI Container, tell it to run in the container
* specified above and tell it to run Excel in-place
CALL METHOD gr_control->init_control
EXPORTING
r3_application_name = 'Data'
inplace_enabled = ' '
inplace_scroll_documents = 'X'
parent = gr_container
register_on_close_event = 'X'
register_on_custom_event = 'X'
no_flush = 'X'
IMPORTING
error = gr_errors.
* save error object in collection
APPEND gr_errors.
* ask the SAP DOI container for a i_oi_document_proxy for Excel
CALL METHOD gr_control->get_document_proxy
EXPORTING document_type = 'Excel.Sheet'
* EXPORTING document_type = 'Word.Document'
no_flush = 'X'
* REGISTER_CONTAINER = 'X'
IMPORTING document_proxy = gr_document
error = gr_errors.
APPEND gr_errors.
Then i open the Document from lokal PC.
CALL METHOD gr_document->open_document
EXPORTING
* document_title = ld_filenc
document_url = ld_verzc
* NO_FLUSH = ' '
* OPEN_INPLACE = ' '
* open_readonly = ' '
* PROTECT_DOCUMENT = ' '
* STARTUP_MACRO = ''
* USER_INFO =
* ONSAVE_MACRO =
IMPORTING
error = gr_errors
* RETCODE =
APPEND gr_errors.
Now i start the spreadsheet interface:
*...check if our document proxy can serve a spreadsheet interface data:
DATA: pd_has TYPE i.
CALL METHOD gr_document->has_spreadsheet_interface
EXPORTING no_flush = 'X'
IMPORTING is_available = pd_has
error = gr_errors.
APPEND gr_errors.
CALL METHOD gr_document->get_spreadsheet_interface
EXPORTING no_flush = ' '
IMPORTING
sheet_interface = gr_spreadsheet
error = gr_errors.
APPEND gr_errors.
* now loop through error collection because
* Get_spreadsheet_interface flushed and synchronized
* the automation queue !
LOOP AT gr_errors.
CALL METHOD gr_errors->raise_message
EXPORTING type = 'I'
EXCEPTIONS message_raised = 1
OTHERS = 2.
IF sy-subrc = 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
pd_kz_fehler = 'X'.
EXIT.
ENDIF.
ENDLOOP.
FREE gr_errors.
Ok, now i can open a Excelsheet, and i can mark a range in the sheet
rows is a constant.
CALL METHOD gr_spreadsheet->set_selection
EXPORTING
left = 1
top = 2
rows = rows
columns = 18
* NO_FLUSH = ' '
* UPDATING = -1
IMPORTING
error = gr_errors
* RETCODE =
my first problem: Excel is really open, and the user can see the sheet. I dont want, that excel is visible...is there a way to start excel in no_visible mode?
second problem: The sheet have makro aktiv...at start from excel, there is a popup, which ask 'makros activate' oder not activate... i dont want this popup... is there a way, to say it from abap, that makros always active?
third problem: i see, that the content Table have this components:
TYPES: BEGIN OF SOI_GENERIC_ITEM,
ROW(4) TYPE C,
COLUMN(4) TYPE C,
VALUE(256) TYPE C,
END OF SOI_GENERIC_ITEM.
But my excelsheet have more then 10000 lines....
forth (and biggest) problem: i need the selected data into an int. tabelle. The table have the components:
ROW
COL
VALUE
i dont know, how can i do this...
please help me
Sorry for my bad english.
Greetings
MarkusHi,
May be this link is useful
/people/thomas.jung3/blog/2005/05/11/using-classic-activex-controls-in-the-abap-control-framework
Also Check out report SAPRDEMOEXCELINTEGRATION2.
check the links
http://www.esnips.com/doc/741a848e-f49a-4436-bec4-e21950f6c94c/desktop-office-integration.pdf
http://www.esnips.com/doc/2080a9ec-64f9-49c4-bd03-d9f56bc2437c/MSWord--Excel-with-ABAP.pdf
Regards,
Raj. -
Desktop Office Integration - How to use Weblinks for Images in linkserver?
Hello experts,
I want to add an image from the internet (e.g. Link: www.images.de/image.jpeg) to the linkserver in order to paste it in my word document. As I know it should be possible to do so with the link server. I tried it before with business documents "BDS" and it works fine. But in my opinion this place is not the best place to store pictures. So I want to use the pictures, which are currently stored in our portal and are available via weblink.
So, actually, I have to give the information about the link to the link server method "add_binary_item", but with something like that "http://www......" it doesnt work! Do I have to enter a prefix or something like this???
I hope someone could help me with that issue.
THanks and regards,
marcusHello,
I did it and it works fine!
But I had to use the BDS Business Document Service with Class cl_bds_document_set.
So I used the method "get_with_url" to get the url from the document/picture.
After that I cann add a binary item with the URL and it works fine if my pictures are stored in BDS.
But that is not what I want to do. I want to store the pictures in my mime repository for example. Are there any other possibilities to do that? Or is Desktop Office Integrations supporting just documents/pictures which are stored in BDS???
Regards, Marcus
Edited...........................................................
In best case I am able to user internet urls for the pictures. So "http://www.xcxy.de/picture.jpeg", but with this URL information it doesn´t work!
So, my question is if I have to add a prefix or something like this in order to use weblinks.
Edited by: Marcus Findeisen on Apr 19, 2011 9:16 AM -
Desktop Office Integration in SAP GUI for HTML - dont works?
Hello all,
my program reads an Excel-File with multiple Worksheets into SAP by using class:
CL_GUI_CUSTOM_CONTAINER
and intefaces:
I_OI_CONTAINER_CONTROL,
I_OI_DOCUMENT_PROXY AND
I_OI_SPREADSHEET.
All works fine, but when I integrated the SAP Transaction into our Portal and using the Program through the WEBGUI it dont works.
It looks like that he can't create a container Control, to open the File in Background in Excel.
I worked with Desktop Office Integration to read all Worksheets into SAP, like here:
http://abap-explorer.blogspot.com/2008/12/upload-data-from-multiple-worksheets-of.html
Is there any solution to solve my problem?
it returns me this message
"Cannot initialize control"
It seems that the error comes from this Method in Webgui:
Data iref_document type ref to i_oi_document_proxy.
call method iref_document->open_document
exporting
document_title = 'Excel'
document_url = v_document_url
open_inplace = 'X'
importing
error = iref_error.
if iref_error->has_failed = 'X'.
call method iref_error->raise_message
exporting
type = 'I'.
leave list-processing.
exit.
endif.
I hope someone can help me.
Thanks.
EDIT:
Today I tested the ABAP Report SAPRDEMOOFFICEINTEGRATION in our webgui
it returns me this error:
In dem Programm "C_OI_CONTAINER_CONTROL_CREATORCP" wurde durch eine
RAISE-Anweisung die Exception
(Ausnahmebedingung) "JAVABEANNOTSUPPORTED" ausgelöst.
Da die Exception nicht durch ein in der Aufrufhierarchie
Auslösestelle des Laufzeitfehlers
Programm C_OI_CONTAINER_CONTROL_CREATORCP
Include OFFICEINTEGRATIONDCCIMP
Zeile 70
Modultyp (METHOD)
Modulname I_OI_CONTAINER_CONTROL~INIT_CONTROL
Edited by: Sascha Baumann on Jul 15, 2009 9:18 AM
Edited by: Sascha Baumann on Jul 16, 2009 8:04 AMHi Sascha,
I have the same issue as yours.
Did you find a way to open your excel file in the WebGui?
Regards, -
Desktop Office Integration in ITS
I'm in a situation where I need to use "Desktop Office Integration" (DOI) in the ITS. But DOI is only supported in WinGUI. So I'm looking for a workaround.
My case is that I'm using the LinkServer in DMS, so that some metadata is linked direct from the Word document and updated whenever the user opens the document.
The LinkServer is available as a part of WinGUI and the ITS doesn't contain a workaround.
Am I the only one banging ny head on the wall in this issue?Hello,
The final solution was to create an RFC server application in .NET that receives the office document, saves it to disk, opens the document with the relevant Office application through automation. And also updates the fields in the document. Saved the document to disk again and sendt it back to SAP.
Br,
Thomas Mouritsen -
SAP Desktop Office Integration - Want to place an image in word
Hello experts!
I´m faced with an issue using the desktop office integration. I´ve a program which generates a word document and fills out some tables with information from the SAP system. Now I have to place an image as well. The image depends on the users input parameters. So it is not possible to place the image in the template.
After a short research I found the possibility to do it via using the link server. Or do you think there is a better alternative???
My problem is that I don´t know how to use and implement it. I did it with the guide BCCIOFFI, but it doesnt work fine.
Actually, I didnt understand the exact benefit of the link server possibility.
I have a defined place in the word document and the requirement is to place the image there. The image comes from the SAP system.
I hope that you can help me to solve the problem.
Best Regards,
MarcusHello,
I did it and it works fine!
But I had to use the BDS Business Document Service with Class cl_bds_document_set.
So I used the method "get_with_url" to get the url from the document/picture.
After that I cann add a binary item with the URL and it works fine if my pictures are stored in BDS.
But that is not what I want to do. I want to store the pictures in my mime repository for example. Are there any other possibilities to do that? Or is Desktop Office Integrations supporting just documents/pictures which are stored in BDS???
Regards, Marcus
Edited...........................................................
In best case I am able to user internet urls for the pictures. So "http://www.xcxy.de/picture.jpeg", but with this URL information it doesn´t work!
So, my question is if I have to add a prefix or something like this in order to use weblinks.
Edited by: Marcus Findeisen on Apr 19, 2011 9:16 AM -
Office Integration and non-MS browsers
I have an 'issue' with Office Integration and non-MS browsers with our SharePoint 2013 on-prem enviroment (using SSO via ADFS).
Background: our internal client wants to move to SharePoint sites for collaboration with external partners. One of the selling points they're wanting to make to justify the move from their current
external collaboration site is Office integration - specifically the ability to open/edit/save documents by clicking on the document in SharePoint, having it open in Office (PC/client) for editing. Note they are wanting full integration with the client
version of Office - not OWA. The other requirement is that this work with both Firefox and Chrome.
Issue: Office integration works fine using Internet Explorer. When a user click on a document the document opens in Office and can be edited directly in the browser without any additional prompts.
But when clicking on a document via Firefox or Chrome the SSO login form pops-up when Office starts. Once the user enters their credentials they can work with the documents as desired. But our client does not want this second prompt.
Question:
Is there a way to configure SharePoint so that Firefox or Chrome open up documents for editing without a second logon prompt? I'm assuming not based on my research on how these browsers handle
cookies differently than IE. Can someone confirm?
Is there a dev solution to this? Note that because the users will be partners (non-employees) we are trying to avoid using a solution that would involve installing custom software on their pc's
(such as browser extensions).Unfortunately you are looking at a plugin or having the users modify their browsers:
http://yalla.itgroove.net/2011/12/firefox-friday-3-sharepoint-login-prompts-on-firefox/
http://www.rhyous.com/2009/12/31/why-does-firefox-prompt-for-domain-ad-authentication-or-how-to-get-firefox-to-automatically-login-to-web-sites-with-domain-credentials-sharepoint-for-example/
Brandon Atkinson
Blog: http://sharepointbrandon.com -
Desktop Office Integration Form Interface
Hi,
I am new to Office integration. I had a look at the standard demo program 'SAPRDEMO_FORM_INTERFACE' and started creating my own program. I designed a word template with just 2 fields in it as below, I am using Legacy Form toolbar from the Developer tab of Word document.
Name: []
Town: []
I am using set data and Get date methods for this. But my problem is, it is not recognising the field names. The value is not getting populated when i pass value for name and town as,
FIELD table structure:
Type : T
Name : Name
Number: 1
Value : Mickey
code : 0.
But the data is not set in the word document. Could you please let me know what i am missing and also how to insert field name and fields in word document.
Thanks in advance,
Sri
Edited by: Arunsri on Oct 11, 2011 2:11 PMMessage I got from from SAP - "Have you checked the program "SAPRDEMO_PIVOTINTERFACE" you can execute the same with Transaction SE38. This uses the pivot interface.
Also for your information we have many DEMO Programs under the Package SOFFICEINTEGRATION, you can have a look to these for better understanding with the SAP Office Integration."
This has helped me solve my problem. Incidentally the brilliant routine DYN_ANALYSE_SINGLE has 1 bug. It has reused a variable "DATA : N_COMPS TYPE I." before checking a recursion and hence corrupted the same. Possibly the example does not traverse that part of the code and hence bug is undetected.
I and my end users are delighted!
-jnc -
Desktop office integration : Creating and filling tables in a word document
Hi all,
I want to create a table in a word document and then fill it with data. The word processor interface has only 'insert_table' methods which can download the data in an ABAP internal table to an already
existing table in a word document, but in my case I also want to create the word table, titles etc. in the word document. Has someone experience with such kind of a requirement or have someone an example for it?
Kind Regards,
SükrüHi,
May this one will help you.
CREATE OBJECT wordapp 'Word.Application'.
CALL METHOD OF wordapp 'Documents' = documents.
CALL METHOD OF documents 'Add' = thisdoc.
CALL METHOD OF thisdoc 'Activate'.
GET PROPERTY OF wordapp 'Selection' = selection.
SET PROPERTY OF wordapp 'Visible' = 1.
CALL METHOD OF selection 'TypeParagraph'.
CALL METHOD OF selection 'TypeText'
EXPORTING #1 = 'New Document'.
GET PROPERTY OF wordapp 'Tables' = tables.
CALL METHOD OF tables 'Add' = thistable.
SET PROPERTY OF thistable 'NumRows' = 2.
SET PROPERTY OF thistable 'NumColumns' = 2.
or you can check
CALL METHOD OF wordobj 'TABLEINSERTTABLE'
EXPORTING
#01 = 2
#02 = 3.
aRs -
Office 2013 and Email sync with Hotel Sales Pro
I recently upgraded to a Windows 8 and Office 2013. I cannot find the right security settings to allow Hotel Sales to sync my e-mail in Outlook 2013.
Hi,
Which account type are you using? POP3, IMAP or Exchange? What does 'Hotel Sales' refer to?
Please come back and provide more information about this problem so that we can resolve it more efficiently.
Meanwhile, please try to create a new mail profile in Control Panel and set up your email account in the new profile to check if it helps. see:
http://support.microsoft.com/kb/829918/en-us
Best Regards,
Steve Fan
TechNet Community Support -
Desktop office integration using OLE
Hi
I am using a desktop application(word pad) in my abap program using ole. But the buttons of the wordpad are not working
since the standard interface is not set. The error message showing STANDARD INTERFACE NOT AVAILABLE. Can you help me please.
Useful answers will be awarded full points.
Regards
Nikhil
Edited by: nikhil vinay on May 4, 2010 2:02 PMis 1.6 MB the smallest size you can generate, did you remove every optional tag?
XLSX format is a compressed XML format valid since office 2007. Maybe you can try to generate it? (I don't exactly know which ZIP algorithm it requires, SAP can compress using the ZLIB Compression Library)
You may also attach a Windows server to SAP via RFC. You should create an RFC server. You may have a look at this [sdn article - Communication to Presentation Server in Background Mode|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/9831750a-0801-0010-1d9e-f8c64efb2bd2] for some clues about running an RFC server. I guess you could use a VB script on the server.
For sending emails, this is a separate question, you may have a look at wiki: sending mails - home page. -
Desktop Manager 5 and Email Forwarding
Ever since I installed Desktop Manager 5 I haven't been able to figure out how to stop emails from being forwarded to my BB while connected to my PC. I no longer seem to be using Redirector as I was under 4.7. What I am I missing?
I was able to find a solution to this problem. Follow the steps in modifying your installation with KB11162 and choose Work/Exchange/BES email settings. This will install the BlackBerry Redirector application which you will find by clicking on Start > Programs > Blackberry > Blackberry Desktop Redirector.
Hope this helps! -
Hello !
I have written a test program in ABAP that allows to search a MS WORD document in B.D.S., modify some fields (TOWN, for instance) and save the result on an office server using D.O.I..
It works if I execute it in direct processing.
But when I try to execute it in background, the first method called (c_oi_factory_creator=>get_document_factory) results in an error.
The question is : is it impossible to run the D.O.I. mrthods in a backgroung way or is there a mean to do it that I obviously ignore ?
thank you in advance.
Best regards.
Thierry.Hi,
Try with save_document_to_url
For more information on this , check this help <a href="http://help.sap.com/saphelp_erp2005vp/helpdata/en/e9/0be775408e11d1893b0000e8323c4f/frameset.htm">http://help.sap.com/saphelp_erp2005vp/helpdata/en/e9/0be775408e11d1893b0000e8323c4f/frameset.htm</a>
<a href="http://www.erpgenie.com/abap/code/abap21.htm">Sample program</a>
Regards,
Raghav -
Desktop Office Integration - Mail merge interface
Dear Experts,
I tried to search for mail merge interface in forums, could not find any.
Anybody please help in implementing the interface. If you have any sample code, please provide me.
Thank you in advance,
Regards
JagadishHello Nisha,
I have found that solution two days ago, and I am now using it, however I still have some problems with the OLE 'Save' method, I am using 'SaveAs' as an alternative solution.
My objective is:
1. Open an existing Excel document to make some changes on the main sheet;
2. Copy the main sheet to two new sheets;
3. Work on the two new sheets;
4. Insert a final sheet;
5. Save the document.
What I could do so far:
1. Open an existing Excel document (Xls1), with DOI, and change the main sheet;
1.1 Save the document with another name (Xls2), using DOI 'Save_As' method, followed by 'close_document' and 'release_document';
2. Open this last document again (Xls2) with OLE, and copy the main sheet to two new sheets;
2.1 Save the document with another name (Xls3), using OLE 'SaveAs'; ('Save' does not save the document!)
3. Open this last document (Xls3) with DOI, and work on the two new sheets;
4. Insert a final sheet;
5. Save the document (Xls3) with DOI method 'Save_document_to_url' and exit.
In the end I have one more file than I needed, but it's the possible solution for now.
Do you have any idea why the OLE 'Save' does not work after closing a document with DOI?
Thanks in advance. -
Export data to excel using DOI(desktop Office integration) technique
Hi Experts,
I have the requirement to export data to excel file, I have some idea using OLE but no idea of exporting to excel using DOI, Please help me by providing sample code for it.
My requirement also include merging of cells and coloring of cells.
Thanks
RohitFor merging of cells you can refer following code!
[Merging of cells.|https://www.sdn.sap.com/irj/scn/wiki?path=/display/community/oleconceptfordownloadingthereportoutputintoexcel]
Regards,
Lalit Mohan Gupta.
Maybe you are looking for
-
Has anyone else been mislead by Time Machine?
Before I start, I'd like to make a little disclaimer that before the trolls set to work on berrating my naivity for the problem i've suffered, i'd just like to say "I KNOW THAT NOW" and hindsight is such a wonderful thing but unfortunately, the simpl
-
Trying to Link from CSH to Second (Custom) Window within same .CHM file
We are using RH8 on Windows XP Pro 2002, SP3, outputting CHM. Background Our single help source has 2 custom window definitions--one for context sensitive topics (tall and narrow, opens on right, no TOC, always on top) and the second for the main hel
-
Reader 11.0.2 MUI?
Hello, I was looking for the update 11.0.2 MUI for Reader but it doesn't seem to be coming out, any idea where it is?
-
Hi All, I am working as oracle apps dba from last 5 yr. I have experience in apps install, configure, PCP, Cloning, Patching, Production support, Performance tuning, GRC, OTM, LSH etc etc- From last few months I am working on fusion 11g products like
-
Equals() in StringBuffer
I tried the follow code: StringBuffer s1 = new StringBuffer("F10"); StringBuffer s2 = new StringBuffer("F10"); System.out.println(s1.equals(s2)); System.out.println(s1.hashCode()); System.out.println(s2.hashCode()); I found StringBuffer is different