✒️ABAP / Las vistas de tablas bases de datos Por Carlos Piles Rosell

ABAP Las vistas de tablas bases de datos

ABAP Las vistas de tablas bases de datos

Reporte usando una Vista que es un JOIN de 4 tablas

Hola Compañeros:

Os dejo aquí el código fuente de un informe basado en una Vista personalizada. Primero pondré los datos de la vista y luego el programa.

  • Vista: ZGZ57BORDERS
  • TABLAS Y CONDICIONES DE CONEXION
Tabla Tabla Campo Tabla Campo
KNA1 KNA1 MANDT = T005T MANDT
T005T KNA1 MANDT = VBAK MANDT
VBAK KNA1 MANDT = VBAP MANDT
VBAP KNA1 KUNNR = VBAK KUNNR
VBAK VBELN = VBAP VBELN
KNA1 LAND1 = T005T LAND1
  • CAMPOS
Cpo.Vista Tabla Campo
MANDT KNA1 MANDT
KUNNR KNA1 KUNNR
VBELN VBAK VBELN
POSNR VBAP POSNR
SPRAS T005T SPRAS
LAND1 T005T LAND1
NAME1 KNA1 NAME1
ORT01 KNA1 ORT01
PSTLZ KNA1 PSTLZ
LANDX T005T LANDX
AUDAT VBAK AUDAT
BNAME VBAK BNAME
NETWR VBAK NETWR
MATNR VBAP MATNR
ARKTX VBAP ARKTX
KBMENG VBAP KBMENG
NETPR VBAP NETPR
WAVWR VBAP WAVWR
NETWRLIN VBAP NETWR
  • -> Guardar -> Activar

  • Tipo de Datos: ZGX57BRECORDERS Registro / Workare de ZGX57ORDERS
  • (x) Tipo de Linea [ZGX57ORDERS]
  • -> Guardar -> Activar
