Export XML data into multiple worksheet of an Excel file..using FO processr

Hi,
I need to export XML data into Excel output, the data should flow into multiple worksheet of the Excel file.
Let me know if this can be done using XML publisher. If yes, please provide me the steps to do the same.
Could not able to achieve this through by the below process:
(1)     Created a RTF (which has single excel table structure).
(2)     Generated the XSL file using XSL-FO Style Sheet.
(3)     Passed the XSL file and XML
which exported the data into an Excel (single worksheet) format.
Please let me know, how this can be exported into multiple worksheets.
Thanks & Regards,
Dhamodaran VJ.

Hi Dhamodaran ,
pass me the template you created and XML. "Created a RTF (which has single excel table structure)."
Let me have a look at it,
For ID, look at profile.

Similar Messages

  • How to download data in multiple sheets of one excel file

    Hello,
    I want to download data in multiple sheets of one excel file ..through ole2_object.
    i have created program but it is not it is not giving the desird op.
    here is the  code..
    create object excel 'EXCEL.APPLICATION'.
      call method of excel 'WORKBOOKS' = books.
      call method of books 'ADD' = book1.
    *****************" Here we r creating the first  sheet.
      if flag1 = 'X'.
        call method of book1 'WORKSHEETS' = SHEET
          EXPORTING
            #1 = 1.                           " here 1 indicating the position of sheet means first position.
        call method of sheet 'Activate'.
        set property of sheet 'Name' = 'Developments_Summary_Report'.
        perform excel_fill.
      endif.
    *****************" Here we r creating the second  sheet.
    if flag2 = 'X'.
        call method of book1 'WORKSHEETS' = SHEET
          EXPORTING
            #1 = 2.                           " here 2 indicating the position of sheet means second position.
        call method of sheet 'Activate'.
        set property of sheet 'Name' = 'BDC_Developments_Report'.
        perform excel_fill.
      endif.
      set property of excel 'VISIBLE' = 1.   " due to this property excel window is visible.
      call method of excel 'QUIT'.
    but it is generating the two different excel file ..
    Thanks in advance,
    Paresh.

    Hi,
    Copy and paste this code in your SAP
    *& Report ZETA_EXCEL_DOWNLOAD_CLIPBOARD *
    report zeta_excel_download_clipboard .
    include ole2incl.
    data: w_cell1 type ole2_object,
    w_cell2 type ole2_object.
    *--- Ole data Declarations
    data: h_excel type ole2_object, " Excel object
    h_mapl type ole2_object, " list of workbooks
    h_map type ole2_object, " workbook
    h_zl type ole2_object, " cell
    h_f type ole2_object, " font
    gs_interior type ole2_object, " Pattern
    worksheet type ole2_object,
    h_cell type ole2_object,
    h_cell1 type ole2_object,
    range type ole2_object,
    h_sheet2 type ole2_object,
    h_sheet3 type ole2_object,
    gs_font type ole2_object,
    flg_stop(1) type c.
    ** Internal table Declaration
    data: begin of t_excel occurs 0,
    vkorg(20) type c, "Sales Org
    vbtyp(20) type c, "Document Category
    auart(20) type c, "Document Type
    ernam(20) type c, "Created By
    vbeln(20) type c, "Document Number
    posnr(20) type c, "Item Number
    erdat(20) type c, "Created Date
    vdatu(20) type c, "Header Requested Delivery Date
    reqdat(20) type c, "Request date
    condat(20) type c, "Confirm date
    lifsk(20) type c, "Header Block
    txt30(30) type c, "Order User Status Description
    lifsp(20) type c, "Line Block
    dispo(20) type c, "MRP Controller
    dsnam(20) type c, "MRP Controller Description
    vmsta(20) type c, "Material Sales Status
    kunnr(20) type c, "Sold To
    cname(35) type c, "Sold To Name
    regio(20) type c, "State
    cufd(10) type c, "CUD
    bstnk(20) type c, "PO#
    bsark(20) type c, "Ordering Method
    matnr(20) type c, "Material
    maktx(35) type c, "Material Description
    t200(20) type c, "T200
    vtext(20) type c, "T200 Description
    matkl(20) type c, "Material Group
    zzbomind(7) type c, "BOM Indicator
    ostat(20) type c, "Order Status
    cmgst(20) type c, "CRD
    inco1(20) type c, "Incoterms
    oqty(20) type c, "Order Quantity
    pqty(20) type c, "Open Quantity
    unit(20) type c, "UOM
    onet(20) type c, "Order Value
    pnet(20) type c, "Open Value
    curr(20) type c, "Currency key
    so_bezei like tvkbt-bezei,"Sales Office
    sg_bezei like tvgrt-bezei,"Sales Group
    bname(20) type c, "Ordering Party
    contact(20) type c, "Contact Name
    telf1(20) type c, "Contact telf1
    reqqty(20) type c, "Item Request qty
    reqval(20) type c, "Item Request value
    conqty(20) type c, "Item Confirm qty
    conval(20) type c, "Item Confirm value
    zzrev(02) type c, "Revenue recognition acceptance
    bezei(20) type c, "Revenue recognition text
    vgbel(20) type c, "Reference Order for RETURNS
    0008text(255) type c, "Internal Order Comment Text
    end of t_excel.
    data: t_excel_bckord like t_excel occurs 0 with header line,
    t_excel_bcklog like t_excel occurs 0 with header line,
    t_excel_blkord like t_excel occurs 0 with header line.
    types: data1(1500) type c,
    ty type table of data1.
    data: it type ty with header line,
    it_2 type ty with header line,
    it_3 type ty with header line,
    rec type sy-tfill,
    deli(1) type c,
    l_amt(18) type c.
    data: begin of hex,
    tab type x,
    end of hex.
    field-symbols: <fs> .
    constants cns_09(2) type n value 09.
    assign deli to <fs> type 'X'.
    hex-tab = cns_09.
    <fs> = hex-tab.
    data gv_sheet_name(20) type c .
    * M A C R O Declaration
    define ole_check_error.
    if &1 ne 0.
    message e001(zz) with &1.
    exit.
    endif.
    end-of-definition.
    t_excel_bckord-vkorg = 'ABC'.
    t_excel_bckord-vbtyp = 'DEF'.
    t_excel_bckord-auart = 'GHI'.
    t_excel_bckord-ernam = 'JKL'.
    t_excel_bckord-vbeln = 'MNO'.
    t_excel_bckord-0008text = 'XYZ'.
    append t_excel_bckord.
    t_excel_bckord-vkorg = 'ABC1'.
    t_excel_bckord-vbtyp = 'DEF1'.
    t_excel_bckord-auart = 'GHI1'.
    t_excel_bckord-ernam = 'JKL1'.
    t_excel_bckord-vbeln = 'MNO1'.
    t_excel_bckord-0008text = 'XYZ1'.
    append t_excel_bckord.
    t_excel_bckord-vkorg = 'ABC2'.
    t_excel_bckord-vbtyp = 'DEF2'.
    t_excel_bckord-auart = 'GHI2'.
    t_excel_bckord-ernam = 'JKL2'.
    t_excel_bckord-vbeln = 'MNO2'.
    t_excel_bckord-0008text = 'XYZ2'.
    append t_excel_bckord.
    t_excel_bcklog-vkorg = 'ABC'.
    t_excel_bcklog-vbtyp = 'DEF'.
    t_excel_bcklog-auart = 'GHI'.
    t_excel_bcklog-ernam = 'JKL'.
    t_excel_bcklog-vbeln = 'MNO'.
    t_excel_bcklog-0008text = 'XYZ'.
    append t_excel_bcklog.
    t_excel_bcklog-vkorg = 'ABC1'.
    t_excel_bcklog-vbtyp = 'DEF1'.
    t_excel_bcklog-auart = 'GHI1'.
    t_excel_bcklog-ernam = 'JKL1'.
    t_excel_bcklog-vbeln = 'MNO1'.
    t_excel_bcklog-0008text = 'XYZ1'.
    append t_excel_bcklog.
    t_excel_bcklog-vkorg = 'ABC2'.
    t_excel_bcklog-vbtyp = 'DEF2'.
    t_excel_bcklog-auart = 'GHI2'.
    t_excel_bcklog-ernam = 'JKL2'.
    t_excel_bcklog-vbeln = 'MNO2'.
    t_excel_bcklog-0008text = 'XYZ2'.
    append t_excel_bcklog.
    t_excel_bcklog-vkorg = 'ABC3'.
    t_excel_bcklog-vbtyp = 'DEF3'..
    t_excel_bcklog-auart = 'GHI3'.
    t_excel_bcklog-ernam = 'JKL3'.
    t_excel_bcklog-vbeln = 'MNO3'.
    t_excel_bcklog-0008text = 'XYZ3'.
    append t_excel_bcklog.
    t_excel_blkord-vkorg = 'ABC'.
    t_excel_blkord-vbtyp = 'DEF'.
    t_excel_blkord-auart = 'GHI'.
    t_excel_blkord-ernam = 'JKL'.
    t_excel_blkord-vbeln = 'MNO'.
    t_excel_blkord-0008text = 'XYZ'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC1'.
    t_excel_blkord-vbtyp = 'DEF1'.
    t_excel_blkord-auart = 'GHI1'.
    t_excel_blkord-ernam = 'JKL1'.
    t_excel_blkord-vbeln = 'MNO1'.
    t_excel_blkord-0008text = 'XYZ1'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC2'.
    t_excel_blkord-vbtyp = 'DEF2'.
    t_excel_blkord-auart = 'GHI2'.
    t_excel_blkord-ernam = 'JKL2'.
    t_excel_blkord-vbeln = 'MNO2'.
    t_excel_blkord-0008text = 'XYZ2'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC3'.
    t_excel_blkord-vbtyp = 'DEF3'..
    t_excel_blkord-auart = 'GHI3'.
    t_excel_blkord-ernam = 'JKL3'.
    t_excel_blkord-vbeln = 'MNO3'.
    t_excel_blkord-0008text = 'XYZ3'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC4'.
    t_excel_blkord-vbtyp = 'DEF4'..
    t_excel_blkord-auart = 'GHI4'.
    t_excel_blkord-ernam = 'JKL4'.
    t_excel_blkord-vbeln = 'MNO4'.
    t_excel_blkord-0008text = 'XYZ4'.
    append t_excel_blkord.
    loop at t_excel_bckord.
    concatenate
    t_excel_bckord-vkorg
    t_excel_bckord-vbtyp
    t_excel_bckord-auart
    t_excel_bckord-ernam
    t_excel_bckord-vbeln
    t_excel_bckord-posnr
    t_excel_bckord-erdat
    t_excel_bckord-vdatu
    t_excel_bckord-reqdat
    t_excel_bckord-condat
    t_excel_bckord-lifsk
    t_excel_bckord-txt30
    t_excel_bckord-lifsp
    t_excel_bckord-dispo
    t_excel_bckord-dsnam
    t_excel_bckord-vmsta
    t_excel_bckord-kunnr
    t_excel_bckord-cname
    t_excel_bckord-regio
    t_excel_bckord-cufd
    t_excel_bckord-bstnk
    t_excel_bckord-bsark
    t_excel_bckord-matnr
    t_excel_bckord-maktx
    t_excel_bckord-t200
    t_excel_bckord-vtext
    t_excel_bckord-matkl
    t_excel_bckord-zzbomind
    t_excel_bckord-ostat
    t_excel_bckord-cmgst
    t_excel_bckord-inco1
    t_excel_bckord-oqty
    t_excel_bckord-pqty
    t_excel_bckord-unit
    t_excel_bckord-onet
    t_excel_bckord-pnet
    t_excel_bckord-curr
    t_excel_bckord-so_bezei
    t_excel_bckord-sg_bezei
    t_excel_bckord-bname
    t_excel_bckord-contact
    t_excel_bckord-telf1
    t_excel_bckord-reqqty
    t_excel_bckord-reqval
    t_excel_bckord-conqty
    t_excel_bckord-conval
    t_excel_bckord-zzrev
    t_excel_bckord-bezei
    t_excel_bckord-vgbel
    t_excel_bckord-0008text
    into it
    separated by deli.
    append it.
    clear it.
    endloop.
    loop at t_excel_bcklog.
    concatenate
    t_excel_bcklog-vkorg
    t_excel_bcklog-vbtyp
    t_excel_bcklog-auart
    t_excel_bcklog-ernam
    t_excel_bcklog-vbeln
    t_excel_bcklog-posnr
    t_excel_bcklog-erdat
    t_excel_bcklog-vdatu
    t_excel_bcklog-reqdat
    t_excel_bcklog-condat
    t_excel_bcklog-lifsk
    t_excel_bcklog-txt30
    t_excel_bcklog-lifsp
    t_excel_bcklog-dispo
    t_excel_bcklog-dsnam
    t_excel_bcklog-vmsta
    t_excel_bcklog-kunnr
    t_excel_bcklog-cname
    t_excel_bcklog-regio
    t_excel_bcklog-cufd
    t_excel_bcklog-bstnk
    t_excel_bcklog-bsark
    t_excel_bcklog-matnr
    t_excel_bcklog-maktx
    t_excel_bcklog-t200
    t_excel_bcklog-vtext
    t_excel_bcklog-matkl
    t_excel_bcklog-zzbomind
    t_excel_bcklog-ostat
    t_excel_bcklog-cmgst
    t_excel_bcklog-inco1
    t_excel_bcklog-oqty
    t_excel_bcklog-pqty
    t_excel_bcklog-unit
    t_excel_bcklog-onet
    t_excel_bcklog-pnet
    t_excel_bcklog-curr
    t_excel_bcklog-so_bezei
    t_excel_bcklog-sg_bezei
    t_excel_bcklog-bname
    t_excel_bcklog-contact
    t_excel_bcklog-telf1
    t_excel_bcklog-reqqty
    t_excel_bcklog-reqval
    t_excel_bcklog-conqty
    t_excel_bcklog-conval
    t_excel_bcklog-zzrev
    t_excel_bcklog-bezei
    t_excel_bcklog-vgbel
    t_excel_bcklog-0008text
    into it_2
    separated by deli.
    append it_2.
    clear it_2.
    endloop.
    loop at t_excel_blkord.
    concatenate
    t_excel_blkord-vkorg
    t_excel_blkord-vbtyp
    t_excel_blkord-auart
    t_excel_blkord-ernam
    t_excel_blkord-vbeln
    t_excel_blkord-posnr
    t_excel_blkord-erdat
    t_excel_blkord-vdatu
    t_excel_blkord-reqdat
    t_excel_blkord-condat
    t_excel_blkord-lifsk
    t_excel_blkord-txt30
    t_excel_blkord-lifsp
    t_excel_blkord-dispo
    t_excel_blkord-dsnam
    t_excel_blkord-vmsta
    t_excel_blkord-kunnr
    t_excel_blkord-cname
    t_excel_blkord-regio
    t_excel_blkord-cufd
    t_excel_blkord-bstnk
    t_excel_blkord-bsark
    t_excel_blkord-matnr
    t_excel_blkord-maktx
    t_excel_blkord-t200
    t_excel_blkord-vtext
    t_excel_blkord-matkl
    t_excel_blkord-zzbomind
    t_excel_blkord-ostat
    t_excel_blkord-cmgst
    t_excel_blkord-inco1
    t_excel_blkord-oqty
    t_excel_blkord-pqty
    t_excel_blkord-unit
    t_excel_blkord-onet
    t_excel_blkord-pnet
    t_excel_blkord-curr
    t_excel_blkord-so_bezei
    t_excel_blkord-sg_bezei
    t_excel_blkord-bname
    t_excel_blkord-contact
    t_excel_blkord-telf1
    t_excel_blkord-reqqty
    t_excel_blkord-reqval
    t_excel_blkord-conqty
    t_excel_blkord-conval
    t_excel_blkord-zzrev
    t_excel_blkord-bezei
    t_excel_blkord-vgbel
    t_excel_blkord-0008text
    into it_3
    separated by deli.
    append it_3.
    clear it_3.
    endloop.
    if h_excel-header = space or h_excel-handle = -1.
    * start Excel
    create object h_excel 'EXCEL.APPLICATION'.
    endif.
    * PERFORM err_hdl.
    *--- get list of workbooks, initially empty
    call method of h_excel 'Workbooks' = h_mapl.
    * PERFORM err_hdl.
    set property of h_excel 'Visible' = 1.
    * add a new workbook
    call method of h_mapl 'Add' = h_map.
    * PERFORM err_hdl.
    *GV_SHEET_NAME = '1st SHEET'.
    gv_sheet_name = 'Back Orders'.
    get property of h_excel 'ACTIVESHEET' = worksheet.
    set property of worksheet 'Name' = gv_sheet_name .
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    *CALL METHOD OF gs_cells 'Select' .
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
    data l_rc type i.
    call method cl_gui_frontend_services=>clipboard_export
    importing
    data = it[]
    changing
    rc = l_rc
    exceptions
    cntl_error = 1
    error_no_gui = 2
    not_supported_by_gui = 3
    others = 4.
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 1.
    * PERFORM err_hdl.
    call method of h_excel 'Range' = range
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    call method of range 'Select'.
    * PERFORM err_hdl.
    call method of worksheet 'Paste'.
    * PERFORM err_hdl.
    * CALL METHOD OF h_excel 'QUIT'.
    *GV_SHEET_NAME = '2ND SHEET'.
    gv_sheet_name = 'Backlog'.
    get property of h_excel 'Sheets' = h_sheet2 .
    call method of h_sheet2 'Add' = h_map.
    set property of h_map 'Name' = gv_sheet_name .
    get property of h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
    call method cl_gui_frontend_services=>clipboard_export
    importing
    data = it_2[]
    changing
    rc = l_rc
    exceptions
    cntl_error = 1
    error_no_gui = 2
    not_supported_by_gui = 3
    others = 4.
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 1.
    * PERFORM err_hdl.
    call method of h_excel 'Range' = range
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    call method of range 'Select'.
    * PERFORM err_hdl.
    call method of worksheet 'Paste'.
    *GV_SHEET_NAME = '3rd SHEET'.
    gv_sheet_name = 'Blocked Orders'.
    get property of h_excel 'Sheets' = h_sheet3 .
    call method of h_sheet3 'Add' = h_map.
    set property of h_map 'Name' = gv_sheet_name .
    get property of h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
    call method cl_gui_frontend_services=>clipboard_export
    importing
    data = it_3[]
    changing
    rc = l_rc
    exceptions
    cntl_error = 1
    error_no_gui = 2
    not_supported_by_gui = 3
    others = 4.
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 1.
    * PERFORM err_hdl.
    call method of h_excel 'Range' = range
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    call method of range 'Select'.
    * PERFORM err_hdl.
    call method of worksheet 'Paste'.
    *--- disconnect from Excel
    free object h_zl.
    free object h_mapl.
    free object h_map.
    free object h_excel.
    Regards
    Sudheer

  • Problem while exporting the data from a report to an excel file.

    Hi SAP guru's,
    I have a problem while exporting the data from a report to an excel file.
    The problem is that after exporting, the excel file seems to have some irrelevant characters....I am checking this using SOST transaction..
    Required text (Russian):
    Операции по счету                                    
    № документа     Тип документа     № учетной записи     Дата документа     Валюта     Сумма, вкл. НДС     Срок оплаты     Описание документа
    Current Text :
       ? 5 @ 0 F 8 8  ? >  A G 5 B C                                   
    !   4 > : C       "" 8 ?  4 > : C      !   C G 5 B = > 9  7 0 ? 8 A 8        0 B 0  4 > : C         0 ; N B 0      ! C <       ! @ > :  > ? ; 0 B K        ? 8 A 0 = 8 5  4 > : C
    Can you help me making configuration settings if any?
    Regards,
    Avinash Raju

    Hi Avinash
    To download  such characteres you need to adjust code page to be used during export. You can review SAP note 73606 to identify which code page is required for this language
    Best regards

  • Split imported XML data into multiple text fields

    I should first describe my final project because it is very possible that I am going about this entirely wrong!
    I am trying to create an interactive PDF file which is the floor plan of our office, when you mouse over the office spaces it would popup the info for the person in that office, in fact when you click on the office space it would show additional info like computer MAC and jack numbers
    I placed the floor plan as a layer and them created a second layer with no fill/no stroke rectangles over the offices and made them buttons (office01, office02)
    I then made text fields with the info for the people, one for regular info and one for extra info (office01-data, office01-Xdata) I made these text fields buttons as well and had them "hidden until triggered"
    These info fields are all on top of one another, as in the are all the same size and in teh same location
    Then I went to the office buttons and created events "On Roll Over" "Show/Hide Buttons and Forms" and changed the visibility of the corresponding info button.
    This works like a charm!
    I hope I am clear up to this point.... my problem now is I would like to import this data both regular and extra from an excel spreadsheet or an XML file.
    That way when we get new staff or people move offices or whatever I can update the spreadsheet or XML file, rerun my InDesign file and create a new interactive PDF
    I have created the XML file
    <staffMap>
         <staff>
              <name>John Doe</name>
              <computerName<gfth56df</computerName>
              <phoneMAC>00:08:00:AB:CD:EF</phoneMAC>
         </staff>
    <staff>
              <name>John Smith</name>
              <computerName<gfth06cb</computerName>
              <phoneMAC>00:08:00:11:22:33</phoneMAC>
         </staff>
    </staffMap>
    Created a new InDesign document
    Imported the XML and placed it in a text field
    saved as a template and closed it
    Reopen and import the XML data again... and it brings it all into the text field... wonderful and useful but not what I need.
    Is it possible to import the XML data into separate test fields, or into some other separate field that I can make into a button and show/hide?
    I may end up just entering all the data directly into InDesign as I know this will work, it just does not seem like the right way to do it.
    Thanking you all in advance 

    I am still looking to get some help with this.
    I would love to know if it is not possible or any ideas at all

  • Downloading data into multiple work sheets in excel

    Hi All,
    Could you please tell me the way of downloading data into multiple work sheets .
    Now, we are downloading  data into  multiple excel files and after that  copying  all the excel file data in to different work sheets of the single excel manually.
    So , here I want directly download the data into different work sheets of single excel file.
    Regards,
    Siddivinesh Jogu

    Hi,
    Down load into three worksheets in one XL
    REPORT  ZKC_TEST1.
    INCLUDE ole2incl.
    DATA: w_cell1 TYPE ole2_object,
          w_cell2 TYPE ole2_object.
    *--- Ole data Declarations
    DATA: h_excel     TYPE ole2_object, " Excel object
          h_mapl      TYPE ole2_object, " list of workbooks
          h_map       TYPE ole2_object, " workbook
          h_zl        TYPE ole2_object, " cell
          h_f         TYPE ole2_object, " font
          gs_interior TYPE ole2_object, " Pattern
          worksheet   TYPE ole2_object,
          h_cell      TYPE ole2_object,
          h_cell1     TYPE ole2_object,
          range       TYPE ole2_object,
          h_sheet2    TYPE ole2_object,
          h_sheet3    TYPE ole2_object,
          gs_font     TYPE ole2_object,
          e_color     TYPE ole2_object,
          gs_italic   TYPE ole2_object,
          flg_stop(1) TYPE c.
    ** Internal table Declaration
    DATA: BEGIN OF t_excel OCCURS 0,
          MATNR type mara-matnr, "(18) type c,
          ERSDA type mara-ersda, " (8)  type c,
          ERNAM type mara-ernam, "(12) type c,
          LAEDA type mara-laeda, "(8)  type c,
          AENAM type mara-aenam, "(12) type c,
          VPSTA type mara-vpsta, "(15) type c,
          PSTAT type mara-pstat, "(15) type c,
          END OF t_excel.
    DATA: t_excel_bckord LIKE t_excel OCCURS 0 WITH HEADER LINE,
          t_excel_bcklog LIKE t_excel OCCURS 0 WITH HEADER LINE,
          t_excel_blkord LIKE t_excel OCCURS 0 WITH HEADER LINE.
    data: wa_excel_bckord like line of t_excel.
    TYPES: data1(1500) TYPE c,
           ty          TYPE TABLE OF data1.
    DATA: it        TYPE ty WITH HEADER LINE,
          it_2      TYPE ty WITH HEADER LINE,
          it_3      TYPE ty WITH HEADER LINE,
          rec       TYPE sy-tfill,
          deli(1)   TYPE c,
          l_amt(18) TYPE c.
    DATA: BEGIN OF hex,
           tab TYPE x,
          END OF hex.
    FIELD-SYMBOLS: <fs> .
    CONSTANTS cns_09(2) TYPE n VALUE 09.
    ASSIGN deli TO <fs> TYPE 'X'.
    hex-tab = cns_09.
    <fs> = hex-tab.
    DATA gv_sheet_name(20) TYPE c .
    *---selecting into tables
    select MATNR
           ERSDA
           ERNAM
           LAEDA
           AENAM
           VPSTA
           PSTAT
           from mara into table t_excel_bckord
           where pstat = 'KVELBCD'.
    wa_excel_bckord-matnr = 'MATNR'.
    wa_excel_bckord-ersda = 'ERSDA'.
    wa_excel_bckord-ernam = 'ERNAM'.
    wa_excel_bckord-laeda = 'LAEDA'.
    wa_excel_bckord-aenam = 'AENAM'.
    wa_excel_bckord-vpsta = 'VPSTA'.
    wa_excel_bckord-pstat = 'PSTAT'.
    INSERT wa_excel_bckord
             INTO t_excel_bckord INDEX 1 .
    select MATNR
           ERSDA
           ERNAM
           LAEDA
           AENAM
           VPSTA
           PSTAT
           from mara into table t_excel_bcklog
           where pstat = 'KVELBCDP'.
    INSERT wa_excel_bckord
             INTO t_excel_bcklog INDEX 1 .
    select MATNR
           ERSDA
           ERNAM
           LAEDA
           AENAM
           VPSTA
           PSTAT
           from mara into table t_excel_blkord
           where pstat = 'KEBC'.
    INSERT wa_excel_bckord
             INTO t_excel_blkord INDEX 1 .
    LOOP AT t_excel_bckord.
      CONCATENATE
      t_excel_bckord-MATNR
      t_excel_bckord-ERSDA
      t_excel_bckord-ERNAM
      t_excel_bckord-laeda
      t_excel_bckord-aenam
      t_excel_bckord-vpsta
      t_excel_bckord-pstat
      INTO it
      SEPARATED BY deli.
      APPEND it.
      CLEAR it.
    ENDLOOP.
    LOOP AT t_excel_bcklog.
      CONCATENATE
      t_excel_bcklog-matnr
      t_excel_bcklog-ersda
      t_excel_bcklog-ernam
      t_excel_bcklog-laeda
      t_excel_bcklog-aenam
      t_excel_bcklog-vpsta
      t_excel_bcklog-pstat
      INTO it_2
      SEPARATED BY deli.
      APPEND it_2.
      CLEAR it_2.
    ENDLOOP.
    LOOP AT t_excel_blkord.
      CONCATENATE
      t_excel_blkord-matnr
      t_excel_blkord-ersda
      t_excel_blkord-ernam
      t_excel_blkord-laeda
      t_excel_blkord-aenam
      t_excel_blkord-vpsta
      t_excel_blkord-pstat
      INTO it_3
      SEPARATED BY deli.
      APPEND it_3.
      CLEAR it_3.
    ENDLOOP.
    *--- start Excel
    IF h_excel-header = space OR h_excel-handle = -1.
      CREATE OBJECT h_excel 'EXCEL.APPLICATION'.
    ENDIF.
    *--- get list of workbooks, initially empty
    CALL METHOD OF h_excel 'Workbooks' = h_mapl.
    SET PROPERTY OF h_excel 'Visible' = 1.
    CALL METHOD OF h_mapl 'Add' = h_map.
    gv_sheet_name = 'Back Orders'.
    GET PROPERTY OF h_excel 'ACTIVESHEET' = worksheet.
    SET PROPERTY OF worksheet 'Name' = gv_sheet_name .
    *--Formatting the area of additional data 1 and doing the BOLD
    CALL METHOD OF h_excel 'Cells' = w_cell1
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Cells' = w_cell2
      EXPORTING
      #1 = 1
      #2 = 50.
    CALL METHOD OF h_excel 'Range' = h_cell
      EXPORTING
      #1 = w_cell1
      #2 = w_cell2.
    GET PROPERTY OF h_cell  'Font' = gs_font .
    SET PROPERTY OF gs_font 'Bold' = 1 .
    SET PROPERTY OF gs_font 'Name' = 'Arial' .
    GET PROPERTY OF h_cell 'Interior' = e_color.
    SET PROPERTY OF e_color 'ColorIndex' = 35.
    GET PROPERTY OF h_cell  'Font' = gs_italic .
    SET PROPERTY OF  gs_italic 'Italic' = 1 .
    DATA l_rc TYPE i.
    CALL METHOD cl_gui_frontend_services=>clipboard_export
      IMPORTING
        data                 = it[]
      CHANGING
        rc                   = l_rc
      EXCEPTIONS
        cntl_error           = 1
        error_no_gui         = 2
        not_supported_by_gui = 3
        OTHERS               = 4.
    CALL METHOD OF h_excel 'Cells' = w_cell1
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Cells' = w_cell2
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Range' = range
      EXPORTING
      #1 = w_cell1
      #2 = w_cell2.
    CALL METHOD OF range 'Select'.
    CALL METHOD OF worksheet 'Paste'.
    gv_sheet_name = 'Backlog'.
    GET PROPERTY OF h_excel 'Sheets' = h_sheet2 .
    CALL METHOD OF h_sheet2 'Add' = h_map.
    SET PROPERTY OF h_map 'Name' = gv_sheet_name .
    GET PROPERTY OF h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    CALL METHOD OF h_excel 'Cells' = w_cell1
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Cells' = w_cell2
      EXPORTING
      #1 = 1
      #2 = 50.
    CALL METHOD OF h_excel 'Range' = h_cell
      EXPORTING
      #1 = w_cell1
      #2 = w_cell2.
    GET PROPERTY OF h_cell 'Font' = gs_font .
    SET PROPERTY OF gs_font 'Bold' = 1 .
    GET PROPERTY OF h_cell 'Interior' = e_color.
    SET PROPERTY OF e_color 'ColorIndex' = 40.
    CALL METHOD cl_gui_frontend_services=>clipboard_export
      IMPORTING
        data                 = it_2[]
      CHANGING
        rc                   = l_rc
      EXCEPTIONS
        cntl_error           = 1
        error_no_gui         = 2
        not_supported_by_gui = 3
        OTHERS               = 4.
    CALL METHOD OF h_excel 'Cells' = w_cell1
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Cells' = w_cell2
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Range' = range
      EXPORTING
      #1 = w_cell1
      #2 = w_cell2.
    CALL METHOD OF range 'Select'.
    CALL METHOD OF worksheet 'Paste'.
    gv_sheet_name = 'Blocked Orders'.
    GET PROPERTY OF h_excel 'Sheets' = h_sheet3 .
    CALL METHOD OF h_sheet3 'Add' = h_map.
    SET PROPERTY OF h_map 'Name' = gv_sheet_name .
    GET PROPERTY OF h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    CALL METHOD OF h_excel 'Cells' = w_cell1
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Cells' = w_cell2
      EXPORTING
      #1 = 1
      #2 = 50.
    CALL METHOD OF h_excel 'Range' = h_cell
      EXPORTING
      #1 = w_cell1
      #2 = w_cell2.
    GET PROPERTY OF h_cell 'Font' = gs_font .
    SET PROPERTY OF gs_font 'Bold' = 1 .
    GET PROPERTY OF h_cell 'Interior' = e_color.
    SET PROPERTY OF e_color 'ColorIndex' = 45.
    CALL METHOD cl_gui_frontend_services=>clipboard_export
      IMPORTING
        data                 = it_3[]
      CHANGING
        rc                   = l_rc
      EXCEPTIONS
        cntl_error           = 1
        error_no_gui         = 2
        not_supported_by_gui = 3
        OTHERS               = 4.
    CALL METHOD OF h_excel 'Cells' = w_cell1
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Cells' = w_cell2
      EXPORTING
      #1 = 1
      #2 = 1.
    CALL METHOD OF h_excel 'Range' = range
      EXPORTING
      #1 = w_cell1
      #2 = w_cell2.
    CALL METHOD OF range 'Select'.
    CALL METHOD OF worksheet 'Paste'.
    *--- disconnect from Excel
    FREE OBJECT h_zl.
    FREE OBJECT h_mapl.
    FREE OBJECT h_map.
    FREE OBJECT h_excel.
    Thanks,
    Krishna..

  • OWB 10R2 XML_ETL_UTILS xml data into multiple targets

    I am having some trouble with loading an XML file correctly into the target tables.
    The XML is looking like this (simplified))
    <DATA>
    <ROW rowid="1">
    <FIELD1>bla1.1</FIELD1>
    <FIELD2>bla1.2</FIELD2>
    <CHILDREN>
    <CHILD id="c1_1">bla_c1.1</CHILD>
    <CHILD id="c1_2">bla_c1.2</CHILD>
    <CHILDREN>
    <PETS>
    <PET id="p1_1">bla_p1.1</PET>
    <PETS>
    </ROW>
    <ROW rowid="2">
    <FIELD1>bla2.1</FIELD1>
    <FIELD2>bla2.2</FIELD2>
    <CHILDREN>
    <CHILD id="c2_1">bla_c2.1</CHILD>
    <CHILDREN>
    <PETS>
    <PET id="p2_1">bla_p2.1</PET>
    <PET id="p2_2">bla_p2.2</PET>
    <PETS>
    </ROW>
    </DATA>
    A have a very simple data model:
    TABLE data (DATAID, FIELD1, FIELD2)
    TABLE datadetails (DETAILID, DATAID, DETAILTYPE, DETAILKEY, DETAILVALUE)
    (Both set to truncate/insert)
    When generating the pluggable mappings using the XML_ETL_UTILS each 'level' is generated into a pluggable map (DATA, ROW, CHILDREN, CHILD, PETS, PET).
    1) The first problem I have was how to keep the relationship between the 2 tables. When inserting data into the 'datadetails' table, the data has to been linked to the correct row of the 'data' table.
    This has been solved (not the best way I think) by manually modify the pluggable mappings CHILDREN, CHILD, PETS and PET to include and pass through the 'rowid' attribute so this 'rowid' can be inserted into the 'datadetails' table when inserting the details.
    -> My guess is that there should be a better way or the XML_ETL_UTILS should be able to generate the code to handle this 'parent<->child' relation preservation. Only I don't know how (yet).
    2) The problem I am facing now (after manually modifying the generated pluggable mappings to pass through the ID of the parent), is that for each parent ALL details of the XML file are inserted and not just the details belonging to that particular parent.
    It seems that when processing the data for the 'datadetails' table, it re-read the whole XML file and looks for all instances of the detail element of the particular pluggable mapping.
    This results in a 'datadetail' table looking like this
    DETAILID DATAID DETAILTYPE DETAILKEY DETAILVALUE
    *1 1 CHILDREN c1_1 bla_c1.1
    *2 1 CHILDREN c1_2 bla_c1.2
    *3 1 PETS p1_1 bla_p1.1
    4 1 CHILDREN c2_1 bla_c2.1
    5 1 PETS p2_1 bla_p2.1
    6 1 PETS p2_2 bla_p2.2
    7 2 CHILDREN c1_1 bla_c1.1
    8 2 CHILDREN c1_2 bla_c1.2
    9 2 PETS p1_1 bla_p1.1
    *10 2 CHILDREN c2_1 bla_c2.1
    *11 2 PETS p2_1 bla_p2.1
    *12 2 PETS p2_2 bla_p2.2
    This is off course not correct. Only the ones marked with a * should be there.
    When trying to add a filter within the pluggable mappings to only look for the elements that have the correct parent (fortunately we do have the parent ID available because of the previously mentioned manual modifications of the mappings), the code that gets generated is not correct because it generated code with incorrect (missing) references to the correct variables and doesn't work.
    -> Any idea of how to fix this?
    => More in general: what is the correct approach with OWB to load XML files that contain multiple rows and rows can have multiple level parent<->child relations? (Very common in XML world). Somewhere after processing we need a relational model to hold this data. Any help, examples, etc. is very much appreciated.
    Don't hesitate to call/e-mail me for questions/remarks, etc.
    Regards,
    Patrick

    Hi Tullio
    es you will have to regenerate the pluggable mappings (rerun the expert). and you can either rebuild your map or synchronize the pluggable mapping operator in the map.
    The error crept in when I introduced the 'create root node' option in the expert, this path worked, just the original did not ..sorry:) The fix should resolve your problem and I will get a full update uploaded.
    Thanks
    David

  • How to import data into a Z table from excel file?

    hi,
    i have a custom created Z table into which i want to import some data from an excel file. which function can i use to do so because SE16 allows me to insert data only one by one via a data entry screen. this is time consuming. i want to import data from excel file so that its faster.

    HI,
    this program uploads data from excel and modifies ztable,(inserts records into ztable), check this and modify according to ur requirement)
    This program uploads material number from excel sheet and does
    ******modifications to material number if required by the user
    ******and updates the table zmatnr with new material against the old material number
    REPORT  zmat_no message-id zebg.
    TYPE-POOLS  truxs.
    TABLES:zmatnr.
    DATA : itab LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.
    DATA row LIKE alsmex_tabline-row.
    data : g_matnr like mara-matnr.
    data : count type i.
    data : itab_count type i.
    data : gi_final like zmatnr occurs 0 with header line.
    *data : begin of gi_final occurs 0,
          mat_old like mara-matnr,
          mat_new like mara-matnr,
          end of gi_final.
    ***********************Selection Screen*************************
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETER : pfname LIKE rlgrap-filename OBLIGATORY.
    select-options : records for count.
    SELECTION-SCREEN END OF BLOCK b1.
    *********************At Selection Screen*************************
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pfname.
      PERFORM search.
    START-OF-SELECTION.
    perform process.
    form process.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = pfname
          i_begin_col             = 1
          i_begin_row             = 2
          i_end_col               = 12
          i_end_row               = 65000
        TABLES
          intern                  = itab
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      describe table itab lines itab_count.
       row = 1.
      loop at itab.
        if itab-row <> row.
          append gi_final.
          clear gi_final.
        endif.
        case itab-col.
          when '1'.
          CLEAR G_MATNR.
          gi_final-OLD_MATNR = itab-value.
          CONCATENATE 'NEW' gi_final-old_matnr INTO itab-value.
            gi_final-new_MATNR = itab-value.
          endcase.
        row = itab-row.
      append gi_final.
      clear gi_final.
      endloop.
      CALL FUNCTION 'PROGRESS_INDICATOR'
      EXPORTING
        I_TEXT  = 'File Has Been Successfully Uploaded from Workstation ' .
      if not gi_final[] is initial.
        if not records-low is initial .
          if not records-high is initial.
            records-high = records-high + 1.
            DESCRIBE TABLE gi_final LINES count.
            IF records-high < count.
              DELETE gi_final FROM records-high TO count.
            ENDIF.
            IF records-low <> 1.
              IF records-low <> 0.
                DELETE gi_final FROM 1 TO records-low.
              ENDIF.
            ENDIF.
          endif.
        endif.
      endif.
      IF NOT GI_FINAL[] IS INITIAL.
        CALL FUNCTION 'PROGRESS_INDICATOR'
         EXPORTING
           I_TEXT  = 'Processing zmatnr table'
           I_OUTPUT_IMMEDIATELY = 'X'.
          if itab_count <> count.
             message i000 with 'records are not matching'.
             exit.
          else.
             modify zmatnr from table gi_final.
             message i000 with 'data base table modified successfully'.
          endif.
      endif.
    endform.
    *&      Form  search
          text
    -->  p1        text
    <--  p2        text
    FORM search .
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          static    = 'X'
        CHANGING
          file_name = pfname.
    ENDFORM.                    " search
    regards
    siva

  • How to continuous data acquisition and save to an excel file using vc++

    Hi,
    I’m trying to build an MFC application with MSVC++6, where I would continuously acquire
    samples from 2 channels of a USB-6289. I’m using the DAQmx C functions.  I use the following codes to continuously get data:
    DAQmxErrChk(DAQmxCreateAIVoltageChan(taskHandle,"Dev1/ai0,Dev1/ai1","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
    DAQmxErrChk(DAQmxReadAnalogF64(taskHandle,1000,-1,DAQmx_Val_GroupByChannel,data,2000,&read,NULL));
            DAQmxErrChk
    (DAQmxRegisterEveryNSamplesEvent(taskHandle,DAQmx_Val_Acquired_Into_Buffer,1000,0,EveryNCallback,NULL));
            DAQmxErrChk (DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,NULL));
     static int32 EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData)
        int32       error=0;
        char    errBuff[2048]={'\0'};
        static int  totalRead=0;
        int32       read=0;
        float64     data[1000];
        // DAQmx Read Code
        DAQmxErrChk(DAQmxReadAnalogF64(taskHandle,1000,-1,DAQmx_Val_GroupByChannel,data,2000,&read,NULL));
       if( read>0 ) {
        fflush(stdout);
            Error:
        if( DAQmxFailed(error) ) {
            DAQmxGetExtendedErrorInfo(errBuff,2048);
            DAQmxStopTask(taskHandle);
            DAQmxClearTask(taskHandle);
                return 0;
    static int32 CVICALLBACK DoneCallback(TaskHandle taskHandle, int32 status, void *callbackData)
        int32   error=0;
        char    errBuff[2048]={'\0'};
        // Check to see if an error stopped the task.
        DAQmxErrChk (status);
    Error:
        if( DAQmxFailed(error) ) {
            DAQmxGetExtendedErrorInfo(errBuff,2048);
                //MessageBox("errors in DoneCallBack");
            DAQmxClearTask(taskHandle);
            //MessageBox(errBuff);
        return 0;
    I have two questions:
    1. how to save the data into an excel file? Can anyone show me some sample codes please?
    2.Are
    the data acquired from the two channels simultaneously? If I set the
    starting time at 0, sample frequency 1khz, can I directly multiply the
    sample number by 0.001 to calculate time (as shown below)?
    Time    channel1  channel2
    0.001    d11           d21
    0.002    d12           d22
    Thank you! 

    You aren't going to get much help with Visual C++ programing when asking questions in the LabVIEW forum. 
    Try the Measurement Studio for Visual C++ forum.
    Message Edited by Ravens Fan on 12-05-2008 04:24 PM

  • How do I read a range of data from an open and "live" Excel file using LV7.0 Express

    I need to interface with software which continuously (once per second) writes a new array to a fixed location in an open Excel file. I would like to read this data into Labview from where I can do what I like with it. I am relatively new to LabView and have tried all "Read Data" examples that come with the product, Active examples seem very unclear. Anyone got any samples/suggestions to get me started?
    Attachments:
    Changing_Excel_file.xls ‏17 KB

    It is possible but might be a little bit complicated. Does your application opens the Excel file or Excel file was opened through Excel or another application already?
    In the first senario, once the excel is opened, start reading the data, do not close the report file (dispose the report) or close the excel file
    In the second senario, it is a little bit more complicated. You need to use low level Excel ActiveX functions. The procedure is:
    1. Open reference to Excel
    2. Activate the desired workbook if it is already opened
    or open a new file
    3. Activate the sheet containing the data
    4. Read the data
    5. Loop if necessary (step 2 if diff wb, step 3 if diff sht, 4 if same sheet)
    6. Close Excel reference (Very important, close the
    ref only, do not use Application.Exit to exit Excel).
    Hope this helps,
    -Joe

  • Problem splitting XML Data into multiple files

    I am sending an XML message through an enterprise message source in enterprise link design studio. While I do so, I am getting a heavy error. This error tells me that my path ist wrong, but I am sure this one is right. Actually everything worked fine till I added an attribute twice in my XML. Since this point enterprise link drives me crazy, I have checked on my XML, it is valid, I have checked on my path, which is also ok.
    Anyone some suggestions how to resolve the issue?
    The Error code looks the following:
    Unable to resolve path "/msg" in message field "host" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Unable to resolve path "/msg" in message field "host" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Update of Plan "NotificationPLAN" failed.
    [Oracle BAM Enterprise Link error code:  PlanMgr -- 0x1, PlanMgr -- 0xD5]
    Regards,
    Christoph

    Ok what I tried:
    - I restarted the BAM Server
    - I restarted the Design Studio
    - I restarted the oc4j through which I publish the messages through a topic
    Result:
    Unable to resolve path "/msg" in message field "Data" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Unable to resolve path "/msg" in message field "Data" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Update of Plan "NotificationPLAN" failed.
    [Oracle BAM Enterprise Link error code:  PlanMgr -- 0x1, PlanMgr -- 0xD5]

  • Loading data into multiple tables from an excel

    Can we load data in to multiple tables at a time from an excel through Utilities? If yes how? Please help me
    Regards,
    Pallavi

    I would imagine that the utilities allow you to insert data from a spreadsheet into 1 and only 1 table.
    You may have to write your own custom data upload using External Tables and a PL/SQL procedure to insert data from 1 spreadsheet into more than 1 table.
    If you need any guidance on doing this let me know and I will happily point you in the right direction.
    Regards
    Duncan

  • Extract program to extract data from SAP into multiple worksheets of excel

    Hi , I am currently facing an issue.
    Extracting the data during data extraction, conversion into an excel and also into multiple worksheets withing a excel file.
    What is the function which can help me. Also how do you give refernce to multiple worksheets to be created withing a excel file (which is the destination)
    Any sample program extracting data from SAP tables into a excel with multiple worksheet will be of immense help
    Please respond. Appreciate it.
    Rgds
    Madhu

    Hi Madhu,
    Here is the program for creating the excel file and creating the multiple worksheets.
    *& Report  ZEXCEL_UPLOAD2
    REPORT  ZEXCEL_UPLOAD2.
    INCLUDE ole2incl.
    DATA: application TYPE ole2_object,
           workbook TYPE ole2_object,
           sheet TYPE ole2_object,
           cells TYPE ole2_object.
    CONSTANTS: row_max TYPE i VALUE 256.
    DATA index TYPE i.
    DATA: BEGIN OF itab1 OCCURS 0, first_name(10), END OF itab1.
    DATA: BEGIN OF itab2 OCCURS 0, last_name(10), END OF itab2.
    DATA: BEGIN OF itab3 OCCURS 0, formula(50), END OF itab3.
    *START-OF-SELECTION
    START-OF-SELECTION.
      APPEND: 'Peter' TO itab1, 'Ivanov' TO itab2,
                                  '=Sheet1!A1 & " " & Sheet2!A1' TO itab3,
                'John' TO itab1, 'Smith' TO itab2,
                                  '=Sheet1!A2 & " " & Sheet2!A2' TO itab3.
      CREATE OBJECT application 'excel.application'.
      SET PROPERTY OF application 'visible' = 0.
      CALL METHOD OF application 'Workbooks' = workbook.
      CALL METHOD OF workbook 'Add'.
    Create first Excel Sheet
      CALL METHOD OF application 'Worksheets' = sheet
                                   EXPORTING #1 = 1.
      CALL METHOD OF sheet 'Activate'.
      SET PROPERTY OF sheet 'Name' = 'Sheet1'.
      LOOP AT itab1.
        index = row_max * ( sy-tabix - 1 ) + 1. " 1 - column name
        CALL METHOD OF sheet 'Cells' = cells EXPORTING #1 = index.
        SET PROPERTY OF cells 'Value' = itab1-first_name.
      ENDLOOP.
    Create second Excel sheet
      CALL METHOD OF application 'Worksheets' = sheet
                                   EXPORTING #1 = 2.
      SET PROPERTY OF sheet 'Name' = 'Sheet2'.
      CALL METHOD OF sheet 'Activate'.
      LOOP AT itab2.
        index = row_max * ( sy-tabix - 1 ) + 1. " 1 - column name
        CALL METHOD OF sheet 'Cells' = cells EXPORTING #1 = index.
        SET PROPERTY OF cells 'Value' = itab2-last_name.
      ENDLOOP.
    Create third Excel sheet
      CALL METHOD OF application 'Worksheets' = sheet
                                   EXPORTING #1 = 3.
      SET PROPERTY OF sheet 'Name' = 'Sheet3'.
      CALL METHOD OF sheet 'Activate'.
      LOOP AT itab3.
        index = row_max * ( sy-tabix - 1 ) + 1. " 1 - column name
        CALL METHOD OF sheet 'Cells' = cells EXPORTING #1 = index.
        SET PROPERTY OF cells 'Formula' = itab3-formula.
        SET PROPERTY OF cells 'Value' = itab3-formula.
      ENDLOOP.
    Save excel speadsheet to particular filename
      CALL METHOD OF sheet 'SaveAs'
                      EXPORTING #1 = 'c:\temp\exceldoc1.xls'     "filename
                                #2 = 1.                          "fileFormat
    Closes excel window, data is lost if not saved
    SET PROPERTY OF application 'visible' = 0.
    **Quick guide to some of the OLE statements for OLE processing in this program as well as a few other ones.
    Save Excel speadsheet to particular filename
    CALL METHOD OF sheet 'SaveAs'
                    EXPORTING #1 = 'C:\Users\dprasad\Desktop\excel_sheet.xls'     "filename
                              #2 = 1.                          "fileFormat
    Save Excel document
    CALL METHOD OF sheet 'SAVE'.
    Quits out of Excel document
    CALL METHOD OF sheet 'QUIT'.
    Closes visible Excel window, data is lost if not saved
    SET PROPERTY OF application 'visible' = 0.

  • Upload data from multiple worksheets of excel file into SAP by using MIME?

    Hi all,
    I'm trying to getting the data from a multiple worksheet excel file by usin the MIME Repository.
    First of all i realizied it like [here|http://abap-explorer.blogspot.com/2008/12/upload-data-from-multiple-worksheets-of.html] in a normal ABAP Report.
    By trying to transfer the code to a WebDynpro Component, i get problems.
    With this part of code, because ActiveX is not allowed in our Webbrowser. So i have to find another solution to get the data from the excel file.
    CALL METHOD c_oi_container_control_creator=>get_container_control
    IMPORTING
    control = iref_control
    error   = iref_error
    I tried to rebuild this solution in webdynpro. But it dont works.
    So my next step was trying to Read the Excel sheet directly from MIME by getting the Content (XString).
    But there is no useful information Just a mix out of '######' and other symbols.
    By converting it into String the same problem.
    Maybe someone has an idea how to rebuild [this code|http://abap-explorer.blogspot.com/2008/12/upload-data-from-multiple-worksheets-of.html] in Webdynpro that it works correctly.
    Currently Im Using the Fileupload UI Element. All Works fine. I can Upload the Excel file to MIME Repository and i can open it from there.
    But i cant get the same clear informationen from the file, to write it later in a Database, like before without webdynpro.
    i hope someone can help me.
    Edited by: Sascha Baumann on Apr 20, 2009 4:28 PM

    You can't read the native binary Excel Format in server side ABAP.  The functions and classes that did this in Classic Dynpro used OLE Automation via the SAPGUI Control Framework to remotely control Excel to read the data.  Because in the browser you have no connection to the SAPGUI or are sandboxed inside the browser; the same functionality is not possible. 
    I would suggest that you look into saving the Excel file as a open, text format.  You might be able to use XML (although the Excel XML format can be complex) to support multiple sheets. You would have to build the logic yourself (using XSLT or the iXML parser) to process the XML format back into ABAP data.

  • Exporting data into multiple tabs of Excel from OA Framework Page.

    Hii,
    I have a requirement like exporting data into multiple tabs of Excel from OA Framework.
    Like One Quarter Data should be in one Excel Sheet, and the Second Quarter data should go into other Excel Sheet, like wise ...
    I have tried searching forums, and developers guide, But couldn't find any correct answer on this. If its there on developers guide can somebody point me exactly where it is located.
    If someone can help me through this or can guide me through any document in this. It would be really helpful.
    Thanks
    Prakash.

    I guess, tabs are not supported in XML publisher as well.
    I would be worth checking at with BI publisher forum.
    --Prasanna                                                                                                                                                                                                                                                               

  • XML data into sap

    Hi guys,
    How to upload a XML file into sap?
    is there any function module?
    can anybody give me an example program for converting or uploading XML data into sap.
    regards,
    vinoth.

    Hi all,
    The XML code and XML file given is running fine for me, but when i am using it, my XML file and code, the tables GV_header and GT_item are filling in the perform but outside perform it's empty.  Please find the code and XML file , PLease give the answer its urgent, points will be given for sure.
    My function module code is:-
    FUNCTION Z_MMI_XML_EXTRACT_COPY.
    ""Local interface:
    *"       IMPORTING
    *"             REFERENCE(DOCTYPE) LIKE  DRAW-DOKAR
    *"             REFERENCE(DOCNUM) LIKE  DRAW-DOKNR
    *"             REFERENCE(DOCVER) LIKE  DRAW-DOKVR
    *"             REFERENCE(DOCPART) LIKE  DRAW-DOKTL
    *"       TABLES
    *"              T_HEADER STRUCTURE  ZFI_HEADER
    *"              T_ITEMS STRUCTURE  ZFI_ITEMS
    Load iXML Lib.
    type-pools: ixml.
    class cl_ixml definition load.
    data: G_IXML type ref to if_ixml.
    data: STREAMFACTORY type ref to if_ixml_stream_factory.
    data: ISTREAM type ref to if_ixml_istream.
    data: DOCUMENT type ref to if_ixml_document.
    data: PARSER type ref to if_ixml_parser.
    You should provide the parameter for file name
    *LV_FILE_URL = 'C:input_xml.xml'.
    types: begin of XML_LINE,
            DATA(256) type x,
          end of XML_LINE.
    ***types: begin of TY_HEADER,
            CUST_NAME(20)     type c,
            CARD_NO(20)       type c,
            TAX_AMOUNT(10)    type c,
            TOTAL_AMOUNT(10)  type c,
          end of TY_HEADER.
    ***types: begin of TY_ITEM,
            ITEM_NO(4)      type n,
            ITEM_ID(20)     type c,
            ITEM_TITLE(50)  type c,
            ITEM_QTY(10)    type c,
            ITEM_UPRICE(10) type c,
          end of TY_ITEM.
    *data: GV_HEADER type TY_HEADER.
    *data: GV_HEADER like zfi_header occurs 0 with header line.
    data : GV_HEADER LIKE ZFI_HEADER.
    *data: GT_ITEM   type standard table of TY_ITEM   with header line.
    *data: GT_ITEM type standard table of zfi_items with header line.
    data: GT_ITEM type standard table of zfi_items with header line.
    data: XML_TABLE      type table of XML_LINE,
          XML_TABLE_SIZE type i.
    data: LV_FILE_URL type rlgrap-filename.
      DATA : BEGIN OF itab OCCURS 0,
      a(100) TYPE c,
      END OF itab.
      DATA: xml_out TYPE string .
      DATA : BEGIN OF upl OCCURS 0,
      f(255) TYPE c,
      END OF upl.
      DATA: xmlupl TYPE string .
      DATA : BEGIN OF wa_draw OCCURS 0,
             dokar LIKE draw-dokar,
             doknr LIKE draw-doknr,
             dokvr LIKE draw-dokvr,
             doktl LIKE draw-doktl,
             END OF wa_draw.
      DATA : g_documenttype LIKE bapi_doc_aux-doctype,
             g_documentnumber LIKE bapi_doc_aux-docnumber,
             g_documentpart LIKE bapi_doc_aux-docpart,
             g_documentversion LIKE bapi_doc_aux-docversion.
    *" Itab required in IMPORTING parameter of BAPI
      DATA : t_documentfile LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE.
    DATA : t_documentstructure LIKE bapi_doc_structure OCCURS 0 WITH HEADER
    LINE,
    itab required in TABLES parameters of BAPI
           t_documentfiles LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE,
           t_components LIKE bapi_doc_comp OCCURS 0 WITH HEADER LINE,
           t_return LIKE bapiret2.
      DATA : l_docfile TYPE string.
    ***FILL THE TYPE OF ATTACHMENT in IMPORTING itab**
      t_documentfile-wsapplication = 'XML'.
      APPEND t_documentfile.
      wa_draw-dokar = DOCTYPE.
      wa_draw-doknr = DOCNUM.
      wa_draw-doktl = DOCPART.
      wa_draw-dokvr = DOCVER.
      CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTVIEW2'
        EXPORTING
          documenttype              = wa_draw-dokar
          documentnumber            = wa_draw-doknr
          documentpart              = wa_draw-doktl
          documentversion           = wa_draw-dokvr
          documentfile              = t_documentfile "IMPORTING itab of BAPI
         getstructure              = '1'
         getcomponents             = 'X'
      ORIGINALPATH              = ' '
      HOSTNAME                  = ' '
         getheader                 = 'X'
      DOCBOMCHANGENUMBER        =
      DOCBOMVALIDFROM           =
      DOCBOMREVISIONLEVEL       =
       IMPORTING
         return                    = t_return
       TABLES
         documentstructure         = t_documentstructure
         documentfiles             = t_documentfiles "TABLES itab of BAPI
         components                = t_components
      LOOP AT t_documentfiles .
      ENDLOOP.
      l_docfile = t_documentfiles-docfile.
    The next step is creating the main factory for the iXML library:
    G_IXML = cl_ixml=>create( ).
    Now Create Stream Factory
    STREAMFACTORY = G_IXML->create_stream_factory( ).
      CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
    *filename = 'C:DMS_SPA.XML'
      filename = l_docfile
      filetype = 'BIN'
      IMPORTING
       FILELENGTH = XML_TABLE_SIZE
      TABLES
      data_tab = XML_TABLE.
    ISTREAM = STREAMFACTORY->create_istream_itable( table = XML_TABLE
                                                    size  = XML_TABLE_SIZE )
    Create XML Document instance
    DOCUMENT = G_IXML->create_document( ).
    Create parser Object
    PARSER = G_IXML->create_parser( stream_factory = STREAMFACTORY
                                    ISTREAM = istream
                                    DOCUMENT = document ).
    Parse an XML document into a DOM tree
    *parser->parse( ).
    Parsing Error Processing
    if PARSER->parse( ) ne 0.
      if PARSER->num_errors( ) ne 0.
        data: PARSEERROR type ref to if_ixml_parse_error,
              STR        type STRING,
              I          type i,
              COUNT      type I,
              INDEX      type i.
        COUNT = PARSER->num_errors( ).
        write: COUNT, ' parse errors have occured:'.
        INDEX = 0.
        while INDEX < COUNT.
          PARSEERROR = PARSER->get_error( INDEX = index ).
          I = PARSEERROR->get_line( ).
          write: 'line: ', i.
          I = PARSEERROR->get_column( ).
          write: 'column: ', i.
          STR = PARSEERROR->get_reason( ).
          write: STR.
          INDEX = index + 1.
        endwhile.
      endif.
    endif.
    Close the stream since it �s not needed anymore
    call method ISTREAM->close( ).
    clear ISTREAM.
    DATA : GV_NODE type ref to if_ixml_node.
    DATA : GV_NODETEXT type STRING.
    data:  GV_FIRST_TIME.
    GV_FIRST_TIME = 'X'.
    GV_NODE = DOCUMENT.
    *GT_ITEM-item_no = 1.
    GT_ITEM-itemno_acc = 1.
    perform GET_DATA tables     GT_ITEM
                     using      GV_NODE
                     changing   GV_HEADER.
    Last item is still not added.
      append GT_ITEM.
    APPEND GV_HEADER.
    *T_HEADER[] = gv_header[].
    t_items[] = gt_item[].
    **write  : GV_HEADER-cust_name,
            GV_HEADER-card_no,
            GV_HEADER-tax_amount,
            GV_HEADER-total_amount.
    **loop at GT_ITEM.
    write  /:.
    write  : GT_ITEM-item_no,
              GT_ITEM-item_id,
              GT_ITEM-item_title,
              GT_ITEM-item_qty,
              GT_ITEM-item_uprice.
    **endloop.
    ENDFUNCTION.
          FORM Get_data                                                 *
    ***form get_data tables   YT_ITEM    structure gt_ITEM
                 using value(x_node) type ref to if_ixml_node
                 changing Y_HEADER   type TY_HEADER.
    form get_data1 tables   YT_ITEM    structure zfi_items
                  using value(x_node) type ref to if_ixml_node
                  changing Y_HEADER   type zfi_header.
    ***form get_data tables   YT_ITEM    structure GT_ITEM
                 using value(x_node) type ref to if_ixml_node
                 changing Y_HEADER   type TY_HEADER.
      data: INDENT      type i.
      data: PTEXT       type ref to if_ixml_text.
      data: STRING      type string.
      data: TEMP_STRING(100).
      case X_NODE->get_type( ).
        when if_ixml_node=>co_node_element.
          STRING = X_NODE->get_name( ).
          GV_NODETEXT = STRING.
        when if_ixml_node=>co_node_text.
          PTEXT ?= X_NODE->query_interface( IXML_IID_TEXT ).
          if PTEXT->ws_only( ) is initial.
            STRING = X_NODE->get_value( ).
            case GV_NODETEXT.
             when 'Customer'.
                when 'HEADER'.
                clear GV_HEADER.
             when 'Name'.
               when 'INVOICE_IND'.
               move STRING to GV_HEADER-cust_name.
                move STRING to GV_HEADER-INVOICE_IND.
              when 'CompanyCode'.
                move STRING to GV_HEADER-CompanyCode.
              when 'OBJ_TYPE'.
                move STRING to GV_HEADER-OBJ_TYPE.
              when 'username'.
                move STRING to GV_HEADER-username.
              when 'PO_reference'.
                move STRING to GV_HEADER-PO_reference.
              when 'Invoice_Date'.
                move STRING to GV_HEADER-Invoice_Date.
              when 'Posting_Date'.
                move STRING to GV_HEADER-Posting_Date.
              when 'Amount'.
                move STRING to GV_HEADER-Amount.
              when 'Currency'.
                move STRING to GV_HEADER-Currency.
    *APPEND GV_HEADER.
            Iteam details
              when 'invoice_doc_item'.
                move STRING to GT_ITEM-ITEMNO_ACC.
              when 'currency'.
                move STRING to TEMP_STRING.
                move TEMP_STRING to GT_ITEM-CURRENCY.
              when 'Quantity'.
                move STRING to GT_ITEM-Quantity.
              when 'UoM'.
                move STRING to GT_ITEM-UoM.
            endcase.
          endif.
      endcase.
      if GV_NODETEXT = 'Header'.
        clear GV_HEADER.
      elseif GV_NODETEXT = 'Item'.
        if GV_FIRST_TIME ne 'X'.
           append GT_ITEM.
         clear : gt_item.
           GT_ITEM-ITEMNO_ACC = gt_item-itemno_acc + 1.
        endif.
        GV_FIRST_TIME = ' '.
      endif.
    Get the next child
      X_NODE = x_node->get_first_child( ).
    Recurse
      while not X_NODE is initial.
        perform GET_DATA tables     GT_ITEM
                         using      X_NODE
                         changing   GV_HEADER.
        X_NODE = x_node->get_next( ).
      endwhile.
    endform.
    the XML file is:-
    Thanx in advance

Maybe you are looking for

  • TS3274 iPad starts to download imap emails then stops, like it is stuck

    My iPad recently stopped downloading incoming emails from my imap account. It will download my sent mail, drafts, etc. the bar at the bottom comes up and shows downloading 1 of 20 . Then it stops. It seems like it is stuck. I have no problems with my

  • Subcontracting Process...its urgent

    Hi everyone, I have abuisness scenario that the manufacturing plant 1000 purchase raw material X from vendor A. But the goods are not taken into the stock of plant 1000. It will lie with Vendor A who in turn will send material X to Vendor B to manufa

  • Bookmark web template in "Favorites"!!!!!!!!!!!!!!!!

    Hi all, any idea how to bookmark a web template in favorites? I dont want to use the known bookmark functionality from BW. Just click and save a link "directly" in own favorites. In the Bex Browser you can also save links in role or favorites? Regard

  • Apple TV and new apple keyboard not paring

    Heelo I have a Apple TV (3rd. Gen. - MD199LL/A - iOS 6.02) and I got a new Apple Wireless Keyboard (A1314). The keyboard works fine with iPhone 5 (iOS 7.0.4) and my Mac Retina (OS X 10.9). I parried and unparreid from iPhone and Mac to test. Even wit

  • Need Urgent Help. ORA-12500 with no reason

    I need urgent help. I have 8.1.7.2.1 on Win2K. I get ORA-12500 error when trying to connect oracle instance. This problem begin to arise only when number of sessions reach a number about 200. At the same time there is no definite boundary for it. Onc