Preserve whitespace in xml parsing
Hi,
I am using PL.SQL to parse XML documents using DBMS_XMLDOM..
and using XMLTYPE...
Below is the code...
set serveroutput on
declare
var_xmltype XMLType;
doc dbms_xmldom.DOMDocument;
ndoc dbms_xmldom.DOMNode;
docelem dbms_xmldom.DOMElement;
node dbms_xmldom.DOMNode;
l_loop_group_8_node_list dbms_xmldom.DOMNodelist;
l_loop_group_8_node_list_count number(10);
l_loop_group_8_sub_node_list dbms_xmldom.DOMNodelist;
l_lin_segment_node dbms_xmldom.DOMNode;
l_lin_segment_child_node dbms_xmldom.DOMNode;
l_loop_group_8_count number(10);
p_clob_message CLOB;
l_clob_message CLOB;
CURSOR c is SELECT * from emx_message_storage where emx_message_id = '170615';
begin
for r in c loop
p_clob_message := r.message_clob;
end loop;
var_xmltype := xmltype (p_clob_message);
-- Create DOMDocument handle
doc := dbms_xmldom.newDOMDocument (var_xmltype);
ndoc := dbms_xmldom.makeNode (doc);
docelem := dbms_xmldom.getDocumentElement (doc);
-- Access Loop-Group_8 Node:
l_loop_group_8_node_list := dbms_xmldom.getElementsByTagName(docelem, 'Loop-Group_8');
l_loop_group_8_node_list_count := dbms_xmldom.getlength (l_loop_group_8_node_list);
--dbms_output.put_line ('Number of Loop-Group_8 Nodes =' || l_loop_group_8_node_list_count);
FOR l_ka IN 0..(l_loop_group_8_node_list_count-1) LOOP
-- Get ith Loop-Group_8 node.
node := dbms_xmldom.item (l_loop_group_8_node_list, l_ka);
l_loop_group_8_sub_node_list := dbms_xmldom.getChildNodes (node);
-- Get Segment-LIN
l_lin_segment_node := dbms_xmldom.item (l_loop_group_8_sub_node_list,0);
l_lin_segment_child_node := dbms_xmldom.getFirstChild (l_lin_segment_node);
--dbms_output.put_line ('Before,' || dbms_xmldom.getNodeName (l_lin_segment_child_node) || ' = ' || dbms_xmldom.getNodeValue (DBMS_XMLDOM.getFirstChild(l_lin_segment_child_node)));
dbms_xmldom.setNodeValue (DBMS_XMLDOM.getFirstChild(l_lin_segment_child_node), l_ka+1);
--dbms_output.put_line ('After,' || dbms_xmldom.getNodeName (l_lin_segment_child_node) || ' = ' || dbms_xmldom.getNodeValue (DBMS_XMLDOM.getFirstChild(l_lin_segment_child_node)));
END LOOP;
DBMS_LOB.CreateTemporary(l_clob_message, TRUE);
dbms_xmldom.writeToClob (doc, l_clob_message);
dbms_xmldom.freeDocument(doc);
update emx_message_storage set message_clob = l_clob_message where emx_message_id = '149329';
end;
The code works fine.. except for the fact that when in the input XML message i get one element as
<Element-3042> </Element-3042>
it converts it to
<Element-3042/>
The whitespace is removed...
I tried using the xml parser method...and whitespacepreserver optioin...but it creates some extra lines...
Which i dont want.
Please suggest.
Thanks,
Rosh
Difficult to read non-formatted code, so pardon not looking at it and trying to spot the problem/error. However, whitespaces seem to work fine for me (tested on 10.2.0.4). Note the resulting XML for a string value, a whitespace value and a null.
SQL> create table foo_tab( attr1 number, attr2 varchar2(10) );
Table created.
SQL>
SQL> insert into foo_tab values( 1, 'test 123' );
1 row created.
SQL> insert into foo_tab values( 2, ' ' );
1 row created.
SQL> insert into foo_tab values( 3, null );
1 row created.
SQL> commit;
Commit complete.
SQL>
SQL> col XML format a50
SQL> select
2 XmlElement( "Row",
3 XmlForest(
4 attr1 as "Name",
5 attr2 as "Value"
6 )
7 ) as XML
8 from foo_tab
9 /
XML
<Row><Name>1</Name><Value>test 123</Value></Row>
<Row><Name>2</Name><Value> </Value></Row>
<Row><Name>3</Name></Row>
SQL>
Similar Messages
-
Preserving whitespace in XML fields?
I have a requirement to preserve the character positioning within an XML field. I am using the standard XML/HTTP port for output from the ALE interface. One of the fields contains multiple spaces within the data. It appears the default setting of the XML processor is to condense these spaces into a single space. The xsl:preserve-space pre-processor command should preserve the whitespace, Does anyone know how to configure the SAP XML processor to do this? Thanks!
We are using basis 6.20There's a setting in Flash's XML object called ignoreWhitespace that you need to set to false (by default its true).
Something like this should work:
function convertStringToXML(source:String):XML
var originalSettings:Object = XML.settings();
try
XML.ignoreWhitespace = false;
var xmlTree:XML = new XML(source);
finally
XML.setSettings(originalSettings);
return xmlTree;
- robin -
Preserve whitespace in XML element value
I am trying to add XML element with value prefix with white space:
ex_doc->create_simple_element(
name = 'VALUEPART1'
value = ' BQ/XWKB-99-5-9999-2'
parent = lo_ele_e1bpparex_bape_vbak ).
But when the XML is create, the white space is removed! How can I preserve the white space???
<VALUEPART1>BQ/XWKB-99-5-9999-2</VALUEPART1>
What i want is:
<VALUEPART1> BQ/XWKB-99-5-9999-2</VALUEPART1>
Appreciate for any helpHi,
if you had been using XSLT instead, I would have said 'remove the strip-space element or alter it according to your needs'...
Please provide what class you are using, else it's too generic..
regards, Lukas -
Oracle.xml.parse.v2.XMLParserException: Whitespace Exception
Can any body help to sort out this problem, When I am trying to transform an XML to another XML using XSLT I am getting the following exception oracle.xml.parser.v2.XMLParserException: Whitespace Exception. My piece of codes are as below .
XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:quipmentGenerator="http://www.oracle.com/XSL/Transform/java/EquipmentGenerator xmlns:TypeGenerator="http://www.oracle.com/XSL/Transform/java/TypeGenerator xmlns:ShelfGenerator="http://www.oracle.com/XSL/Transform/java/ShelfGenerator">
</xsl:stylesheet>
JAVA :
import java.io.*;
import java.net.URL;
import java.net.MalformedURLException;
import oracle.xml.parser.v2.*;
public class Transformer
public static void main(String args[]) throws Exception{
String fileName = "abc.xsl", XMLStr = "C:\\dev\\task2\\abc.xml";
XSLProcessor processor = new XSLProcessor();
// you can also use a standard HTTP URL instead of
// the file protocol shown below
// URL xslURL = new URL(fileName);
// instantiate a stylesheet
InputStream xslInput = new FileInputStream(fileName);
XSLStylesheet stylesheet = processor.newXSLStylesheet(xslInput);
DOMParser parser = new DOMParser();
URL xslURL = new URL("file://" + XMLStr);
parser.setPreserveWhitespace(true);
parser.parse(xslURL);
// Preparing the XML document
XMLDocument xml = parser.getDocument();
XMLDocumentFragment result;
result = processor.processXSL(stylesheet, xml);
// create an output document to hold the result
XMLDocument out = new XMLDocument();
// create a dummy document element for the
// output document
out.appendChild(result);
ByteArrayOutputStream outStream = new ByteArrayOutputStream( );
out.print(outStream);
String transformedXML = outStream.toString();
System.out.println(transformedXML);
}Remove any blank spaces or empty lines before the XML declaration.
-
XML parsing error, whitespace expected
I'm seeing this "XML parsing" error in the SSRS Logs once in a while and I don't know what is causing it. The weird thing is that the report doesn't get this error everytime, most of the time it will work. I originally thought that
it might be the data that is being returned but I don't know if this is the case. Usually when a user gets an error, they'll just run it again later and it'll work the 2nd time. I looked at the report parameters in the ExecutionLogStorage table and the same
parameters are passed in each time.
Does anyone have any ideas of where I can look to get to the bottom of this one? Any help is appreciated.
The actual error from the logs is below:
processing!ReportServer_0-26!fdc!05/08/2014-13:33:12:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'DataSet1'. ---> System.Data.SqlClient.SqlException: XML parsing: line 1, character 121, whitespace expected
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.ReportingServices.DataExtensions.SqlCommandWrapperExtension.ExecuteReader(CommandBehavior behavior)
at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunEmbeddedQuery(Boolean& readerExtensionsSupported, Boolean& readerFieldProperties, List`1 queryParams, Object[] paramValues)
Thanks,
-SongHi Song,
Sorry for the delay.
I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
Thank you for your understanding and support.
Regards,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Error in parsing: SAX2 driver class com.sun.xml.parser not found
Hi I have this exception
Error in parsing: SAX2 driver class com.sun.xml.parser not found
when I try to run the examples from the book xml and java
I have added the following jar files to the class path that i have download form java.sun.com
xml.jar
xalan.jar
jaxp.jar
crimson.jar
Please can anyone tell me what is missing or wrong..the code must be right since written by oreilly... please have u any ideA
XMLReaderFactory.createXMLReader(
// "org.apache.xerces.parsers.SAXParser");
"com.sun.xml.parser");//
I HAVE ONLY CHANGED THIS LINE FROM THE apache parser..to com.sun.xml.parser
THIS IS THE ALL CODE
import java.io.IOException;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.ErrorHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
import org.xml.sax.*;
* <b><code>SAXParserDemo</code></b> will take an XML file and parse it using SAX,
* displaying the callbacks in the parsing lifecycle.
* @author Brett McLaughlin
* @version 1.0
public class SAXParserDemo {
* <p>
* This parses the file, using registered SAX handlers, and output
* the events in the parsing process cycle.
* </p>
* @param uri <code>String</code> URI of file to parse.
public void performDemo(String uri) {
System.out.println("Parsing XML File: " + uri + "\n\n");
// Get instances of our handlers
ContentHandler contentHandler = new MyContentHandler();
ErrorHandler errorHandler = new MyErrorHandler();
try {
// Instantiate a parser
XMLReader parser =
XMLReaderFactory.createXMLReader(
// "org.apache.xerces.parsers.SAXParser");
"com.sun.xml.parser");// I HAVE ONLY CHANGED THIS LINE FROM THE apache parser..
// Register the content handler
parser.setContentHandler(contentHandler);
// Register the error handler
parser.setErrorHandler(errorHandler);
// Parse the document
parser.parse(uri);
} catch (IOException e) {
System.out.println("Error reading URI: " + e.getMessage());
} catch (SAXException e) {
System.out.println("Error in parsing: " + e.getMessage());
* <p>
* This provides a command line entry point for this demo.
* </p>
public static void main(String[] args) {
// if (args.length != 1) {
// System.out.println("Usage: java SAXParserDemo [XML URI]");
// System.exit(0);
//String uri = args[0];
SAXParserDemo parserDemo = new SAXParserDemo();
parserDemo.performDemo("content.xml");
* <b><code>MyContentHandler</code></b> implements the SAX
* <code>ContentHandler</code> interface and defines callback
* behavior for the SAX callbacks associated with an XML
* document's content.
class MyContentHandler implements ContentHandler {
/** Hold onto the locator for location information */
private Locator locator;
* <p>
* Provide reference to <code>Locator</code> which provides
* information about where in a document callbacks occur.
* </p>
* @param locator <code>Locator</code> object tied to callback
* process
public void setDocumentLocator(Locator locator) {
System.out.println(" * setDocumentLocator() called");
// We save this for later use if desired.
this.locator = locator;
* <p>
* This indicates the start of a Document parse - this precedes
* all callbacks in all SAX Handlers with the sole exception
* of <code>{@link #setDocumentLocator}</code>.
* </p>
* @throws <code>SAXException</code> when things go wrong
public void startDocument() throws SAXException {
System.out.println("Parsing begins...");
* <p>
* This indicates the end of a Document parse - this occurs after
* all callbacks in all SAX Handlers.</code>.
* </p>
* @throws <code>SAXException</code> when things go wrong
public void endDocument() throws SAXException {
System.out.println("...Parsing ends.");
* <p>
* This will indicate that a processing instruction (other than
* the XML declaration) has been encountered.
* </p>
* @param target <code>String</code> target of PI
* @param data <code>String</code containing all data sent to the PI.
* This typically looks like one or more attribute value
* pairs.
* @throws <code>SAXException</code> when things go wrong
public void processingInstruction(String target, String data)
throws SAXException {
System.out.println("PI: Target:" + target + " and Data:" + data);
* <p>
* This will indicate the beginning of an XML Namespace prefix
* mapping. Although this typically occur within the root element
* of an XML document, it can occur at any point within the
* document. Note that a prefix mapping on an element triggers
* this callback <i>before</i> the callback for the actual element
* itself (<code>{@link #startElement}</code>) occurs.
* </p>
* @param prefix <code>String</code> prefix used for the namespace
* being reported
* @param uri <code>String</code> URI for the namespace
* being reported
* @throws <code>SAXException</code> when things go wrong
public void startPrefixMapping(String prefix, String uri) {
System.out.println("Mapping starts for prefix " + prefix +
" mapped to URI " + uri);
* <p>
* This indicates the end of a prefix mapping, when the namespace
* reported in a <code>{@link #startPrefixMapping}</code> callback
* is no longer available.
* </p>
* @param prefix <code>String</code> of namespace being reported
* @throws <code>SAXException</code> when things go wrong
public void endPrefixMapping(String prefix) {
System.out.println("Mapping ends for prefix " + prefix);
* <p>
* This reports the occurrence of an actual element. It will include
* the element's attributes, with the exception of XML vocabulary
* specific attributes, such as
* <code>xmlns:[namespace prefix]</code> and
* <code>xsi:schemaLocation</code>.
* </p>
* @param namespaceURI <code>String</code> namespace URI this element
* is associated with, or an empty
* <code>String</code>
* @param localName <code>String</code> name of element (with no
* namespace prefix, if one is present)
* @param rawName <code>String</code> XML 1.0 version of element name:
* [namespace prefix]:[localName]
* @param atts <code>Attributes</code> list for this element
* @throws <code>SAXException</code> when things go wrong
public void startElement(String namespaceURI, String localName,
String rawName, Attributes atts)
throws SAXException {
System.out.print("startElement: " + localName);
if (!namespaceURI.equals("")) {
System.out.println(" in namespace " + namespaceURI +
" (" + rawName + ")");
} else {
System.out.println(" has no associated namespace");
for (int i=0; i<atts.getLength(); i++)
System.out.println(" Attribute: " + atts.getLocalName(i) +
"=" + atts.getValue(i));
* <p>
* Indicates the end of an element
* (<code></[element name]></code>) is reached. Note that
* the parser does not distinguish between empty
* elements and non-empty elements, so this will occur uniformly.
* </p>
* @param namespaceURI <code>String</code> URI of namespace this
* element is associated with
* @param localName <code>String</code> name of element without prefix
* @param rawName <code>String</code> name of element in XML 1.0 form
* @throws <code>SAXException</code> when things go wrong
public void endElement(String namespaceURI, String localName,
String rawName)
throws SAXException {
System.out.println("endElement: " + localName + "\n");
* <p>
* This will report character data (within an element).
* </p>
* @param ch <code>char[]</code> character array with character data
* @param start <code>int</code> index in array where data starts.
* @param end <code>int</code> index in array where data ends.
* @throws <code>SAXException</code> when things go wrong
public void characters(char[] ch, int start, int end)
throws SAXException {
String s = new String(ch, start, end);
System.out.println("characters: " + s);
* <p>
* This will report whitespace that can be ignored in the
* originating document. This is typically only invoked when
* validation is ocurring in the parsing process.
* </p>
* @param ch <code>char[]</code> character array with character data
* @param start <code>int</code> index in array where data starts.
* @param end <code>int</code> index in array where data ends.
* @throws <code>SAXException</code> when things go wrong
public void ignorableWhitespace(char[] ch, int start, int end)
throws SAXException {
String s = new String(ch, start, end);
System.out.println("ignorableWhitespace: [" + s + "]");
* <p>
* This will report an entity that is skipped by the parser. This
* should only occur for non-validating parsers, and then is still
* implementation-dependent behavior.
* </p>
* @param name <code>String</code> name of entity being skipped
* @throws <code>SAXException</code> when things go wrong
public void skippedEntity(String name) throws SAXException {
System.out.println("Skipping entity " + name);
* <b><code>MyErrorHandler</code></b> implements the SAX
* <code>ErrorHandler</code> interface and defines callback
* behavior for the SAX callbacks associated with an XML
* document's errors.
class MyErrorHandler implements ErrorHandler {
* <p>
* This will report a warning that has occurred; this indicates
* that while no XML rules were "broken", something appears
* to be incorrect or missing.
* </p>
* @param exception <code>SAXParseException</code> that occurred.
* @throws <code>SAXException</code> when things go wrong
public void warning(SAXParseException exception)
throws SAXException {
System.out.println("**Parsing Warning**\n" +
" Line: " +
exception.getLineNumber() + "\n" +
" URI: " +
exception.getSystemId() + "\n" +
" Message: " +
exception.getMessage());
throw new SAXException("Warning encountered");
* <p>
* This will report an error that has occurred; this indicates
* that a rule was broken, typically in validation, but that
* parsing can reasonably continue.
* </p>
* @param exception <code>SAXParseException</code> that occurred.
* @throws <code>SAXException</code> when things go wrong
public void error(SAXParseException exception)
throws SAXException {
System.out.println("**Parsing Error**\n" +
" Line: " +
exception.getLineNumber() + "\n" +
" URI: " +
exception.getSystemId() + "\n" +
" Message: " +
exception.getMessage());
throw new SAXException("Error encountered");
* <p>
* This will report a fatal error that has occurred; this indicates
* that a rule has been broken that makes continued parsing either
* impossible or an almost certain waste of time.
* </p>
* @param exception <code>SAXParseException</code> that occurred.
* @throws <code>SAXException</code> when things go wrong
public void fatalError(SAXParseException exception)
throws SAXException {
System.out.println("**Parsing Fatal Error**\n" +
" Line: " +
exception.getLineNumber() + "\n" +
" URI: " +
exception.getSystemId() + "\n" +
" Message: " +
exception.getMessage());
throw new SAXException("Fatal Error encountered");I have seen this error when I'm executing inside one of the (j2ee sun reference implementation) server containers (either web or ejb). I believe its caused by "something" having previously loaded the "sax 1 driver class". In my case, I think the container or server is loading the sax parser from a jar that contains a sax 1 version. If you can, ensure that nothing is loading the sax 1 parser from another jar on your system. Verify that you are loading the sax parser from a jar containing the latest version so that you get the sax 2 compliant parser. Good luck!
-
XML parser working with MediaWiki API
I have a little helper for a MediaWiki server. It intended to work the following way:
Client side [GWT] ←rpc→ Server side [GWT] JWBF ←http→ MediaWiki API+
GWT - Google Web Toolkit 2.0.4
JWBF - Java Wiki Bot Framework 1.3.2
MediaWiki 1.16 XML
JDK1.6.0_21
GWT sends and receive utf-8 data between client and server well. But the second half fails to work with its own xml traffic.
JWBF gets the xml file via HTTP (log4j logging):
[DefaultClientConnection ] Receiving response: HTTP/1.1 200 OK
[headers ] << HTTP/1.1 200 OK
[headers ] << Date: Thu, 09 Sep 2010 17:36:34 GMT
[headers ] << Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.4
[headers ] << X-Powered-By: PHP/5.2.4
[headers ] << Cache-Control: private
[headers ] << Vary: Accept-Encoding
[headers ] << Content-Length: 1177
[headers ] << Keep-Alive: timeout=5, max=95
[headers ] << Connection: Keep-Alive
[headers ] << Content-Type: text/xml; charset=utf-8
[DefaultRequestDirector ] Connection can be kept alive for 5000 ms
[wire ] << "<?xml version="1.0"?><api><query><pages><page pageid="103" ns="0" title="Bronenosets Potyomkin"><revisions><rev revid="503" parentid="502" user="Anton" timestamp="2010-09-09T09:26:34Z" comment="Undo revision 502" xml:space="preserve">[\n]"
[wire ] << "The Battleship Potemkin ([0xd0][0x91][0xd1][0x80][0xd0][0xbe][0xd0][0xbd][0xd0][0xb5][0xd0][0xbd][0xd0][0xbe][0xd1][0x81][0xd0][0xb5][0xd1][0x86] [0xc2][0xab][0xd0][0x9f][0xd0][0xbe][0xd1][0x82][0xd1][0x91][0xd0][0xbc][0xd0][0xba][0xd0][0xb8][0xd0][0xbd][0xc2][0xbb]) is a film.[\n]"
[wire ] << "[\n]"
[wire ] << "The Odessa Steps sequence editing.</rev></revisions></page></pages></query><query-continue><revisions rvstartid="502" /></query-continue></api>"
[SingleClientConnManager ] Releasing connection org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter@dfb098And Java XML parser fails to understand this xml and returns the string as it was ISO-8859-1. After the xml bases a class with SAXBuilder, name in brackets, the one within "rev" element, becomes:
ÐÑоненоÑ�ÐµÑ Â«ÐоÑÑмкин»while it should be
Броненосец «Потёмкин»The whole system (Apache, MediaWiki plus JWBF, GWT, client HTML) is set to utf-8, but Java parser (default settings) still does not agree.
Dear specialists, where could be the error?The problem's been found thanks to DrClap ( [XML converted to string - encoding lost?|http://forums.sun.com/thread.jspa?threadID=610257] ).
JWBF read the HTTP stream using system's default encoding:
+Line 216 in jwbf-1.3.2-262\src\net\sourceforge\jwbf\core\actions\HttpActionClient.java+
BufferedReader br = new BufferedReader(new InputStreamReader(res.getEntity().getContent()));From here the whole chain got the wrongly encoded string, including XML parser.
So, the solution is to define the encoding explicitly:
BufferedReader br = new BufferedReader(new InputStreamReader(res.getEntity().getContent(), "UTF-8"));Thank to the community. -
XML Parser Exception on Punch Out Setup Request
I am on the supplier side of the procurement process. Recently I was tasked with bringing on a new buying group, but we have encountered a strange issue. The buyer set up my company in their ERP system, however they are getting an error when trying to punch out to my website...which is listed below.
Error Code: 400 Invalid XML Format In Login Response Document Unable to parse the Login Response XML.
XMLParserException
oracle.xml.parser.v2.XMLParseException: End tag does not match start tag 'meta'.
at oracle.xml.parser.v2.XMLError.flushErrors1
After some investigation, I am confident the problem resides in the buyers BrowserFormPost URL. The problem seems to be that instead of using "&" for ampersand between the URL variables, it is passing in the & symbol (& is a protected character in XML), which is causing the Oracle XML parser to throw this exception. As a result, the set up request is never getting to me.
The buyer has opened a couple of tickets now with Oracle support, but both times the ticket has been closed and the buyer has been instructed to contact the supplier (me). I don't know enough about the buyer side Oracle system to instruct them on how to fix this issue. Any help would be greatly appreciated.Hi Rakesh,
You need to have an S-User ID to access SAP Notes. For your convenience, I am pasting the content of SAP Note 954035.
Process, block and CO could not be created in GP
Symptom
After upgrade of SAP-EU component to version 7.0 SP8 in Guided Procedures process, block and callable object could not be created. On design time screen appears error message:
com.sap.engine.lib.xml.parser.ParserException: XMLParser: Bad attribute list. Expected WhiteSpace, / or >:(:main:, row:1, col:491)
During attempt to start process through the Runtime screen you will get an error message:
Cannot load callable object container:
Failed to get Related Model Object for the object
com.sap.caf.eu.gp.ui.actions.decpage.
CDecisionPageInterfaceViewdecisionPageUsage1,relation View
In SP9, the following message could be found:
Failed to get Related Model Object for the object com.sap.caf.eu.gp.ui.co.exec.decision.COExecDecision
Proceed as stated for SP8.
Other terms
This is WebDynpro problem caused by an inconsistency of versions.
Solution
1. Redeploy the SCA SAP-EU (if redeployment does not help undeploy and deploy again) components:
o caf/eu/gp/ui/dt/comp/cons,
o caf/eu/gp/ui/dt/comp and
o caf/eu/gp/ui/actions from software component SAP-EU
or
2. Apply the SP8 patch 1 if you upgrade to SP8. Both components mentioned below will be updated:
o caf/eu/gp/ui/dt/comp/cons
o caf/eu/gp/ui/dt/comp
See if it solves your problem.
Bye
Ankur -
XML parsing failed while select from my table with criteria
While select from my table an error displayed as
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00601: Invalid token in: '/<XML Path>/row[c24="SA0010001"]'
select * from category
where existsNode(xmlrecord, '/<XML Path>/row[c24="SA0010001"]') = 1;
xmlrecord
<row id="52843" xml:space="preserve">
<c1>Refund of Domestic Payment Order</c1>
<c2>Ref Dom Py Or</c2>
<c3>PLsql</c3>
<c20>1</c20>
<c21>62_TAABSINPUTT___OFS_TAABS</c21>
<c22>0803181605</c22>
<c23>62_TAABSINPUTT_OFS_TAABS</c23>
<c24>SA0010001</c24>
<c25>1</c25>
</row>Hi,
Did you copy that sample from some demo?
The part "<XML Path>" is meant to be replaced by a real XPath fragment.
Here, I think you may just want this :
select * from category
where existsNode(xmlrecord, '/row[c24="SA0010001"]') = 1;Edit : OK, just seen your previous post and the example given
Edited by: odie_63 on 6 juil. 2010 21:16 -
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 -
Hi, my problem is :
In my Application i want to parse an XML file with DOM parser. The problem is that in my Project "MyProject -> Project Properties -> Libraries and Classpath"
I have included some 15 libraries which are useful for my Application: ADF Faces Runtime 11, ADF Web Runtime and etc.
Problems are causing the libraries: BC4J Runtime,ADF Model Runtime, MDS Runtime Dependencies
because when added my source which is parsing an XML file stops working.The source code is:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
File file =
new File("C:\\Documents and Settings\\ilia\\Desktop\\begin.xml");
Document doc = db.parse(file);
Element root = doc.getDocumentElement();
NodeList dots = root.getElementsByTagName("w:t");
Element firstDot = (Element)dots.item(0);
String textValue = firstDot.getFirstChild().getNodeValue();
I use DOM because i need to change some values in the XML file, but its not working neither for reading nor for writing.When debugging I see that it gets the root of the xml but " firstDot.getFirstChild().getNodeValue() " returns null and it breaks with NullPointerException. And that's only when the libraries mentioned above are added to the project. Without them it works just fine !
I don't know, it's like when added the parser validates my xml against some schema and returns null.
The xml file is very simple MS Word Document saved as .xml .But I don't think that's the problem.
Thanks in advance !
iliyaHi all,
I found the solution to my problem.The right way to parse and change an XML file with DOM parser using the Oracle XML Parser v2 should look like this:
JXDocumentBuilderFactory factory =
(JXDocumentBuilderFactory)JXDocumentBuilderFactory.newInstance();
JXDocumentBuilder documentBuilder =
(JXDocumentBuilder)factory.newDocumentBuilder();
File file = new File("c:/Documents and Settings/ilia/Desktop/begin.xml");
InputStream input =
new FileInputStream(file);
XMLDocument xmlDocument = (XMLDocument)(documentBuilder.parse(input));
System.out.println("Encoding: " + xmlDocument.getEncoding());
System.out.println("Version: " + xmlDocument.getVersion());
NodeList namespaceNodeList =
xmlDocument.getElementsByTagNameNS("http://schemas.microsoft.com/office/word/2003/wordml","t");
XMLElement namespaceElement17 = (XMLElement)namespaceNodeList.item(17);
namespaceElement17.getFirstChild().setNodeValue("someString"); -
XML Parser for C++ v2 on HP-UX 11.00
Hi,
We are using XML parser for C++ v2(2.0.1) on HP-UX 11.00.Oracle version is 8.0.5. Our application is dumping core .analyzing the core gives pointers to Oracle function calls. We found that some datatypes in parser's oratypes.h (e.g ub4,sb4)were not in consistence with datatypes in native Oracle's oratypes.h.how to solve this problem? is there any linkage or Includepath order recommended to solve this? let me know if u know any solution/workaround
thanx in advance
vijayanand
nullWe're working on getting this fixed. Thanks for reporting it.
-
WIJ 20002 xml Parser Problem - Rich Client
Hi,
I have a problem with the rich client on a new installation:
Business Objects Enterprise XI 3.1 SP3 on Windows 2008 Standard.
If I connect with the rich client "import document"is disabled.
if I try to create a new document from the rich client it returns the error below (I used the rich client on two workstations):
WIJ 20002
Version: null
Analisi dello stack:
java.lang.RuntimeException: java.lang.RuntimeException: XML parser problem:
XMLJaxpParser.parse(): Element type "ABOUT_Patentnumbers" must be followed by either attribute specification, ">" or "/>".
at com.businessobjects.wp.xml.jaxp.XMLJaxpParser.parse (Unknown Source)
at.com.businessobjects.webi.richclient.XMLviaOccaRC.getServerConfiguration (Unknown Source)
Have you any solution?The fixpack 3.5 client resolves the problem.
Maybe you are looking for
-
Site opens different in PC and Mac
Hi, I am having trouble with the site after I publish it to a non .mac domain. It opens different in PC and Mac. If I fix to look fine for one opens weird in other. Also, the navigation tabs doesent open in some computers. Any ideas? The site is http
-
Getting error after installing admt 3.2
hi team i am getting error after installing the admt 3.2 on server 2008 R2 where i have installed sql server 2008 sp1 with express edition the server is a DC the error is "Unable to check for failed actions. :DBManager.IManageDB.1 Unable to retrieve
-
I'd like to have the default byte order setting to be Mac and not IBM when saving Tiff files in PS CS5. It seems that it's always defaulting to IBM, is there a way to change that? Thanks! Ken
-
Repairing Disc Permissions gets stuck
Hi, I have only just started using 'Repair disk permissions' recently not being aware that I needed to do that after downloading upgrades of programs. I've tried running it on my hard drive a few times and it gets stuck each time. I have to force it
-
How to rest ATT Data Plan?
I bought a 3G iPad from eBay and today I went to setup the ATT Cellular Data plan. When it logs into ATT to setup, it has the old owners email address listed and no password. There is no reset to clear this info out and setup a new plan. I'm on the p