¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como ignorar zeros iniciais em uma declaração SQL-Select de forma eficiente

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 14 Vistas
0
Cargando...

Existe alguma maneira de ignorar os zeros iniciais em uma declaração SQL-Select?

Por exemplo

SELECT txt50 FROM skat INTO @DATA(output)
	WHERE saknr = '552100'
	AND spras = @sy-langu
	AND ktopl = @h_ktopl.

não está retornando nenhum dado. Mas com

WHERE saknr = '0000552100'

Funciona perfeitamente.

Existe alguma maneira de ignorar esses zeros iniciais ao selecionar o TXT50 da tabela SKAT como acontece ao colocar a seleção em SE16, SE16N ou SE16H?

Quero fazer todos os ajustes no select e não quero alterar a variável usando convertion_exit_alpha...

Outro exemplo onde esse problema ocorre para mim é:

SELECT bseg~hkont, bseg~zuonr, bseg~belnr, bseg~gjahr, aufk~prctr FROM bseg INNER JOIN aufk
  ON bseg~zuonr = aufk~aufnr "<--
  WHERE bseg~hkont IN @s_hkont
  INTO TABLE @DATA(output).

aufk~aufnr tem zeros iniciais (por exemplo: 000072667023 ) e bseg~zuonr contém apenas o número sem zeros iniciais (por exemplo: 72667023 ) portanto, o select também não está retornando nenhum dado.

Uma solução rápida para isso foi usar concat( '0000', bseg~zuonr ) para adicionar zeros iniciais ao zunor, mas acredito que não seja realmente universal e confiável.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Não tenho certeza sobre bseg~zuonr = aufk~aufnr, mas talvez seja mais universal do que você pensa. Às vezes, o SAP simplesmente adiciona zeros sem uma lógica especial.

Não é o mesmo problema que com SAKNR.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

6e829fd780204f76b10f492049a3773c

Se precisar de mais informações, consulte aqui Open SQL - Host Expressions - Documentação de palavras-chave ABAP (sap.com)

As expressões de host existem desde a versão 7.50

Consulte também as opções de formatação dos modelos de cadeia para |... ALPHA ...|

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...
lv_saknr = '552100';

SELECT SINGLE txt50 FROM skat
  INTO @DATA(output)
  WHERE saknr = @( |{ lv_saknr ALPHA = IN }| )
    AND spras = @sy-langu
    AND ktopl = @h_ktopl;
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...
lv_saknr = '552100';

SELECT SINGLE txt50 FROM skat
  INTO @DATA(output)
  WHERE saknr = @( |{ lv_saknr ALPHA = IN }| )
    AND spras = @sy-langu
    AND ktopl = @h_ktopl;
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?