Y finalmente el código fuente:
  1. *&---------------------------------------------------------------------*
  2. *& Report ZGZ57B_VIEW_REPORT
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8. REPORT zgz57b_view_report.
  9. *---------------------------------------------------------------------*
  10. * Tablas de la Base de Datos SAP
  11. *---------------------------------------------------------------------*
  12. TABLES:
  13. zgz57borders. "Vista con el Join de las tablas
  14. *---------------------------------------------------------------------*
  15. * Tipos para las Tablas de los Informes
  16. *---------------------------------------------------------------------*
  17. TYPES:
  18. ty_detalle LIKE zgz57borders.
  19. *---------------------------------------------------------------------*
  20. * Tablas Internas y Registros (Workareas)
  21. *---------------------------------------------------------------------*
  22. DATA:
  23. ti_detalle TYPE STANDARD TABLE OF ty_detalle,
  24. wa_detalle LIKE LINE OF ti_detalle,
  25. wa_detalle_aux LIKE wa_detalle, " Auxiliar para corte Detalle
  26. so_ty_city(30) TYPE c,
  27. gv_t_ini TYPE i,
  28. gv_t_fin TYPE i,
  29. gv_records TYPE i,
  30. gv_mess(60) TYPE c,
  31. gv_time(10) TYPE c,
  32. gv_items(10) TYPE c,
  33. v_selected LIKE sy-tabix.
  34. *---------------------------------------------------------------------*
  35. * Variables de Acumulados de Corte
  36. *---------------------------------------------------------------------*
  37. DATA:
  38. gv_lineas_fra TYPE i, "Lineas en Pedido
  39. gv_bruto_fra TYPE p DECIMALS 2, "Bruto Pedido (cant x precio)
  40. gv_fras_cliente TYPE i, "Pedidos por Cliente
  41. gv_total_cliente TYPE p DECIMALS 2, "Importe Pedidos Cliente
  42. gv_fras_city TYPE i, "Pedidos por Ciudad
  43. gv_cli_city TYPE i, "Clientes por Ciudad
  44. gv_total_city TYPE p DECIMALS 2, "Importe Pedidos Ciudad
  45. gv_fras_pais TYPE i, "Pedidos por Pais
  46. gv_cli_pais TYPE i, "Clientes por Pais
  47. gv_total_pais TYPE p DECIMALS 2, "Importe Pedidos Pais
  48. gv_fras_total TYPE i, "Pedidos en Total
  49. gv_cli_total TYPE i, "Clientes en Total
  50. gv_gran_total TYPE p DECIMALS 2. "Importe Total Pedidos
  51. *---------------------------------------------------------------------*
  52. * Pantalla de selección
  53. *---------------------------------------------------------------------*
  54. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
  55. SELECT-OPTIONS so_pais FOR zgz57borders-land1. "Seleccion Pais
  56. SELECT-OPTIONS so_cli FOR zgz57borders-kunnr. "Seleccion Cod.Cliente
  57. SELECT-OPTIONS so_fecha FOR sy-datum. "Seleccion Fecha Pedido
  58. SELECT-OPTIONS so_city FOR (so_ty_city)
  59. DEFAULT 'A' TO 'ZZ'. "Seleccion Ciudad
  60. SELECTION-SCREEN END OF BLOCK b1.
  61. SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
  62. PARAMETERS:
  63. p_tpais AS CHECKBOX, "Total Pais
  64. p_tcity AS CHECKBOX, "Total Ciudad
  65. p_tcli AS CHECKBOX, "Total Cliente
  66. p_tfra AS CHECKBOX. "Total Pedido
  67. SELECTION-SCREEN END OF BLOCK b3.
  68. *-------------------------------------------------*
  69. INITIALIZATION.
  70. *-------------------------------------------------*
  71. CLEAR:
  72. gv_lineas_fra,
  73. gv_bruto_fra,
  74. gv_fras_cliente,
  75. gv_total_cliente,
  76. gv_fras_city,
  77. gv_cli_city,
  78. gv_total_city,
  79. gv_fras_pais,
  80. gv_cli_pais,
  81. gv_total_pais,
  82. gv_fras_total,
  83. gv_cli_total,
  84. gv_t_ini,
  85. gv_t_fin,
  86. gv_t_ini,
  87. gv_t_fin,
  88. gv_records,
  89. gv_mess,
  90. gv_time,
  91. gv_gran_total.
  92. *-------------------------------------------------*
  93. START-OF-SELECTION.
  94. *-------------------------------------------------*
  95. GET RUN TIME FIELD gv_t_ini.
  96. "Consulta de Lineas de Pedido
  97. "Lineas JOIN Cabeceras JOIN Clientes JOIN Paises
  98. SELECT *
  99. INTO CORRESPONDING FIELDS OF TABLE ti_detalle
  100. FROM zgz57borders
  101. WHERE spras = sy-langu "Nombre de Pais en ES
  102. AND land1 IN so_pais
  103. AND ort01 IN so_city
  104. AND kunnr IN so_cli
  105. AND audat IN so_fecha.
  106. DESCRIBE TABLE ti_detalle LINES gv_records.
  107. * Tiempo de ejecucion
  108. GET RUN TIME FIELD gv_t_fin.
  109. gv_t_ini = gv_t_fin - gv_t_ini.
  110. WRITE gv_t_ini TO gv_time.
  111. WRITE gv_records TO gv_items.
  112. CONCATENATE gv_items 'resultados en' gv_time 'microsegundos.'
  113. INTO gv_mess
  114. SEPARATED BY ' '.
  115. MESSAGE gv_mess TYPE 'S'.
  116. *-------------------------------------------------*
  117. END-OF-SELECTION.
  118. *-------------------------------------------------*
  119. PERFORM lista_detalle.
  120. *-------------------------------------------------*
  121. TOP-OF-PAGE.
  122. *-------------------------------------------------*
  123. PERFORM lista_cabecera.
  124. *-------------------------------------------------*
  125. END-OF-PAGE.
  126. *-------------------------------------------------*
  127. PERFORM lista_pie.
  128. *&---------------------------------------------------------------------*
  129. *& Form LISTA_DETALLE
  130. *&---------------------------------------------------------------------*
  131. * text
  132. *----------------------------------------------------------------------*
  133. * --> p1 text
  134. * <-- p2 text
  135. *----------------------------------------------------------------------*
  136. FORM lista_detalle .
  137. SORT ti_detalle BY land1 ort01 kunnr vbeln posnr.
  138. LOOP AT ti_detalle INTO wa_detalle.
  139. wa_detalle_aux = wa_detalle.
  140. AT NEW land1.
  141. CLEAR:
  142. gv_fras_pais,
  143. gv_cli_pais,
  144. gv_total_pais.
  145. IF p_tpais IS NOT INITIAL.
  146. FORMAT COLOR 4.
  147. WRITE: / 'Pais:',
  148. 6 wa_detalle_aux-landx,
  149. 22 wa_detalle_aux-land1.
  150. ENDIF.
  151. ENDAT.
  152. AT NEW ort01.
  153. CLEAR:
  154. gv_fras_city,
  155. gv_cli_city,
  156. gv_total_city.
  157. IF p_tcity IS NOT INITIAL.
  158. FORMAT COLOR 3.
  159. WRITE: /5 'Ciudad:',
  160. 22 wa_detalle_aux-ort01.
  161. ENDIF.
  162. ENDAT.
  163. AT NEW kunnr.
  164. CLEAR:
  165. gv_fras_cliente,
  166. gv_total_cliente.
  167. IF p_tcli IS NOT INITIAL.
  168. FORMAT COLOR 5.
  169. WRITE: /29 'Cliente:',
  170. wa_detalle_aux-kunnr,
  171. wa_detalle_aux-name1.
  172. ENDIF.
  173. ENDAT.
  174. AT NEW vbeln.
  175. CLEAR:
  176. gv_lineas_fra,
  177. gv_bruto_fra.
  178. ENDAT.
  179. FORMAT COLOR 2.
  180. WRITE: /(1) sy-vline,
  181. 2(3) wa_detalle-land1,
  182. 5(1) sy-vline,
  183. 6(15) wa_detalle-landx,
  184. 21(1) sy-vline,
  185. 22(15) wa_detalle-ort01,
  186. 37(1) sy-vline,
  187. 38(10) wa_detalle-kunnr,
  188. 48(1) sy-vline,
  189. 49(25) wa_detalle-name1,
  190. 74(1) sy-vline,
  191. 75(10) wa_detalle-vbeln,
  192. 85(1) sy-vline,
  193. 86(10) wa_detalle-audat,
  194. 96(1) sy-vline,
  195. 97(6) wa_detalle-posnr,
  196. 103(1) sy-vline,
  197. 104(12) wa_detalle-matnr,
  198. 116(1) sy-vline,
  199. 117(20) wa_detalle-arktx,
  200. 137(1) sy-vline,
  201. 138(8) wa_detalle-kbmeng,
  202. 146(1) sy-vline,
  203. 147(10) wa_detalle-netpr,
  204. 157(1) sy-vline.
  205. ADD 1 TO gv_lineas_fra.
  206. gv_bruto_fra = gv_bruto_fra + wa_detalle-kbmeng * wa_detalle-netpr.
  207. AT END OF vbeln.
  208. ADD 1 TO gv_fras_cliente.
  209. ADD 1 TO gv_fras_city.
  210. ADD 1 TO gv_fras_pais.
  211. ADD 1 TO gv_fras_total.
  212. ADD wa_detalle_aux-netwr TO gv_total_cliente.
  213. ADD wa_detalle_aux-netwr TO gv_total_city.
  214. ADD wa_detalle_aux-netwr TO gv_total_pais.
  215. ADD wa_detalle_aux-netwr TO gv_gran_total.
  216. IF p_tfra IS NOT INITIAL.
  217. FORMAT COLOR 6.
  218. WRITE: /87 'Pedido:',
  219. wa_detalle-vbeln,
  220. 'con',
  221. (3) gv_lineas_fra,
  222. 'lineas con importe bruto ',
  223. gv_bruto_fra.
  224. ENDIF.
  225. ENDAT.
  226. AT END OF kunnr.
  227. ADD 1 TO gv_cli_city.
  228. ADD 1 TO gv_cli_pais.
  229. ADD 1 TO gv_cli_total.
  230. IF p_tcli IS NOT INITIAL.
  231. FORMAT COLOR 5.
  232. WRITE: /29 'Cliente:',
  233. wa_detalle_aux-kunnr,
  234. wa_detalle_aux-name1,
  235. ' tiene',
  236. (5) gv_fras_cliente,
  237. 'pedidos por un total de',
  238. (15) gv_total_cliente.
  239. ENDIF.
  240. ENDAT.
  241. AT END OF ort01.
  242. IF p_tcity IS NOT INITIAL.
  243. FORMAT COLOR 3.
  244. WRITE:/5 'Hay',
  245. (4) gv_cli_city,
  246. 13 'Clientes',
  247. (20) wa_detalle_aux-ort01,
  248. ' con',
  249. (5) gv_fras_city,
  250. 'pedidos por importe de',
  251. (15) gv_total_city.
  252. SKIP.
  253. ENDIF.
  254. ENDAT.
  255. AT END OF land1.
  256. IF p_tpais IS NOT INITIAL.
  257. FORMAT COLOR 4.
  258. WRITE: / 'En ',
  259. (15) wa_detalle_aux-landx,
  260. 'hay',
  261. (4) gv_cli_pais,
  262. 'Clientes activos',
  263. 'con',
  264. 51(7) gv_fras_pais,
  265. 58 'facturas por',
  266. (15) gv_total_pais.
  267. ULINE.
  268. ENDIF.
  269. ENDAT.
  270. ENDLOOP.
  271. ENDFORM. " LISTA_DETALLE
  272. *&---------------------------------------------------------------------*
  273. *& Form LISTA_CABECERA
  274. *&---------------------------------------------------------------------*
  275. * text
  276. *----------------------------------------------------------------------*
  277. * --> p1 text
  278. * <-- p2 text
  279. *----------------------------------------------------------------------*
  280. FORM lista_cabecera .
  281. FORMAT COLOR 7.
  282. WRITE:/(157) sy-uline.
  283. WRITE: /(1) sy-vline,
  284. 2(19) 'Pais / Country',
  285. 21(1) sy-vline,
  286. 22(15) 'Ciudad/City',
  287. 37(1) sy-vline,
  288. 38(10) 'Codigo',
  289. 48(1) sy-vline,
  290. 49(25) 'Nombre / Name',
  291. 74(1) sy-vline,
  292. 75(10) 'Order #',
  293. 85(1) sy-vline,
  294. 86(10) 'Fecha/Date',
  295. 96(1) sy-vline,
  296. 97(6) ' lin.#',
  297. 103(1) sy-vline,
  298. 104(12) 'Referencia',
  299. 116(1) sy-vline,
  300. 117(20) 'Articulo/Articule',
  301. 137(1) sy-vline,
  302. 138(8) 'Cant/Qty',
  303. 146(1) sy-vline,
  304. 147(10) 'Net. Price',
  305. 157(1) sy-vline.
  306. WRITE:/(157) sy-uline.
  307. ENDFORM. " LISTA_CABECERA
  308. *&---------------------------------------------------------------------*
  309. *& Form LISTA_PIE
  310. *&---------------------------------------------------------------------*
  311. * text
  312. *----------------------------------------------------------------------*
  313. * --> p1 text
  314. * <-- p2 text
  315. *----------------------------------------------------------------------*
  316. FORM lista_pie .
  317. ENDFORM. " LISTA_PIE


 

 

 


