Monday, September 25, 2006

Llenar una cadena con asteriscos a la derecha

Continuando con mi quejas sobre el pobre tratamiento que brinda el ABAP para el manejor de Cadenas o Strings...Les tengo otro código que nuevamente no es muy útil, pero que siempre es bueno tener en reserva.


DATA: V_TEXTO(15) TYPE C,
V_LEN TYPE I,
V_LONG TYPE I.

V_TEXTO = 'Alvaro'.
V_LEN = STRLEN( V_TEXTO ).
DESCRIBE FIELD V_TEXTO LENGTH V_LONG IN CHARACTER MODE.

V_LEN = V_LONG - V_LEN.

DO V_LEN TIMES.
CONCATENATE V_TEXTO '*' INTO V_TEXTO.
ENDDO.

WRITE:/ V_TEXTO.


Este código, llena los espacios restantes (de la derecha) con asteriscos...O con lo ustedes quieran -:)

Saludos,

Blag.

2 comments:

JdelRio said...

Gracias por tu blog y tus aportaciones, te propongo una sentencia aún más elegante para rellenar con asteriscos por la izquierda o por la derecha:

DATA: V_TEXTO(15) TYPE C.

V_TEXTO = 'Alvaro'.
SHIFT v_texto LEFT DELETING LEADING space.
OVERLAY v_texto WITH '***************'.
WRITE:/ V_TEXTO.
(Resultado Alvaro*********)

V_TEXTO = 'Alvaro'.
SHIFT v_texto RIGHT DELETING TRAILING space.
OVERLAY v_texto WITH '***************'.
WRITE:/ V_TEXTO.
(Resultado *********Alvaro)

Espero que os sirva.

Un saludo!!

Juan del Río

Alvaro "Blag" Tejada Galindo said...

Gracias Juan! Todos los comentarios y mejoras son bienvenidas -:)

Saludos,

Blag.
Development Culture.