✒️ABAP El lenguaje SQL y la sentencia SELECT
ABAP El lenguaje SQL y la sentencia SELECT
Sobre el MOVE INTO CORRESPONDING FIELDS, los campos no solo han de ser del mismo tipo sino también llamarse igual, lo cual veo lógico, ya que, en caso de existir en la tabla interna dos campos del mismo tipo, ¿en cuál dejaría el dato?.
La prueba la he realizado replicando ty_usuarios2 con ty_usuarios3 y cambiando los nombres de los campos en esta última pero manteniendo el tipo de datos.
Al realizar el SELECT ... INTO CORRESPONDING FIELDS de ti_usuarios3 me ha recuperado un número determinado de registros pero, IMPORTANTE, con los campos en blanco.
Únicamente funciona de una manera correcta si los nombres de campo son iguales.
Y eso me trae a la memoria mi época de programador COBOL, lenguaje en el que existe la misma sentencia.
Aquí dejo el código por si lo quieren tomar de ejemplo y realizar pruebas.
TYPES: BEGIN OF ty_usuarios2,
nombre_ape TYPE z_nombre_ape,
estado_usu TYPE z_estado_usu,
END OF ty_usuarios2.
TYPES: BEGIN OF ty_usuarios3, " Esta estructura es para comprobar el INTO CORRESPONDING FIELDS
campo1 TYPE z_nombre_ape,
campo2 TYPE z_estado_usu,
END OF ty_usuarios3.
*...
* Seleccionamos los registros que cumpla la condición
SELECT nombre_ape estado_usu
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios2
WHERE nombre_ape NE space
AND estado_usu EQ 'A'.
* Seleccionamos los registros que cumpla la condición
SELECT nombre_ape estado_usu
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios3
WHERE nombre_ape NE space
AND estado_usu EQ 'A'.
BREAK-POINT.
Por último: si se llaman igual pero son de diferente tipo entonces da error en tiempo de ejecución.
Sobre el programa de ejemplo, el INNER JOIN está mal definido ya que hace referencia a sí mismo (t2~vbeln = t2~vbeln): ha de ser:
ON t2~vbeln = t1~vbeln " Segunda tabla comparada con la primera tabla
 
 
 
Sobre el autor
Publicación académica de Fernando Morales Del Rosario, en su ámbito de estudios para la Carrera Consultor ABAP.
Fernando Morales Del Rosario
Profesión: Analista Programador - España - Legajo: HF78E
✒️Autor de: 17 Publicaciones Académicas
🎓Cursando Actualmente: Master ABAP for HANA
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Mi objetivo es poner en práctica lo aprendido y alcanzar un buen nivel como programador abap.
Certificación Académica de Fernando Morales