Sobre el autor

Publicación académica de Carlos Piles Rosell, en su ámbito de estudios para el Curso ABAP.

SAP Senior

Carlos Piles Rosell

Profesión: Analista de Sistemas y Programador - España - Legajo: GZ57B

✒️Autor de: 24 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: PartTime

Certificación Académica de Carlos Piles

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las vistas de tablas bases de datos" de la mano de nuestros alumnos.

SAP Expert


1. Concepto y Características Una vista de base de datos es un objeto del Diccionario de datos ABAP (SE11) que consiste en la unión de dos o más tablas bases de datos utilizando condiciones de conexión y selección,. Estructura Virtual: Tienen la misma estructura de filas y columnas que una tabla, pero no almacenan datos físicamente. Solo se guarda su definición en el diccionario,. Propósito: Permiten visualizar datos pertenecientes a varias tablas en una única selección, facilitando el acceso a información relacionada sin tener que programar cruces complejos (JOINs) repetidamente en los reportes,. 2. Creación de una Vista (Paso a Paso) El proceso se...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Las vistas de tablas bases de datos 1| ¿Qué son las Vistas de tablas bases de datos? A través del Diccionario de datos ABAP correspondiente a la transacción estándar SE11 podemos crear, modificar y visualizar Vistas de tablas bases de datos. Vistas de tablas base de datos Consisten en la unión de dos o más tablas base de datos existentes en el Diccionario de datos ABAP, utilizando condiciones de conexión y condiciones de selección, que nos van a permitir visualizar datos pertenecientes a varias tablas base de datos en una única selección de datos. Las vistas de tablas bases de datos tienen la misma estructura que las tablas bases de datos, es decir tienen filas y...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Las vistas de tablas bases de datos 1.-Que son las vistas de bases de datos? A través del Diccionario de datos ABAP correspondiente a la transacción SE11 podemos crear, modificar y visualizar Vistas de tablas de bases de datos. Vista de tablas de bases de datos. Consisten en la unión de dos o mas tablas existentes en el Diccionario de datos ABAP, utilizando condiciones de conexión y condiciones de selección, que nos van a permitir visualizar datos pertenecientes a varias tablas en una única selección de datos. Las vistas tienen la misma estructura que las tablas, es decir tienen filas y columnas, la única diferencia es que solo almacena de ellas la definición y no los datos. Existen...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

