macromedia.coldfusion.advanced_techniques
[Top] [All Lists]

error in result of storeproc

Subject: error in result of storeproc
From: "mauro.luna"
Date: Mon, 12 Jan 2009 00:25:49 +0000 UTC
Newsgroups: macromedia.coldfusion.advanced_techniques

I have a problem with cfstoredproc and Informix database, when I invoke a 
stored procedure by cfstoredproc, it returns me several columns with the same 
name (EXPRESSION) and repeat the value of first column.

 I am running CFMX 8.0.1 Enterprise, with Informix 9.40 and built-in driver, 
wich works great, but when i try to use CFMX 8.0.1 with JDBC 3.50 for IBM 
Informix cfstoredproc error occurs. I need this version of JDBC because I will 
upgrade to informix 11.50 and CFMX 8.0.1.

 This is the stored procedure...

 CREATE PROCEDURE admgcn.stpbacklog (unidad1 char(1)) returning char(10), 
char(12), char(12), char(30), char(7), char(1), char(40), char(30), char(8), 
int, varchar(255,0), varchar(255,0), varchar(255,0), char(1), char(40), 
char(12), char(8);

 define r_fecemision char(10);
 define r_numaviso like r3avisos.numaviso;
 define r_numorden like r3avisos.numorden;
 define r_ubicacion like r3avisos.ubicacion;
 define r_inop like r3otinopcd.noinop;
 define r_prior like r3avisos.prior;
 define r_descaviso like r3avisos.descaviso;
 define r_resp like r3avisosop.responsable;
 define r_numsem like r3avisosop.numsem;
 define r_porc like r3activ.porcentaje;
 define r_coment like r3avisosop.comentop;
 define r_solpeds like r3avisosop.solpeds;
 define r_comentab like r3avisosop.comentab;
 define r_repercusion like r3avisos.repercusion;
 define r_status like r3avisos.status;
 define r_pn like r3avisos.numaviso;
 define r_ptotrbres like r3avisos.ptotrbres;
 define valor int;


 let valor = 1;
 if (weekday(today) = 1) then let valor = 3;
 end if;

 begin
 set isolation to dirty read;
 foreach
        SELECT
              a.fecemision, a.numaviso, a.numorden, a.ubicacion, ao.inop, 
a.prior prioridad, a.descaviso descripcion, ao.responsable, ao.numsem, 0 
porcentaje, nvl(trim(ao.comentop),'') comentop,

              nvl(trim(ao.solpeds),'') solpeds, nvl(trim(ao.comentab[1,234]), 
'') comentab, a.repercusion, a.status,trim((select a.numaviso from r3avisos avs 
where unaviso =
 unidad1 and status[1,4] <> 'MECE' and edodisp = '2' and prior is not null and 
a.numaviso = avs.numaviso)) PN, ptotrbres
        INTO
              r_fecemision, r_numaviso, r_numorden, r_ubicacion, r_inop, 
r_prior, r_descaviso, r_resp, r_numsem, r_porc, r_coment, r_solpeds, 
r_comentab, r_repercusion, r_status, r_pn, r_ptotrbres
        FROM
              r3avisos a, outer r3avisosop ao
        WHERE
              a.status[1,4] <> ('MECE') and
              a.prior in ('1', '2', '3', '4', '5') and
              (a.repercusion <> 'A' or a.repercusion is null) and
              a.claseaviso = 'AN' and
              ao.numaviso = a.numaviso and
              a.unaviso = unidad1 and
              a.numorden is null {and
 (DATE(TO_DATE(creado,'%d/%m/%Y')) >= today - valor and
 DATE(TO_DATE(creado,'%d/%m/%Y')) <= today)}

        UNION

        SELECT
              a.fecemision, a.numaviso, a.numorden, a.ubicacion, '', 
r3o.prioridad, r3o.descripcion, ao.responsable, r3o.pep numsem, r3a.porcentaje 
porcentaje, nvl(trim(ao.comentop),'') comentop,
              nvl(trim(ao.solpeds),'') solpeds, nvl(trim(ao.comentab[1,234]), 
'') comentab, a.repercusion, r3o.statussist,trim((select a.numaviso from 
r3avisos avs where unaviso = unidad1 and status[1,4] <> 'MECE' and edodisp = 
'2' and prior is not null and a.numaviso = avs.numaviso)) PN, r3o.ptotrbres
        FROM
              r3avisos a, outer r3avisosop ao, r3orden r3o, r3activ r3a
        WHERE
              r3o.statusus[1,4] <> 'CANC' and r3o.statussist[1,4] in 
('LIBD','LIBE', 'ABIE') and
              r3o.prioridad in ('1', '2', '3', '4', '5') and
              (a.repercusion <> 'A' or a.repercusion is null) and
              r3o.claseorden = 'LV01' and
              r3o.claseact = 'N00'  and
              a.unaviso = unidad1 and
              ao.numaviso = a.numaviso and
              a.numorden = r3o.numorden and
              r3a.numorden = a.numorden and
              r3a.porcentaje < 100 and
              r3a.numope is not null

        UNION

        SELECT
              a.fecemision, a.numaviso, a.numorden, a.ubicacion, '', 
