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
    Rohit

    For 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
    Markus

    Hi,
    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,
    marcus

    Hello,
    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 AM

    Hi 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,
    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.

  • 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,
    Marcus

    Hello,
    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 PM

    Message 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
    regards

    Hi!
    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 PM

    is 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

    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
    Jagadish

    Hello 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,
    Aravind

    Dear 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

  • Slow downloads from iTunes

    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

  • IPod shutting down computer

    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