XML parsing in Oracle 11g

Hello all,
I'm using the below database.
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
I have a XML and I have to parse this and I need to store it in table.
Please give solution to parse.
<?xml version="1.0" encoding="UTF-8"?>
<data>
<passengerinformation>
  <passengerno>0001</passengerno>
  <title>Mr</title>
  <firstname>Test First Name</firstname>
  <familyname>family name</familyname>
  <email>[email protected]</email>
  <country>India</country>
  <contacttype>Mobile : +91 465465487979</contacttype>
</passengerinformation>
<bookinginformation>
  <bookingreferencenumber>FA45454</bookingreferencenumber>
  <vehicleno>AW123</vehicleno>
  <origin>Chennai</origin>
  <destination>Delhi</destination>
  <departuredate>24 Jun 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
<bookinginformation>
  <bookingreferencenumber>ER12345</bookingreferencenumber>
  <vehicleno>AW124</vehicleno>
  <origin>Chennai</origin>
  <destination>Noida</destination>
  <departuredate>24 May 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
<bookinginformation>
  <bookingreferencenumber>FA45454</bookingreferencenumber>
  <vehicleno>AW125</vehicleno>
  <origin>Chennai</origin>
  <destination>Mumbai</destination>
  <departuredate>24 Jul 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
<bookinginformation>
  <bookingreferencenumber>FA45454</bookingreferencenumber>
  <vehicleno>AW126</vehicleno>
  <origin>Chennai</origin>
  <destination>Hyd</destination>
  <departuredate>24 Aug 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
</data>

