Muchas gracias Raúl. Un saludo. Juanra
El 13 de enero de 2016, 10:38, Raul Bascones <[email protected]> escribió: > Buenos días Juan Ramón, > > No sé si ya te enviaron un ejemplo, de todas formas te adjunto uno por si > acaso (es un fichero de texto). > > Saludos y feliz año a todos!!! > > Raúl > > > El 12 de enero de 2016, 16:03, Juan Ramón Garcia <[email protected]> > escribió: > >> Hola a tod@s: >> >> Nunca me he encontrado con este problema pero...siempre hay una primera >> vez. >> En un programa COBOL complicadísimo se utiliza SQL embebido para >> seleccionar una serie de registros cuyas características han sido >> seleccionadas por el usuario mediante una pantalla de opciones. >> El caso es que quieren cambiar el orden de impresión de los registros >> pero, tal y como está el programa, habría que rehacerlo y utilizar un >> fichero temporal cosa que prefieren que no se haga. >> La solución que se me ha ocurrido es condicionar algunas opciones del >> WHERE a si tiene o no tiene datos el campo correspondiente. >> Una imagen vale más que mil palabras: >> >> EXEC SQL >> DECLARE CUR5 CURSOR FOR >> SELECT B.PTOSERV, B.NPEDWEB, B.RUTA >> FROM FSPEDC3 A >> LEFT JOIN FPEDHIPC5 B >> ON A.NPEDWEB = B.NPEDWEB >> WHERE B.FECENT = :W-FECHA >> AND B.HINIENT = :W-HORAINI >> AND B.CODEST IN ("20", "25", "27") >> ORDER BY A.CCIRCOD, B.HINIENT, B.RUTA, B.NPEDWEB >> END-EXEC. >> >> lo que necesitaría seria algo como esto: (lo escribo en minúsculas para >> que se distinga >> >> EXEC SQL >> DECLARE CUR5 CURSOR FOR >> SELECT B.PTOSERV, B.NPEDWEB, B.RUTA >> FROM FSPEDC3 A >> LEFT JOIN FPEDHIPC5 B >> ON A.NPEDWEB = B.NPEDWEB >> WHERE B.FECENT = :W-FECHA >> if :w-horaini1 <> " " >> AND B.HINIENT = :W-HORAINI1 >> end-if >> if :w-horaini2 <> " " >> AND B.HINIENT = :W-HORAINI2 >> end-if >> AND B.CODEST IN ("20", "25", "27") >> ORDER BY A.CCIRCOD, B.HINIENT, B.RUTA, B.NPEDWEB >> END-EXEC. >> >> Evidentemente no funciona y he probado con CASE y otras "cosas" que he >> encontrado por ahí pero no lo consigo y esto simplificaría mi problema. >> >> ¿Hay alguna forma de condicionar las sentencias del WHERE? >> >> Un saludo. >> >> Juanra >> SqlCobolSaurio >> >> >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. >> > > > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. >
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

