Simpler Navigation for Servers and Operating Systems
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
General
cancel
Showing results for 
Search instead for 
Did you mean: 

Pro*C - PERCENT_RANK() compilation issue

Kumar Babu
Occasional Visitor

Pro*C - PERCENT_RANK() compilation issue

Hello,

I have a pro*C compilation issue, while using PERCENT_RANK() in-built function.

Here are the details :

The Pro*C code :

================================================== ========

int srccct2_insert()
{

EXEC SQL
select * from (
select
trad_code,
comp_code,
file_code,
insp_yymm,
poly_numb,
entr_numb,
data_code,
caus_date,
insd_code,
rule_ordr,
sex_code,
entr_age,
resd_numb,
entr_name,
hire_date,
entr_date,
work_year,
hire_grad,
datt_entr,
ijry_entr,
wkdt_entr,
base_saly,
expt_amnt,
rsrv_rato,
rsrv_amnt,
PERCENT_RANK() OVER (ORDER BY base_saly) pr
FROM SRCCCT2
where trad_code = 'N' AND
comp_code = '01' AND
insp_yymm = '200403' AND
data_code = 'B' AND
hire_grad = '2' AND
base_saly > 0)
where pr > 0.05 and pr < 0.95 and base_saly > 641840;

return SUCCESS;
}

================================================== ======

I am compiling it like this :

/oracle/product/10.2.0/bin/proc iname=srascs01.pc ireclen=320 oreclen=320 sqlcheck=full userid=retr/rteru maxopencursors=32 dbms=v8 char_map=varchar2 release_cursor=yes include=/oracle/product/10.2.0/precomp/public include=/ihome/hp/../common/include include=/ihome/retr/include include=/usr/include include=/ihome/hp/portlib DEFINE=HPUX

I have put the same sql statements in the sql promt and it works fine. But in Pro*C when i compile it using above options, here is the error :

================================================== ======

Pro*C/C++: Release 10.2.0.4.0 - Production on Thu Feb 25 00:57:42 2010

Copyright (c) 1982, 2007, Oracle. All rights reserved.

System default option values taken from: /oracle/product/10.2.0/precomp/admin/pcscfg.cfg

Syntax error at line 192, column 28, file srascs01.pc:
Error at line 192, column 28 in file srascs01.pc
PERCENT_RANK() OVER (ORDER BY base_saly) pr
...........................1
PCC-S-02201, Encountered the symbol "(" when expecting one of the following:

, into, from,

Error at line 0, column 0 in file srascs01.pc
PCC-F-02102, Fatal error while doing C preprocessing
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
================================================== =======

The Pro*C precompiler might not be recognizing the PERCENT_RANK() function for some reason, so it is expecting "into" "from" for the SELECT statement above.

Please help me in solving this issue.

Thanks a ton in advance.

Thanks,
-Kumar