PDA

Ver la Versión Completa : Problema con string


jsanz
09/02/07, 15:16:42
Hola foro !!!

Necesito crear una cadena de caracteres que contenga el símobolo de comilla simple dentro ( ' ), pero como SAP lo utiliza para representar el principio y fin de una cadena de caracteres, si lo meto dentro ( condicion = 'where kunnr = '02002'' ) me salta error de sintaxis (las dos últimas comillas son 2 comillas simples, no una doble).

Espero que alguien me pueda decir el caracter de escape que me permita sakar la comilla simple dentro del string.

Gracias anticipadas a todos !!

EDIT: para concretar mejor la pregunta.

andyoscky
09/02/07, 18:28:49
c_scra type string value '001''1''3'.

es un ejemplo

mamt
09/02/07, 22:58:19
Sres. como puede fijar una variasble que salga impresa en la posicion que deseo.

MAMT

jsanz
14/02/07, 08:56:57
c_scra type string value '001''1''3'.

es un ejemplo

Gracias por la respuesta, pero esto me guarda un string con 00"1"3 pero yo necesito por obligación que sea 00'1'3 (no me sirve las dobles comillas).

Lo que estaba buscando era un caracter de escape o algo similar que me permita introducir el símbolo de la comilla simple ( ' ) como un caracter y no como inicio o ofinal de cadena.

A ver si alguien puede resolverlo please, yo sigo buscando :) .

sealons
14/02/07, 11:57:55
Aupa jsanz,
create un elemento de texto de los de toda la vida, ej. text-001, cuyo valor sea 2002' y esto te almacena la coma.

Si el año es dinamico, con un concatenate kunnr text-001 into variable, tb te acumula el año con la coma.

data: kunnr(4) type c,
texto(5) type c.

kunnr = '2002'.

concatenate kunnr text-004 into texto.

write texto.


Espero que te sirva,
Talogo.

ibecerra
19/02/07, 22:33:42
que tal mira prueba asi
valor = ''''xxxxx'''' y resultado sera de la siguiente manera
'xxxxx'

tomasm
20/02/07, 15:45:27
Un ejemplo vale más que mil palabros.


REPORT ZCHAPUZA .

tables: pa0001, pa0003.


DATA: comilla TYPE x VALUE '27'.

DATA: SALIDA(10) TYPE C.

data: begin of emple occurs 0,
pernr like pa0001-pernr.
data: end of emple.

parameters: divi like pa0001-werks,
subdi like pa0001-btrtl,
f_ini like sy-datum,
f_fin like sy-datum,
f_sele like sy-datum.


select pernr from pa0001 into emple-pernr
where werks = divi
and btrtl = subdi
and begda <= f_fin
and endda >= f_ini.
append emple.
endselect.

loop at emple.

select bderr from pa0003 into pa0003-bderr
where pernr = emple-pernr
and begda <= f_fin
and endda >= f_ini
and bderr <= f_sele
and bderr >= f_ini.
exit.
endselect.

if sy-subrc = 0.
concatenate comilla emple-pernr comilla into salida.
write:/ salida , pa0003-bderr.
clear salida.
endif.

endloop.

:rolleyes:


chapuza

'00000002' 01.11.2001
'00000002' 01.11.2001
'00000002' 01.11.2001
'00000002' 01.11.2001
'00000002' 01.11.2001
'00000012' 01.10.2006
'00000012' 01.10.2006
'00000012' 01.10.2006
'00000012' 01.10.2006
'00000012' 01.10.2006
'00000012' 01.10.2006
'00000039' 01.12.2001




La chapuza, corregida y aumentada (se chapucea con un campo de fecha).

data: salida1(20) type c.

if sy-subrc = 0.
concatenate comilla emple-pernr comilla into salida.
concatenate comilla pa0003-bderr+3(1) comilla pa0003-bderr+4(4) comilla into salida1.
write:/ salida , salida1.
clear salida.
endif.

chapuza

'00000002' '1'1101'
'00000002' '1'1101'
'00000002' '1'1101'
'00000002' '1'1101'
'00000002' '1'1101'
'00000012' '6'1001'
'00000012' '6'1001'
'00000012' '6'1001'
'00000012' '6'1001'
'00000012' '6'1001'
'00000012' '6'1001'
'00000039' '1'1201'

jsanz
21/02/07, 08:50:53
Gracias a todos, ya lo solucioné utilizando las dos comillas simples seguidas para cada comilla que quería meter.

Gracias de nuevo