A través del Diccionario de datos ABAP correspondiente a la transacción estándar SE11 podemos crear, modificar y visualizar Vistas de tablas bases de datos. Vistas de tablas bases de datos Consisten en la unión de dos o más tablas base de datos existentes en el Diccionario de datos ABAP, utilizando condiciones de conexión y condiciones de selección, que nos van a permitir visualizar datos pertenecientes a varias tablas base de datos en una única selección de datos. Las vistas de tablas bases de datos tienen la misma estructura que las tablas bases de datos, es decir tienen filas y columnas, la única diferencia es que solo se almacena de ellas la definición y no...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Las vistas de tablas permiten combinar datos de múltiples tablas en una estructura lógica única, facilitando consultas complejas sin duplicar información. ¡Ideal para reportes integrados y análisis cruzados! ¿Qué son las Vistas? Definición: Objetos ABAP que unen 2+ tablas mediante condiciones de conexión. Solo almacenan la definición (no datos físicos). Tipos: Vistas estándar: Predefinidas en SAP (ej: DD03VV). Vistas personalizadas (Z): Creadas por desarrolladores (ej: ZVISTA_FACTURAS). ...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Las vistas de tablas bases de datos 1 | ¿Qué son las Vistas de tablas bases de datos? A través del Diccionario de datos ABAP correspondiente a la transacción estándar SEII podemos crear, modificar y visualizar Vistas de tablas bases de datos. Vistas de tablas bases de datos Consisten en la unión de dos o más tablas base de datos existentes en el Diccionario de datos ABAR utilizando condiciones de conexión y condiciones de selección, que nos van a permitir visualizar datos pertenecientes a varias tablas base de datos en una única selección de datos. Las vistas de tablas bases de datos tienen la misma estructura que las tablas bases de datos, es decir tienen filas y...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las vistas de tablas bases de datos 1 Que son las vistas de tablas bases de datos Las vistas de tablas base de datos en ABAP son objetos del Diccionario de Datos que permiten combinar información de dos o más tablas base de datos, utilizando condiciones de conexión y de selección. A diferencia de las tablas, las vistas no almacenan datos, sino únicamente su definición (estructura). Características clave: Se crean, modifican y visualizan desde la transacción estándar SE11. Tienen estructura similar a las tablas base de datos (filas y columnas). Pueden ser vistas estándar del sistema (no modificables) o vistas Z (personalizadas por el usuario)....

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



