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.
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 Aggregate Function in oracle
Somebody knows if in oracle 10g is possible to create a User-Defined Aggregate Function?
Sometingh like my_sum, that aggregate the values in a way that i want...
select manager, my_sum(salary)
group by manager
In internet i've found rellay notingh for oracle 10g...can somebody help me? Thank's in advance!Thank's to everybody!!! I've made my custom function sum_distinct
create or replace type AggregateCD as object
( nb number,
ListOfDistinctValue clob,
static function ODCIAggregateInitialize(sctx IN OUT AggregateCD) return number,
member function ODCIAggregateIterate(self IN OUT AggregateCD, value IN VARCHAR2) return number,
member function ODCIAggregateTerminate(self IN AggregateCD, returnValue OUT number, flags IN number) return number,
member function ODCIAggregateMerge(self IN OUT AggregateCD, ctx2 IN AggregateCD) return number
create or replace type body AggregateCD is
static function ODCIAggregateInitialize(sctx IN OUT AggregateCD) return number is
begin
sctx := AggregateCD(0,null);
return ODCIConst.Success;
end;
member function ODCIAggregateIterate(self IN OUT AggregateCD, value IN VARCHAR2) return number is
ListOfValue CLOB:=self.ListOfDistinctValue ;
begin
self.nb:=self.nb+to_number(substr(value , INSTR(value, ';', 1, 1)+1 ,length(value)));
return ODCIConst.Success;
end;
member function ODCIAggregateTerminate(self IN AggregateCD, returnValue OUT number, flags IN number) return number is
begin
returnValue := self.nb;
return ODCIConst.Success;
end;
member function ODCIAggregateMerge(self IN OUT AggregateCD, ctx2 IN AggregateCD) return number is
begin
self.nb := ctx2.nb;
return ODCIConst.Success;
end;
end;
CREATE OR REPLACE FUNCTION sum_distinct (input VARCHAR2) RETURN number
PARALLEL_ENABLE AGGREGATE USING AggregateCD;you can use so:
select sum_distinct(distinct t.primary_key||';'||t.import)
from table1 t, table2_with_bad_join
it's the same of
select sum(t.import)
from table 1 -
Display / setup user defined log file in Oracle AS 10.1.3 ascontrol.
Hello,
One of my requirement is to display user defined log file into asconsole (OAS 101.3 EM) from $OH/j2ee/home/log/<myapplication>.log into OAS EM.
Please suggest.
Thanks,
KamAs a sanity test, can you do the following: cd /home/oracle/product/10.1.3/OracleAS_1/j2ee/home
cd applications/xmjfcx/xmjfcx/WEB-INF/lib
jar tvf commons-validator.jar
jar xvf commons-validator.jar META-INF/MANIFEST.MFI use two "cd" just to make it more readable. Then use you editor to check the file MANIFEST.MF. Anything problem? -
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 -
Multiple users accessing XML Parser
We are working through chapter 5 of the book
'Building Oracle XML Application' which deals with XML processing in PL/SQL
We have installed the xmlparsr.jar and xmlplsql.jar then we ran load.sql as the user xmlbook.
When I log in as xmlbook and go thought the example to insert an xml document and then run CheckXMLInClob it works great.
However when an other developer goes throught the same example logged in under there userid the get the error
ORA-20100: Error occurred while parsing: ORA-00942: table or view does not exist
When they grant select on xml_documents to xmlbook. The procedure works fine.
My questions are
1. Why does xmlbook need select on userx.xml_documents when the clob is select into a variable before any call is made to xmldom.parser inside CheckXMLInClob?
2. Is there a way to share access to the xmlparser routines with out having xmlbook have select to every table?
Thank you for your help
DeeAnn
nullhi,
while generating sales orders using BAPI for multiple plants at same timeĀ for specific material/batch it's get blocked by another user. sometime it may happens due to material or sometime happens due to batches...
I want to update all orders without affecting others....I am not confident with the abap way of solutions...
can you suggest prompt solution for the above issue...
Thanks
Muthuraman.D -
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 -
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
BenThere is a readme file in that package which
show you how to install it into your Oracle8i
database.
Duy -
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
<%@ 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.*"%>
<%
generateTree();
%>
<%!
//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
%>
<%!
//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
%>
Report template:
<ROOT>
<HEADINGS>
<HEADING1>H1</HEADING1>
<HEADING2>H2</HEADING2>
<HEADING3>H3</HEADING3>
<HEADING4>H4</HEADING4>
<HEADING5>H5</HEADING5>
<HEADING6>H6</HEADING6>
</HEADINGS>
<ROWSETS>
<ROWSET>
<COLHDRS>
</COLHDRS>
<ROWS>
</ROWS>
</ROWSET>
</ROWSETS>
<Footer>
<PageNo>Generate</PageNo>
<Date>SystemDate</Date>
</Footer>
</ROOT>
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 UAdding 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 -
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!
MarkusIt 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? -
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 @ &TAX_RATE</MSG_SALES_TAX>
<MSG_VAT_TAX>Tax &TAX_CODE &EURO_TAXABLE_AMOUNT@ &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 -
How to use a user defined function in where cluase condition
Hi,
I have designed a query by selecting some columns in the tables and some columns are retrieved directly from table and some columns are passing to a user defined function. Now my requirement is i need to use that user defined function result in oracle where condition clause.
Ex : select marketing_user_id,get_name(marketing_user_id),item_id,get_item_name(item_id),get_country_name(country_id),
from
where get_item_name(item_id) in ('x','y','z')
and get_country_name(country_id) in ('India','America','China');
When am i trying the query by above format i am getting the wrong resultset.
BR,
umaI am not sure why your getting the wrong results but you should seriously reconsider the approach your are taking. Using functions like this is very ineffecient and should be avoided at all cost.
-
User defined coordinate system
Hi,
I'm trying to create a new user defined coordinate system on Oracle 10.2.
This coordinate system is a local one. But I would transform between this local one and Gauss-Krueger Zone 2 (EPSG:31466). For this I have the information for the affine transformation (local --> EPSG:31466 and reverse, too).
How can I create a projected coordinate system with these information?
Has anybody an idea or has had a similar problem?Hi,
I'm trying to create a new user defined coordinate system on Oracle 10.2.
This coordinate system is a local one. But I would transform between this local one and Gauss-Krueger Zone 2 (EPSG:31466). For this I have the information for the affine transformation (local --> EPSG:31466 and reverse, too).
How can I create a projected coordinate system with these information?
Has anybody an idea or has had a similar problem?
Maybe you are looking for
-
How to get background colour in smartform
hi , i have developed one smartform with table i want heading means header part of the table in colour full please help me for that..... thanks ...
-
Cannot print to trusty Epson printer in Lion
I'm in InDesign and all I get is to a crash each time I try to print from within InDesign. I have been able to generate a pdf of the file from InDesign and am able to print then from within Adobe Acrobat Pro. Maybe new OS's need to wait until manufac
-
Hi Experts, I am new to SAP WHM and my boss requested me to prepare a presentation (Overview) for the a team of people who will be in a SAP WHM project. Could anybody send me a presentation that I could use to start mine? I will reward points. Thanks
-
Suddenly after a year my TC 500GB router will not extend range into my basement. 7:43pm, full strength in the basement, then 7:44pm no bars. No clue why. Have done a soft and hard reset and reset the router settings. Any help? I was thinking of using
-
Kernal Panic Issue (Need Help Decoding)
This morning after booting up my Mac Pro, I received a Kernal Panic message on the screen and had to reboot in safe mode. I disabled any startup 3rd party applications and also disbaled any login startup applications. After doing this I was able to s