Hola,
es para suprimir todos los espacios en blanco del campo de tipo CHAR,
puntos de recompensa y cerrar el hilo.
Saludos,
Harish
El mensaje fue editado por:
Harish AGINATI
Avalados por :
Hola,
es para suprimir todos los espacios en blanco del campo de tipo CHAR,
puntos de recompensa y cerrar el hilo.
Saludos,
Harish
El mensaje fue editado por:
Harish AGINATI
Hi Vijay
La instrucción CONDENSE elimina los espacios redundantes de una cadena:
CONDENSE <c> [NO-GAPS].
Esta instrucción elimina los espacios en blanco iniciales en el campo <c> y reemplaza otras secuencias de espacios en blanco por exactamente un espacio en blanco. El resultado es una secuencia de palabras justificadas a la izquierda, cada una separada por un espacio en blanco. Si se especifica la adición NO-GAPS, se eliminan todos los espacios en blanco.
DATA: STRING(25) VALUE ' one two three four',
LEN TYPE I.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Longitud: ', LEN.
CONDENSE STRING.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Longitud: ', LEN.
CONDENSE STRING NO-GAPS.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Longitud: ', LEN.
Resultado:
one two three four !
Longitud: 25
one two three four !
Longitud: 18
onetwothreefour !
Longitud: 15
Ten en cuenta que la longitud total del campo STRING permanece sin cambios, pero que los espacios en blanco eliminados vuelven a aparecer en la derecha.
Saludos, Rk
Hello,
Syntaxdiagramm
CONDENSE
Forma básica
CONDENSE c.
Adición
... NO-GAPS
Nota
Al igual que todas las declaraciones de procesamiento de cadenas, solo se pueden utilizar operandos de tipo caracter aquí. Si el tipo de un operando no es STRING, el operando se trata como un campo de tipo C, independientemente de su tipo real, aunque no se realiza ninguna conversión real.
En un contexto de Objetos ABAP, se realiza una verificación de sintaxis más severa que en otras áreas de ABAP. Ver Solo se permiten campos de caracteres en el procesamiento de cadenas.
Efecto
Desplaza el contenido de c hacia la izquierda, de modo que las secuencias de espacios en blanco se reducen a exactamente un espacio en blanco. Los espacios iniciales (y, para campos de tipo C, los espacios finales también) se eliminan por completo.
Ejemplo
DATA NAME (30).
NAME(10) = ' Dr.',
NAME+10(10) = 'Michael',
NAME+20(10) = 'Hofmann'.
CONDENSE NAME.
WRITE NAME.
produce la salida:
Dr. Michael Hofmann
Adición
... NO-GAPS
Efecto
Suprime todos los espacios en blanco del campo c
Ejemplo
DATA: BEGIN OF NAME,
TITLE(8) VALUE ' Dr.',
FIRST_NAME(10) VALUE 'Michael',
SURNAME(10) VALUE 'Hofmann',
END OF NAME.
CONDENSE NAME NO-GAPS.
El contenido de NAME es ahora "Dr.MichaelHofmann".
Dado que el campo de cadena NAME se interpreta y maneja como un campo de tipo C, la instrucción CONDENSE lo trata como un todo e ignora cualquier subcampo. Por lo tanto, el contenido del subcampo sería ahora el siguiente:
NAME-TITLE = 'Dr.Micha'
NAME-FIRST_NAME = 'elHofmann '
NAME-SURNAME = ' '
Nota
No utilice CONDENSE para manipular estructuras que incluyan campos que no sean de tipo C. Esto podría resultar en que los subcampos contengan caracteres de un tipo diferente (es decir, incorrecto). No se puede utilizar la instrucción con estructuras que contengan componentes de tipo STRING.
Nota
Rendimiento:
El tiempo de ejecución requerido para condensar tres campos es de aproximadamente 20 msn (microsegundos estandarizados). La variante NO-GAPS necesita alrededor de 12 msn.
Relacionado
SHIFT, CONCATENATE, REPLACE, SPLIT
Ayuda adicional
Compresión de contenidos de campo
Hola Vijay
La instrucción CONDENSE elimina los espacios redundantes de una cadena:
CONDENSE <c> [NO-GAPS].
Esta instrucción elimina los espacios en blanco iniciales del campo <c> y reemplaza otras secuencias de espacios en blanco por exactamente un espacio en blanco. El resultado es una secuencia de palabras justificada a la izquierda, cada una separada por un espacio en blanco. Si se especifica la adición NO-GAPS, se eliminan todos los espacios en blanco.
DATA: STRING(25) VALUE ' one two three four',
LEN TYPE I.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Longitud: ', LEN.
CONDENSE STRING.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Longitud: ', LEN.
CONDENSE STRING NO-GAPS.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Longitud: ', LEN.
Salida:
one two three four !
Longitud: 25
one two three four !
Longitud: 18
onetwothreefour !
Longitud: 15
Nota que la longitud total del campo STRING permanece sin cambios, pero que los espacios en blanco eliminados aparecen nuevamente a la derecha.
Saludos, Rk
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute