¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo ignorar ceros iniciales en una declaración SQL-Select de forma eficiente

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

¿Hay alguna forma de ignorar los ceros iniciales en una declaración SQL-Select?

Por ejemplo

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

no está devolviendo ningún dato. Pero con

WHERE saknr = '0000552100'

Funciona perfectamente.

¿Hay alguna forma de ignorar esos ceros iniciales al seleccionar el TXT50 de la tabla SKAT como funciona al poner la selección en SE16, SE16N o SE16H?

Quiero hacer todos los ajustes en el select y no quiero cambiar la variable usando convertion_exit_alpha...

Otro ejemplo donde este problema ocurre para mí es:

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 tiene ceros iniciales (por ejemplo: 000072667023 ) y bseg~zuonr contiene solo el número sin ceros iniciales (por ejemplo: 72667023 ) por lo tanto, el select tampoco está devolviendo ningún dato.

Una solución rápida para esto fue usar concat( '0000', bseg~zuonr ) para agregar ceros iniciales al zunor, pero creo que no es realmente universal y confiable.

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

4 Respuestas

0
Cargando...

No estoy seguro acerca de bseg~zuonr = aufk~aufnr, pero tal vez sea más universal de lo que piensas. A veces, SAP simplemente agrega ceros sin una lógica especial.

No es el mismo problema que con SAKNR.

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

6e829fd780204f76b10f492049a3773c

En caso de que necesites más información, consulta aquí Open SQL - Host Expressions - Documentación de palabras clave ABAP (sap.com)

Las expresiones de host existen desde la versión 7.50

También consulta las opciones de formato de las plantillas de cadena 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?