Neil, you are correct, I asked for a code of the function and ... it returned NUMBER, so conversion took place. @Nigel Sorry, I was too quick to reply and provided misleading info. After changing number to varchar2, we get zero back. Thanks, Regards, Eugene Pipko Seattle Pacific Industries office: 253.872.5243 cell: 206.304.7726 P Please consider the environment before printing this e-mail. From: neil kodner [mailto:nkodner@xxxxxxxxx] Sent: Wednesday, September 23, 2009 2:16 PM To: Eugene Pipko; oracle-l List Subject: Re: Where did 0 go? if table.colum%type is in fact a varchar2 like you say then something inside of func_t is likely treating it as a number. can we see the relevant parts of funct_t? On Sep 23, 2009, at 4:55 PM, Eugene Pipko wrote: Hi all, I have a potentially silly question and need your help. Procedure abc is vDept table.column%type; <====== varchar2(80) Begin ........ vDept := func_t(par1, par2); ...... ...... End; Function returns 057, however when it gets assigned to vDept it turns into 57. How do I preserver zero? Thanks, Regards, Eugene Pipko P Please consider the environment before printing this e-mail.