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 AM
Hi Sascha,
I have the same issue as yours.
Did you find a way to open your excel file in the WebGui?
Regards,
Similar Messages
-
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. -
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 -
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. -
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 -
MS Office integration for Tx. solar01 and solar02
Hi!
I have tested the MS Office integration via sa38. It seems to work.
BUT: I cannot open and edit any MS Office documents via Tr. solar01 and solar02.
I have applied different roles to the current user (e.g SAP_SOL_ROCOML).
But it is not possible to edit MS Office document.
According "Configuration Guide" it should either MS Office 2000 or 2002.
I have installed MS Office 2003.
<b>Do this play some role?
Can some give any useful information?</b>
thank you
regardsHi!
Yes, also the word settings are ok
I guess I have not protect the document.
You mean: MS WORD (DE): Extras (Menu) --> Optionen (Options) --> Sicherheit (Security) --> Dokument schützen (Protect document)
I think it should be a problem on the SAP level (authorizations or settings)
It would be great to get the solution. I am waiting for the answer for two days here.
Thank you very much
regards -
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. -
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. -
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 -
SAP Office Integration for MS Word
Dear Experts,
Is there any way to disable the save -as option while opening MS word original files in CV03N.
Clients are demanding due to security reasons to disable the save option. They want only to see the word document in CV03N and not to download or change the word file.Is there any way to do that?.
Regards,
AravindDear Team,
Am the one facing same the issue while displaying documents on MM03 .
Only through DMS transactions(CV02N/03N )can able to control the users to download , print, save , save as and etc.But not from MM03/me23n. SAP displaying DMS documents on its own viwer display tools.
Still we are working on the same if you get any solution please update with solution.
Regards,
chandu.
Maybe you are looking for
-
OK I figured it might have been my own fault. After installing iTunes 10 (installed OK) I started to download a 1gb movie 2 DAYS later it still has 8 hours remaining - and that includes overnight, on/off peak times for UK and USA. I put this down to
-
New tabs opening in the middle of the tab bar instead of at the end.
Opening a new tab from a link would open the tab right after / behind the tab you are currently viewing - not at the end. This makes for a very confusing / annoying / clustered browsing as it's impossible to keep track of what you opened (if you are
-
Spotify Connect windows client disappearing
Dear all, Is there any issues with spotify connect dissapearing after a while of inactivity ? I am trying to stream spotify to hifi system via a HTPC ( running windows server 2012 ) .Everything is working fine when the app on the server is freshly ru
-
Anyone having issues with Photoshop cc and second monitor in mavericks.
My Pallet windows want to open on my iMac not on the second monitor a dell. When I reload my work space everything works fine but when I then open another image it does the same thing. Tried using different setting for open gl. Basic normal advanc
-
Everytime I plug in my new video iPod into my computer using a USB 2.0, my computer automatically shuts down and says it has recovered from a serious error. But when I plug it into a USB 1.0 drive on my computer, it works perfectly but it takes forev