Foro de programación ABAP

SAP / ABAP => Programación ABAP => Mensaje iniciado por: metalgod en 31 de Julio de 2013, 04:39:25 pm

Título: Cadena de caracteres
Publicado por: metalgod en 31 de Julio de 2013, 04:39:25 pm
Buenas, como están?

mi consulta es sobre cadenas de caracteres:

Tengo una variable de tipo string, con una frase y quiero poder reemplazar una letra por otra, esta letra a reemplazar se encuentra en el medio, como puedo hacer? el tipo string no me permite una asignación desplazándome hasta el caracter en cuestión y la sentencia REPLACE solo me reemplaza la primer ocurrencia, no me permite posicionarme

  DATA:
        cad TYPE string VALUE 'SOY UNO CADENA'.


""""""""""""  cad+6(1) = 'A'. ( no me lo permite hacer por se un tipo string y no        """"""""""""  permite la asignación

"""""""""""" REPLACE 'O' WITH 'A' INTO cad. (me reemplaza solo la primer """""""""""" ocurrencia de 'O'

De la única manera que pude usar la asignación con desplazamiento es declarar la variable de tipo c, pero no me sirve, tiene que ser un string, tiene que poder hacerse.

Agradezco su ayuda, saludos
Título: Re:Cadena de caracteres
Publicado por: JoNhNaTaN en 31 de Julio de 2013, 11:28:42 pm
haz intentado separando la cadena hasta la posicion en donde tienes el caracter a reemplazar por ejemplo:
cad_1 = cad(5).
cad_2 = cad5(10).
luego:
REPLACE 'O' WITH 'A' INTO cad_2.
luego:
concatenate cad_1 cad_2 into cad.

Saludos.
Título: Re:Cadena de caracteres
Publicado por: molaci en 01 de Agosto de 2013, 08:52:03 am
Prueba con la sentencia TRANSLATE.

Ej:

TRANSLATE cad  USING 'OA'.


Un saludo.
Título: Re:Cadena de caracteres
Publicado por: metalgod en 01 de Agosto de 2013, 01:34:49 pm
pero el translate me traduciria todas las ocurrencias

Lo que hice fue lo siguiente

DATA:
cad TYPE string VALUE 'SOY UNO CADENA'.

REPLACE SECTION OFFSET 6 LENGTH 1 OF cad WITH 'A'.

gracias por sus respuestas.