En SAP, las vistas de tablas son objetos lógicos que permiten acceder a los datos almacenados en una o varias tablas base sin duplicarlos físicamente. Se utilizan para simplificar la consulta y presentación de información relacionada, combinando datos mediante relaciones predefinidas (join) según criterios específicos. Existen varios tipos de vistas en SAP: vistas de base de datos (Database Views), vistas de ayuda de búsqueda (Search Helps Views), vistas de mantenimiento (Maintenance Views) y vistas de proyección (Projection Views). Cada tipo cumple una función específica dentro de los procesos del sistema. Estas vistas son esenciales para mejorar el rendimiento, garantizar...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Las vistas de tablas bases de datos 1. Que son las vistas de tablas bases de datos Consiste en la unión de dos o mas tablas base de datos existentes en el diccionario de datos ABAP, utilizando condiciones de conexión y condiciones de selección que nos van a permitir visualizar datos pertenecientes a varias tablas base de datos en una única selección de datos. 2. El paso a paso de la creación de una vista de tablas bases de datos Para este ejemplo vamos a trabajar con 2 tablas bases de datos muy importantes: VBRK de Factura: Datos de cabecera y VBRP de Factura: Datos de posición Paso #1: Para crear la vista de tablas accedemos a la transacción estándar SE11, Paso #2: Seleccionar...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Las Vistas de Tablas Base de Datos. Consiste en la unión de dos o más tablas de base de datos existentes en el Diccionario de Datos ABAP, utilizando condiciones de conexión y condiciones de selección, que nos van a permitir visualizar datos pertenecientes a varias tablas base de datos en una única selección de datos. Las Vistas de Tablas de Base de Datos tienen la misma estructura que las tablas base de datos, es decir, tienen filas y columnas, la única diferencia es que se almacena la definición y no los datos. Existen 3 tipos de tablas en SAP: Tablas Transparentes: se utilizan para almacenar datos de las aplicaciones o transacciones (ej: datos maestros) son creadas en el Diccionario...

Acceder a esta publicación

Creado y Compartido por: Carvajal Encina Franco Erasmo / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!