To give you a starting point
with xmldata as (
select xmlparse (document
'<?xml version="1.0" encoding="UTF-8"?>
<data>
<passengerinformation>
  <passengerno>0001</passengerno>
  <title>Mr</title>
  <firstname>Test First Name</firstname>
  <familyname>family name</familyname>
  <email>[email protected]</email>
  <country>India</country>
  <contacttype>Mobile : +91 465465487979</contacttype>
</passengerinformation>
<bookinginformation>
  <bookingreferencenumber>FA45454</bookingreferencenumber>
  <vehicleno>AW123</vehicleno>
  <origin>Chennai</origin>
  <destination>Delhi</destination>
  <departuredate>24 Jun 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
<bookinginformation>
  <bookingreferencenumber>ER12345</bookingreferencenumber>
  <vehicleno>AW124</vehicleno>
  <origin>Chennai</origin>
  <destination>Noida</destination>
  <departuredate>24 May 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
<bookinginformation>
  <bookingreferencenumber>FA45454</bookingreferencenumber>
  <vehicleno>AW125</vehicleno>
  <origin>Chennai</origin>
  <destination>Mumbai</destination>
  <departuredate>24 Jul 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
<bookinginformation>
  <bookingreferencenumber>FA45454</bookingreferencenumber>
  <vehicleno>AW126</vehicleno>
  <origin>Chennai</origin>
  <destination>Hyd</destination>
  <departuredate>24 Aug 13</departuredate>
  <classoftravel>Sleeper</classoftravel>
  <complaintcategory>baggagedelivery</complaintcategory>
  <comments>Test</comments>
</bookinginformation>
</data>') x from dual)
select
passengerno
from xmldata, xmltable( '/data/passengerinformation' passing xmldata.x
columns
  passengerno varchar2(30) path 'passengerno'
PASSENGERNO
0001

Similar Messages

  • HOW TO: Use the XML parser in Oracle 8.1.7

    I am trying to figure out how to use the xml parser provided in oracle 8.1.7. all i want to do is parse a xml report that is defined using a schema, and place the data into the proper tables. i am totally unfamiliar with the xml parser and how it works. i have done some reading on the subject, but seem to be getting some conflicting infromation about which utilites i need and how to invoke them. can someone please tell me what utilities i need, how to invoke them, and what i need to do to get a xml document to parse and insert to a table? I would greatly appreciate any help anybody could offer. thanks.

    You can parse the XML Document with XML Parser and place the data into database using XSU(XML SQL Utility).
    Both of these are included in XDK for Java at:
    http://otn.oracle.com/tech/xml/xdk_java
    The following document could also help:
    Oracle9i XML Developer's Guide--XDK [PDF] at http://otn.oracle.com/tech/xml/doc.html

  • Problem in XML Parsing via oracle procedure...

    Hi,
    I wrote one oracle procedure for xml parsing.
    I have one valid xml file which has "encode UTF-8". The XML file contains some comments also. While we are parsing the xml file at that time it is not parse successfully and also it is not giving any error. After the following line it is skip rest of the codes(lines).
    dbms_xmlparser.parseclob(l_parser, l_clob);
    At the end of the xml file there are some comments which is like "<!-- abc --> ".
    When I am changing the "encode UTF-8 to ISO-88596-1" & removing the comments which wrote on bottom of the file then its working fine, but the files which we are getting from the system is contains the encode UTF-8 and we don't want to preprocess on that xml files. Even if we will do that via shell script or perl script then it will be overhead to the system and in a single stroke our system will parse more than 5k xml files, so if we will do some preprocess on it, it will take some more time approx 1-2 minutes extra.
    So, If someone knows any solution of this problem, then please guide & help me on this.
    My xml file structure is as follows:-
    <?xml version="1.0" encoding="UTF-8"?>
    <mcd xmlns:HTML="http://www.w3.org/TR/REC-xml">
         <child>
              <child1>32.401 V5.5</child1>
              <child2>ZoneGate</child2>
         </child>
         <mc>
              <newid>
                   <id>12</id>
              </newid>
              <mindex>
                   <date>20111102180000</date>
                   <mt>abc1</mt>
                   <mt>abc2</mt>
                   <mvalue>
                        <r>val_1</r>
                        <r>val_2</r>
                   </mvalue>
              </mindex>
         </mc>
    </mcd>
    <!--
    ALARM STATUS
    morning 10
    afternoon 14
    evening 18
    night 22
    -->
    <!--
    PARAM:EID = 1
    PARAM:GId = 3
    PARAM:GSId = 0
    --!>
    And my oracle procedure is as follows:-
    create or replace procedure loadXMLtotable(dir_name IN varchar2, xmlfile IN varchar2) AS
    -- Defining the variables
    ecode               NUMBER;
    emesg           VARCHAR2(200);
    l_bfile      BFILE;
    l_clob      CLOB;
    l_dest_offset      INTEGER:=1;
    l_src_offset      INTEGER:=1;
    l_Char_set_id      NUMBER := NLS_CHARSET_ID('UTF8');
    l_lang_context      INTEGER := dbms_lob.default_lang_ctx;
    l_warning           INTEGER;
    l_parser dbms_xmlparser.Parser;
    l_doc dbms_xmldom.DOMDocument;
    l_nl1 dbms_xmldom.DOMNodeList;
    l_nl2 dbms_xmldom.DOMNodeList;
    l_n dbms_xmldom.DOMNode;
    node1 dbms_xmldom.DOMNode;
    colid integer ; -- column id used for identifying which column it belongs.
    l_xmltype XMLTYPE;
    sub_xmltype XMLTYPE;
    num_nodes number;
    l_index PLS_INTEGER;
    l_subIndex           PLS_INTEGER;
    starttime Date;
         temp_datatime VARCHAR(25);
    columnname varchar2(300);
    columnvalue varchar2(300);
    -- creating a Type which is a type of "test_hem" table RowType, which I created in SVN server
    TYPE tab_type IS TABLE OF test_hem%ROWTYPE;
    t_tab tab_type := tab_type();
    BEGIN
    -- Passing the xmlfile and virtual directory name which we gave at the time of directory creation
    l_bfile := BFileName('MY_FILES', xmlfile);
    dbms_lob.createtemporary(l_clob, cache=>FALSE);
    dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
    --dbms_lob.loadFromFile(dest_lob => l_clob,
    -- src_lob => l_bfile,
    -- amount => dbms_lob.getLength(l_bfile));
    dbms_lob.loadclobfromfile(l_clob, l_bfile, dbms_lob.getlength(l_bfile),
    l_dest_offset, l_src_offset, l_Char_set_id, l_lang_context, l_warning);
    dbms_lob.close(l_bfile);
    -- make sure implicit date conversions are performed correctly
    dbms_session.set_nls('NLS_DATE_FORMAT','''YYYY-MON-DD HH24:MI:SS''');
    dbms_output.put_line('Date format set');
    -- Create a parser.
    l_parser := dbms_xmlparser.newParser;
    dbms_output.put_line('output 1');
    -- Parse the document and create a new DOM document.
    dbms_xmlparser.parseclob(l_parser, l_clob);
    dbms_output.put_line(' passed parsing');
    l_doc := dbms_xmlparser.getDocument(l_parser);
    dbms_output.put_line(' passed getdocument');
    -- Free resources associated with the CLOB and Parser now they are no longer needed.
    dbms_lob.freetemporary(l_clob);
    dbms_xmlparser.freeParser(l_parser);
    -- Get a list of all the EMP nodes in the document using the XPATH syntax.
    l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/child');
    -- Loop through the list and create a new record in a tble collection
    FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
    l_n := dbms_xmldom.item(l_nl1, cur_sel);
    t_tab.extend;
    -- Use XPATH syntax to assign values to he elements of the collection.
    dbms_xslprocessor.valueOf(l_n,'child1/text()',t_tab(t_tab.last).country);
    -- putting the state and vendorname into the table rowtype
    dbms_xslprocessor.valueOf(l_n,'child2/text()',t_tab(t_tab.last).state);
    END LOOP;
    -- getting the version and putting into the table rowtype
    l_n := dbms_xslprocessor.selectSingleNode(dbms_xmldom.makeNode(l_doc),'//mcd/mc/newid/id');
    dbms_xslprocessor.valueOf(l_n,'id/text()',t_tab(t_tab.last).id);
    -- selecting the nodes whose starting tag is "mindex"
    l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/mc/mindex');
    -- checking the total number of nodes whose starting through "mi"
    num_nodes := dbms_xmldom.getLength(l_nl1);
    l_index := 1;
    -- For loop to iterate the nodes.
    FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
    -- whole current node is selected and storing into the node1 variable
    node1 := dbms_xmldom.item(l_nl1, cur_sel);
    -- setting the xmltype as AL32UTF8
    l_xmltype := xmltype(l_bfile, nls_charset_id('AL32UTF8'));
    -- if selecting parent node containing the mt child node then only proceed else skip that parent node.
    IF (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r') > 0) Then
    -- fetch the datatime, convert it into to_date format and store it into table rowtype
    temp_datatime := dbms_xslprocessor.valueOf(node1, 'date/text()');
    t_tab(t_tab.last).data_time := to_char(to_date(temp_datatime, 'YYYYMmcDHH24MISS'));
    l_subIndex := 1;
                                  while (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt[' || l_subIndex || ']') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r['|| l_subIndex || ']') > 0 ) LOOP
                                  -- getting mt and corresponging mvalue/r values
    dbms_xslprocessor.valueOf(node1,'mt[' || l_subIndex || ']/text()',columnname);
    dbms_xslprocessor.valueOf(node1,'mvalue/r[' || l_subIndex || ']/text()',columnvalue);
    l_subIndex := l_subIndex + 1;
    -- getting the column to which this mapping belongs.
    select columnid into colid from abc_table where columnname=name;
    CASE colid
    WHEN 1 THEN t_tab(t_tab.last).col1 := columnvalue;
                             WHEN 2 THEN t_tab(t_tab.last).col2 := columnvalue;
                             WHEN 3 THEN t_tab(t_tab.last).col3 := columnvalue;
    ELSE dbms_output.put_line('No column mapping for counter ' || columnname) ;
    END CASE; -- end of case statement.
    END LOOP;
    -- Insert data into the real table from the table collection.
    FORALL i IN t_tab.first .. t_tab.last
    INSERT INTO test_hem VALUES t_tab(i);
    END IF;
    l_index := l_index + 1;
    COMMIT;
    END LOOP;
    commit;
    EXCEPTION
    WHEN OTHERS THEN
    ecode := SQLCODE;
    emesg := SQLERRM;
    dbms_output.put_line(TO_CHAR(ecode) || '-' || emesg);
         dbms_lob.freetemporary(l_clob);
         dbms_xmlparser.freeParser(l_parser);
         dbms_xmldom.freeDocument(l_doc);
    END;

    Sorry Odie,
    I am new to this site as well as PL/SQL. I am giving additional details which you had mentioned in your last comments.
    our Oracle Database version is "10.2.0.4.0"
    The structure of target table Instrument_Details is as follows:
    Create table Instrument_Details (
    instrument_id          Integer  Primary Key,
    provider_name          Varchar2(32),
    version_number          Varchar2(32),
    location_id                  Integer,
    installation_date             Date,
    granularity                  Integer,
    time_out                  Integer );
    Note:- Here test_hem is alias of Instrument_details.
    Here instrument_id is a primary key.
    provider_name contains the child2 xml tag value.
    version_number contains the child1 xml tag value.
    location_id contains the newid/id value which is map to other table which fetching the location name corresponding to the location_id.
    installation_date contains the date xml tag value.
    Now we have created one mapping tables where we mapped the xml tag values "mt" with table column name means "abc1 = granularity", "abc2 = time_out" in that table.
    these table column value are written under mvalue xml tag.
    _Our Database Character set is_:-
    NLS_CHARACTERSET WE8ISO8859P1
    Now as you suggest me to format your code. I am writing the xml code and procedure code again.
    My xml file structure is as follows:-
    <?xml version="1.0" encoding="UTF-8"?>
    <mcd xmlns:HTML="http://www.w3.org/TR/REC-xml">
      <child>
          <child1>32.401 V5.5</child1>
          <child2>ZoneGate</child2>
      </child>
      <mc>
          <newid>
               <id>12</id>
          </newid>
      <mindex>
           <date>20111102180000</date>
           <mt>abc1</mt>
           <mt>abc2</mt>
           <mvalue>
                 <r>val_1</r>   -- here val_1 and val_2 are numeric values
                 <r>val_2</r>
            </mvalue>
      </mindex>
      </mc>
    </mcd>
    <!--
    ALARM STATUS
    morning 10
    afternoon 14
    evening 18
    night 22
    -->
    <!--
    PARAM:EID = 1
    PARAM:GId = 3
    PARAM:GSId = 0
    --!> And my oracle procedure is as follows:-
    create or replace procedure loadXMLtotable(dir_name IN varchar2, xmlfile IN varchar2) AS
    -- Defining the variables
    ecode NUMBER;
    emesg VARCHAR2(200);
    l_bfile BFILE;
    l_clob CLOB;
    l_dest_offset INTEGER:=1;
    l_src_offset INTEGER:=1;
    l_Char_set_id NUMBER := NLS_CHARSET_ID('UTF8');
    l_lang_context INTEGER := dbms_lob.default_lang_ctx;
    l_warning INTEGER;
    l_parser dbms_xmlparser.Parser;
    l_doc dbms_xmldom.DOMDocument;
    l_nl1 dbms_xmldom.DOMNodeList;
    l_nl2 dbms_xmldom.DOMNodeList;
    l_n dbms_xmldom.DOMNode;
    node1 dbms_xmldom.DOMNode;
    colid integer ; -- column id used for identifying which column it belongs.
    l_xmltype XMLTYPE;
    sub_xmltype XMLTYPE;
    num_nodes number;
    l_index PLS_INTEGER;
    l_subIndex PLS_INTEGER;
    starttime Date;
    temp_datatime VARCHAR(25);
    columnname varchar2(300);
    columnvalue varchar2(300);
    -- creating a Type which is a type of "Instrument_Details" table RowType, which I created in SVN server
    TYPE tab_type IS TABLE OF Instrument_Details%ROWTYPE;
    t_tab tab_type := tab_type();
    BEGIN
    -- Passing the xmlfile and virtual directory name which we gave at the time of directory creation
    l_bfile := BFileName('MY_FILES', xmlfile);
    dbms_lob.createtemporary(l_clob, cache=>FALSE);
    dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
    --dbms_lob.loadFromFile(dest_lob => l_clob,
    -- src_lob => l_bfile,
    -- amount => dbms_lob.getLength(l_bfile));
    dbms_lob.loadclobfromfile(l_clob, l_bfile, dbms_lob.getlength(l_bfile),
    l_dest_offset, l_src_offset, l_Char_set_id, l_lang_context, l_warning);
    dbms_lob.close(l_bfile);
    -- make sure implicit date conversions are performed correctly
    dbms_session.set_nls('NLS_DATE_FORMAT','''YYYY-MON-DD HH24:MI:SS''');
    dbms_output.put_line('Date format set');
    -- Create a parser.
    l_parser := dbms_xmlparser.newParser;
    dbms_output.put_line('output 1');
    -- Parse the document and create a new DOM document.
    dbms_xmlparser.parseclob(l_parser, l_clob);
    *-- Below lines are skipping....*
    dbms_output.put_line(' passed parsing');
    l_doc := dbms_xmlparser.getDocument(l_parser);
    dbms_output.put_line(' passed getdocument');
    -- Free resources associated with the CLOB and Parser now they are no longer needed.
    dbms_lob.freetemporary(l_clob);
    dbms_xmlparser.freeParser(l_parser);
    -- Get a list of all the EMP nodes in the document using the XPATH syntax.
    l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/child');
    -- Loop through the list and create a new record in a tble collection
    FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
    l_n := dbms_xmldom.item(l_nl1, cur_sel);
    t_tab.extend;
    -- Use XPATH syntax to assign values to he elements of the collection.
    dbms_xslprocessor.valueOf(l_n,'child1/text()',t_tab(t_tab.last).country);
    -- putting the state and vendorname into the table rowtype
       dbms_xslprocessor.valueOf(l_n,'child2/text()',t_tab(t_tab.last).state);
    END LOOP;
    -- getting the version and putting into the table rowtype
       l_n := dbms_xslprocessor.selectSingleNode(dbms_xmldom.makeNode(l_doc),'//mcd/mc/newid/id');
      dbms_xslprocessor.valueOf(l_n,'id/text()',t_tab(t_tab.last).id);
    -- selecting the nodes whose starting tag is "mindex"
      l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/mc/mindex');
    -- checking the total number of nodes whose starting through "mi"
      num_nodes := dbms_xmldom.getLength(l_nl1);
    l_index := 1;
      -- For loop to iterate the nodes.
      FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
      -- whole current node is selected and storing into the node1 variable
      node1 := dbms_xmldom.item(l_nl1, cur_sel);
      -- setting the xmltype as AL32UTF8
       l_xmltype := xmltype(l_bfile, nls_charset_id('AL32UTF8'));
      -- if selecting parent node containing the mt child node then only proceed else skip that parent node.
        IF (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r') > 0) Then
      -- fetch the datatime, convert it into to_date format and store it into table rowtype
        temp_datatime := dbms_xslprocessor.valueOf(node1, 'date/text()');
        t_tab(t_tab.last).data_time := to_char(to_date(temp_datatime, 'YYYYMmcDHH24MISS'));
        l_subIndex := 1;
       while (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt[' || l_subIndex || ']') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r['|| l_subIndex || ']') > 0 ) LOOP
    -- getting mt and corresponging mvalue/r values
       dbms_xslprocessor.valueOf(node1,'mt[' || l_subIndex || ']/text()',columnname);
      dbms_xslprocessor.valueOf(node1,'mvalue/r[' || l_subIndex || ']/text()',columnvalue);
      l_subIndex := l_subIndex + 1;
      -- getting the column to which this mapping belongs.
      select columnid into colid from abc_table where columnname=name;
      CASE colid
      WHEN 1 THEN t_tab(t_tab.last).col1 := columnvalue;
      WHEN 2 THEN t_tab(t_tab.last).col2 := columnvalue;
      WHEN 3 THEN t_tab(t_tab.last).col3 := columnvalue;
          ELSE dbms_output.put_line('No column mapping for counter ' || columnname) ;
      END CASE; -- end of case statement.
      END LOOP;
    -- Insert data into the real table from the table collection.
      FORALL i IN t_tab.first .. t_tab.last
        INSERT INTO test_hem VALUES t_tab(i);
      END IF;
      l_index := l_index + 1;
    COMMIT;
    END LOOP;
    commit;
    EXCEPTION
      WHEN OTHERS THEN
      ecode := SQLCODE;
      emesg := SQLERRM;
      dbms_output.put_line(TO_CHAR(ecode) || '-' || emesg);
      dbms_lob.freetemporary(l_clob);
      dbms_xmlparser.freeParser(l_parser);
      dbms_xmldom.freeDocument(l_doc);
    END;Thanks in advance for your help...

  • XML Parsing in Oracle 11.2.0.3 SE edition.

    Hi all,
    Previously we were using Oracle 11.2.0.1 SE edition which is now upgraded to 11.2.0.3 SE. Is there any difference in the XML parsing between both these versions ?

    The code for parsing is as below:-
    import oracle.xml.parser.schema.*;
    import oracle.xml.parser.v2.*;
    import oracle.sql.CHAR;
    import java.io.*;
    import java.sql.*;
    import oracle.jdbc.OracleDriver;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    // Parse the input XML document with Schema Validation
    in = new FileReader(path + "/" + filename);
    SAXParser sp = new SAXParser();
    sp.setXMLSchema(schemadoc);
    sp.setValidationMode(XMLParser.SCHEMA_VALIDATION);
    sp.setPreserveWhitespace(true);
    sp.setContentHandler(new gnvprdppetimport(filename, ratingImportId, billingImportId, productImportId));
    sp.parse(in);
    The insert statement statement is as below
    private static void createImport(String type, String importId, String filename, String minEdit, String maxEdit, String siteID, String siteName, String catalogueID, String catalogueName, String userID, String invoicingCompanyID, String invoicingCompanyName, String currencyCode, String currencyName)
    throws Exception {
    if (type == "RATING") {insert("ratingimport",new String[]
    {"ratingimport_id", "geneva_user_ora", "import_dtm", "file_name", "ratingedit_min_num", "ratingedit_max_num", "export_site_id", "export_site_name", "exp_rating_catalogue_id", "exp_rating_catalogue_name", "export_geneva_user_ora", "export_invoicing_co_id", "export_invoicing_co_name", "export_currency_code", "export_currency_name", "ratingconflict_boo"},
    new String[] {importId, getUserId(), getSystemDate(), filename, minEdit, maxEdit, siteID, siteName, catalogueID, catalogueName, userID, invoicingCompanyID, invoicingCompanyName, currencyCode, currencyName, "T"});
    }

  • User-defined XML parser in Oracle

    Is it possible to define our own XML parser and XSD in Oracle database?
    Thanks in advance.

    Is it possible to define our own XML parser and XSD in Oracle database?
    Thanks in advance.

  • XML Parse in Oracle App Server

    Hi All,
    I am getting an XML parse exception while trying to parse a file in my application in Oracle 10g Appserver.The same file is working perfectly in oracle.Can any one please help me in resolving this or anyone please tell me how can i use other xml parsers instead of oracle's one.I shall be really grateful if someone could help me in resolving this.
    Thanks In Advance
    Best Regards
    Sujith
    org.xml.sax.SAXParseException: : XML-0220: (Fatal Error) Invalid InputSource.
         at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:226)
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:162)
         at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:220)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:148)
         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
         at com.wellogic.synapse.management.common.ConfigurationServlet.init(ConfigurationServlet.java:47)
         at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2094)
         at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4523)
         at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4617)
         at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:765)
         at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:497)
         at com.evermind.server.Application.getHttpApplication(Application.java:886)
         at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:688)
         at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:570)
         at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:263)
         at com.evermind.server.http.HttpServer.setSites(HttpServer.java:259)
         at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:160)
         at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2325)
         at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1498)
         at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:93)
         at java.lang.Thread.run(Thread.java:534)
    04/11/11 19:45:35 org.xml.sax.SAXParseException: : XML-0220: (Fatal Error) Invalid InputSource.
    04/11/11 19:45:35      at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:226)
    04/11/11 19:45:35      at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:162)
    04/11/11 19:45:35      at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:220)
    04/11/11 19:45:35      at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:148)
    04/11/11 19:45:35      at org.apache.commons.digester.Digester.parse(Digester.java:1591)
    04/11/11 19:45:35      at com.wellogic.synapse.management.common.ConfigurationServlet.init(ConfigurationServlet.java:47)
    04/11/11 19:45:35      at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2094)
    04/11/11 19:45:35      at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4523)
    04/11/11 19:45:35      at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4617)
    04/11/11 19:45:35      at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:765)
    04/11/11 19:45:35      at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:497)
    04/11/11 19:45:35      at com.evermind.server.Application.getHttpApplication(Application.java:886)
    04/11/11 19:45:35      at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:688)
    04/11/11 19:45:35      at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:570)
    04/11/11 19:45:35      at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:263)
    04/11/11 19:45:35      at com.evermind.server.http.HttpServer.setSites(HttpServer.java:259)
    04/11/11 19:45:35      at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:160)
    04/11/11 19:45:35      at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2325)
    04/11/11 19:45:35      at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1498)
    04/11/11 19:45:35      at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:93)
    04/11/11 19:45:35      at java.lang.Thread.run(Thread.java:534)

    Refer Note:413558.1 on MetaLink, it says:
    *4. Ensure you run RDA against the Oracle Home in which the problem is occurring. RDA will only collect from a single Oracle Home at any one time. If an issue affects multiple OracleAS instances you will have to setup / rerun RDA against for each OracleAS instance.*
    Thanks
    Shail

  • Apply Xml Button in Oracle 11g

    Hi All,
    Can someone tell me how to use the Apply Xml Button available in Oracle 11g's Advanced Tab.
    Generally the xml for our analysis report is generated in this Advanced tab. But my question Can i apply my own xml here and by applying my own xml I should be able to make changes in my analysis.
    Can someone tell me what changes are possible to do by using this APPLY XML button.
    Because I tried to create the filters in my analysis by pasting the xml of another analysis's filter section. But its showing Bad xml instance error!
    Please tell me what we can do with this APPLY XML part in Advanced tab?
    Thanks in Advance,
    Surya

    876003 wrote:
    Hi All,
    Can someone tell me how to use the Apply Xml Button available in Oracle 11g's Advanced Tab.
    Generally the xml for our analysis report is generated in this Advanced tab. But my question Can i apply my own xml here and by applying my own xml I should be able to make changes in my analysis.
    Can someone tell me what changes are possible to do by using this APPLY XML button.
    Because I tried to create the filters in my analysis by pasting the xml of another analysis's filter section. But its showing Bad xml instance error!
    Please tell me what we can do with this APPLY XML part in Advanced tab?
    Apply XML — Click this button to commit the XML code modifications that you made to the catalog.
    If your XML that your are pasting is correct and as per Criteria/Analysis then it will work fine. Slightest mistake in it will ruin up the complete XML and will not allow you to use.
    Hope this helps

  • Improve XML readability in Oracle 11g for binary XMLType storage for huge files

    I have one requirement in which I have to process huge XML files. That means there might be around 1000 xml files and the whole size of these files would be around 2GB.
    What I need is to store all the data in these files to my Oracle DB. For this I have used sqlloader for bulk uploading of all my XML files to my DB and it is stored as binary XMLTYPE in my database.Now I need to query these files and store the data in relational tables.For this I have used XMLTable Xpath queries. Everything is fine when I try to query single xml file within my DB. But if it is trying to query all those files it is taking too much time which is not acceptable.
    Here's my one sample xml content:
    <ABCD>
      <EMPLOYEE id="11" date="25-Apr-1983">
        <NameDetails>
          <Name NameType="a">
            <NameValue>
              <FirstName>ABCD</FirstName>
              <Surname>PQR</Surname>
              <OriginalName>TEST1</OriginalName>
              <OriginalName>TEST2</OriginalName>
            </NameValue>
          </Name>
          <Name NameType="b">
            <NameValue>
              <FirstName>TEST3</FirstName>
              <Surname>TEST3</Surname>
            </NameValue>
            <NameValue>
              <FirstName>TEST5</FirstName>
              <MiddleName>TEST6</MiddleName>
              <Surname>TEST7</Surname>
              <OriginalName>JAB1</OriginalName>
            </NameValue>
            <NameValue>
              <FirstName>HER</FirstName>
              <MiddleName>HIS</MiddleName>
              <Surname>LOO</Surname>
            </NameValue>
          </Name>
          <Name NameType="c">
            <NameValue>
              <FirstName>CDS</FirstName>
              <MiddleName>DRE</MiddleName>
              <Surname>QWE</Surname>
            </NameValue>
            <NameValue>
              <FirstName>CCD</FirstName>
              <MiddleName>YTD</MiddleName>
              <Surname>QQA</Surname>
            </NameValue>
            <NameValue>
              <FirstName>DS</FirstName>
              <Surname>AzDFz</Surname>
            </NameValue>
          </Name>
        </NameDetails>
      </EMPLOYEE >
    </ABCD>
    Please note that this is just one small record inside one big xml.Each xml would contain similar records around 5000 in number.Similarly there are more than 400 files each ranging about 4MB size approx.
    My xmltable query :
    SELECT t.personid,n.nametypeid,t.titlehonorofic,t.firstname,
            t.middlename,
            t.surname,
            replace(replace(t.maidenname, '<MaidenName>'),'</MaidenName>', '#@#') maidenname,
            replace(replace(t.suffix, '<Suffix>'),'</Suffix>', '#@#') suffix,
            replace(replace(t.singleStringName, '<SingleStringName>'),'</SingleStringName>', '#@#') singleStringName,
            replace(replace(t.entityname, '<EntityName>'),'</EntityName>', '#@#') entityname,
            replace(replace(t.originalName, '<OriginalName>'),'</OriginalName>', '#@#') originalName
    FROM xmlperson p,master_nametypes n,
             XMLTABLE (
              --'ABCD/EMPLOYEE/NameDetails/Name/NameValue'
              'for $i in ABCD/EMPLOYEE/NameDetails/Name/NameValue        
               return <row>
                        {$i/../../../@id}
                         {$i/../@NameType}
                         {$i/TitleHonorific}{$i/Suffix}{$i/SingleStringName}
                        {$i/FirstName}{$i/MiddleName}{$i/OriginalName}
                        {$i/Surname}{$i/MaidenName}{$i/EntityName}
                    </row>'
            PASSING p.filecontent
            COLUMNS
                    personid     NUMBER         PATH '@id',
                    nametypeid   VARCHAR2(255)  PATH '@NameType',
                    titlehonorofic VARCHAR2(4000) PATH 'TitleHonorific',
                     firstname    VARCHAR2(4000) PATH 'FirstName',
                     middlename  VARCHAR2(4000) PATH 'MiddleName',
                    surname     VARCHAR2(4000) PATH 'Surname',
                     maidenname   XMLTYPE PATH 'MaidenName',
                     suffix XMLTYPE PATH 'Suffix',
                     singleStringName XMLTYPE PATH 'SingleStringName',
                     entityname XMLTYPE PATH 'EntityName',
                    originalName XMLTYPE        PATH 'OriginalName'
                    ) t where t.nametypeid = n.nametype and n.recordtype = 'Person'
    But this is taking too much time to query all those huge data. The resultset of this query would return about millions of rows. I tried to index the table using this query :
    CREATE INDEX myindex_xmlperson on xml_files(filecontent) indextype is xdb.xmlindex parameters ('paths(include(ABCD/EMPLOYEE//*))');
    My Database version :
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    "CORE 11.2.0.2.0 Production"
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    Index is created but still no improvement with the performance though. It is taking more than 20 minutes to query even a set of 10 similar xml files.Now you can imagine how much will it take to query all those 1000 xml files.
    Could someone please suggest me how to improve the performance of my database.Since I am new to this I am not sure whether I am doing it in proper way. If there is a better solution please suggest. Your help will be greatly appreciated.

    Hi Odie..
    I tried to run your code through all the xml files but it is taking too much time. It has not ended even after 3hours.
    When I tried to do a single insert select statement  for one single xml it is working.But stilli ts in the range of ~10sec.
    Please find my execution plan for one single xml file with your code.
    "PLAN_TABLE_OUTPUT"
    "Plan hash value: 2771779566"
    "| Id  | Operation                                     | Name                                     | Rows   | Bytes | Cost (%CPU)| Time     |"
    "|   0 | INSERT STATEMENT                   |                                              |   499G |   121T |   434M  (2) |999:59:59  |"
    "|   1 |  LOAD TABLE CONVENTIONAL    | WATCHLIST_NAMEDETAILS  |            |           |                 |                 |"
    "|   2 |   SORT AGGREGATE                   |                                             |     1      |     2    |                 |          |"
    "|   3 |    XPATH EVALUATION                 |                                             |             |          |                 |          |"
    "|   4 |   SORT AGGREGATE                   |                                             |     1      |     2    |                 |          |"
    "|   5 |    XPATH EVALUATION                 |                                             |             |          |                 |          |"
    "|   6 |   SORT AGGREGATE                   |                                             |     1       |     2   |                 |          |"
    "|   7 |    XPATH EVALUATION                 |                                             |              |         |                 |          |"
    "|   8 |   SORT AGGREGATE                   |                                             |     1        |     2  |                 |          |"
    "|   9 |    XPATH EVALUATION                 |                                             |              |         |                 |          |"
    "|  10 |   NESTED LOOPS                       |                                             |   499G    | 121T |   434M (2) | 999:59:59 |"
    "|  11 |    NESTED LOOPS                      |                                             |    61M     |  14G |  1222K (1) | 04:04:28 |"
    "|  12 |     NESTED LOOPS                     |                                             | 44924      |  10M |    61   (2) | 00:00:01 |"
    "|  13 |      MERGE JOIN CARTESIAN      |                                             |     5         | 1235 |     6   (0) | 00:00:01 |"
    "|* 14 |       TABLE ACCESS FULL          | XMLPERSON                        |     1          |  221 |     2   (0) | 00:00:01 |"
    "|  15 |       BUFFER SORT                     |                                             |     6          |  156 |     4   (0) | 00:00:01 |"
    "|* 16 |        TABLE ACCESS FULL         | MASTER_NAMETYPES        |     6          |  156 |     3   (0) | 00:00:01 |"
    "|  17 |      XPATH EVALUATION             |                                             |                |         |               |          |"
    "|* 18 |     XPATH EVALUATION              |                                             |               |          |               |          |"
    "|  19 |    XPATH EVALUATION               |                                              |               |         |              |          |"
    "Predicate Information (identified by operation id):"
    "  14 - filter(""P"".""FILENAME""='PFA2_95001_100000_F.xml')"
    "  16 - filter(""N"".""RECORDTYPE""='Person')"
    "  18 - filter(""N"".""NAMETYPE""=CAST(""P1"".""C_01$"" AS VARCHAR2(255) ))"
    "Note"
    "   - Unoptimized XML construct detected (enable XMLOptimizationCheck for more information)"
    Please note that this is for a single xml file. I have like more than 400 similar files in the same table.
    And for your's as well as Jason's Question:
    What are you trying to accomplish with
    replace(replace(t.originalName, '<OriginalName>'),'</OriginalName>', '#@#') originalName 
    originalName XMLTYPE PATH 'OriginalName'
    Like Jason, I also wonder what's the purpose of all those XMLType projections and strange replaces in the SELECT clause
    What I was trying to achieve was to create a table containing separate rows for all the multi item child nodes for this particular xml.
    But since there was an error beacuse of multiple child nodes like 'ORIGINALNAME' under 'NAMEVALUE' node, I tried this script to insert those values by providing a delimiter and replacing the tag names.
    Please see the link for more details - http://stackoverflow.com/questions/16835323/construct-xmltype-query-to-store-data-in-oracle11g
    This was the execution plan for one single xml file with my code :
    Plan hash value: 2851325155
    | Id  | Operation                                                     | Name                                         | Rows  | Bytes   | Cost (%CPU)  | Time       |    TQ  | IN-OUT | PQ Distrib |
    |   0 | SELECT STATEMENT                                   |                                                 |  7487   |  1820K |    37   (3)        | 00:00:01 |           |             |            |
    |*  1 |  HASH JOIN                                                 |                                                 |  7487   |  1820K  |    37   (3)        | 00:00:01 |           |             |            |
    |*  2 |   TABLE ACCESS FULL                                | MASTER_NAMETYPES            |     6     |   156     |     3   (0)         | 00:00:01 |           |             |            |
    |   3 |   NESTED LOOPS                                        |                                                 |  8168   |  1778K  |    33   (0)        | 00:00:01 |           |             |            |
    |   4 |    PX COORDINATOR                                    |                                                 |            |             |                      |               |           |             |            |
    |   5 |     PX SEND QC (RANDOM)                           | :TQ10000                                  |     1    |   221      |     2   (0)        | 00:00:01 |  Q1,00 | P->S     | QC (RAND)  |
    |   6 |      PX BLOCK ITERATOR                              |                                                 |     1    |   221      |     2   (0)        | 00:00:01 |  Q1,00 | PCWC   |            |
    |*  7 |       TABLE ACCESS FULL                            | XMLPERSON                            |     1    |   221      |     2   (0)        | 00:00:01 |  Q1,00 | PCWP   |            |
    |   8 |    COLLECTION ITERATOR PICKLER FETCH  | XQSEQUENCEFROMXMLTYPE |  8168  | 16336    |    29   (0)       | 00:00:01  |           |               |            |
    Predicate Information (identified by operation id):
       1 - access("N"."NAMETYPE"=CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(SYS_XQEXTRACT(VALUE(KOKBF$),'/*/@NameType'),0,0,20971520,0),50,1,2
                  ) AS VARCHAR2(255)  ))
       2 - filter("N"."RECORDTYPE"='Person')
       7 - filter("P"."FILENAME"='PFA2_95001_100000_F.xml')
    Note
       - Unoptimized XML construct detected (enable XMLOptimizationCheck for more information)
    Please let me know whether this has helped.
    My intention is to save the details in the xml to different relational tables so that I can easily query it from my application. I have similarly many queries which inserts the xml values to different tables like the one which I have mentioned here. I was thinking of creating a stored procedure to insert all these values in the relational tables once I receive the xml files. But even a single query is taking too much time to complete. Could you please help me in this regard. Waiting for your valuable feedback.

  • XML parser for Oracle 8i

    I would like to use XMLparser for plsql in Oracle 8i. I know that I can download the parser from the OTN. Can anyone tell me how to install it to Oracle8i? or does Oracle 8i DBMS already has one installed/embedded into it as the default DBMS.
    Furthermore, the directions in OTN tells us to install JKD1.1.x or above and GNUgzip?
    Why do I have to install JDK to use the parser? and what is GNU gzip?
    Thank you very much
    Ben

    There is a readme file in that package which
    show you how to install it into your Oracle8i
    database.
    Duy

  • How to create simple XML database in oracle 11g

    Hi,
    what are the steps to followed to create a simeple custormer XML database.
    Like storing .xml file into XMLType, writing simple xml schema.....like that
    how to register the .xsd
    how to insert the xml data
    how to querying the the data base with xquery
    Thanks in Advance

    Have a look a the FAQ on the main page of this XMLDB forum. That's a good source to start (besides the XMLDB Developer Guide manual).

  • Importing XML into oracle 11g database

    I am having some difficulty parsing an XML file into oracle 11g database.
    Currently using Oracle 11g Express Edition (XE)
    Here is how my XML file looks like:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <AccountMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <Accounts>
    - <AccountMapping>
    <AccountID>0000000000000-000</AccountID>
    <AccountName>XLS</AccountName>
    <AccountType>Excel</AccountType>
    <AccountOwner>System</AccountOwner>
    </AccountMapping>
    - <AccountMapping>
    <AccountID>0000000000000-001</AccountID>
    <AccountName>XLSS</AccountName>
    <AccountType>Excel2</AccountType>
    <AccountOwner>System2</AccountOwner>
    </AccountMapping>
    - <AccountMapping>
    and so on the file continues.. I have the xml file saved on my local hard disk
    I have created a package in SQL Developer
    create or replace
    PACKAGE XML_FILEHANDLER AS
    type TRecord is record (
    Account_ID varchar2(100)
    , AccountName varchar2(100)
    , AccountType varchar2(30)
    , AccountOwner varchar2(100)
    type TRecordTable is table of TRecord;
    function getRows (p_directory in varchar2, p_filename in varchar2) return TRecordTable pipelined;
    END XML_FILEHANDLER;
    -- BODY
    create or replace
    PACKAGE BODY XML_FILEHANDLER AS
    function getRows (p_directory in varchar2, p_filename in varchar2) return TRecordTable pipelined AS
    nb_rec NUMBER := 1;
    tmp_xml CLOB;
    tmp_file CLOB;
    rec TRecord;
    BEGIN
    dbms_lob.createtemporary(tmp_file, true);
    tmp_file := dbms_xslprocessor.read2clob(p_directory, p_filename);
    rec.Account_ID := regexp_replace(tmp_file, '.*<Account_ID>(.*)</Account_ID>.*', '\1', 1, 1, 'n');
    rec.AccountName := regexp_replace(tmp_file, '.*<AccountName>(.*)</AccountName>.*', '\1', 1, 1, 'n');
    rec.AccountType := regexp_replace(tmp_file, '.*<AccountType >(.*)</AccountType >.*', '\1', 1, 1, 'n');
    rec.AccountOwner := regexp_replace(tmp_file, '.*<AccountOwner>(.*)</AccountOwner>.*', '\1', 1, 1, 'n');
    loop
    -- this regexp finds occurrence(s) of this pattern : "<?xml ... ?><root_tag> ... </root_tag>"
    tmp_xml := regexp_substr(tmp_file, '<\?xml[^?]+\?>\s+<([^>]+)>.*?</\1>', 1, nb_rec, 'n');
    exit when length(tmp_xml) = 0;
    --dbms_output.put_line(tmp_rec);
    nb_rec := nb_rec + 1;
    SELECT Account_ID, AccountName, AccountType, AccountOwner
    into rec.Account_ID, rec.AccountName, rec.AccountType, rec.AccountOwner
    from xmltable(
    'Accounts/AccountMapping' passing xmltype(tmp_xml) columns
    Account_ID varchar2(100) path 'Account_ID'
    , AccountName varchar2(100) path 'AccountName'
    , AccountType varchar2(30) path 'AccountType'
    , AccountOwner varchar2(100) path 'AccountOwner'
    pipe row ( rec );
    end loop;
    dbms_lob.freetemporary(tmp_file);
    END getRows;
    END XML_FILEHANDLER;
    -- I am calling my function using the following sql query
    select * from table(XML_FileHandler.getRows('XML', 'test.xml'));
    Here is the error I am receiving
    ORA-29283: invalid file operation
    ORA-06512: at "SYS.UTL_FILE", line 536
    ORA-29283: invalid file operation
    ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 265
    ORA-06512: at "user.XML_FILEHANDLER", line 13
    29283. 00000 - "invalid file operation"
    *Cause:    An attempt was made to read from a file or directory that does
    not exist, or file or directory access was denied by the
    operating system.
    *Action:   Verify file and directory access privileges on the file system,
    and if reading, verify that the file exists.
    I have done the following
    - Provided appropriate access to user (read, write) including directory access rights
    - ensured that directory exists
    - ensured that file exists
    I have searched all over google and metalink but am unable to get this to run.. please help!

    >
    SELECT Account_ID, AccountName, AccountType, AccountOwner
    into rec.Account_ID, rec.AccountName, rec.AccountType, rec.AccountOwner
    from xmltable(
    'Accounts/AccountMapping' passing xmltype(tmp_xml) columns
    Account_ID varchar2(100) path 'Account_ID'
    , AccountName varchar2(100) path 'AccountName'
    , AccountType varchar2(30) path 'AccountType'
    , AccountOwner varchar2(100) path 'AccountOwner'
    >
    change to
    SELECT Account_ID, AccountName, AccountType, AccountOwner
    into rec.Account_ID, rec.AccountName, rec.AccountType, rec.AccountOwner
    from xmltable(
    'AccountMap/Accounts/AccountMapping' passing xmltype(tmp_xml) columns
    Account_ID varchar2(100) path 'Account_ID'
    , AccountName varchar2(100) path 'AccountName'
    , AccountType varchar2(30) path 'AccountType'
    , AccountOwner varchar2(100) path 'AccountOwner'
    SQL> SELECT Account_ID, AccountName, AccountType, AccountOwner
      2  --into rec.Account_ID, rec.AccountName, rec.AccountType, rec.AccountOwner
      3  from xmltable(
      4  'AccountMap/Accounts/AccountMapping' passing
      5  xmltype('<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
      6  <AccountMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      7  <Accounts>
      8  <AccountMapping>
      9  <AccountID>0000000000000-000</AccountID>
    10  <AccountName>XLS</AccountName>
    11  <AccountType>Excel</AccountType>
    12  <AccountOwner>System</AccountOwner>
    13  </AccountMapping>
    14  <AccountMapping>
    15  <AccountID>0000000000000-001</AccountID>
    16  <AccountName>XLSS</AccountName>
    17  <AccountType>Excel2</AccountType>
    18  <AccountOwner>System2</AccountOwner>
    19  </AccountMapping>
    20  </Accounts>
    21  </AccountMap>')
    22  columns
    23  Account_ID varchar2(100) path 'Account_ID'
    24  , AccountName varchar2(100) path 'AccountName'
    25  , AccountType varchar2(30) path 'AccountType'
    26  , AccountOwner varchar2(100) path 'AccountOwner'
    27  );
    ACCOUNT_ID                                                                       ACCOUNTNAME                                                                      ACCOUNTTYPE                    ACCOUNTOWNER
                                                                                     XLS                                                                              Excel                          System
                                                                                     XLSS                                                                             Excel2                         System2
    SQL> for AccountID use AccountID not Account_ID
    Account_ID varchar2(100) path 'AccountID'Edited by: AlexAnd on Aug 9, 2012 12:35 AM

  • XML parser Problem in Oracle 9iAS

    Dear All,
    I am trying to parse a xml file by using a SAX Parser.
    I am getting error "oracle.xml.parser.v2.XMLParseException: Invalid InputSource.'. I have already included 'xerces.jar' in the classpath.
    But it is always taking oracle xml parser.
    How to change the default XML parser in Oracle 9ias.
    This is my report.jsp File
    &lt;%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*,javax.jms.*,iims.util.*,javax.xml.parsers.*,org.xml.sax.*,org.xml.sax.helpers.*, org.w3c.dom.*"%&gt;
    &lt;%
    generateTree();
    %&gt;
    &lt;%!
         //This method is to be called during startup. It will generate the template and rule nodes.
         public static void generateTree() throws Exception
              //Proceed with this method if the template and rule trees are not built already.
              //if (nodeTemplate != null && nodeRule != null) return;
              // Validate
              Node nodeRule = parseXml("d:\\ora9ias\\j2ee\\home\\Reports\\IIMSReportsTemplate1.xml");
         }//generateTree
    %&gt;
    &lt;%!
         //parse the input file and return a node.
         private static Node parseXml(String fileName) throws Exception
              //Parse the input file
              Document objDocument = null;
              DocumentBuilder objDocumentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
              objDocument = objDocumentBuilder.parse(fileName);
              Node nodeRet = objDocument;
              return nodeRet;
         }//parseXml
    %&gt;
    Report template:
    &lt;ROOT&gt;
         &lt;HEADINGS&gt;
              &lt;HEADING1&gt;H1&lt;/HEADING1&gt;
              &lt;HEADING2&gt;H2&lt;/HEADING2&gt;
              &lt;HEADING3&gt;H3&lt;/HEADING3&gt;
              &lt;HEADING4&gt;H4&lt;/HEADING4&gt;
              &lt;HEADING5&gt;H5&lt;/HEADING5&gt;
              &lt;HEADING6&gt;H6&lt;/HEADING6&gt;
         &lt;/HEADINGS&gt;
         &lt;ROWSETS&gt;
              &lt;ROWSET&gt;
                   &lt;COLHDRS&gt;
                   &lt;/COLHDRS&gt;
                   &lt;ROWS&gt;
                   &lt;/ROWS&gt;
              &lt;/ROWSET&gt;
         &lt;/ROWSETS&gt;
         &lt;Footer&gt;
              &lt;PageNo&gt;Generate&lt;/PageNo&gt;
              &lt;Date&gt;SystemDate&lt;/Date&gt;
         &lt;/Footer&gt;
    &lt;/ROOT&gt;
    Stack Trace:
    strRuleFileD:\ora9ias\j2ee\home\Reports\IIMSReportsRules.xml
    oracle.xml.parser.v2.XMLParseException: Invalid InputSource.
    at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:145)
    at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:208)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:140)
    at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:96)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:165)
    at iims.REPORTS.IIMSGenerateReport.parseXml(IIMSGenerateReport.java:115)
    at iims.REPORTS.IIMSGenerateReport.generateTree(IIMSGenerateReport.java:
    100)
    at iims.REPORTS.IIMSGenerateReport.buildXML(IIMSGenerateReport.java:147)
    at PCREPORT_PROCESS.processBody(PCREPORT_PROCESS.java:3248)
    at PCREPORT_PROCESS.doPost(PCREPORT_PROCESS.java:100)
    at PCREPORT_PROCESS.doGet(PCREPORT_PROCESS.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:244)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterC
    hain.java:59)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:523)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:269)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:735)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java
    :151)
    at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    Please advise.
    Thanks
    Siva Kishor Rao U

    Adding Xerces XML parser is not enough to make it work. Since some version of JDK (I think 1.4.X) XML parser is included and for older version it can be setup like a runtime option. And this is probably how ORACLE is using its XML parser. If you want to use different parser, you have to pass runtime option to JVM - for Xalan it looks like this:
    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
    ...this way it becomes default parser factory used by javax interface functions. Look for documentation on xml.apache.org
    Myrra

  • Oracle9i: Difference between oraxml and oracle.xml.parser.v2.DOMParser?

    I have parsed the following xml document with the oraxml batch
    and with the sample '..\xdk\demo\java\parser\dom\DOMSample' and
    observed a diffent behavior in Oracle9i:
    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <Document xmlns:n1='urn:example:some-names'
    xmlns:n2='urn:example:some-names'>
    <BadAttrs_XML_1.0 att='1' att='2' />
    <BadAttrs_Namespaces n1:att='1' n2:att='2' />
    <OKAttrs_XML_1.0 att='1' n2:att='2' />
    </Document>
    ----------------------------1.) oraxml
    C:\oracle\ora9011\xdk\demo\java\parser\dom>oraxml -version
    -warning Namespaces2.xml
    Parser version: Oracle XDK Java 9.0.1.0.0 Production
    The input XML file is parsed without errors using partial
    validation mode
    Oraxml does not recognize the two attributes with the same name
    in element 'BadAttrs_XML_1.0' as an error.
    2.) oracle.xml.parser.v2.DOMParser
    C:\oracle\ora9011\xdk\demo\java\parser\dom>java DOMSample
    Namespaces2.xml
    file:Namespaces2.xml<Line 8, Column 38>: XML-0124: (Fata
    l Error) An attribute cannot appear more than once in the same
    start tag.
    oracle.xml.parser.v2.XMLParseException: An attribute cannot
    appear more than once in the same start tag.
    I have modified the DomSample.java. The DomParser just checks for
    well-formed documents and doesn't validate the document anymore.
    (only a comment before
    parser.setValidationMode(DOMParser.DTD_VALIDATION);)
    My question is:
    Is there really a difference between oracle.xml.parser.v2.oraxml
    and oracle.xml.parser.v2.DOMParser or which parameters do I have
    to use to get the same results?
    With Oracle8i, both report an xml error!!
    (Oracle9i, Win2000, JDK1.3)
    Thanx in advance!
    Markus

    It would appear that there is a difference when a loadjava is given a jar vs. the individual class files. When I load the jar, I get the previously described error, but when I load the individual class files (the same class files that the jar contains) the error goes away.
    Why?

  • Oracle 11g installation on Linux Enterprise 5 remains hanging at 43%!

    Hi all,
    as per Subject, I have installed a Linux Enterprise 5 OS downloaded by Oracle Download Center and it is now installed following the nice Guide here.
    I have added the missing Linux packages and set up the kernel parameters as per Guide quoted above.
    If I launch the Oracle installation, it completes the packages and parameters check fine, install goes fine until 43% and then hangs.
    It's not freezing as the Installation window shows ongoing animations, if I try to stop installation it responds immediately asking for confirmation.
    It just hangs up!
    The Linux machine is actually on a VMWare image on a MacOS Leopard host.
    I have tried it on my laptop and desktop as well, but the hang point keeps being the same.
    Any idea?
    Thanks in advance.

    Satish Kandi wrote:
    Can you post last 10 lines from the installation log? That might provide some clue.Sure.
    I will copy more that last 10 lines as last 10 lines do not look too descriptive to me.
    This will contain also my Installation abort.
    Summary
    Global Settings
    Source: /mnt/hgfs/Oracle/database/install/../stage/products.xml
    Oracle Base: /home/oracle/app/oracle
    Oracle Home: /home/oracle/app/oracle/product/11.1.0/db_1 (OraDb11g_home1)
    Installation Type: Enterprise Edition
    Product Languages
    English
    Space Requirements
    / Required 3.43GB (includes 224MB temporary) : Available 30.10GB
    New Installations (125 products)
    Oracle Database 11g 11.1.0.6.0
    Enterprise Edition Options 11.1.0.6.0
    Oracle Partitioning 11.1.0.6.0
    Oracle Spatial 11.1.0.6.0
    Oracle OLAP 11.1.0.6.0
    Oracle Database 11g 11.1.0.6.0
    Oracle Text 11.1.0.6.0
    Oracle Net Services 11.1.0.6.0
    Oracle Enterprise Manager Console DB 11.1.0.5.0
    Oracle Net Listener 11.1.0.6.0
    HAS Files for DB 11.1.0.6.0
    Oracle Call Interface (OCI) 11.1.0.6.0
    Enterprise Manager Agent 10.2.0.3.1
    Oracle Programmer 11.1.0.6.0
    Oracle Database Gateway for ODBC 11.1.0.6.0
    Oracle Advanced Security 11.1.0.6.0
    Oracle JVM 11.1.0.6.0
    Database Configuration and Upgrade Assistants 11.1.0.6.0
    Oracle XML Development Kit 11.1.0.6.0
    Generic Connectivity Common Files 11.1.0.6.0
    Oracle Multimedia 11.1.0.6.0
    Oracle Multimedia Locator 11.1.0.6.0
    Oracle Internet Directory Client 11.1.0.6.0
    Oracle Database Utilities 11.1.0.6.0
    Secure Socket Layer 11.1.0.6.0
    PL/SQL 11.1.0.6.0
    Oracle Recovery Manager 11.1.0.6.0
    Oracle Net 11.1.0.6.0
    Assistant Common Files 11.1.0.6.0
    Installation Common Files 11.1.0.6.0
    Enterprise Manager plugin Common Files 11.1.0.5.0
    Oracle LDAP administration 11.1.0.6.0
    SQL*Plus 11.1.0.6.0
    HAS Common Files 11.1.0.6.0
    Oracle Help for the Web 2.0.14.0.0
    Oracle UIX 2.2.20.0.0
    Precompiler Common Files 11.1.0.6.0
    Oracle Clusterware RDBMS Files 11.1.0.6.0
    Cluster Verification Utility Common Files 11.1.0.6.0
    Oracle Wallet Manager 11.1.0.6.0
    Oracle Security Developer Tools 11.1.0.6.0
    XML Parser for Java 11.1.0.6.0
    Enterprise Manager Minimal Integration 11.1.0.6.0
    Oracle Database User Interface 2.2.13.0.0
    SQL*Plus Files for Instant Client 11.1.0.6.0
    Oracle ODBC Driver 11.1.0.6.0
    Required Support Files 11.1.0.6.0
    Database SQL Scripts 11.1.0.6.0
    OLAP SQL Scripts 11.1.0.6.0
    PL/SQL Embedded Gateway 11.1.0.6.0
    Oracle Globalization Support 11.1.0.6.0
    Character Set Migration Utility 11.1.0.6.0
    Oracle Locale Builder 11.1.0.6.0
    Secure Socket Layer 11.1.0.6.0
    Oracle Java Client 11.1.0.6.0
    Oracle JDBC/THIN Interfaces 11.1.0.6.0
    Oracle Multimedia Client Option 11.1.0.6.0
    Oracle Universal Connection Pool 11.1.0.6.0
    Oracle Notification Service 11.1.0.5.0
    Oracle Code Editor 1.2.1.0.0I
    Oracle Ultra Search Server Rdbms 11.1.0.6.0
    Oracle Help For Java 4.2.9.0.0
    Oracle Containers for Java 11.1.0.6.0
    JAccelerator (COMPANION) 11.1.0.6.0
    Database Workspace Manager 11.1.0.6.0
    SQLJ Runtime 11.1.0.6.0
    Oracle Core Required Support Files 11.1.0.6.0
    Platform Required Support Files 11.1.0.6.0
    Oracle Ice Browser 5.2.3.6.0
    Oracle Application Express 11.1.0.6.0
    Oracle SQL Developer 11.1.0.6.0
    Oracle JDBC Server Support Package 11.1.0.6.0
    regexp 2.1.9.0.0
    Enterprise Manager Common Files 10.2.0.3.1
    Installation Plugin Files 11.1.0.6.0
    Oracle JDBC/OCI Instant Client 11.1.0.6.0
    XML Parser for Oracle JVM 11.1.0.6.0
    Oracle XML Query 11.1.0.6.0
    Oracle Message Gateway Common Files 11.1.0.6.0
    Oracle Starter Database 11.1.0.6.0
    Sample Schema Data 11.1.0.6.0
    Precompiler Required Support Files 11.1.0.6.0
    Parser Generator Required Support Files 11.1.0.6.0
    Oracle Multimedia Locator RDBMS Files 11.1.0.6.0
    Oracle Globalization Support 11.1.0.6.0
    Oracle Multimedia Annotator 11.1.0.6.0
    Oracle Multimedia Java Advanced Imaging 11.1.0.6.0
    Oracle Database 11g Multimedia Files 11.1.0.6.0
    Agent Required Support Files 10.2.0.3.1
    Oracle 11g Warehouse Builder Server 11.1.0.6.0
    Oracle Ultra Search Server 11.1.0.6.0
    Oracle Ultra Search Middle-Tier 11.1.0.6.0
    Oracle Ultra Search Common Files 11.1.0.6.0
    Perl Interpreter 5.8.3.0.4
    RDBMS Required Support Files 11.1.0.6.0
    Oracle Display Fonts 9.0.2.0.0
    RDBMS Required Support Files for Instant Client 11.1.0.6.0
    Enterprise Manager Agent Core Files 10.2.0.3.1
    Enterprise Manager Common Core Files 10.2.0.3.1
    Enterprise Manager Grid Control Core Files 10.2.0.3.1
    Enterprise Manager Database Plugin -- Agent Support 11.1.0.5.0
    Enterprise Manager Database Plugin -- Management Service Support 11.1.0.5.0
    Enterprise Manager Repository Core Files 10.2.0.3.1
    Enterprise Manager Database Plugin -- Repository Support 11.1.0.5.0
    Provisioning Advisor Framework 10.2.0.3.1
    XDK Required Support Files 11.1.0.6.0
    Oracle RAC Required Support Files-HAS 11.1.0.6.0
    SQL*Plus Required Support Files 11.1.0.6.0
    Oracle JFC Extended Windowing Toolkit 4.2.36.0.0
    Oracle Extended Windowing Toolkit 3.4.47.0.0
    Oracle OLAP API 11.1.0.6.0
    Oracle OLAP RDBMS Files 11.1.0.6.0
    Oracle Data Mining RDBMS Files 11.1.0.6.0
    Oracle Real Application Testing 11.1.0.6.0
    Bali Share 1.1.18.0.0
    Buildtools Common Files 11.1.0.6.0
    Oracle Net Required Support Files 11.1.0.6.0
    SSL Required Support Files for InstantClient 11.1.0.6.0
    LDAP Required Support Files 11.1.0.6.0
    Oracle ODBC Driverfor Instant Client 11.1.0.6.0
    Oracle Configuration Manager 10.2.6.0.0
    Oracle Universal Installer 11.1.0.6.0
    Oracle One-Off Patch Installer 11.1.0.6.0
    Installer SDK Component 11.1.0.6.0
    Sun JDK 1.5.0.1.1
    INFO: Method 'dispose()' Not implemented in class 'OiCcrCsi'
    INFO: config-context initialized
    INFO: *** Install Page***
    INFO: FastCopy : File Version is Compatible
    INFO: Install mode is fastcopy mode for component 'oracle.server' with Install type 'EE'.
    INFO: Link phase has been specified as needed
    INFO: Setup phase has been specified as needed
    INFO: HomeSetup JRE files in Scratch :0
    INFO: Setting variable 'ROOTSH_LOCATION' to '/home/oracle/app/oracle/product/11.1.0/db_1/root.sh'. Received the value from a code block.
    INFO: Setting variable 'ROOTSH_LOCATION' to '/home/oracle/app/oracle/product/11.1.0/db_1/root.sh'. Received the value from a code block.
    INFO: Performing fastcopy operations based on the information in the file 'oracle.server_EE_exp_1.xml'.
    INFO: Performing fastcopy operations based on the information in the file 'racfiles.jar'.
    INFO: Performing fastcopy operations based on the information in the file 'oracle.server_EE_dirs.lst'.
    INFO: Performing fastcopy operations based on the information in the file 'oracle.server_EE_filemap.jar'.
    INFO: Performing fastcopy operations based on the information in the file 'oracle.server_EE_1.xml'.
    INFO: Performing fastcopy operations based on the information in the file 'setperms1.sh'.
    INFO: Number of threads for fast copy :1
    WARNING: This will stop installation of all products and exit the Installer. Are you sure that you want to stop the installation and exit?
    INFO: User Selected: Yes/OK
    Thanks :)

  • Error when Bursting - XML Parser expected '-- ' instead of 'EOF'.

    Hi,
    We're generating invoices using BI Publisher as one large XML report, then routing them to customers using the concurrent bursting program to break up the xml by customer and faxing / emailing / printing as needed.
    the report seems to generate properly - here's a sample:
    <?xml version="1.0"?>
    <!-- Generated by Oracle Reports version 6.0.8.27.0 -->
    <DWDRAXINV>
    <LIST_G_ORDER_BY>
    <G_ORDER_BY>
    <ORDER_BY>100800</ORDER_BY>
    <LIST_G_INVOICE>
    <G_INVOICE>
    <CUSTOMER_TRX_ID>xx</CUSTOMER_TRX_ID>
    <TRX_NUMBER>100800</TRX_NUMBER>
    <TRX_TYPE>INV</TRX_TYPE>
    <TRX_TYPE_NAME>Invoice</TRX_TYPE_NAME>
    <OPEN_RECEIVABLE_FLAG>Y</OPEN_RECEIVABLE_FLAG>
    <TRX_DATE>04-APR-05</TRX_DATE>
    <BILL_TO_CUSTOMER_ID>40214</BILL_TO_CUSTOMER_ID>
    <BILL_TO_CONTACT_ID/>
    <SHIP_TO_CUSTOMER_ID>9663</SHIP_TO_CUSTOMER_ID>
    <SHIP_TO_CONTACT_ID/>
    <REMIT_TO_ADDRESS_ID>1210</REMIT_TO_ADDRESS_ID>
    <BILL_TO_SITE_USE_ID>245883</BILL_TO_SITE_USE_ID>
    <PRIMARY_SALESREP_ID>xx</PRIMARY_SALESREP_ID>
    <CUSTOMER_NUMBER>xx</CUSTOMER_NUMBER>
    <INTERNAL_NOTES/>
    <PREVIOUS_CUSTOMER_TRX_ID/>
    <SHIP_TO_SITE_USE_ID>55369</SHIP_TO_SITE_USE_ID>
    <BATCH_SOURCE_ID>1024</BATCH_SOURCE_ID>
    <PRINTING_COUNT>9</PRINTING_COUNT>
    <PRINTING_ORIGINAL_DATE>05-APR-05</PRINTING_ORIGINAL_DATE>
    <LAST_PRINTED_SEQUENCE_NUMBER>1</LAST_PRINTED_SEQUENCE_NUMBER>
    <START_DATE_COMMITMENT/>
    <END_DATE_COMMITMENT/>
    <INITIAL_CUSTOMER_TRX_ID/>
    <INVOICE_CURRENCY_CODE>USD</INVOICE_CURRENCY_CODE>
    <BILL_CUST_NAME>xx</BILL_CUST_NAME>
    <BILL_ADDRESS1>xx</BILL_ADDRESS1>
    <BILL_ADDRESS2>xx</BILL_ADDRESS2>
    <BILL_ADDRESS3>xx</BILL_ADDRESS3>
    <BILL_ADDRESS4/>
    <BILL_CITY>CONCORD</BILL_CITY>
    <BILL_STATE>CA</BILL_STATE>
    <BILL_POSTAL_CODE>94524-xx</BILL_POSTAL_CODE>
    <BILL_COUNTRY>US</BILL_COUNTRY>
    <TERM_ID>1016</TERM_ID>
    <PURCHASE_ORDER_REVISION/>
    <PURCHASE_ORDER_DATE/>
    <TRX_COMMENTS/>
    <BILL_TO_LOCATION>PO BOX Q</BILL_TO_LOCATION>
    <BILL_TO_ADDRESS1>PO BOX xx1</BILL_TO_ADDRESS1>
    <BILL_TO_ADDRESS2>xx</BILL_TO_ADDRESS2>
    <BILL_TO_ADDRESS3>10365268 / 348025</BILL_TO_ADDRESS3>
    <BILL_TO_ADDRESS4/>
    <BILL_TO_STATE>CA</BILL_TO_STATE>
    <BILL_TO_PROVINCE/>
    <LIST_G_INV_TERM>
    <G_INV_TERM>
    <SALES_ORDER_NUMBER>15042116</SALES_ORDER_NUMBER>
    <INTERFACE_HEADER_CONTEXT>ORDER ENTRY</INTERFACE_HEADER_CONTEXT>
    <PARTY_ID>43923</PARTY_ID>
    <C_ACCT_ID>40214</C_ACCT_ID>
    <TERM_SEQUENCE_NUMBER>1</TERM_SEQUENCE_NUMBER>
    <SHIP_DATE_ACTUAL>04-APR-05</SHIP_DATE_ACTUAL>
    <SHIP_VIA/>
    <WAYBILL_NUMBER>0</WAYBILL_NUMBER>
    <CREDIT_MEMO_TYPE_ID>1130</CREDIT_MEMO_TYPE_ID>
    <BILL_TO_ADDRESS_ID/>
    <TRX_ORG>509</TRX_ORG>
    <PURCHASE_ORDER_NUMBER>9373872-4</PURCHASE_ORDER_NUMBER>
    <TERM_DUE_DATE_FROM_PS>05-APR-05</TERM_DUE_DATE_FROM_PS>
    <TRX_LINE_AMOUNT>85</TRX_LINE_AMOUNT>
    <TRX_TAX_AMOUNT>0</TRX_TAX_AMOUNT>
    <BILL_CUST_TAX_REFERENCE/>
    <TERM_RELATIVE_AMOUNT>100</TERM_RELATIVE_AMOUNT>
    <PRINTING_LAST_PRINTED>11-JAN-08</PRINTING_LAST_PRINTED>
    <TRX_ALL_AMOUNT>85</TRX_ALL_AMOUNT>
    <PRINTING_PENDING>N</PRINTING_PENDING>
    <BILL_SITE_TAX_REFERENCE/>
    <TRX_FREIGHT_AMOUNT>0</TRX_FREIGHT_AMOUNT>
    <TERM_NAME>COD</TERM_NAME>
    <LIST_G_LINE_TOTAL>
    <G_LINE_TOTAL>
    <LINE_OF_TYPE_FRT>A</LINE_OF_TYPE_FRT>
    <ORDER_BY1>1</ORDER_BY1>
    <LINK_TO_LINE>2445027</LINK_TO_LINE>
    <DUMMY>1</DUMMY>
    <LIST_G_LINES>
    <G_LINES>
    <LINE_ORDER>1</LINE_ORDER>
    <LINE_NUMBER>1</LINE_NUMBER>
    <ASSET_CREATION_CODE>43883</ASSET_CREATION_CODE>
    <EQUIPMENT_TYPE>1</EQUIPMENT_TYPE>
    <CONFIG_MODEL_TYPE>STANDARD</CONFIG_MODEL_TYPE>
    <BUYER_ID>113851</BUYER_ID>
    <UN_NUMBER_ID>433207</UN_NUMBER_ID>
    <INVOICING_RULE_ID>0</INVOICING_RULE_ID>
    <INVENTORY_ITEM_STATUS_CODE>TRAVEL LAB</INVENTORY_ITEM_STATUS_CODE>
    <DEFAULT_SO_SOURCE_TYPE>433207</DEFAULT_SO_SOURCE_TYPE>
    <CONTACT_NAME/>
    <ITEM_NUMBER>TRAVEL-CA</ITEM_NUMBER>
    <LINE_CUSTOMER_TRX_ID>179471</LINE_CUSTOMER_TRX_ID>
    <LINE_CUSTOMER_TRX_LINE_ID>2445027</LINE_CUSTOMER_TRX_LINE_ID>
    <SALES_ORDER_LINE_NUMBER>1</SALES_ORDER_LINE_NUMBER>
    <LINE_CHILD_INDICATOR>0</LINE_CHILD_INDICATOR>
    <LINE_TYPE>LINE</LINE_TYPE>
    <LINE_ITEM_DESCRIPTION>TRAVEL LABOR - CA</LINE_ITEM_DESCRIPTION>
    <LINE_QTY_ORDERED>.5</LINE_QTY_ORDERED>
    <LINE_QTY_INVOICED>.5</LINE_QTY_INVOICED>
    <LINE_UOM>HOUR</LINE_UOM>
    <LINE_UNIT_SELLING_PRICE>68</LINE_UNIT_SELLING_PRICE>
    <LINE_EXTENDED_AMOUNT>34</LINE_EXTENDED_AMOUNT>
    <LINE_NET_AMOUNT>34</LINE_NET_AMOUNT>
    <LINE_TAX_RATE/>
    <LINE_VAT_TAX_ID>1245</LINE_VAT_TAX_ID>
    <LINE_TAX_EXEMPTION_ID/>
    <LINE_LOCATION_RATE_ID/>
    <LINK_TO_CUST_TRX_LINE_ID>-1</LINK_TO_CUST_TRX_LINE_ID>
    <LINE_TAX_PRECEDENCE/>
    <LINE_IS_A_CHILD_FLAG>N</LINE_IS_A_CHILD_FLAG>
    <LINE_TAX_INCLUSIVE>N</LINE_TAX_INCLUSIVE>
    <LINE_SALES_ORDER_DATE>04-APR-05</LINE_SALES_ORDER_DATE>
    <LINE_SALES_ORDER>15042116</LINE_SALES_ORDER>
    <LIST_G_TAX_RATE>
    <G_TAX_RATE>
    <LINE_CUSTOMER_TRX_ID1>179471</LINE_CUSTOMER_TRX_ID1>
    <LINK_TO_CUST_TRX_LINE_ID1>2445027</LINK_TO_CUST_TRX_LINE_ID1>
    <LINE_TAX_RATE1>0</LINE_TAX_RATE1>
    </G_TAX_RATE>
    </LIST_G_TAX_RATE>
    <CF_INVOICE_LINE_PRINT_NUMBER>1</CF_INVOICE_LINE_PRINT_NUMBER>
    <C_SER_REQ>43883</C_SER_REQ>
    <C_SHIP_INSTR/>
    <C_SER_REQDATE>10-JAN-05</C_SER_REQDATE>
    <C_PROB_DESC/>
    <C_DISCOUNT>0</C_DISCOUNT>
    <CF_ITEM_DISCOUNT_STRING/>
    <CF_ITEM_DESC_DSP/>
    <C_PRB_RES/>
    <SETLINESPRINTEDFLAG>1</SETLINESPRINTEDFLAG>
    <SET_PRINTED_FLAG/>
    <CF_SERIAL_NUMBER/>
    <D_LINE_UNIT_SELLING_PRICE> 68.00 </D_LINE_UNIT_SELLING_PRICE>
    <CP_LINE_EXTENDED_AMOUNT> 34.00 </CP_LINE_EXTENDED_AMOUNT>
    <CP_DISCOUNT>0</CP_DISCOUNT>
    <LINE_DESCRIPTION>TRAVEL LABOR - CA </LINE_DESCRIPTION>
    <LINE_TAXYN/>
    <CP_LINE_ITEM_AMOUNT>68</CP_LINE_ITEM_AMOUNT>
    <LINE_ITEM_AMOUNT>17</LINE_ITEM_AMOUNT>
    <LINE_TAX_AMOUNT>0</LINE_TAX_AMOUNT>
    <LINE_FREIGHT_AMOUNT>0</LINE_FREIGHT_AMOUNT>
    <LINE_TAX_INCL_AMOUNT>0</LINE_TAX_INCL_AMOUNT>
    <CF_LINE_ALL_AMOUNT>68</CF_LINE_ALL_AMOUNT>
    </G_LINES>
    </LIST_G_LINES>
    <D_LINE_TOTAL> 17.00 </D_LINE_TOTAL>
    <LINE_TOTAL>17</LINE_TOTAL>
    <LINE_CHILDREN_COUNT>0</LINE_CHILDREN_COUNT>
    <MIN_LINK_TO_CUST_TRX_LINE_ID>-1</MIN_LINK_TO_CUST_TRX_LINE_ID>
    <MIN_LINE_TYPE>LINE</MIN_LINE_TYPE>
    <CS_LINE_ALL_TOTAL>68</CS_LINE_ALL_TOTAL>
    </G_LINE_TOTAL>
    <G_LINE_TOTAL>
    <LINE_OF_TYPE_FRT>A</LINE_OF_TYPE_FRT>
    <ORDER_BY1>2</ORDER_BY1>
    <LINK_TO_LINE>2445028</LINK_TO_LINE>
    <DUMMY>1</DUMMY>
    <LIST_G_LINES>
    <G_LINES>
    <LINE_ORDER>2</LINE_ORDER>
    <LINE_NUMBER>2</LINE_NUMBER>
    <ASSET_CREATION_CODE>43883</ASSET_CREATION_CODE>
    <EQUIPMENT_TYPE>2</EQUIPMENT_TYPE>
    <CONFIG_MODEL_TYPE>STANDARD</CONFIG_MODEL_TYPE>
    <BUYER_ID>113851</BUYER_ID>
    <UN_NUMBER_ID>433208</UN_NUMBER_ID>
    <INVOICING_RULE_ID>0</INVOICING_RULE_ID>
    <INVENTORY_ITEM_STATUS_CODE>SERVICE LA</INVENTORY_ITEM_STATUS_CODE>
    <DEFAULT_SO_SOURCE_TYPE>433208</DEFAULT_SO_SOURCE_TYPE>
    <CONTACT_NAME/>
    <ITEM_NUMBER>LABOR-CA</ITEM_NUMBER>
    <LINE_CUSTOMER_TRX_ID>xx</LINE_CUSTOMER_TRX_ID>
    <LINE_CUSTOMER_TRX_LINE_ID>2445028</LINE_CUSTOMER_TRX_LINE_ID>
    <SALES_ORDER_LINE_NUMBER>2</SALES_ORDER_LINE_NUMBER>
    <LINE_CHILD_INDICATOR>0</LINE_CHILD_INDICATOR>
    <LINE_TYPE>LINE</LINE_TYPE>
    <LINE_ITEM_DESCRIPTION>SERVICE LABOR - CA</LINE_ITEM_DESCRIPTION>
    <LINE_QTY_ORDERED>.75</LINE_QTY_ORDERED>
    <LINE_QTY_INVOICED>.75</LINE_QTY_INVOICED>
    <LINE_UOM>HOUR</LINE_UOM>
    <LINE_UNIT_SELLING_PRICE>68</LINE_UNIT_SELLING_PRICE>
    <LINE_EXTENDED_AMOUNT>51</LINE_EXTENDED_AMOUNT>
    <LINE_NET_AMOUNT>51</LINE_NET_AMOUNT>
    <LINE_TAX_RATE/>
    <LINE_VAT_TAX_ID>1245</LINE_VAT_TAX_ID>
    <LINE_TAX_EXEMPTION_ID/>
    <LINE_LOCATION_RATE_ID/>
    <LINK_TO_CUST_TRX_LINE_ID>-1</LINK_TO_CUST_TRX_LINE_ID>
    <LINE_TAX_PRECEDENCE/>
    <LINE_IS_A_CHILD_FLAG>N</LINE_IS_A_CHILD_FLAG>
    <LINE_TAX_INCLUSIVE>N</LINE_TAX_INCLUSIVE>
    <LINE_SALES_ORDER_DATE>04-APR-05</LINE_SALES_ORDER_DATE>
    <LINE_SALES_ORDER>15042116</LINE_SALES_ORDER>
    <LIST_G_TAX_RATE>
    <G_TAX_RATE>
    <LINE_CUSTOMER_TRX_ID1>xx</LINE_CUSTOMER_TRX_ID1>
    <LINK_TO_CUST_TRX_LINE_ID1>2445028</LINK_TO_CUST_TRX_LINE_ID1>
    <LINE_TAX_RATE1>0</LINE_TAX_RATE1>
    </G_TAX_RATE>
    </LIST_G_TAX_RATE>
    <CF_INVOICE_LINE_PRINT_NUMBER>2</CF_INVOICE_LINE_PRINT_NUMBER>
    <C_SER_REQ>43883</C_SER_REQ>
    <C_SHIP_INSTR/>
    <C_SER_REQDATE>10-JAN-05</C_SER_REQDATE>
    <C_PROB_DESC/>
    <C_DISCOUNT>0</C_DISCOUNT>
    <CF_ITEM_DISCOUNT_STRING/>
    <CF_ITEM_DESC_DSP/>
    <C_PRB_RES/>
    <SETLINESPRINTEDFLAG>1</SETLINESPRINTEDFLAG>
    <SET_PRINTED_FLAG/>
    <CF_SERIAL_NUMBER/>
    <D_LINE_UNIT_SELLING_PRICE> 68.00 </D_LINE_UNIT_SELLING_PRICE>
    <CP_LINE_EXTENDED_AMOUNT> 51.00 </CP_LINE_EXTENDED_AMOUNT>
    <CP_DISCOUNT>0</CP_DISCOUNT>
    <LINE_DESCRIPTION>SERVICE LABOR - CA </LINE_DESCRIPTION>
    <LINE_TAXYN/>
    <CP_LINE_ITEM_AMOUNT>68</CP_LINE_ITEM_AMOUNT>
    <LINE_ITEM_AMOUNT>38.25</LINE_ITEM_AMOUNT>
    <LINE_TAX_AMOUNT>0</LINE_TAX_AMOUNT>
    <LINE_FREIGHT_AMOUNT>0</LINE_FREIGHT_AMOUNT>
    <LINE_TAX_INCL_AMOUNT>0</LINE_TAX_INCL_AMOUNT>
    <CF_LINE_ALL_AMOUNT>68</CF_LINE_ALL_AMOUNT>
    </G_LINES>
    </LIST_G_LINES>
    <D_LINE_TOTAL> 38.25 </D_LINE_TOTAL>
    <LINE_TOTAL>38.25</LINE_TOTAL>
    <LINE_CHILDREN_COUNT>0</LINE_CHILDREN_COUNT>
    <MIN_LINK_TO_CUST_TRX_LINE_ID>-1</MIN_LINK_TO_CUST_TRX_LINE_ID>
    <MIN_LINE_TYPE>LINE</MIN_LINE_TYPE>
    <CS_LINE_ALL_TOTAL>68</CS_LINE_ALL_TOTAL>
    </G_LINE_TOTAL>
    </LIST_G_LINE_TOTAL>
    <LIST_G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451402</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451403</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451404</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451406</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451407</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451408</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2445028</TRX_LINE_ID>
    <INV_TAX_TYPE>LINE</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Line</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION>SERVICE LABOR - CA</INV_TAX_LINE_DESCRIPTION>
    <INV_TAX_EXTENDED_AMOUNT>51</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>Sabrix</INV_TAX_CODE_NAME>
    <INV_TAX_RATE/>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT/>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 51.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>51</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Line</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2445027</TRX_LINE_ID>
    <INV_TAX_TYPE>LINE</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Line</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION>TRAVEL LABOR - CA</INV_TAX_LINE_DESCRIPTION>
    <INV_TAX_EXTENDED_AMOUNT>34</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>Sabrix</INV_TAX_CODE_NAME>
    <INV_TAX_RATE/>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT/>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 34.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>34</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Line</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451401</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>US Tax</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax US Tax @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451405</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>US Tax</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax US Tax @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    </LIST_G_SUMMARY_INV>
    <LIST_G_SHIP_CUSTOMER>
    <G_SHIP_CUSTOMER>
    <SHIP_CUST_NAME>xx</SHIP_CUST_NAME>
    <SHIP_ADDRESS1>xx</SHIP_ADDRESS1>
    <SHIP_ADDRESS2/>
    <SHIP_ADDRESS3/>
    <SHIP_ADDRESS4/>
    <SHIP_CITY>VAN NUYS</SHIP_CITY>
    <SHIP_STATE>CA</SHIP_STATE>
    <SHIP_POSTAL_CODE>91405</SHIP_POSTAL_CODE>
    <SHIP_COUNTRY>US</SHIP_COUNTRY>
    <SHIP_SITE_ID>xx</SHIP_SITE_ID>
    <SHIP_CUSTOMER_ID>xx</SHIP_CUSTOMER_ID>
    <SHIP_SITE_TAX_REFERENCE/>
    <SHIP_CUST_TAX_REFERENCE/>
    <SHIP_TO_STATE>CA</SHIP_TO_STATE>
    <SHIP_TO_PROVINCE/>
    <SHIP_COUNTRY_DESCRIPTION>United States</SHIP_COUNTRY_DESCRIPTION>
    <SHIP_TRX_TAX_REFERENCE/>
    <C_SHIP_TO_CONCATENATED>xx
    United States</C_SHIP_TO_CONCATENATED>
    </G_SHIP_CUSTOMER>
    </LIST_G_SHIP_CUSTOMER>
    <LIST_G_REMIT_CUSTOMER>
    <G_REMIT_CUSTOMER>
    <REMIT_PROVINCE/>
    <REMIT_ADDRESS1>DRESSER, INC - xx</REMIT_ADDRESS1>
    <REMIT_ADDRESS2>FED TAX NO: xx</REMIT_ADDRESS2>
    <REMIT_ADDRESS3>PO BOX xxx</REMIT_ADDRESS3>
    <REMIT_ADDRESS4/>
    <REMIT_CITY>DALLAS</REMIT_CITY>
    <REMIT_STATE>TX</REMIT_STATE>
    <REMIT_POSTAL_CODE>75320-1266</REMIT_POSTAL_CODE>
    <REMIT_COUNTRY>US</REMIT_COUNTRY>
    <REMIT_ADDRESS_ID>1210</REMIT_ADDRESS_ID>
    <REMIT_COUNTRY_DESCRIPTION>United States</REMIT_COUNTRY_DESCRIPTION>
    <CF_ADDR>DRESSER, INC - xxx
    United States</CF_ADDR>
    <C_REMIT_TO_CONCATENATED>DRESSER, INC - xxx
    United States</C_REMIT_TO_CONCATENATED>
    <CF_SPECIAL_NOTE>Billing Inquiries: DRESSER, INC - xxx </CF_SPECIAL_NOTE>
    </G_REMIT_CUSTOMER>
    </LIST_G_REMIT_CUSTOMER>
    <LIST_G_ADJUSTMENT>
    </LIST_G_ADJUSTMENT>
    <C_CONTRACT_NAME/>
    <CF_ADDR_STRING>xxx;</CF_ADDR_STRING>
    <CF_FOB>O</CF_FOB>
    <CF_SHIPPING_INSTRUCTION/>
    <SHIP_VIA_DESCRIPTION>SHIPPING TO DECIDE</SHIP_VIA_DESCRIPTION>
    <CF_WORK_REQUIRED>Q3-L4</CF_WORK_REQUIRED>
    <CP_PROBLEM_SPL_INSTN>Problem - Q3-L4
    Resolution - </CP_PROBLEM_SPL_INSTN>
    <CP_SERV_REQDATE/>
    <CF_TRACKING_NUMBER> </CF_TRACKING_NUMBER>
    <CF_RESET_INVOICE_NUMBERING>0</CF_RESET_INVOICE_NUMBERING>
    <D_INV_TAX_AMOUNT> 0.00 </D_INV_TAX_AMOUNT>
    <CF_DELIVERY_ADDRESS/>
    <LINE_COUNT>2</LINE_COUNT>
    <D_INV_ITEM_AMOUNT> 136.00 </D_INV_ITEM_AMOUNT>
    <TERM_RELATIVE_ROUNDED>100</TERM_RELATIVE_ROUNDED>
    <INV_SALES_ORDER_COUNT>1</INV_SALES_ORDER_COUNT>
    <INV_ITEM_AMOUNT>136</INV_ITEM_AMOUNT>
    <D_INV_FREIGHT_AMOUNT> 0.00 </D_INV_FREIGHT_AMOUNT>
    <INV_FREIGHT_AMOUNT>0</INV_FREIGHT_AMOUNT>
    <INV_TAX_AMOUNT>0</INV_TAX_AMOUNT>
    <D_INV_ALL_AMOUNT> 136.00 </D_INV_ALL_AMOUNT>
    <INV_SALES_ORDER>15042116</INV_SALES_ORDER>
    <INV_ALL_AMOUNT>136</INV_ALL_AMOUNT>
    <TERM_TAX_COUNT>10</TERM_TAX_COUNT>
    <INV_TAX_COUNT>10</INV_TAX_COUNT>
    <TERM_ITEM_AMOUNT>85</TERM_ITEM_AMOUNT>
    <TERM_TAX_AMOUNT>0</TERM_TAX_AMOUNT>
    <TERM_FREIGHT_AMOUNT>0</TERM_FREIGHT_AMOUNT>
    <SUM_LINE_TAX_INCL_AMOUNT>0</SUM_LINE_TAX_INCL_AMOUNT>
    <SUM_LINE_TAX_AMOUNT>0</SUM_LINE_TAX_AMOUNT>
    <TERM_ALL_AMOUNT>85</TERM_ALL_AMOUNT>
    </G_INV_TERM>
    </LIST_G_INV_TERM>
    <LIST_G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    </LIST_G_TEMP>
    <LIST_G_COMMITMENT_ADJUSTMENT>
    <G_COMMITMENT_ADJUSTMENT>
    <COMMIT_THIS_INVOICE/>
    <D_COMMIT_THIS_INVOICE> </D_COMMIT_THIS_INVOICE>
    <D_COMMIT_ACTIVITY> 0.00 </D_COMMIT_ACTIVITY>
    </G_COMMITMENT_ADJUSTMENT>
    </LIST_G_COMMITMENT_ADJUSTMENT>
    <C_TRX_TYPE>INVOICE</C_TRX_TYPE>
    <CF_TAX_CITY>1</CF_TAX_CITY>
    <CP_TCITY> 0.00 </CP_TCITY>
    <CF_TAX_STATE>1</CF_TAX_STATE>
    <CP_TSTATE> 0.00 </CP_TSTATE>
    <CF_TAX_COUNTY>1</CF_TAX_COUNTY>
    <CP_TCOUNTY> 0.00 </CP_TCOUNTY>
    <CF_TAX_LOCAL>1</CF_TAX_LOCAL>
    <CP_TLOCAL> 0.00 </CP_TLOCAL>
    <CF_PHONE_NUMBER>909-xxx-xxxx</CF_PHONE_NUMBER>
    <C_TRX_DISPLAY/>
    <C_SHIP>WAS</C_SHIP>
    <CF_IF_SALES_ORDER_EXISTS>1</CF_IF_SALES_ORDER_EXISTS>
    <CF_NO>ABC</CF_NO>
    <GET_CONTACT_INFO>Y</GET_CONTACT_INFO>
    <SALESREP_NAME>WSG - NJ</SALESREP_NAME>
    <BILL_TO_FNAME/>
    <CF_CTRL_STRING>{PRN:noprint CPY:1} </CF_CTRL_STRING>
    <BILL_TO_LNAME/>
    <BILL_TO_MAIL_STOP/>
    <BILL_TO_ATTN/>
    <SHIP_TO_FNAME/>
    <SHIP_TO_LNAME/>
    <SHIP_TO_ATTN/>
    <SHIP_TO_MAIL_STOP/>
    <TAX_PRINTING_OPTION>ITEMIZE AND SUM</TAX_PRINTING_OPTION>
    <TAX_GROUP_BY>,v.tax_code</TAX_GROUP_BY>
    <TAX_ORDER_BY>v.tax_code,</TAX_ORDER_BY>
    <TAX_SUMMARY>Y</TAX_SUMMARY>
    <TAX_DETAIL>Y</TAX_DETAIL>
    <TAX_RECAP>N</TAX_RECAP>
    <FREIGHT_DETAIL>Y</FREIGHT_DETAIL>
    <COMMIT_BOX_FLAG>N</COMMIT_BOX_FLAG>
    <COMMIT_TRX_NUMBER/>
    <COMMIT_PARENT_TYPE/>
    <COMMIT_PARENT_TYPE_NAME/>
    <COMMIT_ORIGINAL_AMT/>
    <COMMIT_TOTAL_ACTIVITY/>
    <COMMIT_AMT_UNINVOICED/>
    <COMMIT_START_DATE/>
    <COMMIT_END_DATE/>
    <REMIT_TO_CONTROL_ID>1210</REMIT_TO_CONTROL_ID>
    <PREVIOUS_TYPE_NAME/>
    <PREVIOUS_TRX_NUMBER/>
    <TERM_COUNT>1</TERM_COUNT>
    <TERM_MAX_VALUE>1</TERM_MAX_VALUE>
    <D_COMMIT_BALANCE> </D_COMMIT_BALANCE>
    <D_COMMIT_AMOUNT> </D_COMMIT_AMOUNT>
    <D_COMMIT_AMT_UNINVOICED> </D_COMMIT_AMT_UNINVOICED>
    <BILL_COUNTRY_DESCRIPTION>United States</BILL_COUNTRY_DESCRIPTION>
    <TRX_TAX_REFERENCE/>
    <C_BILL_TO_CONCATENATED>Attn: Accounts Payable
    XXX COMPANY - NA MARKETING
    PO BOX Q, SECTION XX
    XX
    CONCORD CA 94524-XXXX
    United States</C_BILL_TO_CONCATENATED>
    </G_INVOICE>
    </LIST_G_INVOICE>
    </G_ORDER_BY>
    </LIST_G_ORDER_BY>
    <LIST_G_REPEAT_HEADER>
    <G_REPEAT_HEADER>
    <ROWNUM>1</ROWNUM>
    </G_REPEAT_HEADER>
    </LIST_G_REPEAT_HEADER>
    <MSG_PRECEDENCE>Precedence:</MSG_PRECEDENCE>
    <SPECIAL_INSTRUCTIONS/>
    <MSG_SALES_TAX>Sales Tax @ &amp;TAX_RATE</MSG_SALES_TAX>
    <MSG_VAT_TAX>Tax &amp;TAX_CODE &amp;EURO_TAXABLE_AMOUNT@ &amp;TAX_RATE</MSG_VAT_TAX>
    <REPORT_ALL_AMOUNT>85</REPORT_ALL_AMOUNT>
    <REPORT_ITEM_AMOUNT>85</REPORT_ITEM_AMOUNT>
    <REPORT_TAX_AMOUNT>0</REPORT_TAX_AMOUNT>
    <REPORT_FREIGHT_AMOUNT>0</REPORT_FREIGHT_AMOUNT>
    <REPORT_TERM_COUNT>1</REPORT_TERM_COUNT>
    <PAGE_ITEM_RUNNING_TOTAL>136</PAGE_ITEM_RUNNING_TOTAL>
    <PAGE_FREIGHT_RUNNING_TOTAL>0</PAGE_FREIGHT_RUNNING_TOTAL>
    <PAGE_TAX_RUNNING_TOTAL>0</PAGE_TAX_RUNNING_TOTAL>
    <PAGE_ALL_RUNNING_TOTAL>136</PAGE_ALL_RUNNING_TOTAL>
    <PAGE_CURRENCY_CODE>USD</PAGE_CURRENCY_CODE>
    <DISP_ITEM_RUNNING_TOTAL/>
    <PAGE_TERM_ITEM_AMOUNT>85</PAGE_TERM_ITEM_AMOUNT>
    <INVOICE_LINES_PRINTED_FLAG>N</INVOICE_LINES_PRINTED_FLAG>
    <PAGE_TERM_TAX_AMOUNT>0</PAGE_TERM_TAX_AMOUNT>
    <PAGE_TERM_FREIGHT_AMOUNT>0</PAGE_TERM_FREIGHT_AMOUNT>
    <PAGE_TERM_ALL_AMOUNT>85</PAGE_TERM_ALL_AMOUNT>
    <PAGE_END_OF_INVOICE>Y</PAGE_END_OF_INVOICE>
    <PAGE_ADJ_LINE_AMOUNT/>
    <PAGE_ADJ_TAX_AMOUNT/>
    <PAGE_ADJ_FREIGHT_AMOUNT/>
    <PAGE_ADJ_ALL_AMOUNT/>
    <PAGE_ADJ_COMMENTS/>
    <PAGE_TRX_TYPE>INV</PAGE_TRX_TYPE>
    <REPORT_INV_COUNT>1</REPORT_INV_COUNT>
    <PRODUCT_INSTALLED_SO>N</PRODUCT_INSTALLED_SO>
    <REPORT_ADJ_ALL_AMOUNT>85</REPORT_ADJ_ALL_AMOUNT>
    <D_PAGE_TERM_ITEM_AMOUNT/>
    <D_PAGE_TERM_TAX_AMOUNT/>
    <D_PAGE_TERM_FREIGHT_AMOUNT/>
    <D_PAGE_TERM_ALL_AMOUNT/>
    <D_PAGE_ADJ_LINE_AMOUNT/>
    <D_PAGE_ADJ_TAX_AMOUNT/>
    <D_PAGE_ADJ_FREIGHT_AMOUNT/>
    <D_PAGE_ADJ_ALL_AMOUNT/>
    <C_EC_WHERE_CLAUSE>AND NOT EXISTS
              (SELECT 'X'
              from ECE_TP_DETAILS ETD,
              ECE_TP_HEADERS ETH
              WHERE ETH.TP_HEADER_ID = A_BILL.TP_HEADER_ID
              AND ETD.TP_HEADER_ID = ETH.TP_HEADER_ID
              AND ETD.EDI_FLAG = 'Y'
              AND ETD.DOCUMENT_ID = 'INO'
              AND ETD.DOCUMENT_TYPE =
                   DECODE (TYPES.TYPE, 'CM',
                   DECODE(A.PREVIOUS_CUSTOMER_TRX_ID,
                        NULL,'OACM',
                        'CM'),
                   TYPES.TYPE)
         </C_EC_WHERE_CLAUSE>
    <RP_ERROR>ERROR</RP_ERROR>
    <C_DESCRIPTION/>
    <C_TAX_SUMMARY_NAME/>
    <C_CREDIT_MEMO/>
    <C_CONFIRMATION1/>
    <C_CONFIRMATION2/>
    <C_NUM_ADJUST/>
    <C_DATE/>
    <C_TAX_SUMMARY_CODE/>
    <PAGE_SUM_TAX_AMOUNT>0</PAGE_SUM_TAX_AMOUNT>
    <PAGE_SUM_TAX_INCL_AMOUNT>0</PAGE_SUM_TAX_INCL_AMOUNT>
    <C_PRB_BRIEF_DESC/>
    <CP_SID>SID:NAOADEV3</CP_SID>
    </DWDRAXINV>
    Here's the error:
    XML Publisher: Version : 11.5.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    XDOBURSTREP module: XML Publisher Report Bursting Program
    Current system time is 24-JAN-2008 14:45:31
    XML/BI Publisher Version : 5.6.3
    Request ID: 12167213
    All Parameters: ReportRequestID=12167133:DebugFlag=Y
    Report Req ID: 12167133
    Debug Flag: Y
    Updating request description
    Updated description
    Retrieving XML request information
    Node Name:DFW111SSUN012
    Preparing parameters
    null output =/naoadev1/app/comn/admin/out/naoadev1_dfw111ssun012/o12167213.out
    inputfilename =/naoadev1/app/comn/admin/out/naoadev1_dfw111ssun012/o12167133.out
    Data XML File:/naoadev1/app/comn/admin/out/naoadev1_dfw111ssun012/o12167133.out
    Set Bursting parameters..
    Temp. Directory:/naoadev1/app/appl/dres/11.5.0/xml
    [012408_024539888][][STATEMENT] Oracle XML Parser version ::: Oracle XDK Java 9.0.4.0.0 Production
    Start bursting process..
    [012408_024539899][][STATEMENT] /naoadev1/app/appl/dres/11.5.0/xml
    [012408_024539984][][EXCEPTION] oracle.xml.parser.v2.XMLParseException: Expected '-->' instead of 'EOF'.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)
         at oracle.xml.parser.v2.XMLReader.scanComment(XMLReader.java:1087)
         at oracle.xml.parser.v2.NonValidatingParser.parseComment(NonValidatingParser.java:368)
         at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1222)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:227)
         at oracle.apps.xdo.common.config.ConfigReader.read(ConfigReader.java:437)
         at oracle.apps.xdo.common.config.ConfigReader.read(ConfigReader.java:416)
         at oracle.apps.xdo.batch.bursting.FileHandler.setTempDir(FileHandler.java:272)
         at oracle.apps.xdo.batch.bursting.FileHandler.<init>(FileHandler.java:41)
         at oracle.apps.xdo.batch.BurstingProcessorEngine.setTempDir(BurstingProcessorEngine.java:774)
         at oracle.apps.xdo.batch.BurstingProcessorEngine.process(BurstingProcessorEngine.java:891)
         at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.runProgram(JCP4XDOBurstingEngine.java:269)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
    Followed many lines later by this error:
    [012408_024546649][oracle.apps.xdo.batch.bursting.ProcessCoreDocument][EXCEPTION] java.io.FileNotFoundException: -- I used my own path
    /xdoehgHGavj1O012408_0245466440.fo (No such file or directory)
         at java.io.FileOutputStream.open(Native Method)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
    which I assume is simply a consequence of the earlier step failing...
    Here's the control file for the bursting program, based on the demo:
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
    <xapi:request select="/DWDRAXINV/LIST_G_ORDER_BY/G_ORDER_BY/LIST_G_INVOICE/G_INVOICE">
    <xapi:delivery>
    <xapi:email id="123" server="ads119sexch1.corp.dresser.com" port="25" from="[email protected]" reply-to ="[email protected]">
    <xapi:message id="123" to="[email protected]" attachment="true" subject="Your Invoice #${TRX_NUMBER} ${BILL_CUST_NAME}">Dear Sir/Madam,
    Please find attached your invoice #${TRX_NUMBER} for ${BILL_CUST_NAME} dated ${TRX_DATE}
    Your payment terms for this invoice are ${G_INV_TERM[1]/TERM_NAME}.
    Please pay on time.
    Regards
    Oracle</xapi:message>
    </xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="123">
    <xapi:template type="rtf"
    location="/naoadev3/app/appl/dres/11.5.0/xml/DRESRTSRAXINV.rtf" >
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    This part seems fine - the email goes out, but the expected PDF attachment of the invoice is not there, presumably because it wasn't generated.
    Thanks for making it to the bottom of this!!!
    Any suggestions?
    Thanks,
    Eric Safern
    Dresser, Inc.

    Hello,
    I'm working on the similar requirement. same bursting the program based on the TRX_NUMBER. Does the bursting happens?
    Thanks
    Geetha

