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.

Responder a