XML Parser on UTF8
The project I am working with is involves with UTF8 chars (ie. japanese,chinese) stored in XML file. I tried to test and use the sample XML Parser on Weblogic 7 by putting Japanese character on order.xml and ran the OrderParser.jsp then I got weird characters instead of the Japanese word.
I saved the xml file on utf8 coding and changed the OrderParser.jsp encoding tag=utf8 too.
If anybody can help, I appreciated much.
Nick
Nick,
What progam and on what plateform are you making the xml file ?
What is the plateform for the Weblogic ?
If Unix, have you checked the LOCALE values ?
Thanks for the reply,
Nohmenn
"Nick" <[email protected]> a écrit dans le message de news:
[email protected]..
The project I am working with is involves with UTF8 chars (ie.japanese,chinese) stored in XML file. I tried to test and use the sample XML
Parser on Weblogic 7 by putting Japanese character on order.xml and ran the
OrderParser.jsp then I got weird characters instead of the Japanese word.
>
I saved the xml file on utf8 coding and changed the OrderParser.jspencoding tag=utf8 too.
>
If anybody can help, I appreciated much.
Nick
Similar Messages
-
Why the oracle XML parser "parses" the DTD comments?
Hi all,
I always use the header
<?xml version = '1.0' encoding='ISO-8859-1' ?>
to be able to use foreign characters in the XML documents.
The oracle xml parser handles this correctly.
My problem is, when I write comments inside the DTD, the
parser reports "Invalid UTF8 encoding".
Why the parser "parse" the comments? (protected by <!-- and -->)
How do I say that the DTD encoding is different from UTF, like
ISO-8859-1?
Example of a correct DTD and corresponding XML, reporting
problems, related to the 2nd comment in the DTD specification,
written with ISO-8859-1 characters.
The DTD:
<!-- valid.dtd -->
<!ELEMENT valid ( B, C ) >
<!-- valid represents the concept "Identificagco" -->
<!ELEMENT B (#PCDATA) >
<!ELEMENT C (#PCDATA) >
The XML:
<?xml version = '1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE valid SYSTEM 'valid.dtd'>
<valid>
<B>How are you, Conceigco</B>
<C>I'm fine, thank you.</C>
</valid>
The parser output:
[jgr@frontera test-dtd]$ java oracle.xml.parser.v2.oraxml -v
valid.xml
Error while parsing input sourcevalid.xml(Invalid UTF8 encoding.)
Thank you for any help.
Jorge Gustavo RochaI was wrong in saying that the attributes are not added to the element.My main aim is to add a array of elements to the root node.
Is there a efficient manner in adding the elements , rather than adding them individually with the help of appendChild method.
Thanks in advance.
null -
Hi,
Non Recoverable Business Fault :
<bpelFault><faultType>1</faultType><operationErroredFault xmlns="http://xmlns.oracle.com/bpel/workflow/taskService"><part name="payload"><operationErroredFault xmlns="http://xmlns.oracle.com/bpel/workflow/taskService"><faultInfo>oracle.xml.parser.v2.XMLParseException: Invalid char in text.</faultInfo></operationErroredFault></part></operationErroredFault></bpelFault>
I got the above error before calling to human task from my BPEL process. Any idea?Assuming this is SOA Suite 11g. Did you start the WLS with UTF8? Is your database using UTF8?
Nothing else is supported.
If you are on unix.
$ export LANG="en_US.utf8"
$ export LC_ALL="en_US.utf8"
Then locale should display something like this
$ locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_ALL=en_US.utf8
And then you should be able to start the SOA Suite correctly. -
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 parser not detecting character encoding
Hi,
I am using Jdeveloper 9.0.5 preview and the same problem is happening in our production AS 9.0.2 release.
The character encoding of an xml document is not correctly being detected by the oracle v2 parser even though the xml declaration correctly contains
<?xml version="1.0" encoding="ISO-8859-1" ?>
instead it treats the document as UTF8 encoding which is fine until a document comes along with an extended character which then causes a
java.io.UTFDataFormatException: Invalid UTF8 encoding.
at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(XMLUTF8Reader.java:160)
at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(XMLUTF8Reader.java:187)
at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(XMLUTF8Reader.java:120)
at oracle.xml.parser.v2.XMLByteReader.saveBuffer(XMLByteReader.java:448)
at oracle.xml.parser.v2.XMLReader.fillBuffer(XMLReader.java:2023)
at oracle.xml.parser.v2.XMLReader.tryRead(XMLReader.java:972)
at oracle.xml.parser.v2.XMLReader.scanXMLDecl(XMLReader.java:2589)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:485)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:192)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:144)
as you can see it is explicitly casting the XMLUTF8Reader to perform the read.
I can get around this by hard coding the xml input stream to be processed by a reader
XMLSource = new StreamSource(new InputStreamReader(XMLInStream,"ISO-8859-1"));
however the manual documents that the character encoding is automatically picked up from the xml file and casting into a reader is not necessary, so I should be able to write
XMLSource = new StreamSource(XMLInStream)
Does anyone else experience this same problem?
having to hardcode the encoding causes my software to lose flexibility.
Jarrod Sharp.An XML document should be created with 'ISO-8859-1' encoding to be parsed as 'ISO-8859-1' encoding.
-
Losing Line-feed in XML parsing (XMLTRANSFORM) or File output (clob2file)?
Hi all, need some help please!
I'm using a xslt file to transferm a XML file into a txt format file. Within the XSLT file, there is a carriage-return (<xsl:text>
</xsl:text>) (it disappeared already, here is what i'm using "#xD" or "#xA", have to take the '&' and ';' away), but the final output txt file seems to lose this carriage-return/line-feed information. The output data became one-line.
Here are the steps I've used:
1. lv_xml_data = XMLTRANSFORM (a.xml_data, b.f_xslt)
=> output data into XMLTYPE;
2. using XMLTYPE.getclobval to get the output data into CLOB format.
lv_output_clob := XMLTYPE.getclobval (lv_xml_data);
3. using encoding:
lv_output_clob :=
DBMS_XMLGEN.CONVERT (lv_output_clob, DBMS_XMLGEN.entity_decode);
4. using clob2file write to a file with txt format.
DBMS_XSLPROCESSOR.clob2file (lv_output_clob,
lv_output_dir,
lv_filename,
NLS_CHARSET_ID ('UTF8')
Been struggling with these a few days already. Any help is appreciated. I would really like to get some input to see what might cause the carriage-return/line-feed characters lost.
Thanks in advance!
-Jane
Edited by: user9084567 on Feb 1, 2010 1:45 PM
Edited by: user9084567 on Feb 1, 2010 1:47 PM
Edited by: user9084567 on Feb 1, 2010 1:48 PMA_non,
After a few testing, I can identify the CRLF was lost in XMLTRANSFORM. I had read your other thread related to this, and try to run this sample code:
/* Formatted on 2010/02/03 15:32 (Formatter Plus v4.8.8) */
DECLARE --Local variables here
v_xml XMLTYPE
:= XMLTYPE
('<
offers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd.xsd"><
submit type="DAM" date="2007-03-28" name="MKTPART1" mode="NORMAL"/><
offer name="Jamestown" flag="true" version_no="1.0"><
standing date="2007-03-29" type="WED"/><
identifier external_id="523736560"/><
/offer><
/offers>'
v_xslt XMLTYPE
:= XMLTYPE
('<
xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <
xsl:output method="text"/> <
xsl:variable name="new_line" select="''
''" /> <
xsl:template match="/"> <
xsl:value-of select="/offers/offer/...name"/><
xsl:value-of select="$new_line" /><
xsl:value-of select="/offers/submit/...date"/><
xsl:value-of select="$new_line" /><
xsl:value-of select="/offers/offer/standing/...date"/><
xsl:value-of select="$new_line" /><
xsl:value-of select="/offers/offer/standing/...type"/><
xsl:value-of select="$new_line" /><
/xsl:template><
/xsl:stylesheet>'
BEGIN -- Test statements here
DBMS_OUTPUT.put_line (XMLTYPE.transform (v_xml, v_xslt).getstringval ());
END;
But come out these error:
Error at line 2
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00230: invalid character 10 (U+000A) found in a Name or Nmtoken
Error at line 4
ORA-06512: at "SYS.XMLTYPE", line 310
ORA-06512: at line 2
Can not figure out why. Try to use this <xsl:variable name="new_line" select="''& # x A ;''" /> inside my style sheet, but it seems not taking it. Not too sure what's exactly should be the quotes for "''& # x A ;''" (w/o space). If I used doub quote + two single quotes, it returns error, LPX-00601: Invalid token in: ' '; if I used single quote + double quote, it did not bring in CRLF at all.
Any input?
Thanks in advance. -
XML Parser for PL/SQL - charset
Hi,
I'm using XML Parser for PL/SQL and have some trouble with encoding of results xmldom.writeToBuffer and xmldom.writeToCLOB procedures.
Some tags in my DOM documents contain text values in RUSSIAN (server nls_charset is CL8ISO8859P5). When I write document in varchar2 variable, buffer content is in UTF8 encoding ( convert UTF8->CL8ISO8859P5 -OK).
xmldom.setCharset(doc, 'ISO-8859-5') just after xmldom.newDOMDocument has no effect.
xmldom.setCharset(doc, 'CL8ISO8859P5') has no effect also.
Explicit charset direction in third parameter of
xmldom.writeToBuffer and xmldom.writeToCLOB procedure has no effect.
When I write document in CLOB, and then read part of CLOB in varchar2 buffer - result contain '?' in place of all russian text characters.
What's a problem?
How can I force XML Parser write XML in server charset?
Platform:
Oracle8i Enterprise Edition Release 8.1.6.1.0
JServer Release 8.1.6.1.0
Oracle XML Parser for PL/SQL v 1.0.2I have the same problem. But in my case I am allowed only to use XML Parser for PL/SQL.
Characterset 'WE8ISO8859P1' is used. And the language is latvian.
After parsing a XML document and printing its contents, all latvian characters are replaced by "f".
xmldom.setcharset(doc,'WE8ISO8859P1') has no effect. -
Diacritic screwing up XML parsing
Hola -
I've got a procedure which chews through some database input & produces RSS feeds (as taken from a Tyler Muth posting). It started bailing and I traced it down to a particular entry in the table which has a diacritic, which won't be uncommon for me - the name Çınlar seems to cause XML parsing to fail w/the ff. error:
ORA-31011: XML parsing failed
ORA-06512: at "SUPERVISOR.RSSLOOP3", line 30
ORA-06512: at line 1
31011. 00000 - "XML parsing failed"
*Cause: XML parser returned an error while trying to parse the document.
*Action: Check if the document to be parsed is valid.
Questions are: 1) Why would this be, the data is all coming from the same 10gr2 instance; 2) How can I avoid this? The code for the procedure is below, although I assume this is simply a character set/XML parsing issue I'm unfamiliar with. Many, many thanks for any assistance here. I stand perplexed! I know I can scrub the data with translate but I'm hoping there's a better solution, ideally one which allows me to keep all the diacritics in place.
create or replace
procedure rssloop3 ( fund_in IN VARCHAR2)
is
-- customizable parameters
l_title varchar2(255) := ' New Titles Since ' || to_char(sysdate - 90, 'MM/DD/YYYY');
l_link varchar2(255) := 'replace this' || fund_in || '.rss';
l_description varchar2(255) := 'This is a feed of changes to items ' || fund_in;
l_language varchar2(255) := 'en-us';
-- end customizable parameters
l_version varchar2(10) := '2.0';
l_clob clob;
l_idx pls_integer := 1;
l_len pls_integer := 255;
l_defrows pls_integer := 100;
l_maxrows pls_integer := 100;
l_desclen pls_integer := 250;
-- for output to file
fh UTL_FILE.FILE_TYPE;
path VARCHAR2(30);
filename VARCHAR2(30);
begin
path := '/iiidb/http/live/screens/rss/';
filename := fund_in || '.rss';
fh := UTL_FILE.FOPEN(path, filename, 'w');
-- fund := fund_in;
for i in (
select xmlelement( "rss",
-- Begin XML Header Block
xmlattributes( l_version as "version"),
xmlelement( "channel",
xmlforest( l_title as "title",
l_link as "link",
l_description as "description",
l_language as "language"),
-- End XML Header Block
-- Begin List of Individual Articles or Items
xmlagg(
xmlelement( "item",
xmlelement("title", x.title),
xmlelement("link", x.link),
xmlelement("description", x.description),
xmlelement("callnum", x.callnum),
xmlelement("pubDate", to_char(x.updated_on,'Dy, DD Mon RRRR hh24:mi:ss')),
xmlelement("guid", XMLATTRIBUTES('false' as "isPermaLink"),x.id||to_char(x.updated_on,'JHH24MISS'))
-- End List of Individual Articles or Items
) as result
from ( -- Actual Database Query that populates the list of Items
select id,title,link,description,updated_on, callnum
from drx_rss_feeds
where (fund like fund_in||'%')
and rownum < (l_maxrows+1)) x)
loop
l_clob := xmltype.extract(i.result,'/').getclobval;
exit;
end loop; --i
--- OUTPUT RESULTS
for i in 1..ceil(dbms_lob.getlength(l_clob)/l_len) loop
UTL_FILE.PUT_LINE(fh,(substr(l_clob,l_idx,l_len)));
l_idx := l_idx + l_len;
end loop; --i
UTL_FILE.FCLOSE(fh);
end rssloop3;NLS is UTF8 btw.
-
XML Parser - Character Encoding
Hi,
I am trying to parse a XML document containing Korean characters. Using XSL stylesheet to generate HTML output in Java Servlet.
How can i do to make it work?
I'm using WintNT with IIS - ServletExec3.1 for servlet engine.
Here's the error messages...
java.io.UTFDataFormatException: Invalid UTF8 encoding
at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(XMLUTF8Reader.java:65)
at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(XMLUTF8Reader.java:162)
at oracle.xml.parser.v2.XMLUTF8Reader.fillLastBuffer(XMLUTF8Reader.java:142)
at oracle.xml.parser.v2.XMLByteReader.fillByteBuffer(XMLByteReader.java:300)
at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(XMLUTF8Reader.java:108)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:277)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:163)
Thanks...
TN
nullYes, I did.
I tried with:
1. encoding="EUC-KR"
2. encoding="IOS2022KR"
3. encoding="UTF-8"
4. and some ...
but it still return the same error.
Any ideas,
Thanks,
Tuan
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by oracle xml team:
Have you set your encoding in the header of xml file?<HR></BLOCKQUOTE>
null -
Oracle XML Parser for PL/SQL - troubles with charset
Hi,
I'm using Oracle XML Parser for PL/SQL and have some troubles with charset of results xmldom.writeToBuffer and xmldom.writeToCLOB procedures.
Some tags in my DOM documents contain text values in RUSSIAN (server nls_charset is CL8ISO8859P5). When I write document in varchar2 variable, buffer content is in UTF8 charset ( convert UTF8->CL8ISO8859P5 -OK).
xmldom.setCharset(doc, 'ISO-8859-5') just after xmldom.newDOMDocument has no effect.
xmldom.setCharset(doc, 'CL8ISO8859P5') has no effect also.
Explicit charset direction in third parameter of
xmldom.writeToBuffer and xmldom.writeToCLOB procedure has no effect.
When I write document in CLOB, and then read part of CLOB in varchar2 buffer - result contain '?' in place of all russian text characters.
What's a problem?
How can I force XML Parser write XML in server charset?
Oracle XML Parser for PL/SQL v 1.0.2I have the same problem. But in my case I am allowed only to use XML Parser for PL/SQL.
Characterset 'WE8ISO8859P1' is used. And the language is latvian.
After parsing a XML document and printing its contents, all latvian characters are replaced by "f".
xmldom.setcharset(doc,'WE8ISO8859P1') has no effect. -
1. OracleXML Parser for PL/SQL can not parse XML docs encoded in UTF-8 format containing swedish E, D, V.
2. I can save XML(UTF-8) docs as CLOBs but E, D, V are not searchable with intermedia.
Using:
DB: 8.1.6
Oracle XML Parser for PL/SQl 1.0.2
DB char set: 8859-1
Tried to install DB with UTF8 char. set. Doesn't help!
Has anybody any idea how to solve it???
Thank youGregori!
In XML Header you have to set the encoding to ISO-8859-1
<?xml version='1.0' encoding='ISO-8859-1'?>.
This will allow you to parse the document correctly and save it in the database.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Grigori Genin ([email protected]):
1. OracleXML Parser for PL/SQL can not parse XML docs encoded in UTF-8 format containing swedish E, D, V.
2. I can save XML(UTF-8) docs as CLOBs but E, D, V are not searchable with intermedia.
Using:
DB: 8.1.6
Oracle XML Parser for PL/SQl 1.0.2
DB char set: 8859-1
Tried to install DB with UTF8 char. set. Doesn't help!
Has anybody any idea how to solve it???
Thank you<HR></BLOCKQUOTE>
null -
The error occurs only, if I would like to retrieve the root "Datenblock" element. The root "Datenblock" element looks like:
<Datenblock ID="96">
<Blockinfo>
<Titel>Spezifikationsdoku Cutstar SM 72</Titel>
<Parent-ID>4</Parent-ID>
<Property Softwareversion="V41" Maschinentyp="SM 72"/>
<Property Softwareversion="V41" Maschinentyp="SM 152"/>
</Blockinfo>
<Blockinhalt>
<Link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" xlink:href="datenblock_ID97.xml"/>
<Link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" xlink:href="datenblock_ID98.xml"/>
<Link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" xlink:href="datenblock_ID102.xml"/>
<Link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" xlink:href="datenblock_ID104.xml"/>
</Blockinhalt>
</Datenblock>
Disolving the XLinks to retrieve the content of the specific included XML documents, I wrote an recursive PL/SQL function which would be started by my Java application and returns a CLOB containing all informations.
CREATE OR REPLACE FUNCTION retrieveDatablock(v_DatablockID IN NUMBER) RETURN CLOB
IS
-- v_xmldocument XMLTYPE;
v_blockcontent XMLTYPE;
v_block XMLTYPE;
v_blockinfo XMLTYPE;
v_datablock XMLTYPE;
v_tempBlock CLOB;
v_id Datenbloecke.DatenblockID%TYPE;
v_datablockComplete CLOB;
v_end CLOB;
TYPE datablockrecord IS RECORD (fileName Datenbloecke.Dateiname%TYPE);
r_datablock datablockrecord;
CURSOR c_datablock IS select extractValue(value(x),'Link@xlink:href','xmlns:xlink="http://www.w3.org/1999/xlink"') from datenbloecke, table(xmlsequence(extract(Blockinhalt,'/Blockinhalt/Link'))) x where DatenblockID = v_DatablockID;
BEGIN
-- Blockinfo selektieren
select XMLELEMENT("Blockinfo", XMLCONCAT(XMLELEMENT("Titel",titel),(select XMLAGG(XMLELEMENT("Parent-ID",ElternID)) from Datenblock_Zuordnung dz where dz.DatenblockID = v_DatablockID), (select XMLAGG (XMLELEMENT("Property",XMLATTRIBUTES(Softwareversion as "Softwareversion",Maschinentyp as "Maschinentyp"))) from DatenblockProperties dp where dp.DatenblockID = v_DatablockID),XMLELEMENT(Beschreibung))) into v_blockinfo from datenbloecke d where d.DatenblockID = v_DatablockID;
-- Blockinhalt selektieren
select Blockinhalt into v_blockcontent from Datenbloecke where DatenblockID = v_DatablockID;
-- überprüfe den Blockinhalt, ob der XLink Verweise auf anderen Datenblöcke hat
if (v_blockcontent.existsNode('/Blockinhalt/Link') = 1) then
-- temporäres CLOB Objekt erstellen
DBMS_LOB.CREATETEMPORARY(v_tempBlock,TRUE);
-- Datenblock über den Wert des href Attributs holen
open c_datablock;
loop
fetch c_datablock into r_datablock;
exit when c_datablock%NOTFOUND;
-- DatenblockID holen
select DatenblockID into v_id from Datenbloecke where Dateiname = r_datablock.fileName;
-- rekursiver Aufruf
v_datablockComplete := retrieveDatablock(v_id);
--v_datablockComplete := retrieveBlock(v_id);
DBMS_LOB.APPEND(v_tempBlock,v_datablockComplete);
end loop;
close c_datablock;
-- XMLType fürs Zusammenbauen erstellen, der den einzelnen Inhalt enthält
v_block := xmltype.createXML(v_tempBlock);
-- Speicher für temporäres Objekt freigeben
DBMS_LOB.FREETEMPORARY(v_tempBlock);
-- Datenblock zusammenbauen
select XMLELEMENT("Datenblock",XMLATTRIBUTES(DatenblockID as "ID"), XMLCONCAT(V_blockinfo, XMLELEMENT("Blockinhalt", v_block))) into v_datablock from datenbloecke where DatenblockID = v_DatablockID;
--return v_tempBlock;
RETURN v_datablock.getClobVal();
else
-- Datenblock zusammenbauen
select XMLELEMENT("Datenblock",XMLATTRIBUTES(DatenblockID as "ID"), XMLCONCAT(V_blockinfo, v_blockcontent)) into v_datablock from datenbloecke where DatenblockID = v_DatablockID;
RETURN v_datablock.getClobVal();
end if;
END;
Expected result would be:
<Datenblock ID="96">
<Blockinfo>
<Titel>Spezifikationsdoku Cutstar SM 72</Titel>
<Parent-ID>4</Parent-ID>
<Property Softwareversion="V41" Maschinentyp="SM 72"/>
<Property Softwareversion="V41" Maschinentyp="SM 152"/>
</Blockinfo>
<Blockinhalt>
<Datenblock ID="97">
<Blockinfo>
<Parent-ID>96</Parent-ID>
<Property Softwareversion="V42" Maschinentyp="XL"/>
<Property Softwareversion="V41" Maschinentyp="SM 172"/>
</Blockinfo>
<Blockinhalt>Ueberschrift1</Blockinhalt>
</Datenblock>
<Datenblock ID="98">
<Blockinfo>
<Parent-ID>96</Parent-ID> <Property Softwareversion="V43" Maschinentyp="TM 52"/>
<Property Softwareversion="V45" Maschinentyp="XXL 4"/>
</Blockinfo>
<Blockinhalt>
<Datenblock ID="99">
<Blockinfo> <Parent-ID>98</Parent-ID>
<Property Softwareversion="V41" Maschinentyp="SM72"/>
</Blockinfo>
<Blockinhalt>Textinhalt überarbeiten
<Aufzaehlung>hi</Aufzaehlung>
<Tabelle></Tabelle>
<Grafik Hoehe="100" Breite="40">bild1.jpg</Grafik>
<Hinweis></Hinweis>
<Datenblock ID="100">
<Blockinfo>
<Parent-ID>99</Parent-ID>
<Property Softwareversion="V45" Maschinentyp="TTL 42"/>
<Property Softwareversion="v43" Maschinentyp="XXL 4"/>
</Blockinfo>
<Blockinhalt>keine Ahnung was noch komm
<!-- other Datenblock elemens-->
</Blockinhalt>
</Datenblock>
</Blockinhalt>
</Datenblock>
</Blockinhalt>
</Datenblock>
<Datenblock ID="102">
<Blockinfo>
<Parent-ID>96</Parent-ID>
<Property Softwareversion="V41" Maschinentyp="SM 72"/>
<Property Softwareversion="V41" Maschinentyp="SM 152"/>
</Blockinfo>
<Blockinhalt>Hallo
<Datenblock ID="103">
<Blockinfo>
<Parent-ID>102</Parent-ID>
<Property Softwareversion="V41" Maschinentyp="SM 72"/>
<Property Softwareversion="V41" Maschinentyp="SM 152"/>
</Blockinfo>
<Blockinhalt>Stammtisch
</Blockinhalt>
</Datenblock>
</Blockinhalt>
</Datenblock>
<Datenblock ID="104">
<Blockinfo>
<Parent-ID>2</Parent-ID>
<Property Softwareversion="V41" Maschinentyp="SM_72"/>
</Blockinfo>
<Blockinhalt>Hallo Klaus</Blockinhalt>
</Datenblock>
</Blockinhalt>
</Datenblock>
Instead of this an exception was raised with following error message:
Fehler in (retrieveDatablock): java.sql.SQLException: ORA-31011: XML-Parsing nicht erfolgreich
ORA-19202: Fehler bei XML-Verarbeitung
LPX-00245: extra data after end of document
Error at line 2
aufgetreten
ORA-06512: in "SYS.XMLTYPE", Zeile 0
ORA-06512: in "DATECO.RETRIEVEDATABLOCK", Zeile 51
ORA-06512: in Zeile 1
What is the problem? I checked up my stored XML document, if I could find some special characters that are not allowed. But I didn't find anything. My character settings of my database are: NLS_NCHAR_CHARACTERSET = UTF8 and
NLS_CHARACTERSET = AL32UTF8I would suggest posting this in the BI Publisher forum, since it is more of a BI Publisher issue.. BI Publisher
Thank you,
Tony Miller
Webster, TX -
How can I use a 3rd party XML parser such as xerces with OC4J ?
Hi all tech experts,
I am using Oracle Application Server 10g Release 2 (10.1.2) and i have
installed Portal and Wireless and OracleAS Infrastructure on the same
computer.
i tried all the solutions on this thread
Use of Xerces Parser in out application with Oracle App Server 9.0.4
but still fighting.
I have also posted this query on OTN on following thread
How can I use a 3rd party XML parser such as xerces with OC4J?
but no reply....
Please help me on this issue.
Since OC4J is preconfigured to use the Oracle XML parser which is xmlparserv2.jar.
i have read the following article which states that
OC4J is preconfigured to use the Oracle XML parser. The Oracle XML parser is fully JAXP 1.1 compatible and will serve the needs of applications which require JAXP functionality. This approach does not require the download, installation, and configuration of additional XML parsers.
The Oracle XML parser (xmlparserv2.jar) is configured to load as a system level library of OC4J through it's inclusion as an entry in the Class-Path entry of the oc4j.jar Manifest.mf file. This results in the Oracle XML parser being used for all common deployment and packaging situations. You are not permitted to modify the Manifest.mf file of oc4j.jar.
It must be noted that configuring OC4J to run with any additional XML parser or JDBC library is not a supported configuration. We do know customers who have managed to successfully replace the system level XML parser and the Oracle JDBC drivers that ship with the product, but we do not support this type of configuration due to the possibility of unexpected system behavior and system errors that might occur from replacing the tested and certified libraries.
If you absolutely must use an additional XML parser such as xerces, then you have to start OC4J such that the xerces.jar file is loaded at a level above the OC4J system classpath. This can be accomplished using the -Xbootclasspath flag of the JRE.
i have also run the following command
java -Xbootclasspath/a:d:\xerces\xerces.jar -jar oc4j.jar
but no success.
How could i utilize my jar's like xerces.jar and xalan.jar for parsing instead of OC4J in-built parser ?
All reply will be highly appreciated.
Thnx in advance to all.
Neeraj Sidhaye
try_catch_finally @ Y !Hi Neeraj Sidhaye,
I am trying to deploy a sample xform application to the Oracle Application Server (10.1.3). However, I encountered the class loader issue that is similar to your stuation. I tried all the three solutions but the application is still use the Oracle xml paser class. I am wondering if you have any insight about this?
Thanks for your help.
Xingsheng Qian
iPass Inc.
Here is the error message I got.
Message:
java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
Stack Trace:
org.chiba.xml.xforms.exception.XFormsException: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
at org.chiba.xml.xforms.Container.dispatch(Unknown Source)
at org.chiba.xml.xforms.Container.dispatch(Unknown Source)
at org.chiba.xml.xforms.Container.initModels(Unknown Source)
at org.chiba.xml.xforms.Container.init(Unknown Source)
at org.chiba.xml.xforms.ChibaBean.init(Unknown Source)
at org.chiba.adapter.servlet.ServletAdapter.init(ServletAdapter.java:153)
at org.chiba.adapter.servlet.ChibaServlet.doGet(ChibaServlet.java:303)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
at org.chiba.xml.xforms.Instance.iterateModelItems(Unknown Source)
at org.chiba.xml.xforms.Bind.initializeModelItems(Unknown Source)
at org.chiba.xml.xforms.Bind.init(Unknown Source)
at org.chiba.xml.xforms.Initializer.initializeBindElements(Unknown Source)
at org.chiba.xml.xforms.Model.modelConstruct(Unknown Source)
at org.chiba.xml.xforms.Model.performDefault(Unknown Source)
at org.chiba.xml.xforms.XFormsDocument.performDefault(Unknown Source)
at org.chiba.xml.xforms.XFormsDocument.dispatchEvent(Unknown Source)
at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source)
... 18 more -
XML Parse error while loading an XML file
HI Folks,
I was trying to load and XML file into BODS.. The XML file is well-formed and the same when tested in other tools is getting loaded without any issues..
I have created a XML-File format with the corresponding XSD..
But here in BODS it is giving - Parse error
1) when i try to view the data of the source XML in my dataflow ..it is giving "XML Parser Failed".. and not able to show data..
2) When I run my job i get the same pares error - with details as under..
---> Error here is "Unable to recognize element 'TAB' " or some time is say " Element TAB should be qualified"
Please guide with this if you have any info..thanks
I'm pasting the XML source file format here for your reference:--
<?xml version="1.0" encoding="iso-8859-1" ?>
- <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
- <asx:values>
- <TAB>
- <items>
+ <CUSTOMER_RECORD>
<CUSTOMER_NUMBER>1111111111</CUSTOMER_NUMBER>
<NAME_1>ABC</NAME_1>
<NAME_2>OFM/COMMERCIAL ACCOUNTS</NAME_2>
<STREET_1>31 CENTER DRIVE MCS2045</STREET_1>
<STREET_2 />
<CITY>BETHESDA</CITY>
<STATE_CODE>MD</STATE_CODE>
<POSTAL_CODE>20892-2045</POSTAL_CODE>
<COUNTRY_CODE>US</COUNTRY_CODE>
<ORDER_BLOCK />
<ERP_CREATE_DATE>20040610</ERP_CREATE_DATE>
<ERP_CREATED_BY>DGUPTA</ERP_CREATED_BY>
<ERP_MODIFY_DATE>20120201</ERP_MODIFY_DATE>
<ERP_MODIFIED_BY>LWOHLFEI</ERP_MODIFIED_BY>
<INDUSTRY_CODE>0103</INDUSTRY_CODE>
<ACCOUNT_GROUP_ID>0001</ACCOUNT_GROUP_ID>
<SALES_NOTE />
<ADDRESS_NOTE />
<CUSTOMER_CLASSIFICATION_CODE>02</CUSTOMER_CLASSIFICATION_CODE>
<GLN_NUMBER />
<PREVIOUS_ACCT_NO />
<ACCOUNT_TYPE />
<GAG />
<SDI_ID />
<HOSP_ID />
<HIN />
<DUNS />
<PO_BOX />
<POB_CITY />
<POB_ZIP />
<PHONE_NUMBER>77777</PHONE_NUMBER>
<EMAIL_DOMAIN />
<REQUESTER />
<ERP_SOURCE_SYSTEM>ECC</ERP_SOURCE_SYSTEM>
</CUSTOMER_RECORD>
- <SALES_ORG_DATA>
+ <item>
<CUSTOMER_NUMBER>1111111111</CUSTOMER_NUMBER>
<SALES_ORG>0130</SALES_ORG>
<CUSTOMER_GROUP>03</CUSTOMER_GROUP>
<ORDER_BLOCK_CODE />
<ERP_SOURCE_SYSTEM>ECC</ERP_SOURCE_SYSTEM>
</item>
+ <item>
<CUSTOMER_NUMBER>1111111111</CUSTOMER_NUMBER>
<SALES_ORG>0120</SALES_ORG>
<CUSTOMER_GROUP>11</CUSTOMER_GROUP>
<ORDER_BLOCK_CODE />
<ERP_SOURCE_SYSTEM>ECC</ERP_SOURCE_SYSTEM>
</item>
</SALES_ORG_DATA>
</items>
</TAB>
</asx:values>
</asx:abap>Pierre,
Depending on the object "myLastFile", the method openDlg might not even exist (if the myLastFile object is not a File object, for instance). And I do not see any need for the myLastFile anyhow, as you are presenting a dialog to select a file to open. I recommend using the global ChooseFile( ) method instead. This will give you a filename as string in full path notation, or null when no file was selected in the dialog. I am not sure what your ExtendScript documentation states about the return value for ChooseFile, but if that differs from what I am telling you here, the documentation is wrong. So, if you replace the first lines of your code with the following it should work:
function openXMLFile ( ) {
var filename = ChooseFile ( "Choose XML file ...", "", "*.xml", Constants.FV_ChooseSelect );
While writing this, I see that Russ has already given you the same advice. Use the symbolic constant value I indicated to use the ChooseFile dialog to select a single file (it can also be used to select a directory or open a file - but you want to control the opening process yourself). Note that this method allows you to set a start directory for the dialog (second parameter). The ESTK autocompletion also gives you a fifth parameter "helplink" which is undocumented and can safely be ignored.
Good luck
Jang -
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
Maybe you are looking for
-
Using Mozilla FireFox 2.0 to show/hide themes,I get errors
I use IE6.0 to show/hide themes,there are no errors. When I use Mozilla FireFox 2.0,I got the following errors. does anybody can help me? Thank you in advance. 07/03/20 12:55:06 INFO [oracle.sdovis.CacheMgr2] Creating/replacing a geometry c ache grou
-
Where can i download firefox 3.0.14
I have clients who need to test a cetatin application using an older firefox version. Where can I download older versions specifically version 3.0.14
-
Delete all the objects in a package
Hi Guys, My requirement is that i need to write a program to delete all the objects in a package. In the selection screen i enter the package name and then i get all the objects in the package from TADIR table and display them in an ALV. There when i
-
Super small JRE's without resorting to J2ME?
Is anyone out here aware of a JRE that has a very small memory footprint other than the Skelmir kit? I've nothing against Skelmir other than the JRE that they have is based on 1.1.8 and I'd like something that was at least 1.4.x. The Sun/IBM JRE's ar
-
IPhone battery got drained to 0 by low network
My iPhone 4 had abnout 75% battery today. I went in to a place where the wifi and cell phone network was very low but occasionally visible. It had not been connected to the local wifi at all. In a few hours, I realized my phone was completely dead -