Appending to a zero length clob
9.2.0.6
this works:
var myClob clob
begin
:myClob := to_clob(' ');
for rec in (select * from delme1) loop
dbms_lob.append(:myClob
,to_clob(rec.ename || '\n'));
end loop;
end;
but this does not
var myClob clob
begin
:myClob := to_clob('');
for rec in (select * from delme1) loop
dbms_lob.append(:myClob
,to_clob(rec.ename || '\n'));
end loop;
end;
Seems like it does not like appending to a zero length clob. other than some trim thing how can I start at line zero.
Thanks
If you want to grasp an understanding about zero length strings then you should make yourself a coffee (or you may need several cups) and take a read of this thread:
Treatment of zero-length strings as NULLs?
But in short you should note that using a string '' is not a zero length string, but is considered to be NULL. Therefore your original clob, when using this is NULL.
Consider the following instead...
SQL> declare
2 myClob clob;
3 begin
4 -- :myClob := to_clob('');
5 for rec in (select ename from emp)
6 loop
7 IF NVL(dbms_lob.getlength(myClob),-1) < 1 THEN
8 myClob := to_clob(rec.ename || '\n');
9 ELSE
10 dbms_lob.append(myClob, to_clob(rec.ename || '\n'));
11 END IF;
12 end loop;
13 dbms_output.enable(1000000);
14 dbms_output.put_line('Length');
15 dbms_output.put_line(NVL(dbms_lob.getlength(myClob),-1));
16 end;
17 /
Length
98
PL/SQL procedure successfully completed.
SQL>
Similar Messages
-
Hi,
I have a material number which is of 5 characters . I want to append non-leading zeroes .
This is because i need to concatenate the MATNR and VKORG.
As MATNR is 18 characters long, after concatenation the final output shud look like:
"ABCDE_____________XWYZ"
WHERE ABCD = MATNR
XWYZ = VKORG
I have drawn a line to depict the spaces.
i tried using conversion_exit_alpha_input but its not working.
Please suggest
regards
Nishant
Message was edited by: Nishant Gupta
Message was edited by: Nishant GuptaHi Nishant,
Try this .
lv_matnr.
lv_matnr_nonchar.
lv_matnr_length.
lv_VKORG.
lv_final_string.
1) lv_matnr_length = strlen ( lv_matnr ).
lv_matnr_length = 18 - lv_matnr_length.
This is because u want initiall values
2) conversion_exit_alpha_input
input = lv_matnr.
output = lv_matnr_nonchar.
3) REPLACE ALL OCCURRENCES OF '0' IN lv_matnr_nonchar WITH 'new_char_u_want.
4)then concatenate
concatenate lv_matnr lv_matnr_nonchar+0(lv_matnr_length) lv_VKORG
into lv_final_string.
u can use this logic in a perform
using matnr
VKORG
changing final string.
code is dynamic for variable length of matnr
This will really solve ur problem.
Message was edited by: Manoj Gupta -
Does Oracle allows zero length string
Hi,
I tried to insert zero length string ('') into an Oracle table, a null value and a non-empty string. But I found that zero length string and null are stored as NULL in the column.
Create table test (col1 number(2), col2 varchar(10));
Insert into test values (1, 'hi');
Insert into test values (2, NULL);
Insert into test values (3, '');
Select * from test where col2 is null;
Result: 2 rows
Select * from test where col2 = '';
Result: 0 rows
Is this to do with some environment setting in SQL* Plus or does oracle doesn't allow zero length string?Oracle treats '' as NULL.
There are frequent murmurs that some new version of Oracle is going to change this behaviour (I believe it's not ANSI-compliant) but I doubt that they will, as it will break too many old applications.
Cheers, APC -
ORA-01741: illegal zero-length identifier
Hi Friends,
I am facing a weird situation while creating a report with region having type as SQL Query(PL/SQL function body returning SQL Query).
I have a package function which takes 4 parameters and returns a SQL query in a varchar2 variable.
Now when I have the following code in my region source and on applying changes is showing ORA-01741: illegal zero-length identifier
DECLARE
l_query VARCHAR2 (5000);
BEGIN
SELECT apx_dashboard_pkg.f_int_monthly_grid (:p5_1, :p5_2, :p5_3, :p5_4)
INTO l_query
FROM DUAL;
RETURN l_query;
END;
If I change my code as below by passing values and run, then it does the job perfect.
DECLARE
l_query VARCHAR2 (5000);
BEGIN
SELECT apx_dashboard_pkg.f_int_monthly_grid(200712,
'IC',
3,
'AVARO'
INTO l_query
FROM DUAL;
RETURN l_query;
END;
I have no clue where I am doing wrong.
Please help me.
Thanks,
Raj.Thanks guys for your responses.
Varad,
I have tried with 'Generic Column Names' and it worked wonderfully.
Scott,
I would definitely consider your point because it might be the reason for erroring out in some of my pages in the application.
Thanks a lot. -
Wut 118 application server file abc.prn does not exist or is of zero length
dear members,
I am printing a character mode report which gives the following error:
"wut 118 application server file c:\abc.prn does not exist or is of zero length"
my code on when-button-pressed is here:
declare
repid REPORT_OBJECT;
v_rep VARCHAR2(200);
rep_status VARCHAR2(50);
report_name varchar2(100);
v_path varchar2(200);
rep_server varchar2(50);
BEGIN
select parameter into rep_server from mis where parameter_type = 'REPORT_SERVER';
report_name := 'C:\TEMP\abc.prn';
repid := find_report_object('reports');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,:global.report_path||'abc123.rdf');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,FILE);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,:global.report_path||'dflt.prt');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESNAME,report_name);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,REP_SERVER);
PF_FGOWGPNO='||:FG_DISPATCH_M.FGOWGPNO||' PF_FISCAL_YEAR='||:FG_DISPATCH_M.XFISCAL_YEAR||:FG_DISPATCH_M.XFISCAL_YEAR||' P_USERNAME='||:DUMMY.USER);
PF_FGOWGPNO='||:FG_DISPATCH_M.FGOWGPNO||' PF_FISCAL_YEAR='||:FG_DISPATCH_M.XFISCAL_YEAR);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no PF_FGOWGPNO='||:FG_WH_INTERCHANGE.FG_TRANSIT_ID||' PF_FISCAL_YEAR='||:FG_WH_INTERCHANGE.XFISCAL_YEAR||' PRINT_IT='||:DUMMY.PRINT_IT);
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
--WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repsrv10g','_blank');
NULL;
ELSE
message('Error when running report');
END IF;
exception
when others then
message(sqlerrm);
raise form_trigger_failure;
END;
declare
a boolean;
begin
a := webutil_file_transfer.as_to_client('c:\temp\abc.prn','c:\temp\abc.prn');
end;
begin
client_host('cmd start /c type c:\temp\abc.prn > prn');
exception
when others then null;
end;Regards:Disregard my last. I see what you are doing. You are using file transfer to move the file to the local machine. It was confusing because the paths are the same.
I would suggest adding a SYNCHRONIZE after the file transfer and before the attempt to print. It might even be a good idea to add some error handling code to verify that the file has been copied and can be found. This will allow you to better deal with situations where the file doesn't get written for some reason. WebUtil offers some functions to check for file existence and size.
Also, if you are using Java 7U21, this may cause some issues with your CLIENT_HOST call. -
Create Materialized View ORA-01723: zero-length columns are not allowed
I am trying to create a materialized view which derives a column from a function and I get: ORA-01723: zero-length columns are not allowed.
I am using 10gR2 with the following definition (simple version):
CREATE MATERIALIZED VIEW AS
SELECT
function_name(column_name) COLUMN_ALIAS
FROM table_name;
I have even tried to cast it like below:
CREATE MATERIALIZED VIEW AS
SELECT
CAST(function_name(column_name) AS VARCHAR2(200)) COLUMN_ALIAS
FROM table_name;
My function does have an exception to return a value even if no values are found.
I have looked all over for the solution. Does anyone have a way around this issue? I really need my function to derive the column as it has business rules which I cannot join into my materialized view definition. My only hope around this is to insert the values into a table and then create a materialized view from that table, I don't want to do that if someone has a solution around this.
Any help would be greatly appreciated.
Thank you,
Kyle
Edited by: Kyle Miller on Apr 19, 2011 8:28 AMHave you tried creating a table with the correct structure and then creating the materialized view based on the prebuilt table as described here...
http://www.oaktable.net/content/ultra-fast-mv-alteration-using-prebuilt-table-option
Cheers
Ben -
Appending a varchar2 to a clob
I'm trying to append a varchar2 to a clob, using a package variable called glb_clob_var.
if(xmlFlag = -1) then -- first time
BEGIN
glb_clob_var := inp_xmlMsg;
END;
end if;
if(xmlFlag = 1) then -- neither first nor last time
BEGIN
dbms_lob.append(glb_clob_var, inp_xmlMsg);
END;
end if;
However, I find that this append command just keeps the current value of inp_xmlMsg in glb_clob_var after each call to this procedure. That is, glb_clob_var is being overwritten instead of getting appended.
Am I using the wrong call?However, I find that this append command just keeps the current value of inp_xmlMsg in
glb_clob_var after each call to this procedure. That is, glb_clob_var is being overwritten instead of getting appended. But why do you think so?:
SQL> DECLARE
glb_clob_var CLOB := LPAD ('x', 32767) || LPAD ('y', 32767);
inp_xmlmsg VARCHAR2 (32767) := LPAD ('z', 32767);
BEGIN
DBMS_LOB.append (glb_clob_var, inp_xmlmsg);
DBMS_OUTPUT.put_line (DBMS_LOB.getlength (glb_clob_var));
DBMS_OUTPUT.put_line (3 * 32767);
END;
98301
98301 -
BAD parse error: zero-length content
Hi there!
Unfortunately I have a problem with JavaMail which I can not reproduce. Therefore, I don't have any 'debug' output of JavaMail. But maybe some of you have a clue for me. :)
This is the error stack (just a snippet) which I get from JavaMail:
javax.mail.MessagingException: A244 BAD parse error: zero-length content;
nested exception is:
com.sun.mail.iap.BadCommandException: A244 BAD parse error: zero-length content
at com.sun.mail.imap.IMAPFolder.getMessagesByUID(IMAPFolder.java:1938)
at org.zimbra.exchange.service.source.ExtendedEmailSyncSource.getMessagesByUID(ExtendedEmailSyncSource.java:1751)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.mail.iap.BadCommandException: A244 BAD parse error: zero-length content
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:343)
at com.sun.mail.imap.protocol.IMAPProtocol.fetchSequenceNumbers(IMAPProtocol.java:1284)
at com.sun.mail.imap.IMAPFolder.getMessagesByUID(IMAPFolder.java:1920)
... 13 moreAnd this is my getMessagesByUID method:
private Message[] getMessagesByUID(long[] uids, IMAPFolder f)
throws StoreClosedException {
Message[] result = new Message[0];
try {
result = f.getMessagesByUID(uids);
} catch (StoreClosedException e) {
throw e;
} catch (MessagingException e) {
log.trace("The messages could not be fetched from the server.", e);
} catch (Exception e) {
log.error("An unexpected error occurd. "
+ e.getClass().getSimpleName(), e);
return (result);
}My problem is that I can not reproduce the error and so I don't know why the error is thrown. According to the JavaDoc it should return a 'null' entry for messages where it can not find the UID.
thanks for your help.The error message is coming from your IMAP server. It seems to be complaining about the
message that JavaMail sent it. The getMessagesByUID method will send an IMAP FETCH
command. That command doesn't include any variable length content, so I don't know what
exactly the server could be complaining about.
Perhaps your server has a log file that might have more information?
Otherwise, you'll probably need to capture the debug output so that you can examine it later
the next time this problem occurs. -
Issue with applet reading the zero-length string values
In my application the javascript function is setting the values read from the text fields to an applet. If the text fields are blank the javascript is setting blank value only but in the applet the values have become null. Please can any one let me know what exactly is the problem here?
Its working fine in jdk 1.6.0 I upgraded it to 1.6.0_12 update and facing this problem.In the applet class its checking the same way but there i m getting the value as 'null' for the parameter set from javascript.
But in the javascript if i try to alert the value its giving me blank i.e., zero-length string.
When i tried to google it I found the following information,
In JDK 1.1 the Java language specification was loose in dealing with null and zero-length strings in the class libraries. Some APIs may treat a zero-length string as null, while other APIs may treat null as it is. In Java SE, the Java language specification has been tightened up to specify what the exact behavior should be.
This issue is not fixable. Thus, in Java SE an applet that relies on the APIs to treat null as a zero-length string may result in an exception.
Is there anything to do with this?
The strange thing is it working fine in 1.6.0 i mean i m getting the value of parameter as blank in applet which is same set from javascript.
But if the same is not working in 1.6.0_12 inspite of javascript setting the blank value, the applet is reading it has 'null'. -
Hi all,
I've gotten the header/trailer removed in the sender communication channel using java mapping and now must take the resulting detail rows and only allow them to be 80 characters in length and in flat text format (as it was initially). Below is how I have content conversion set up on the receiver communication channel:
*note - if I remove the content conversion in the receiver channel concatenation of the files without the header/trailer works flawlessly but the message is still in pixml format. there is no issue with the append functionality, simply the output of the detail row set to a max of 80 characters followed by another detail row at 80 characters, etc. in flat text format***
Processing parameters: Append
file type: text
file encoding: blank
Recordset Structure: DetailRow
DetailRow.fieldNames Bytes4,RecId,Date1,Filler
DetailRow.fieldFixedLengths 4,6,6,64
DetailRow.addHeaderLine 0
DetailRow.endSeparator 'nl'
communication channel errors received in RWB:
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value '1528W COFFEYVIL KSL 11011409UP COFFEYVIL KS 587970587970' too long (>6 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)
Could not process due to error: java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value '1528W COFFEYVIL KSL 11011409UP COFFEYVIL KS 587970587970' too long (>6 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)'
Can anyone lend a hand on this one?
Much thanks,
DonHi Don,
From the details of your error message in RWB, it is crystal clear that :
DetailRow.fieldNames Bytes4,RecId,Date1,Filler
DetailRow.fieldFixedLengths 4,6,6,64
the RecId field whose length is declared to be 6 has got a value in the payload which is greater than 6. And no parameters have been used to tackle such a situation. So such an error has occured.
You can refer this link for getting hold of all the parameters that are used in receiver file adapter content converson:
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
I think your problem will be solved if you use DetailRow.fixedLengthTooShortHandling parameter in your Content Conversion.
If you want that the value is shortened to the maximum permitted length only, then use the value Cut for this parameter, else use the value Ignore which means that the system applies the value completely regardless of it being too long.
HOPE THIS HELPS YOU BUDDY!!!!!
THANKS
BISWAJIT -
Hi to all,
while migrating from NW to OES, one clustered volume with one (and
always the same) folder is duplicated with an trailing zero at the
folders name.
Source is
USER:\Abteilung\Edv\
Destination is
/media/nss/USER/Abteilung/EDV0/
while
/var/opt/novell/migration/user2/log/filesystem.success.log
shows the correct destination
Copying USER:Abteilung/EDV/... to /media/nss/USER/Abteilung/EDV/...
But in fact a new folder ../EDV0/ (in capitals) ist created, even if the
folder ../Edv/.. exists. This behaviour ist just with this folder, all
other volumes and folders worked fin.
One thing here is special:
I have *copied* the files to the destination volume because of the need
to have loaded tsafs.nlm, which nback will use for miggui, with the
option /nocluster for IBM TSM purposes. After that, I triggered a
regular consolidation as described above and later I plan to synch files
and trustees using miggui.
Any hints on that silly thing?
TIA
TomOriginally Posted by mrosen
Tom,
On 04.03.2013 09:17, bwisupport wrote:
> But I think, your questions led me to the solution:
> The destination folder, copied with TotalCommander, was named 'Edv' (as
> TC shows the sources name too). Miggui sees a source called EDV, and at
> the destination a folder called 'Edv' and decides that these are two
> different folders. Because it is not possible having to folders with the
> same name (despite capitals) at the same place, a new Folder with
> trailing zero is created.
>
> I've deleted the 'EDV0', renamed the destination to EDV (cross-checked
> with Explorer and CLI) and restart a synch.
Hmmmm.... Something's very strange here anyways. Miggui *should* not
care about the case when the destination is NSS set to long namespace.
Either there's a bug in your version of miggui, or something else is
weird about that folder. It's also strange that TC and Windows Explorer
disagree on the capitalization. That again would lead me to the
assumption that something's broken originally with the source, like the
DOS and LONG namespaces on the source disagreeing somehow.
CU,
Massimo Rosen
Novell Knowledge Partner
No emails please!
Untitled Document
It sorta does. Apparently there's a bug in the miggui code that does this (although we only have it happen on OES2 SP3 to OES11 and it doesn't add a "0" at the end, it just stops processing after the main directory).
I've been waiting for NTS to file a bug report for over a month now.
anyway, Ramesh (the guy who kinda owns miggui) acknowledged there's a bug.
You can either:
1) use the migfiles command apparently instead of miggui
or
2) Rename the directory so that it matches, but with NSS you'll have to rename it twice. Like:
EdvX and then again to: EDV
Problem is with nbackup apparently that miggui uses. -
The old server works fine. This problem occurs on our new server only. We want to run the same app on the new server. Of course not at the same time. So we shut down the old server before starting the new one. But we still get just one good read from the serial devices. We do not get any error message. Would it be possible to get a phone number so that we could call the NI and describe our environment and the issue we came across in more detail. Thanks.
1 (800) 433-3488
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction -
Opens and plays correctly in the viewer, but of zero length in the browser.
The song I sing to FC is "I can't get started with you." It probably is my fault because I don't come in the front door like the rest of you, with capture from a camera. I come from Still Life, exported to iMovie. Unfortunately, Still Life seems to label the .MOV as coming from an old version of iMovie, even though I am using iMovie HD 6.0.1. Final Cut Pro will not import my .MOV.
I have contacted Granted Software about removing the erroneous designation. In the meantime I tried a workaround by exporting from iMovie HD 6.0.1 to Quick Time Pro 7.04. I got a .DV and Final Cut opened it. Unfortunately, it opened it in the viewer and I do not know how to get it to the Browser and the TimeLine, where I can add the great effect which I want. It did play in the viewer.
I then tried going directly from Still Life to Quick Time Pro and again got a movie that Final Cut would open and which would play in the viewer. This time the sequence did seem to appear in the Browser, but, Item Properties Sequence 1, while showing correctly much data about the sequence, was blank when it came to size.
My Final Cut Pro is an upgrade from Final Cut Express HD 3.0, so I opened the same movie in FCE. Same result. Looked good in the viewer, as my consolation prize.
Given that few of you travel this path, I am not overly optimistic about chances for a solution. But I thought I would ask. Gentlemen? Ladies?
Lucky Man
PBG4 17 Mac OS X (10.4.6)
PBG4 17 Mac OS X (10.4.6)I'm the grumpy guy around here. It just seems to me that everyone expects to install FC Studio and be Dede Allen overnight. Just rubs me the wrong way is all. There's a pretty steep learning curve with Studio, especially for someone who wanders in from left field (OH, wait, Rand-- right field) and I certainly expect someone to at least TRY before asking the most basic questions. I've been working with this program since version 1 and I'm still learning things about it.
The dsr-11 is a little workhorse of a deck. It's a real basic unit-- no vu meters, timecode or user bit display etc. But for getting your DV material into and out of fcp it's just fine. I've had mine for over 5 years now and it's steady as a rock. I've never had ANY issue with it. TIP OF THE DAY: Don't get clumsy and knock the door off. And insert small tapes gently. It takes it's time with tape insertion, unlike an old 3/4 or beta sp deck where you can slam tapes in and out without a second thought.
Yeah, the manuals are pithy, but you know, there is a lot of great stuff to be learned from them. One of the things I love about fcp is that there are multiple ways to do any one thing, depending really on your workflow and methodology, and basic approach to a computer system. you can find things in pulldown menus, by keystroke commands, in folders in the browser. Actually it's easy to teach your self to skim the manuals-- there always seems to be an intro page or pages that describe in excruciating detail a particular function. If you grasp that, or know already WHAT the function is, you can skim forward to the HOW.
DO learn the keyboard as much as you can. Dragging clips around is a sloppy way to work, in my never very humble opinion. -
Borked sudo, /private/etc/sudoers zero length
Okay, so I borked /private/etc/sudoers. Could someone post the contents of this file so that I can get this to work again.
Thanks.Welcome to Apple Discussions!!
Okay, so I borked /private/etc/sudoers.I assume it is the same on an Intel machine (can't think why not):
<pre>[ibook:/etc] root# ls -l sudoers
-r--r----- 1 root wheel 341 Sep 13 2003 sudoers
[ibook:/etc] root# more sudoers
# sudoers file.
# This file MUST be edited with the 'visudo' command as root.
# See the sudoers man page for the details on how to write a sudoers file.
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
[ibook:/etc] root#</pre> -
Dear Friends,
In a transparent table xyz I have one field 'Bill No.' which is of character type & length 10. when I insert data in this table the value for this field gets stored as '0000000001'.
I am facing a problem when the user is giving value of Bill No. as '1'. It doesn't pick the data because the corresponding value in my table is '0000000001'.
Once I have used the function CONVERSION_EXIT_ALPHA_OUTPUT' to remove the leading zeros but here I have to append the leading zeros.
How to overcome this pls advise.
Regards,
Alok.Hi,
Use the following FM:
CONVERSION_EXIT_ALPHA_INPUT converts any number into a string fill with zeroes, with the number at the extreme right
Example:
input = 123
output = 0000000000000...000000000000123
Hope this helps.
Reward if helpful.
Regards,
Sipra
Maybe you are looking for
-
Where to find WSDL files in CRMOD R18
I am having trouble finding the WSDL downloads in the latest version of CRMOD (R18) In the past they were available by clicking Admin and then they were in the bottom left corner. The docs say they should be there as well: https://secure-ausomxdsa.cr
-
I want to change my Apple ID to what I have as my rescue ID. The system will not let me.Is there a way to do this?
-
How do I add URL links in my chapters?
I'm making an enhanced podcast, and I need to know how to create these URL links with in Final Cut Express HD. I think it has something to do with creating chapters.
-
DNG Converter 7.4RC - support for X-trans sensor?
Hi, the ACR 7.4 download pages says it "includes a correction to the demosaic algorithms for Fujifilm cameras with the X-Trans sensor". Is that correction also included in the DNG converter 7.4? Thanks
-
I have a problem with the finder
Hi. I have a problem with the finder. My girlfriends Macbook (Yosemite 10.10) shows of 6 times in the finder. ? I can't find anything on her mac that tells me why this is. ? <Image Edited by Host to Remove Personal Information>