DESKTOP OFFICE INTEGRATION
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
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 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,
Stevehi.
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. -
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 -
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 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 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 -
Tutorial on DOI(Desktop Office Integration) For MAcros run in Excel
Hi,
I need some tutorials Where i can see how we can run macros from our program to Excel using DOI method, Please i already tried to find on internet but no valuable result have found, Please do the needful.
I need tutorial of DOI only.
WArm Regards
Shelly Malik
Moderator Message: It is still against the Rules to ask for tutorials in the forums.
Edited by: kishan P on Aug 5, 2011 10:59 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 - 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. -
Office integration using File Property Technology
Dear all
I am trying to using File Property for updating Fields in Original.
But i am not getting from SAP Help exactly what to do.
I want to know in customising where exactly i define data selected fro trasfer
and how to use File-->property--
> custom
Please help
Thanks and regards
Niketan
Edited by: niketan maral on Jan 12, 2008 8:44 AMHi
http://help.sap.com/erp2005_ehp_02/helpdata/en/46/3f79d5445c08e7e10000000a114a6b/content.htm
and
http://help.sap.com/erp2005_ehp_02/helpdata/en/46/418091cf955e40e10000000a11466f/content.htm
Its uner Desktop Office Integration Header -
SAP Office Integration Excel 2013 problem - dummy window pops up with inplace
Hi experts all around the globe,
we are facing a strange problem by some of our users since they have installed Excel 2013 on their PCs. An annoying Excel sheet pops up while generating an excel file in the background.
They are working with several Y (or Z if you like it better so) transactions, and create multiple Excel files (Excel.Sheet.8 -> .xls) in the background. The programs are using Office Integration (interfaces I_OI_CONTAINER_CONTROL and I_OI_DOCUMENT_PROXY) to create the files.
Method OPEN_DOCUMENT is called with the parameter OPEN_INPLACE, modified, and then closed with the CLOSE_DOCUMENT method, then saved with SAVE_DOCUMENT_TO_URL. The document gets only assigned to a dummy container, this means under normal circumstances the user shouldn't see anything - the file gets created, modified and stored in the background - end of the story. The programs are like 10 years old, and have been doing good since then.
Now some of our users reported, that they have an issue when generating Excel files with those programs. We have investigated / debugged, and here is the thing: in several cases when the method OPEN_DOCUMENT is called, an empty worksheet pops up (see attached screenshot). It also gets in focus, and then in 1 sec is it closing again (as the CLOSE_DOCUMENT is called). This is really annoying when the user has to generate hundreds of Excel sheets (it is quite often the case). The window gets opened and closed with every single file that gets created.
We have tried to identify the problem, but it is user independent, the SAP GUI, Office and Windows versions seem to be all the same - though it appears by some users. The most of us work with SAP GUI 730 Patch level 4, but upgrade to Patch level 9 has also not solved the problem. We have found the notes 1908528 and 1804535. They address similar problems but not exactly the same. We think it has something to do with incompatibility of the releases, or simply an Office / SAP setting we could not think of.
Has someone encountered the same? Any ideas?
Your help is greatly appreciated.
BoldiHello Daniel,
thank you very much for your reply, it is really appreciated.
We have SAP GUI 7.30 Version 7300.3.9.1084 Build 1496147 Patch Level 9 on the test machine. This one should be the latest available version, am I right?
The issue is a little bit different from the ones described in the SAP notes you suggested. The data is getting "correctly" displayed inplace, but Excel is also getting called up in the same time, and an additional emtpy sheet is displayed, which gets in the focus, disturbing the user. It is just like described in the SAP notes 1425448 and 1567380
To 1425448 (Solution Point 2 below): this is our standard setting, and it does not help us.
To 1567380 (Prerequisites): there is no macro in our sheet.
We could reproduce the issue with the standard report SAPRDEMO_SPREADSHEET_INTERFACE (this is the one suggested in SAP note 1908528 - "Verifying that Excel inplace functionality is working correctly"). The SAP GUI overtakes the focus after a while, as described in the SAP note 1567380, but the empty sheet is active at first, and it is a little bit more than annoying.
How is it on your side, could you please run the standard report (EXCEL, checkbox for inplace set, then Enter) to confirm that the problem exists?
Thanks a lot in advance and have a nice day!
Boldi
Maybe you are looking for
-
How to do wireless printing with aiport extreme and HP c4280
I admit it... I'm a dunce. I usually just plug the usb for the hp c4280 printer right into my macbook pro, but I want to finally be able to use it wirelessly. I have an airport extreme, and i know there is a usb port... how do I add the printer so i
-
How do I get my restored bookmarks to appear on the bookmarks sidebar
I have imported my bookmarks from an HTML file. I can access them by clicking on restore, but I want to see them in the bookmarks sidebar, and they do not appear there. Nothing that I click on the sidebar displays my bookmarks
-
Custom Master Page with Custom Page Layout
Hi All, I have created a Custom SharePoint Master Page. In that Master Page I have created a custom Header & Footer. In between the header and the footer I created a space to put page's content. However I have created a page using that master page a
-
Where to get any informaton (best practises, guidelines ) for migration from UCCE to UCCX. Does cisco have ani migratio tools ( like scripts, promps migration ) for application transfer from UCCE to UCCX Thanks
-
Please help me!!!!!!! what can I do with the message " no service " I have already updated for 5.0.1 (9A406) and nothing happened. Please Help me!!!!! I´m thinking to came back to my nokia. It´s work at least!!!!