EOF in utl_file
Hi
I want to read a file using utl_file package but the problem is that my files has few blank lines is when i run the Loop my program crashes.. Can anyone help how to display the full file.
Cheers
Blank lines (a line with only a linefeed) will not crash a get_line call. Please post your file-reading code.
Similar Messages
-
UTL_FILE.get_line won't read large files ?
I am trying to read a large fixed length flat file. If I cut the file down to really small it will read it but it reads it as a single line. If I try to read a larger file > 32k I get a READ_ERROR. I am pretty sure it has to do with the end of line marker but I saw nothing about that in the UTL_FILE documentation. This is on UNIX, new line character after each record in the file. Standard unix flat file.
Any ideas on what to do?
Thanks in advance
Matt
[email protected]
my code:
BEGIN
BEGIN
std_file := UTL_FILE.FOPEN('&4','&1','r',32767);
EXCEPTION
WHEN UTL_FILE.INVALID_PATH THEN
RAISE_APPLICATION_ERROR(-20011,'Invalid Path for STD file, &4/&1');
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20014,'Other Error trying to open STD file, &4/&1');
END;
IF UTL_FILE.is_open(std_file) = FALSE THEN
RAISE_APPLICATION_ERROR(-20015,'Could not open STD file, &4/&1');
END IF;
-- READ STD FILE HEADER
BEGIN
UTL_FILE.get_line(std_file,hdr_text);
EXCEPTION
WHEN UTL_FILE.INVALID_FILEHANDLE THEN
RAISE_APPLICATION_ERROR(-20017,'STD read file handle not valid');
WHEN UTL_FILE.INVALID_OPERATION THEN
RAISE_APPLICATION_ERROR(-20018,'STD read invalid operation error');
WHEN UTL_FILE.READ_ERROR THEN
RAISE_APPLICATION_ERROR(-20019,'STD read error');
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20020,'STD read no data found');
WHEN VALUE_ERROR THEN
RAISE_APPLICATION_ERROR(-20021,'STD read value error');
END;
-- PROCESS TRANSACTIONS
LOOP
BEGIN
tran_text := NULL;
UTL_FILE.get_line(std_file,tran_text);
EXCEPTION
WHEN no_data_found THEN EXIT; -- EOF
WHEN value_error THEN
RAISE_APPLICATION_ERROR(-20010,'STD record too long.');
END;
std_rowcount := std_rowcount + 1;
END LOOP;
UTL_FILE.FCLOSE(std_file);
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20001,'No Data Found.');
WHEN UTL_FILE.INVALID_PATH THEN
RAISE_APPLICATION_ERROR(-20002,'Invalid Path ');
WHEN UTL_FILE.INVALID_MODE THEN
RAISE_APPLICATION_ERROR(-20003,'Invalid Mode ');
WHEN UTL_FILE.INVALID_OPERATION THEN
RAISE_APPLICATION_ERROR(-20004,'Invalid Operation ');
END;
nullWe are still hung up on this. I tried implementing the code from STEVE'S XML book but still haven't resovled it.
The clob is being created via XSU see below. The new char[8192] appeasr to force the output file to 8K
with trailing characters on small clobs but adds a carraige return each 8K on larger ones.
As usual any input is appreciated from all. Doese anyone know of a good JAVA forum like this one?
Thanks
PROCEDURE BuildXml(v_return OUT INTEGER, v_message OUT VARCHAR2,string_in VARCHAR2,xml_CLOB OUT NOCOPY CLOB) IS
queryCtx DBMS_XMLquery.ctxType;
Buffer RAW(1024);
Amount BINARY_INTEGER := 1024;
Position INTEGER := 1;
sql_string VARCHAR2(2000) := string_in;
BEGIN
v_return := 1;
v_message := 'BuildXml completed succesfully.';
queryCtx := DBMS_XMLQuery.newContext(sql_string);
xml_CLOB := DBMS_XMLQuery.getXML(queryCtx);
DBMS_XMLQuery.closeContext(queryCtx);
EXCEPTION WHEN OTHERS THEN
v_return := 0;
v_message := 'BuildXml failed - '||SQLERRM;
END BuildXml;
create or replace and compile java source named sjs.write_CLOB as
import java.io.*;
import java.sql.*;
import java.math.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
public class write_CLOB extends Object
public static void pass_str_array(oracle.sql.CLOB p_in,java.lang.String f_in)
throws java.sql.SQLException, IOException
File target = new File(f_in);
FileWriter fw = new FileWriter(target);
BufferedWriter out = new BufferedWriter(fw);
Reader is = p_in.getCharacterStream();
char buffer[] = new char[8192];
int length;
while( (length=is.read(buffer)) != -1) {
out.write(buffer);
is.close();
fw.close();
/ -
Problem : Load PDF or similiar files( stored at operating system) into an oracle table using SQl*Loader .
and than Unload the files back from oracle tables to prevoius format.
I 've used SQL*LOADER .... " sqlldr " command as :
" sqlldr scott/[email protected] control=c:\sqlldr\control.ctl log=c:\any.txt "
Control file is written as :
LOAD DATA
INFILE 'c:\sqlldr\r_sqlldr.txt'
REPLACE
INTO table r_sqlldr
Fields terminated by ','
id sequence (max,1) ,
fname char(20),
data LOBFILE(fname) terminated by EOF )
It loads files ( Pdf, Image and more...) that are mentioned in file r_sqlldr.txt into oracle table r_sqlldr
Text file ( used as source ) is written as :
c:\kalam.pdf,
c:\CTSlogo1.bmp
c:\any1.txt
after this load ....i used UTL_FILE to unload data and write procedure like ...
CREATE OR REPLACE PROCEDURE R_UTL AS
l_file UTL_FILE.FILE_TYPE;
l_buffer RAW(32767);
l_amount BINARY_INTEGER ;
l_pos INTEGER := 1;
l_blob BLOB;
l_blob_len INTEGER;
BEGIN
SELECT data
INTO l_blob
FROM r_sqlldr
where id= 1;
l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
DBMS_OUTPUT.PUT_LINE('blob length : ' || l_blob_len);
IF (l_blob_len < 32767) THEN
l_amount :=l_blob_len;
ELSE
l_amount := 32767;
END IF;
DBMS_LOB.OPEN(l_blob, DBMS_LOB.LOB_READONLY);
l_file := UTL_FILE.FOPEN('DBDIR1','Kalam_out.pdf','w', 32767);
DBMS_OUTPUT.PUT_LINE('File opened');
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.READ (l_blob, l_amount, l_pos, l_buffer);
DBMS_OUTPUT.PUT_LINE('Blob read');
l_pos := l_pos + l_amount;
UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
DBMS_OUTPUT.PUT_LINE('writing to file');
UTL_FILE.FFLUSH(l_file);
UTL_FILE.NEW_LINE(l_file);
END LOOP;
UTL_FILE.FFLUSH(l_file);
UTL_FILE.FCLOSE(l_file);
DBMS_OUTPUT.PUT_LINE('File closed');
DBMS_LOB.CLOSE(l_blob);
EXCEPTION
WHEN OTHERS THEN
IF UTL_FILE.IS_OPEN(l_file) THEN
UTL_FILE.FCLOSE(l_file);
END IF;
DBMS_OUTPUT.PUT_LINE('Its working at last');
END R_UTL;
This loads data from r_sqlldr table (BOLBS) to files on operating system ,,,
-> Same procedure with minor changes is used to unload other similar files like Images and text files.
In above example : Loading : 3 files 1) Kalam.pdf 2) CTSlogo1.bmp 3) any1.txt are loaded into oracle table r_sqlldr 's 3 rows respectively.
file names into fname column and corresponding data into data ( BLOB) column.
Unload : And than these files are loaded back into their previous format to operating system using UTL_FILE feature of oracle.
so PROBLEM IS : Actual capacity (size ) of these files is getting unloaded back but with quality decreased. And PDF file doesnt even view its data. means size is almot equal to source file but data are lost when i open it.....
and for images .... imgaes are getting loaded an unloaded but with colors changed ....
Also features ( like FFLUSH ) of Oracle 've been used but it never worked
ANY SUGGESTIONS OR aLTERNATE SOLUTION TO LOAD AND UNLOAD PDFs through Oracle ARE REQUESTED.
------------------------------------------------------------------------------------------------------------------------Thanks Justin ...for a quick response ...
well ... i am loading data into BLOB only and using SQL*Loader ...
I've never used dbms_lob.loadFromFile to do the loads ...
i 've opend a file on network and than used dbms_lob.read and
UTL_FILE.PUT_RAW to read and write data into target file.
actually ...my process is working fine with text files but not with PDF and IMAGES ...
and your doubt of ..."Is the data the proper length after reading it in?" ..m not getting wat r you asking ...but ... i think regarding data length ..there is no problem... except ... source PDF length is 90.4 kb ..and Target is 90.8 kb..
thats it...
So Request u to add some more help ......or should i provide some more details ?? -
UTL_FILE help/samples
Hello Folks,
I need to write a routine to read in a CSV file parse it and inser the data into a table.
Does anybody have examples?
TIAUse this as a skeleton:
set serveroutput on size 1000000 format word_wrapped
set verify off
DECLARE
EOF CONSTANT VARCHAR2(30) := '~~+~~+~~';
iCount NUMBER;
sEOF VARCHAR2(30);
sPath VARCHAR2(2000);
sRecord VARCHAR2(2000);
sSQLCode NUMBER;
sSQLErrM VARCHAR2(255);
pFileHandle utl_file.file_type;
BEGIN
dbms_output.enable(1000000);
iCount := 0;
sEOF := '';
sPath := 'C:\Data';
pFileHandle := utl_file.fopen(sPath, 'file.cvs', 'r');
loop
BEGIN
utl_file.get_line(pFileHandle, sRecord);
EXCEPTION
when NO_DATA_FOUND then sEOF := EOF;
END;
exit when sEOF = EOF;
iCount := iCount + 1;
dbms_output.put_line(sRecord);
end loop;
commit;
dbms_output.put_line("Records read: "| |iCount);
utl_file.fclose(pFileHandle);
EXCEPTION
when UTL_FILE.INVALID_OPERATION then
utl_file.fclose(pFileHandle);
raise_application_error(-20001, 'Invalid Operation');
when UTL_FILE.INVALID_FILEHANDLE then
utl_file.fclose(pFileHandle);
raise_application_error(-20002, 'Invalid File Handle');
when UTL_FILE.WRITE_ERROR then
utl_file.fclose(pFileHandle);
raise_application_error(-20003, 'Write Error');
when UTL_FILE.INTERNAL_ERROR then
utl_file.fclose(pFileHandle);
raise_application_error(-20004, 'Internal Error');
when UTL_FILE.INVALID_PATH then
utl_file.fclose(pFileHandle);
raise_application_error(-20005, 'Invalid Path ['| |sPath| |']');
when UTL_FILE.INVALID_MODE then
utl_file.fclose(pFileHandle);
raise_application_error(-20006, 'Invalid Mode');
when UTL_FILE.READ_ERROR then
utl_file.fclose(pFileHandle);
raise_application_error(-20007, 'Read Error');
when OTHERS then
utl_file.fclose(pFileHandle);
sSQLCode := SQLCODE;
sSQLErrM := substr(SQLERRM, 1, 255);
raise_application_error(-20008, sSQLCode| |' - '| |sSQLErrM);
END;
To chop the record into separate fields you must use something like:
iStart := instr(sRecord, '|', 1, 2) + 1;
iLen := instr(sRecord, '|', 1, 3) - iStart;
if iLen = 0 then
sField := '#NULL#';
else
sField := substr(sRecord, iStart, iLen);
null -
Utl_file simultaneous usage
i will use a stored procedure for db-logging in a file using utl_file (fopen/put_line/fflush/fclose)
- may i have problems with simultaneous calls to this procedure within different sessions or i must use some kind of locking ?user605483 wrote:
i will use a stored procedure for db-logging in a file using utl_file (fopen/put_line/fflush/fclose)
- may i have problems with simultaneous calls to this procedure within different sessions or i must use some kind of locking ?Yes - but if you use text and "+write append+" to the file, your code is fairly thread safe.
The problem is with the file pointer in session A versus session B. Session B writes to the file. This does not advance the file pointer in session A. Thus when session A writes to the file, it overwrites the data just written by session B.
A write append automatically writes the data at the end of the file (the file pointer is moved to eof and the write happens). Write append is only valid for text files - not binary files (though you can likely simulate it, but it would not make much sense).
As writes to the same file is serialised (due to the file being opened in shared mode), there's no problem in both sessions doing a write append at the same time. (except for the performance issue of serialisation)
But the concept of writing log files from an Oracle RDBMS - that is just plain horrible. This is not the 80's anymore (despite us missing the music and hairstyles) and Oracle is not Cobol writing to ISAM files.
The correct place for logs is inside a plain Oracle SQL table - that can be indexed, partitioned. That can be read and filtered using SQL. That implements concurrency controls. That has Oracle security features. Forms part of the database backup strategy. Etc.
IMO there is no valid reason for storing PL/SQL processing logs externally. (a debate I've often had in the past with developers and one I have yet to lose) -
Hi all,
I want to know about the procedure fseek in utl_file
I know that we can use this procedure to move back or forward in a file without closing and opening it
but what i cant get is how this works
say this is the example
declare
name varchar2(30);
f1 utl_file.file_type;
pos number;
begin
f1 := utl_file.fopen('VIR','SEARCH.TXT','R');
utl_file.fseek(f1,10);
pos := utl_file.fgetpos(f1);
dbms_output.put_line ('SUCCESS Seek to abs offset 10, currect position is '||to_char(pos));
utl_file.fseek(f1,NULL,5);
pos := utl_file.fgetpos(f1);
dbms_output.put_line ('SUCCESS Seek to relative offset 5, currect position is'||to_char(pos));
utl_file.fseek(f1,10,5);
pos := utl_file.fgetpos(f1);
dbms_output.put_line ('SUCCESS Seek to absolute 10 relative offset 5, currect position is'||to_char(pos));
utl_file.fseek(f1,NULL,-5);
pos := utl_file.fgetpos(f1);
dbms_output.put_line ('SUCCESS Seek to rel offset -5, currect position is '||to_char(pos));
utl_file.fclose(f1);
end;
o/p is
SQL> /
SUCCESS Seek to abs offset 10, currect position is 10
SUCCESS Seek to relative offset 5, currect position is15
SUCCESS Seek to absolute 10 relative offset 5, currect position is10
SUCCESS Seek to rel offset -5, currect position is 5
PL/SQL procedure successfully completed.What i dont understand is when i am using both absolute and relative offset i.e abs = 10 and rel = 5
then why its current position is 10 when i thought it would be 15?
please correct me if i am wrong.
or does it not consider the relative offset when the absolute is given
What i am thinking is when absolute and relative offset in fseek is present then the position should be
absolute + relative.
when absolute is null and relative is present the position would be
current position +/- relative offset
and if relative offset is null and absolute is present the current position is
absolute offset
thanksAlthough it is not explicitly stated in the documentation, I beleieve that fseek is an either or proposition. That is, you supply either absolute or relative position. If you supply both, then only the first parameter (absolute) is evaluated.
My guess would be that somewhere in the internals, the utl_file.fseek procedure calls the c function fseek which is defined as:
int fseek(FILE *stream, long offset, int whence);where whence is a constant defined in stdio.h as:
SEEK_SET Set position equal to offset bytes.
SEEK_CUR Set position to current location plus
SEEK_END Set position to EOF plus offset.So, in psuedo code
IF absolute_offset is not null then
call c.fseek (filepointer, absolute_offset, SEEK_SET);
elsif relative_offset is not null then
call c.fseek (filepointer, relative_offset, SEEK_CUR);
else
do nothing
end if;John -
Help needed in utl_file
Hi,
I have two groups in data model of my report. I am using utl_file in a formula column of report last group.it's working fine.
but my problem is if customer has more than one invoice lines
then all that lines not comes under only particular customer only at a time.
For example my output is coming like this:
Customer address: 3345 LIMITED-STUDIOS : 00033-45 PARR STREETLIVERPOOLCHESHIRE
Invoice Lines: 0001000402106-JUL-07INV 10.47
Customer address: 3345 LIMITED-STUDIOS : 00033-45 PARR STREETLIVERPOOLCHESHIRE
Invoice Lines: 0001000402713-JUL-07INV 10.77
But I am trying to get output like this:
Customer address: 3345 LIMITED-STUDIOS : 00033-45 PARR STREETLIVERPOOLCHESHIRE
Invoice Lines: 0001000402106-JUL-07INV 10.47
0001000402713-JUL-07INV 10.77
I am using fallowing code in my formula column:
function CF_UTL_FILEFormula return Char is
v_file_data utl_file.file_type;
begin
utl_file.put_line(v_file_data,:SEND_CUSTOMER_NAME:SEND_ADDRESS1:SEND_ADDRESS2:SEND_ADDRESS3:SEND_ADDRESS4:SEND_CITY:SEND_STATE:SEND_COUNTRY_DESC:SEND_POSTAL_CODE);
utl_file.put_line(v_file_data,LN1:CF_LOCATION:C_DELIVERY_DATE:INVOICE_NUMBER:TRX_DATE:c_transaction_type:CD_TRX_AMOUNT);
utl_file.fclose(v_file_data);
end;
Please help me how can I do this?What's the source of your Summary Column? It's not allowed to choose here the formula column in whcih you reference the summary column back. But another column should work.
As alternativ add a formula column in the upper group with
utl_file.put_line(v_file_data,:SEND_CUSTOMER_NAME:SEND_ADDRESS1:SEND_ADDRESS2:SEND_ADDRESS3:SEND_ADDRESS4:SEND_CITY:SEND_STATE:SEND_COUNTRY_DESC:SEND_POSTAL_CODE);
and remove the same line out of the other formula column. -
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 -
Java Web Start Error - java.io.IOException: EOF reading band
I am using Java Web Start to download an application and I am getting the following error. How do I resolve this? The jar that is being downloaded is present in the directory.
java.io.IOException: EOF reading band
at com.sun.java.util.jar.pack.NativeUnpack.start(Native Method)
at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source)
at com.sun.java.util.jar.pack.UnpackerImpl.unpack(Unknown Source)
at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)jfdenise wrote:
Hi,
I am facing the exact same issue when getting a big jar of more than 7 megs. It seems to occur in some special network configuration that I am not yet able to figure out. It is obviously linked to the fact that the jar is unpacked on the client side.
Anybody ran into this one and understood the root cause?Please, don't resurrect old threads, and don't use signatures with addresses. I'm locking this thread.
Kaj -
Problems with moving files to ora directory UTL_FILE.PUT_RAW - ORA-29285
hi,
i'm using apex 4.1
i have a procedure which moves my file from apex_application_files to ORA directory.
if i choose a text file or small word document which is 1kb, it works. but if i have pdf file (85kb) or word document (16kb) it gives me ORA-29285: file write error
what's my problem?
PROCEDURE put_file_to_server (p_filename IN VARCHAR2,p_cert_type IN VARCHAR2,p_cert_pk IN NUMBER)
AS
l_file UTL_FILE.file_type;
l_blob_len INTEGER;
l_pos INTEGER := 1;
l_amount BINARY_INTEGER := 32767;
l_buffer RAW (32767);
v_new_filename VARCHAR2(100);
v_bfile BFILE ;
BEGIN
-- delete from apex_application_files;
--Neuen Dateinamen generieren
v_new_filename := p_cert_type||'_'||p_cert_pk;
v_bfile := BFILENAME (v_directory, v_new_filename);
--Datei erstellen
l_file := UTL_FILE.fopen(v_directory,v_new_filename,'w');
IF DBMS_LOB.FILEEXISTS (v_bfile) = 1 THEN
cert_log_pkg.m(p_module => 'CERT_FILE_PKG.PUT_FILE_TO_SERVER',p_msg => 'File exists');
FOR rec IN (select blob_content lblob from apex_application_files where rownum = 1)
LOOP
l_blob_len := DBMS_LOB.getlength(rec.lblob);
cert_log_pkg.m(p_module => 'CERT_FILE_PKG.PUT_FILE_TO_SERVER',p_msg => 'Filesize is '||l_blob_len);
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.read (rec.lblob, l_amount, l_pos, l_buffer);
UTL_FILE.put_raw (l_file, l_buffer, FALSE);
l_pos := l_pos + l_amount;
END LOOP;
COMMIT;
END LOOP;
--Datei schließen
UTL_FILE.fclose(l_file);
else
cert_log_pkg.m(p_module => 'CERT_FILE_PKG.PUT_FILE_TO_SERVER',p_msg => 'Datei doesn't exist');
end if;
EXCEPTION
WHEN OTHERS
THEN
-- Close the file if something goes wrong.
IF UTL_FILE.is_open (l_file) THEN
UTL_FILE.fclose (l_file);
END IF;
delete from apex_application_files;
RAISE;
delete from apex_application_files;
END put_file_to_server;Sorry but din't test this...Can you give it a try and see if this works?
PROCEDURE put_file_to_server(
p_filename IN VARCHAR2,
p_cert_type IN VARCHAR2,
p_cert_pk IN NUMBER)
AS
l_file UTL_FILE.file_type;
l_blob_len INTEGER;
l_pos INTEGER := 1;
l_amount BINARY_INTEGER := 32767;
l_buffer RAW (32767);
v_new_filename VARCHAR2(100);
v_bfile BFILE ;
vblob BLOB;
vstart NUMBER := 1;
my_vr RAW(32000);
bytelen NUMBER := 32000;
LEN NUMBER;
BEGIN
-- delete from apex_application_files;
--Neuen Dateinamen generieren
v_new_filename := p_cert_type||'_'||p_cert_pk;
v_bfile := BFILENAME (v_directory, v_new_filename);
--Datei erstellen
--l_file := UTL_FILE.fopen(v_directory,v_new_filename,'w');
l_file := UTL_FILE.fopen(v_directory,v_new_filename, 'WB', 32760);
IF DBMS_LOB.FILEEXISTS (v_bfile) = 1 THEN
cert_log_pkg.m(p_module => 'CERT_FILE_PKG.PUT_FILE_TO_SERVER',p_msg => 'File exists');
FOR rec IN
(SELECT blob_content lblob,
LENGTH(blob_content) LEN
FROM apex_application_files
WHERE rownum = 1
LOOP
cert_log_pkg.m(p_module => 'CERT_FILE_PKG.PUT_FILE_TO_SERVER',p_msg => 'Filesize is '|| LEN);
IF LEN < 32760 THEN
utl_file.put_raw(l_file,lblob);
utl_file.fflush(l_file);
ELSE -- write in pieces
vstart := 1;
WHILE vstart < LEN
LOOP
dbms_lob.read(vblob,bytelen,vstart,my_vr);
utl_file.put_raw(l_file,my_vr);
utl_file.fflush(l_file);
-- set the start position for the next cut
vstart := vstart + bytelen;
-- set the end position if less than 32000 bytes
x := x - bytelen;
IF x < 32000 THEN
bytelen := x;
END IF;
END LOOP;
END IF;
END LOOP;
ELSE
cert_log_pkg.m(p_module => 'CERT_FILE_PKG.PUT_FILE_TO_SERVER',p_msg => 'Datei doesnt exist');
END IF;
utl_file.fclose(l_file);
EXCEPTION
WHEN OTHERS THEN
-- Close the file if something goes wrong.
IF UTL_FILE.is_open (l_file) THEN
UTL_FILE.fclose (l_file);
END IF;
DELETE FROM apex_application_files;
RAISE;
DELETE FROM apex_application_files;
END put_file_to_server;Edited by: Vitor Rodrigues on 17/Fev/2012 12:03 -
hi all,
I am using Oracle XE and forms 6i and am facing the above error when i try to use the utl_file utility.
WHEN BUTTOn PRESSED
IF (:EXPORT_IMPORT_DATA = 'E') THEN
message(lc_status);
SECURITY.PKG_gen_trnsfr_data_flat_file.PROC_gen_trnsfr_data_flat_file(:DATA_FILE_PATH, :DATA_FILE_NAME, lc_status);
PKG_GEN_TRNSFR_DATA_FLAT_FILE body
create or replace PACKAGE BODY PKG_gen_trnsfr_data_flat_file IS
PROCEDURE proc_gen_trnsfr_data_flat_file(p_file_location IN VARCHAR2, p_file_name IN VARCHAR2, po_status OUT VARCHAR2) IS
lh_filename UTL_FILE.FILE_TYPE;
ls_data VARCHAR2(2000);
ln_count NUMBER;
lc_error VARCHAR2(10000);
CURSOR cur_FPM_DAMAGE_COMPENSATION IS SELECT RPAD(nvl(PDCO_CASE_CLASS,' '),1) || RPAD(nvl(PDCO_CASE_DISPOSAL_PENDING,' '),1) || RPAD(nvl(PDCO_CASE_DISPOSAL_TYPE,' '),1) || RPAD(nvl(PDCO_CC_NO,0),9) || RPAD(nvl(PDCO_CF_NO,0),9) || RPAD(nvl(PDCO_COMPEN_REALISED,0),18) || RPAD(nvl(PDCO_CONFISCATED_PRODUCE,' '),25) || RPAD(nvl(PDCO_CR_NO,0),9) || RPAD(nvl(PDCO_DAMAGE_DETAILS,' '),90) || RPAD(nvl(PDCO_DAMAGE_REPORT_NO,0),13) || RPAD(NVL(TO_CHAR(PDCO_DATE_ORDER_COMPOUNDING,'DD-MON-RRRR'),' '),15) || RPAD(NVL(TO_CHAR(PDCO_DATE_PROSECUTION,'DD-MON-RRRR'),' '),15) || RPAD(NVL(TO_CHAR(PDCO_DISPOSAL_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PDCO_DR_NO,0),9) || RPAD(nvl(PDCO_FOREST_NAME,' '),50) || RPAD(NVL(TO_CHAR(PDCO_ISSUE_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PDCO_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PDCO_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PDCO_NO_OF_PERSONS_IN_THE_CASE,0),6) || RPAD(nvl(PDCO_NO_ORDER_FOR_COMPOUNDING,' '),15) || RPAD(nvl(PDCO_OFFENCE_DETAILS,' '),90) || RPAD(nvl(PDCO_OFFENCE_TYPE,' '),1) || RPAD(nvl(PDCO_OFFENDER_ADDRESS,' '),90) || RPAD(nvl(PDCO_OFFENDER_NAME,' '),200) ||
RPAD(nvl(PDCO_OFFICIAL_NAME,' '),30) || RPAD(nvl(PDCO_RA_SIGN,' '),30) || RPAD(NVL(TO_CHAR(PDCO_RA_SIGN_DATE,'DD-MON-RRRR'),' '),15) || RPAD(NVL(TO_CHAR(PDCO_RECEIPT_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PDCO_RR_NO,0),18) || RPAD(nvl(PDCO_TOOLS,0),18) || RPAD(nvl(PDCO_TOTAL,0),18) || RPAD(nvl(PDCO_VALUE_CONFISCATED_PROD,0),18) || RPAD(nvl(PDCO_VFP,0),18) || RPAD(nvl(PDCO_YDIV_DIVISION_CODE,' '),8) || RPAD(nvl(PDCO_YRAN_RANGE_CODE,' '),8) outstring FROM FPM_DAMAGE_COMPENSATION;
CURSOR cur_FPM_DAMAGE_COMPENSATION_R IS SELECT RPAD(nvl(CIRCLE,' '),90) || RPAD(nvl(DIVISION,' '),90) || RPAD(nvl(PREV_A,0),9) || RPAD(nvl(PREV_B,0),9) || RPAD(nvl(PREV_TOTAL,0),11) || RPAD(nvl(TOT_A,0),11) || RPAD(nvl(TOT_B,0),11) || RPAD(nvl(TOT_C,0),11) || RPAD(nvl(T_A,0),9) || RPAD(nvl(T_B,0),9) || RPAD(nvl(T_C,0),9) || RPAD(nvl(X_A,0),9) || RPAD(nvl(X_B,0),9) || RPAD(nvl(X_C,0),9) || RPAD(nvl(Y_A,0),9) || RPAD(nvl(Y_B,0),9) || RPAD(nvl(Y_C,0),9) || RPAD(nvl(Z_A,0),9) || RPAD(nvl(Z_B,0),9) || RPAD(nvl(Z_C,0),9) outstring FROM fpm.FPM_DAMAGE_COMPENSATION_R;
CURSOR cur_FPM_ENCROACHMENT IS SELECT RPAD(nvl(PENC_AREA_UNDER_ENCROACH,0),18) || RPAD(nvl(PENC_BALANCE_AREA_UN_ENC,0),18) || RPAD(nvl(PENC_ENCROACH_ID,' '),8) || RPAD(nvl(PENC_FOREST_NAME,' '),50) || RPAD(nvl(PENC_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PENC_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PENC_LEGAL_STATUS_OF_FOREST,' '),90) || RPAD(NVL(TO_CHAR(PENC_PERIOD_FROM_UNDER_ENC,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PENC_PRESENT_STATUS,' '),90) || RPAD(nvl(PENC_YDIV_DIVISION_CODE,' '),8) outstring FROM FPM_ENCROACHMENT;
CURSOR cur_FPM_ENCROACHMENT_REMOVALS IS SELECT RPAD(nvl(PENR_ACTION_TAKEN,' '),90) || RPAD(nvl(PENR_AREA_REMOVED_ENCMNT,0),18) || RPAD(NVL(TO_CHAR(PENR_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PENR_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PENR_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PENR_PENC_ENCROACHMENT_ID,' '),8) || RPAD(nvl(PENR_PENC_YDIV_DIVISION_CODE,' '),8) outstring FROM FPM_ENCROACHMENT_REMOVALS;
CURSOR cur_FPM_FIRE IS SELECT RPAD(nvl(PFIR_ACTION_TAKEN,' '),90) || RPAD(nvl(PFIR_AREA_EFFECTED,0),18) || RPAD(nvl(PFIR_CAUSE_OF_FIRE,' '),2) || RPAD(nvl(REPLACE(REPLACE(PFIR_DAMAGE_DETAILS,CHR(13),' '),CHR(10),' '),' '),200) || RPAD(nvl(PFIR_DAMAGE_VALUE,0),18) || RPAD(NVL(TO_CHAR(PFIR_DATE_OF_FIRE,'DD-MON-RRRR'),' '),15) || RPAD(NVL(TO_CHAR(PFIR_DATE_VISIT_DFO,'DD-MON-RRRR'),' '),15) || RPAD(NVL(TO_CHAR(PFIR_DATE_VISIT_RANGEOFFICER,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PFIR_DFO_COMMENTS,' '),90) || RPAD(nvl(PFIR_DFO_SIGN,' '),30) || RPAD(NVL(TO_CHAR(PFIR_DFO_SIGN_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PFIR_FIRE_NO,' '),10) || RPAD(nvl(PFIR_FOREST_NAME,' '),50) || RPAD(nvl(PFIR_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PFIR_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PFIR_NO_OF_TREES,0),18) || RPAD(nvl(PFIR_QTY_OTH_FORST_PROD_BRNT,0),18) || RPAD(nvl(PFIR_RANGEOFFICER_COMMENTS,' '),90) || RPAD(nvl(PFIR_REPORTING_PERSON,' '),30) || RPAD(nvl(PFIR_VALUE_OTH_FORST_PROD_BRNT,0),18) || RPAD(nvl(PFIR_VALUE_TREES_BURNT,0),18) || RPAD(nvl(PFIR_VOLUME_TREES_BURNT,0),18) || RPAD(nvl(PFIR_YDIV_DIVISION_CODE,' '),8) || RPAD(nvl(PFIR_YRAN_RANGE_CODE,' '),8) outstring FROM FPM_FIRE;
CURSOR cur_FPM_JFM_MASTER IS SELECT RPAD(nvl(PJFM_BSCM_SCHEME_CODE,' '),8) || RPAD(nvl(PJFM_JFM_ID,0),13) || RPAD(nvl(PJFM_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PJFM_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(NVL(TO_CHAR(PJFM_LAUNCH_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PJFM_LOCATION,' '),20) || RPAD(nvl(PJFM_YDIV_DIVISION_CODE,' '),8) outstring FROM FPM_JFM_MASTER;
CURSOR cur_FPM_JFM_DETAILS IS SELECT RPAD(NVL(TO_CHAR(PJFD_DATE,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PJFD_EXPENDITURE,0),18) || RPAD(nvl(PJFD_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PJFD_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PJFD_NO_OF_FPS,0),13) || RPAD(nvl(PJFD_OTHER_AREA_INCLUDED,0),18) || RPAD(nvl(PJFD_OVERALL_AREA_REGENERATED,0),18) || RPAD(nvl(PJFD_PF_AREA_INCLUDED,0),18) || RPAD(nvl(PJFD_PJFM_JFM_ID,0),13) || RPAD(nvl(PJFD_RF_AREA_INCLUDED,0),18) || RPAD(nvl(PJFD_VALUE_BENEFIT_CASH,0),18) || RPAD(nvl(PJFD_VALUE_BENEFIT_GOODS,0),18) outstring FROM FPM_JFM_DETAILS;
CURSOR cur_FPM_PROTECTION_FIRE_MASTER IS SELECT RPAD(nvl(PPFM_AREA_ATTEM_TO_BE_PROT,0),18) || RPAD(nvl(PPFM_FINANCIAL_YEAR,' '),9) || RPAD(nvl(PPFM_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PPFM_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PPFM_YDIV_DIVISION_CODE,' '),8) outstring FROM FPM_PROTECTION_FIRE_MASTER;
CURSOR cur_FPM_PROTECTION_FIRE_DET IS SELECT RPAD(nvl(PPFD_AREA_ACTUALLY_PROTECTED,0),18) || RPAD(nvl(PPFD_COST,0),18) || RPAD(nvl(PPFD_FAILURE,0),18) || RPAD(nvl(PPFD_LASTUPDATE_BY,' '),30) || RPAD(NVL(TO_CHAR(PPFD_LASTUPDATE_ON,'DD-MON-RRRR'),' '),15) || RPAD(nvl(PPFD_PPFM_FINANCIAL_YEAR,' '),9) || RPAD(nvl(PPFD_PPFM_YDIV_DIVISIN_CODE,' '),8) outstring FROM FPM_PROTECTION_FIRE_DETAILS;
BEGIN
lc_error := 'begin';
lc_error := p_file_location || p_file_name ;
lh_filename := UTL_FILE.FOPEN(p_file_location, p_file_name, 'w',32767);
lc_error := 'filename';
SELECT COUNT(*) INTO ln_count FROM FPM_DAMAGE_COMPENSATION;
lc_error := 'line 1';
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10) || 'FPM_DAMAGE_COMPENSATION');
lc_error := 'line2';
FOR i IN cur_FPM_DAMAGE_COMPENSATION LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM fpm.FPM_DAMAGE_COMPENSATION_R;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_DAMAGE_COMPENSATION_R LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_FIRE;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10)||'FPM_FIRE');
FOR i IN cur_FPM_FIRE LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_JFM_MASTER;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_JFM_MASTER LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_JFM_DETAILS;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_JFM_DETAILS LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_PROTECTION_FIRE_MASTER;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_PROTECTION_FIRE_MASTER LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_PROTECTION_FIRE_DETAILS;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_PROTECTION_FIRE_DET LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_ENCROACHMENT;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_ENCROACHMENT LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
SELECT COUNT(*) INTO ln_count FROM FPM_ENCROACHMENT_REMOVALS;
UTL_FILE.PUT_LINE(lh_filename, RPAD(ln_count,10));
FOR i IN cur_FPM_ENCROACHMENT_REMOVALS LOOP
UTL_FILE.PUT_LINE(lh_filename, i.outstring);
END LOOP;
UTL_FILE.FCLOSE_ALL;
po_status := 'NO ERROR';
EXCEPTION
WHEN UTL_FILE.INVALID_PATH OR UTL_FILE.INVALID_MODE THEN
po_status := 'I 1';
WHEN UTL_FILE.INVALID_FILEHANDLE OR UTL_FILE.INVALID_OPERATION OR UTL_FILE.INTERNAL_ERROR OR UTL_FILE.WRITE_ERROR THEN
po_status := 'I 2';
WHEN OTHERS THEN
po_status := lc_error;
LC_ERROR:='I 4';
dbms_output.put_line(LC_ERROR);
END;
END;
If i uncomment UTL_FIle.Fopen statement, the error text will be the path name and file name.
Can anyone advise as to what should be done to resolve this on XE. It worked fine on 8i.
I have runcatproc.sql and utlfile.sql also
regards
kunalHi
On 8i you would have set the UTL_DIR_PATH parameter
in the init.ora file. Did you do this for your XE
database? I hope you are referring to the UTL_FILE_DIR parameter. I have set this parameter to value *.
Although the better approach would be to
create a directory object for the file path, an
option which was introduced in 9i..
Can you please elaborate me on this. I tried declaring the create directory statement in the package, but that didnt help. I have already created one through sql command line. How can i use this directory as an alternative to utl_file -
Solaris HTTP - MS IIS EOF bug, timeout failures
Greetings,
Experiencing what appears to be an "HTTP EOF" problem
running on Solaris 2.7 (Apache ws) for several months.
When my Perl script requests image files, from select remote
servers, the requests hang as if waiting on the last packet to be received.
The images are exclusivly owned by the people that run my cgi script. This
is strictly enforced.
Problem is recreated it using LWP, WGET and LYNX,all fail
the same way. (please see trace data below)
I have a simple script with blocks of urls from several sites
using LYNX with trace on that shows the failure every time.
(please see below)
It works on all non Solaris platforms that I, and others, have tried
(WIN, AIX, etc)
An HTTP 200 is always recieved, with the proper length specified in the
headers.
The hang occurs on what appears to be the last packet (as seen from
LYNX trace)
Sometiimes requests complete after several minutes, with a partial image
file. Occasionally a few requests work fine.
I've seen other newsgroup appends with the exact problem, no solution
Others equate the problem strictly with requests from Solaris to an MS
web server (see related append below)
I can't get my web hosting company to move on this, they've run my
sample app and agree "there's a problem". I've appended this on several
newsgroups in the past, others have run my script, lot of discussion and agreement that there's a problem but to date no solutions.
Looks like an operating system bug to me.
I've tried searching Sun's site for a possible answer but got lost each
time. Not sure how to searh for known fixes, assume I can't open a problem report since I don't own the OS license.
Another related append is included below along with my test script and
trace output.
Any assistance or advice is most appreciated.
Thank you,
Steve Borruso
From a libwww newsgroup append .....On Solaris, an LWP request sometimes fails (ie. reports a server error)
when the server is fine, b/c of some interaction between the OS and the
server response. (See below for more info.) In fact, LWP is receiving data,
but the data is improperly terminated and LWP times out.
There is an interaction between Solaris and certain web servers (notably
Microsoft-IIS/4.0) where the response to a GET comes back improperly
terminated. You can observe this independently of LWP by doing a "telnet
www.ndu.edu 80",
and then "GET http://www.ndu.edu/ndu/inss/strforum/forum83.html"
You will see telnet receive the response (it's a 404), but then (usually
but not always) fail to terminate. As far as I know, you will only see this
on Solaris (I'm on Solaris 7, have heard similar problems w/ 6); I've tried
same under Linux and haven't seen this problem. I have seen this on a
number of other sites.
Trace output from a past run of my script ...
GET /Sell/SSProfiles/10011921/Images/hugedragonbeads.JPG HTTP/1.0
Host: images.auctions.goto.com
Accept: text/html, text/plain, text/sgml, text/x-sgml,
application/x-wais-source
, application/html, */*;q=0.001
Accept-Encoding: gzip, compress
Accept-Language: en
Negotiate: trans
User-Agent: Lynx/2.7.1 libwww-FM/2.14
Sending HTTP request.
HTTP: WRITE delivered OK
HTTP request sent; waiting for response.
HTTP: Trying to read 1023
HTTP: Read 1023
Read 1023 bytes of data.
HTTP: Rx: HTTP/1.1 200 OK
HTTP: Scanned 2 fields from line_buffer
--- Talking HTTP1.
HTTP/1.1 200 OK
HTFormat: Constructing stream stack for www/mime to www/present
StreamStack: found weak wildcard match: www/present
StreamStack: found exact match: www/mime
HTMIME: Server: Microsoft-IIS/4.0
Date: Fri, 24 Nov 2000 02:38:17 GMT
Content-Type: image/jpeg
Accept-Ranges: bytes
Last-Modified: Tue, 15 Aug 2000 22:32:20 GMT
ETag: "38bfa4ac87c01:1165"
Content-Length: 17935
����
HTMIME: Got 'S' at beginning of line, state now S
HTMIME: Was S, found E, state now SE'
HTMIME: Was SE, foun<pre>
Sending trace output and code again (hopefully formatted)
Trace output from a past run of my script ...
GET /Sell/SSProfiles/10011921/Images/hugedragonbeads.JPG HTTP/1.0
Host: images.auctions.goto.com
Accept: text/html, text/plain, text/sgml, text/x-sgml,
application/x-wais-source
, application/html, */*;q=0.001
Accept-Encoding: gzip, compress
Accept-Language: en
Negotiate: trans
User-Agent: Lynx/2.7.1 libwww-FM/2.14
Sending HTTP request.
HTTP: WRITE delivered OK
HTTP request sent; waiting for response.
HTTP: Trying to read 1023
HTTP: Read 1023
Read 1023 bytes of data.
HTTP: Rx: HTTP/1.1 200 OK
HTTP: Scanned 2 fields from line_buffer
--- Talking HTTP1.
HTTP/1.1 200 OK
HTFormat: Constructing stream stack for www/mime to www/present
StreamStack: found weak wildcard match: www/present
StreamStack: found exact match: www/mime
HTMIME: Server: Microsoft-IIS/4.0
Date: Fri, 24 Nov 2000 02:38:17 GMT
Content-Type: image/jpeg
Accept-Ranges: bytes
Last-Modified: Tue, 15 Aug 2000 22:32:20 GMT
ETag: "38bfa4ac87c01:1165"
Content-Length: 17935
����
HTMIME: Got 'S' at beginning of line, state now S
HTMIME: Was S, found E, state now SE'
HTMIME: Was SE, found R, checking for 'ver'
HTMIME: PICKED UP Server: 'Microsoft-IIS/4.0'
HTMIME: Got 'D' at beginning of line, checking for 'ate:'
HTMIME: PICKED UP Date: 'Fri, 24 Nov 2000 02:38:17 GMT'
HTMIME: Got 'C' at beginning of line, state now C
HTMIME: Was C, found O, state now CO'
HTMIME: Was CO, found N, state now CON
HTMIME: Was CON, found T, checking for 'ent-'
HTMIME: in case CONTENT_
HTMIME: Was CONTENT_, found T, state now CONTENT_T
HTMIME: in case CONTENT_T
HTMIME: Was CONTENT_T, found Y, checking for 'pe:'
HTMIME: PICKED UP Content-Type: 'image/jpeg'
HTMIME: Got 'A' at beginning of line, state now A
HTMIME: Was A, found C, checking for 'cept-ranges:'
HTMIME: PICKED UP Accept-Ranges: 'bytes'
HTMIME: Got 'L' at beginning of line, state now L
HTMIME: Was L, found A, checking for 'st-modified:'
HTMIME: PICKED UP Last-Modified: 'Tue, 15 Aug 2000 22:32:20 GMT'
HTMIME: Got 'E' at beginning of line, state now E
HTMIME: Was E, found T, checking for 'ag:'
HTMIME: PICKED UP ETag: '38bfa4ac87c01:1165'
HTMIME: Got 'C' at beginning of line, state now C
HTMIME: Was C, found O, state now CO'
HTMIME: Was CO, found N, state now CON
HTMIME: Was CON, found T, checking for 'ent-'
HTMIME: in case CONTENT_
HTMIME: Was CONTENT_, found L, state now CONTENT_L
HTMIME: in case CONTENT_L
HTMIME: Was CONTENT_L, found E, checking for 'ngth:'
HTMIME: PICKED UP Content-Length: '17935'
Converted to integer: '17935'
HTMIME: MIME Content-Type is 'image/jpeg', converting to 'www/present'
HTFormat: Constructing stream stack for image/jpeg to www/present
StreamStack: found weak wildcard match: www/present
StreamStack: Using www/present
Read 437 of 17935 bytes of data.
Read 1897 of 17935 bytes of data.
Read 3357 of 17935 bytes of data.
Read 4817 of 17935 bytes of data.
Read 6541 of 17935 bytes of data.
Read 8001 of 17935 bytes of data.
Read 10209 of 17935 bytes of data.
Read 11669 of 17935 bytes of data.
Read 13877 of 17935 bytes of data.
Read 15337 of 17935 bytes of data.
Read 17140 of 17935 bytes of data.
(never completes after this, if I "cntrl C" I get a partial image file)
Here's my script .......
#!/usr/bin/perl -w
@URLValue=();
# Images from auctions.goto -
#$URLValue[0] =
'http://images.auctions.goto.com/Sell/SSProfiles/10011921/Images/hugedragonbeads.JPG';
#$URLValue[1] =
'http://images.auctions.goto.com/Sell/SSProfiles/10011921/Images/yellowribbona.JPG';
#$URLValue[2] =
'http://images.auctions.goto.com/Sell/SSProfiles/10011921/Images/jcharmsNov12E.JPG';
#$URLValue[3] =
'http://images.auctions.goto.com/Sell/SSProfiles/10011921/Images/turquoise8mma.JPG';
# Images from AOL -
#$URLValue[0] = 'http://members.aol.com/shasta4737/nicole1.jpg';
#$URLValue[ -
How to create/delete files from filesystem using PL/SQL ? UTL_FILE?
Greetings,
I will start by explaining what i intend to do.
I have an application made in APEX. This application will have among other purposes the managment of pdf files which will reside in the filesystem.
I have questioned the person in charge to keep the pdf files in the database and not in the filesystem but without success.
So the pdf files reside in the filesystem and there is a record in a database table about them. A table keeps all info about the pdf, their location , size and name, creation date etc.
The APEX application will have a mecanism to allow the deletion of the pdf files if an administrator decides.
So it should be possible for an administrator to schedule the deletion of all pdf files whoe creation date is older than 2008 for example
So, how can i achieve that?
After some research i foudn about the UTL_FILE package which seems to have it takes to perform the task in issue.
My idea was to have a script in the operating system which runs nightly and reads a file containing all file names of the pdf to be erased.
The file which contains the names of the pdfs to be erased will be generated by the database a few minutes before.
If there are no pds files to be erased than the file containing the names will simply be empty
Are there any other viable solutions out there?
And as for opening/creating the file withn the pdf names, i use:
UTL_FILE.FOPEN (
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER)
RETURN file_type;
And as for writing lines (a pdf name per line ), i use;
UTL_FILE.PUT_LINE (
file IN FILE_TYPE,
buffer IN VARCHAR2,
autoflush IN BOOLEAN DEFAULT FALSE);
is there a better solution?
thanks all.
-> My Homepage <-
Edited by: Igor Carrasco on Apr 14, 2009 3:11 PM
Edited by: Igor Carrasco on Apr 14, 2009 3:12 PMGreetings,
I have read that link above, some questions still though.
I will provide some more information.
-First the database is in a windows server.
The windows server has a virtual drive mounted as z:\ <-- this points to a directory in virtual machine, i can manually access/create/delete files manually,i tested.
-Second utl_file_dir is defined as * , in t that enough to cover mounted drives? ( i can't change the init.ora and reboot the db right now :( gotta wait.. )
Do i explicitly have to define utfl_file_dir = z: ?
-Third haven't had the chance to test it on linux or any other operating system, assuming a virtual unit is mounted successfully and that the issues above are solved i should be able to operate on any mounted drive whatever the os, right?
Best regards -
Problem with UTL_FILE (please see my last post on this thread)
Hi all,
I'm trying to get the code (procedures, functions, etc) of my schemas. I've tried it using DBMS_METADATA.GET_DDL but it fails with many objects. Finally, I'm trying to create a procedure to extract the code.
I've created this two procedures:
CREATE OR REPLACE PROCEDURE spool_code (code IN varchar2, propi IN varchar2) is
CURSOR codigo is
select text from dba_source where name = code and owner = propi order by line;
line varchar2(4000);
BEGIN
open codigo;
loop
fetch codigo into line;
exit when codigo%notfound;
dbms_output.put_line(line);
end loop
close;
END;
CREATE OR REPLACE PROCEDURE ext_codigo is
CURSOR objeto is
select object_name, owner from dba_objects where object_type in ('PROCEDURE','FUNCTION','PACKAGE')
and owner not in ('OUTLN','DBSNMP','SYSTEM','SYS','REPADMIN','PERFSTAT','SPOTLIGHT','MONITOR','PRUEBAS','TOAD')
and status='VALID';
nom varchar2(128);
owner varchar2(30);
BEGIN
open objeto;
loop
fetch objeto into nom, owner;
exit when objeto%notfound;
spool_code(nom, owner);
end loop;
close objeto;
END;
And I'm calling from sqlplus to spool it:
SQL> spool Users_code.sql
SQL> exec ext_codigo;
But it don't bring me results...
where is the problem??
Thanks in advance for your support!
dbajug
Edited by: dbajug on Aug 29, 2012 6:36 AMHi,
yes guys, I've set serverout on using the max limit but, always fails with:
ERROR at line 1:
ORA-20000: ORU-10027: buffer overflow, limit of 1000000 bytes
ORA-06512: at "SYS.DBMS_OUTPUT", line 35
ORA-06512: at "SYS.DBMS_OUTPUT", line 198
ORA-06512: at "SYS.DBMS_OUTPUT", line 139
ORA-06512: at "SYS.SPOOL_CODE", line 15
ORA-06512: at "SYS.EXT_CODIGO", line 17
ORA-06512: at line 1
I'm working with a 9i version trying to extract the code to migrate it to a 11g.
In order to avoid the buffer error, I've decide use the UTL_FILE package but I'm having another problem: my procedure now is this
CREATE OR REPLACE PROCEDURE spool_code (code IN varchar2, propi IN varchar2) is
CURSOR codigo is
select text from dba_source where name = code and owner = propi order by line;
line varchar2(4000);
out_file UTL_FILE.File_Type;
BEGIN
begin
out_file := UTL_FILE.Fopen('/export/home/oracle', 'Users_code.sql', 'w');
exception
when others then
dbms_output.put_line('Error opening file');
end;
open codigo;
loop
fetch codigo into line;
exit when codigo%notfound;
UTL_FILE.Put_Line(out_file, line);
end loop;
close codigo;
UTL_FILE.Fclose(out_file);
END;
The directory exists and the file too but fails with this error:
ERROR at line 1:
**ORA-29282: invalid file ID**
ORA-06512: at "SYS.UTL_FILE", line 714
ORA-06512: at "SYS.SPOOL_CODE", line 23
ORA-06512: at "SYS.EXT_CODIGO", line 17
ORA-06512: at line 1
any idea? about the reason? The file is a text file on the server:
ls -lrt /export/home/oracle/Users_code.sql
-rw-rw-r-- 1 oracle dba 0 Aug 29 14:43 /export/home/oracle/Users_code.sql
best regards,
dbajug -
Hi,
Can someone please tell me what is the max. number of characters that can be written using UTL_FILE in Oracle 8.1.7?Perhaps I should have been more specific; I wanted to know how many characters can PUT_LINE or PUT function take at one time to write. Well, in 8.1.7, it is only 1000 characters on UNIX platform. Though it is not mentioned anywhere so I am not sure if this is OS limitation. However I had to do a lot of trial and error before e finding this out. Hope this would help people on the forum.
Thanks guys for your help. I know I can always count on you all.
Here is the sample code. In this, although, I had defined a buffer of 4000, but it consistently gave me 'WRITE_ERROR' for PUT_LINE or PUT function, until I reduced the buffer size used with these functions to 1000. Alternatively now I will use PUT function recursively and add NEW_LINE character after the entire buffer is read.
declare
vstr varchar(4000);
file_handle UTL_FILE.FILE_TYPE;
begin
select rpad('Testiing',990,'xyz') into vstr from dual;
file_handle := UTL_FILE.FOPEN ('/usr/users/cornwas/workplace', 'a.txt', 'w');
for i in 1..20 loop
UTL_FILE.PUT_LINE(file_handle, vstr);
UTL_FILE.FFLUSH(file_handle);
end loop;
UTL_FILE.FCLOSE(file_handle);
EXCEPTION
WHEN UTL_FILE.INVALID_PATH THEN
RAISE_APPLICATION_ERROR(-20100,'Invalid Path');
WHEN UTL_FILE.INVALID_MODE THEN
RAISE_APPLICATION_ERROR(-20101,'Invalid Mode');
WHEN UTL_FILE.INVALID_FILEHANDLE THEN
RAISE_APPLICATION_ERROR(-20102,'Invalid Filehandle');
WHEN UTL_FILE.INVALID_OPERATION THEN
RAISE_APPLICATION_ERROR(-20103,'Invalid Operation -- May signal a file locked by the OS');
WHEN UTL_FILE.READ_ERROR THEN
RAISE_APPLICATION_ERROR(-20104,'Read Error');
WHEN UTL_FILE.WRITE_ERROR THEN
RAISE_APPLICATION_ERROR(-20105,'Write Error');
WHEN UTL_FILE.INTERNAL_ERROR THEN
RAISE_APPLICATION_ERROR(-20106,'Internal Error');
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20107,'No Data Found');
WHEN VALUE_ERROR THEN
RAISE_APPLICATION_ERROR(-20108,'Value Error');
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20109,'Unknown UTL_FILE Error');
end;
Maybe you are looking for
-
This post is not a help request. It's just a sort of poll or curiousity question. Would you agree to let java (by means of new api and jvm support of them, obviously) have lower level features? Java VM works on every system, through native code, or b
-
Replace Smart AC Adapter for HP 17-E054CA Notebook
I have a new HP17-EO54CA and it came with a Smart AC Adapter. I keep getting messages that I should purchase a higher output AC adapter as it may be needed for some applications. I don't know how to do this. i have Googled about as many combinations
-
Has anyone managed to get HP Warranty Information into SCCM?
Has anyone managed to get HP Warranty Information into SCCM? I have tried a few scripts that I found on the net but none of them seem to work as I believe HP updated there site this year..
-
How to use postback property for JSF to reneder a popup only once
Hi All, I'm using java script function to show a JSF page as popup. I have called the javascript function on page load of another JSF page. How do i make sure that the popup is getting rendered only once and not everytime the page is getting refreshe
-
Create problem when compiling the servlet
hi, i got a problem when i compile a servlet when i try to compile the servlet, it shows that it could not found the classes like httpservlet, etc. means the classes of the servlet i am using the j2sdk1.4.1 edition, i had include the javax.servlet.*;