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:

  1. 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

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

    Saludos,

    Blag.
    Development Culture.

    ReplyDelete