r3o.prioridad, r3o.descripcion, ao.responsable, r3o.pep numsem,0 porcentaje, 
nvl(trim(ao.comentop),'') comentop,

              nvl(trim(ao.solpeds),'') solpeds, nvl(trim(ao.comentab[1,234]), 
'') comentab, a.repercusion, r3o.statussist,trim((select a.numaviso from 
r3avisos avs where unaviso = unidad1 and status[1,4] <> 'MECE' and edodisp = 
'2' and prior is not null and a.numaviso = avs.numaviso)) PN, r3o.ptotrbres
        FROM
              r3avisos a, outer r3avisosop ao, r3orden r3o
        WHERE
              r3o.statusus[1,4] <> 'CANC' and r3o.statussist[1,4] in 
('LIBD','LIBE', 'ABIE') and
              r3o.prioridad in ('1', '2', '3', '4', '5') and
              (a.repercusion <> 'A' or a.repercusion is null) and
              r3o.claseorden = 'LV01' and
              r3o.claseact = 'N00'  and
              a.unaviso = unidad1 and
              ao.numaviso = a.numaviso and
              a.numorden = r3o.numorden and
              r3o.numorden not in (select numorden from r3activ where numorden 
is not null and numorden <> 'N/A')
        ORDER BY
              ptotrbres, prioridad, numaviso
        return

              r_fecemision, r_numaviso, r_numorden, r_ubicacion, 
 r_inop, r_prior, r_descaviso, r_resp, r_numsem, r_porc, r_coment, 
 r_solpeds, r_comentab, r_repercusion, r_status, r_pn, r_ptotrbres with resume;

 end foreach;
 end;
 end procedure




 as you can see I return several columns with different names


 This is the way how I invoke the stored

                   <cfstoredproc datasource="prueba" procedure="stpbacklog">
                         <cfprocparam cfsqltype="CF_SQL_CHAR" value="1">
                         <cfprocresult name="RS">
                   </cfstoredproc>
                   
                   <cfdump var="#RS#"/>


 This is the result

 query
  
        (EXPRESSION)    (EXPRESSION)    (EXPRESSION)    (EXPRESSION)    
(EXPRESSION)    (EXPRESSION)    (
EXPRESSION)     (EXPRESSION)    (EXPRESSION)    (EXPRESSION)    (EXPRESSION)    
(EXPRESSION)    (EX
PRESSION)       (EXPRESSION)    (EXPRESSION)    (EXPRESSION)    (EXPRESSION)
 1      06/01/2009      06/01/2009      06/01/2009      06/01/2009      
06/01/2009      06/01/2009 
        06/01/2009      06/01/2009      06/01/2009      06/01/2009      
06/01/2009      06/01/2009 
        06/01/2009      06/01/2009      06/01/2009      06/01/2009      
06/01/2009 
 2      07/01/2009      07/01/2009      07/01/2009      07/01/2009      
07/01/2009      07/01/2009 
        07/01/2009      07/01/2009      07/01/2009      07/01/2009      
07/01/2009      07/01/2009 
        07/01/2009      07/01/2009      07/01/2009      07/01/2009      
07/01/2009 
 3      06/01/2009      06/01/2009      06/01/2009      06/01/2009      
06/01/2009      06/01/2009 
        06/01/2009      06/01/2009      06/01/2009      06/01/2009      
06/01/2009      06/01/2009 
        06/01/2009      06/01/2009      06/01/2009      06/01/2009      
06/01/2009 
 4      23/06/2008      23/06/2008      23/06/2008      23/06/2008      
23/06/2008      23/06/2008 
        23/06/2008      23/06/2008      23/06/2008      23/06/2008      
23/06/2008      23/06/2008 
        23/06/2008      23/06/2008      23/06/2008      23/06/2008      
23/06/2008 
 5      23/06/2008      23/06/2008      23/06/2008      23/06/2008      
23/06/2008      23/06/2008 
        23/06/2008      23/06/2008      23/06/2008      23/06/2008      
23/06/2008      23/06/2008 
        23/06/2008      23/06/2008      23/06/2008      23/06/2008      
23/06/2008 
 6      23/12/2008      23/12/2008      23/12/2008      23/12/2008      
23/12/2008      23/12/2008 
        23/12/2008      23/12/2008      23/12/2008      23/12/2008      
23/12/2008      23/12/2008 
        23/12/2008      23/12/2008      23/12/2008      23/12/2008      
23/12/2008 
 7      28/12/2008      28/12/2008      28/12/2008      28/12/2008      
28/12/2008      28/12/2008 
        28/12/2008      28/12/2008      28/12/2008      28/12/2008      
28/12/2008      28/12/2008 
        28/12/2008      28/12/2008      28/12/2008      28/12/2008      
28/12/2008 
 8      24/12/2008      24/12/2008      24/12/2008      24/12/2008      
24/12/2008      24/12/2008 
        24/12/2008      24/12/2008      24/12/2008      24/12/2008      
24/12/2008      24/12/2008 
        24/12/2008      24/12/2008      24/12/2008      24/12/2008      
24/12/2008 
 9      20/12/2008      20/12/2008      20/12/2008      20/12/2008      
20/12/2008      20/12/2008 
        20/12/2008      20/12/2008      20/12/2008      20/12/2008      
20/12/2008      20/12/2008 
        20/12/2008      20/12/2008      20/12/2008      20/12/2008      
20/12/2008 
 10     18/10/2008      18/10/2008      18/10/2008      18/10/2008      
18/10/2008      18/10/2008 
        18/10/2008      18/10/2008                                              
                        


 You see how repeat first column? This is the problem I have.

 I hope you can support me.

 In advance,

 Thanks a lot.




<Prev in Thread] Current Thread [Next in Thread>