Maybe you are looking for

  • Internl table getting refreshed

    Hi Experts, I have the Internal table in controller class i declared like, IT_MARSTATUS  Instance Attribute Public  Type  WDR_CONTEXT_ATTR_VALUE_LIST I fill it in DO_INIT method : if it_marstatus is INITIAL. select  famst ftext from t502t into  table

  • Can I mail merge into PDF

    Hello, I am looking for step by step instructions on how to mail merge data from Excel to a fillable PDF that I created using LiveCycle Designer. What I am trying to accomplish is to have a fillable form that is prefilled with certain information (em

  • Javascript error when a table is placed within a table popin.

    Hi experts, I have a node 'Parent' which contains one attribute and a non singleton child node called 'Child' which contains five attributes. I have created a Table 'OuterTable' in the view. The 'datasource' property of this table is set to the node

  • Problems after installing OS X 10.6.6

    After installation of the 10.6.6 update on my iMac I have a problem with Mail. sometimes 1 email window will open and stay open. Can't do anything about it. When I click the - button, the window stays. Sometimes Mail start normally but when I open an

  • Large pdf files can't be opened in adobe reader in wp8

    i am using adobe reader in wp8, but it can't open pdf file if the pdf file is large (i am sure a pdf larger than 80M can't be opened), it says "the path is invaild". it works well with small pdf files.