Olá,
é para remover todos os espaços em branco do campo do tipo CHAR,
pontos de recompensa e fechar o tópico.
Saudações,
Harish
A mensagem foi editada por:
Harish AGINATI
Avalados por :
Olá,
é para remover todos os espaços em branco do campo do tipo CHAR,
pontos de recompensa e fechar o tópico.
Saudações,
Harish
A mensagem foi editada por:
Harish AGINATI
Olá Vijay
A instrução CONDENSE remove os espaços redundantes de uma cadeia:
CONDENSE <c> [NO-GAPS].
Esta instrução remove os espaços em branco iniciais no campo <c> e substitui outras sequências de espaços em branco por exatamente um espaço em branco. O resultado é uma sequência de palavras justificadas à esquerda, cada uma separada por um espaço em branco. Se a adição NO-GAPS for especificada, todos os espaços em branco são removidos.
DATA: STRING(25) VALUE ' one two three four',
LEN TYPE I.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Comprimento: ', LEN.
CONDENSE STRING.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Comprimento: ', LEN.
CONDENSE STRING NO-GAPS.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Comprimento: ', LEN.
Resultado:
one two three four !
Comprimento: 25
one two three four !
Comprimento: 18
onetwothreefour !
Comprimento: 15
Note que o comprimento total do campo STRING permanece inalterado, mas os espaços em branco removidos reaparecem à direita.
Saudações, Rk
Olá,
Diagrama de sintaxe
CONDENSE
Forma básica
CONDENSE c.
Adição
... NO-GAPS
Nota
Assim como todas as declarações de processamento de strings, apenas operandos do tipo caractere podem ser usados aqui. Se o tipo de um operando não for STRING, o operando é tratado como um campo do tipo C, independentemente de seu tipo real, embora nenhuma conversão real seja realizada.
Em um contexto de Objetos ABAP, uma verificação de sintaxe mais rigorosa é realizada do que em outras áreas do ABAP. Veja Somente campos de caracteres são permitidos no processamento de strings.
Efeito
Move o conteúdo de c para a esquerda, de modo que sequências de espaços em branco sejam reduzidas a exatamente um espaço em branco. Os espaços iniciais (e, para campos do tipo C, também os espaços finais) são completamente removidos.
Exemplo
DATA NAME (30).
NAME(10) = ' Dr.',
NAME+10(10) = 'Michael',
NAME+20(10) = 'Hofmann'.
CONDENSE NAME.
WRITE NAME.
produz a saída:
Dr. Michael Hofmann
Adição
... NO-GAPS
Efeito
Suprime todos os espaços em branco do campo c
Exemplo
DATA: BEGIN OF NAME,
TITLE(8) VALUE ' Dr.',
FIRST_NAME(10) VALUE 'Michael',
SURNAME(10) VALUE 'Hofmann',
END OF NAME.
CONDENSE NAME NO-GAPS.
O conteúdo de NAME agora é "Dr.MichaelHofmann".
Como o campo de string NAME é interpretado e tratado como um campo do tipo C, a instrução CONDENSE o trata como um todo e ignora qualquer subcampo. Portanto, o conteúdo do subcampo seria agora o seguinte:
NAME-TITLE = 'Dr.Micha'
NAME-FIRST_NAME = 'elHofmann '
NAME-SURNAME = ' '
Nota
Não use CONDENSE para manipular estruturas que incluem campos que não sejam do tipo C. Isso pode resultar em subcampos contendo caracteres de um tipo diferente (ou seja, incorreto). A instrução não pode ser usada com estruturas que contenham componentes do tipo STRING.
Nota
Desempenho:
O tempo de execução necessário para condensar três campos é de aproximadamente 20 msn (microssegundos padronizados). A variante NO-GAPS precisa de cerca de 12 msn.
Relacionado
SHIFT, CONCATENATE, REPLACE, SPLIT
Ajuda adicional
Compressão de conteúdo de campo
Olá Vijay
A instrução CONDENSE remove os espaços redundantes de uma cadeia:
CONDENSE <c> [NO-GAPS].
Esta instrução remove os espaços em branco iniciais do campo <c> e substitui outras sequências de espaços em branco por exatamente um espaço em branco. O resultado é uma sequência de palavras justificadas à esquerda, cada uma separada por um espaço em branco. Se NO-GAPS for especificado, todos os espaços em branco são removidos.
DATA: STRING(25) VALUE ' one two three four',
LEN TYPE I.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Comprimento: ', LEN.
CONDENSE STRING.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Comprimento: ', LEN.
CONDENSE STRING NO-GAPS.
LEN = STRLEN( STRING ).
WRITE: STRING, '!'.
WRITE: / 'Comprimento: ', LEN.
Saída:
one two three four !
Comprimento: 25
one two three four !
Comprimento: 18
onetwothreefour !
Comprimento: 15
Note que o comprimento total do campo STRING permanece inalterado, mas os espaços em branco removidos reaparecem à direita.
Saudações, Rk
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute