none
Reporte con parametros sin nombre "?" RRS feed

  • Pregunta

  • Estoy haciendo un reporte el cual necesito usar 3 parametros de entrada:

    -Operacion

    -FechaDesde

    -FechaHasta

    El problema esta en que a los parametros no me les deja poner nombres (ya que da error y me dice que tengo q poner parametros sin nombres) entonces le asigno un signo de pregunta "?"

    El problema esta en la consulta ya q a los 3 parametros los uso 2 veces.

    En tonces tengo seis signos "?" o parametros ("sin nombre cono le llaman")

    entonces cuando ejecuto tengo que llenar los seis parametros repitiendo los 3 una ves mas cada uno.

    Hay forma de hacer que solo pida 3 nomas?

    select TP.hde0_numcmp,TP.hde0_nroope, TP.serie, TP.hde0_result, TP.hdd_observ,TS.hde0_fecalt FechaOP20, TP.hde0_fecalt FechaUltimaOP  from( select tabla.hde0_numcmp,
           tabla.hde0_nroope,
           tabla.serie,
           tabla.hde0_result,
           hdd.hdd_observ,
           tabla.hde0_fecalt
      from (
            select x.hde0_numcmp,
                    x.hde0_nroope,
                    y.serie,
                    x.hde0_result,
                    x.hde0_fecalt
              from hde0 x,
                    (select max(to_number(hde0.hde0_numcmp)) ultimaOP,--En este busco todos los registros que se  relacionen con las series fitradas en el select de abajo
                            hde0.hde0_lotenr serie
                       from hde0
                       left join hdd p on hde0.hde0_numcmp = p.hdd_numhde0
                      where hde0.hde0_lotenr in
                            (select t.hde0_lotenr --En este select obtengo solo los numeros de serie de las tapas que pasaron por la operacion 20 en un rango de fechas
                              
                               from (select * --En este select obtengo todos los registros que pasaron por la operacion 20 en un rango de fechas
                                       from hde0 t
                                       left join hdd p on t.hde0_numcmp =
                                                          p.hdd_numhde0
                                      where t.hde0_codlin = '23'
                                        and t.hde0_nroope = ?
                                        and t.hde0_fecalt between
                                            to_date(?,
                                                    'dd/mm/rrrr HH24:mi:ss') and
                                            to_date(?,
                                                    'dd/mm/rrrr HH24:mi:ss')
                                        and t.hde0_equfab = 'OKUMAI-144') t)
                     group by hde0.hde0_lotenr) y
             where x.hde0_numcmp = y.ultimaOP
               and x.hde0_lotenr = y.serie) tabla
      left join hdd on tabla.hde0_numcmp = hdd.hdd_numhde0
     order by tabla.hde0_fecalt) TP inner join (select * --En este select obtengo todos los registros que pasaron por la operacion 20 en un rango de fechas
                                       from hde0 t
                                       left join hdd p on t.hde0_numcmp =
                                                          p.hdd_numhde0
                                      where t.hde0_codlin = '23'
                                        and t.hde0_nroope = ?
                                        and t.hde0_fecalt between
                                            to_date(?,
                                                    'dd/mm/rrrr HH24:mi:ss') and
                                            to_date(?,
                                                    'dd/mm/rrrr HH24:mi:ss')
                                        and t.hde0_equfab = 'OKUMAI-144')TS
    on TP.serie=TS.hde0_lotenr

    viernes, 24 de enero de 2014 14:33