Ir al contenido

escribir comilla simple dentro de literal

Respuestas
6
Visitas
27
Iniciado por
stompy
Fecha
16 Oct 2007, 10:01
Tema anterior - Siguiente tema

stompy

Quiero guardar en una variable CHAR el siguiente literal, como le indico al sistema q la comillas simples q encierran 0000424001 son literales?

where hkont BETWEEN '0000424001'

Nuria

Hola.

No se si te entiendo bien.

En principio los textos literales se ponen entre comillas como tienes, lo que veo raro es el BETWEEN, en el caso de que quieras escribir un BETWEEN te faltaría escribir algo así:

WHERE hkont BETWEEN '0000424001' AND '0000424001'.

Aunque por lo que me parece te valdría simplemente con poner:
WHERE hkont = '0000424001'.


oscar

Si te refieres a como utilizar las comillas simples dentro de un código te explico como:
l_where = 'campo = ''valor'''. 
SELECT lista_campos
  INTO loquesea
  FROM tabla
  WHERE (l_where).



De todas formas yo usaría una constante, (eliminas las comillas extra y el hard-coding)
CONSTANTS: c_valor TYPE tabla-campo VALUE 'valor'. 
DATA: l_where TYPE string.

l_where = 'campo = c_valor'.
SELECT lista_campos
  INTO loquesea
  FROM tabla
  WHERE (l_where).


Un saludo...

stompy

Gracias a ambos.

Si q es lo q indica Oscar, vamos era meter comillas entre comillas. haré lo de la cte.

stompy

cuando hago el-> where ( filtro ).

me dice: ( no es una operación ógica válida.

Como puedo solucionar esto?

Gracias.

oscar

Copia estos otros códigos y sustituye la tabla y campos por los tuyos.

Haber que tal te va!


    CONSTANTS: c_valor TYPE trdir-cnam VALUE 'cnam'.
    DATA: l_where TYPE string.
    DATA: loquesea.

    l_where = 'campo = c_valor'.

    SELECT cnam INTO loquesea
                FROM trdir
               WHERE (l_where).


    ENDSELECT.



    DATA: l_where TYPE string.
    DATA: loquesea.

    l_where = 'campo = ''cnam'''.

    SELECT cnam INTO loquesea
                FROM trdir
               WHERE (l_where).



    ENDSELECT.

stompy

sigue sin cogermelo pero metí los filtros de otra manera.

Gracias Oscar.