SlideShare una empresa de Scribd logo
1 de 4
WD4A:  Tabla  Árbol  (TreeByTableColumn)  
En	
  el	
  artículo	
  anterior	
  comentamos	
  como	
  crear	
  una	
  tabla	
  con	
  el	
  UI	
  Element	
  Table	
  de	
  Web	
  
Dynpro.	
   Existe	
   la	
   posibilidad	
   de	
   que	
   este	
   elemento	
   tenga	
   estructura	
   de	
   árbol.	
   Para	
   ello,	
   es	
  
necesario	
  añadir	
  una	
  masterColumn	
  que	
  será	
  la	
  encargada	
  de	
  contraer	
  o	
  expandir	
  los	
  nodos.	
  
Existen	
  dos	
  tipos	
  de	
  masterColumn:	
  
§ TreeByKeyTableColumn	
  	
  
§ TreeByNestingTableColumn	
  
En	
   este	
   artículo	
   se	
   muestran	
   los	
   pasos	
   de	
   cómo	
   crear	
   una	
   tabla	
   con	
   el	
   primer	
   tipo	
   de	
  
columna	
  maestra.	
  
TreeByKeyTableColumn  
El	
  primer	
  paso	
  para	
  crear	
  una	
  tabla	
  árbol	
  es	
  como	
  el	
  de	
  cualquier	
  tabla,	
  crear	
  un	
  nodo	
  
(cardinalidad	
  0…n	
  o	
  1…n)	
  en	
  el	
  contexto.	
  En	
  este	
  nodo,	
  a	
  parte	
  de	
  los	
  atributos	
  que	
  contienen	
  
la	
  información	
  que	
  se	
  quiere	
  mostrar,	
  es	
  necesario	
  definir	
  los	
  siguientes:	
  
§ ROW_KEY	
  (String):	
  La	
  clave	
  de	
  la	
  fila	
  
§ PARENT_KEY	
  (String):	
  La	
  clave	
  de	
  la	
  fila	
  padre	
  
§ EXPANDED	
  (WDY_BOOLEAN):	
  Para	
  controlar	
  si	
  la	
  fila	
  esta	
  expandida	
  o	
  no.	
  
§ IS_LEAF	
  (WDY_BOOLEAN):	
  Para	
  indicar	
  si	
  la	
  fila	
  es	
  una	
  hoja	
  o	
  no.	
  
§ NODE_CONTENT:	
   Este	
   atributo	
   es	
   opcional,	
   y	
   guardará	
   la	
   información	
   de	
   la	
  
columna	
  maestra.	
  
En	
  el	
  ejemplo	
  de	
  este	
  artículo,	
  tenemos	
  dos	
  atributos	
  a	
  mostrar,	
  por	
  lo	
  tanto	
  nuestro	
  
nodo	
  del	
  contexto	
  quedará	
  de	
  la	
  siguiente	
  forma:	
  
	
  
A	
  continuación,	
  se	
  crea	
  una	
  tabla	
  en	
  el	
  layout	
  y	
  añadimos	
  las	
  columnas	
  de	
  los	
  atributos	
  que	
  
queremos	
  mostrar.	
  En	
  el	
  ejemplo	
  añadimos	
  dos	
  columnas	
  con	
  un	
  text_view  como  cell_editor  
con	
  la	
  propiedad	
  text  bindeada	
  a	
  los	
  atributos	
  “columna1”	
  y	
  “columna2”.	
  
 Una	
  vez	
  creada	
  la	
  tabla,	
  añadimos	
  una	
  masterColumn  del  tipo  TreeByKeyTableColumn.	
  En	
  
las	
   propiedades	
   de	
   esta	
   nueva	
   columna,	
   relacionamos	
   los	
   atributos	
   que	
   hemos	
   creado	
   con	
  
anterioridad:	
  
	
   	
  
La	
  columna	
  maestra	
  también	
  puede	
  mostrar	
  datos	
  como	
  cualquier	
  columna,	
  añadiéndole	
  
cualquier	
   tipo	
   de	
   cell_editor.	
   Lo	
   que	
   diferencia	
   esta	
   columna	
   es	
   que	
   siempre	
   estará	
   en	
   la	
  
primera	
  posición,	
  y	
  que	
  dará	
  la	
  opción	
  de	
  contraer	
  o	
  expandir	
  los	
  nodos	
  de	
  la	
  tabla.	
  En	
  nuestro	
  
caso,	
  añadimos	
  otro	
  text_view	
  relacionado	
  con	
  el	
  atributo	
  “NODE_CONTENT”	
  
Con	
  estos	
  pasos	
  ya	
  tenemos	
  definida	
  la	
  tabla	
  en	
  el	
  layout.	
  Ahora,	
  a	
  la	
  hora	
  de	
  rellenar	
  el	
  
nodo	
  del	
  contexto	
  que	
  hace	
  referencia	
  a	
  la	
  tabla,	
  será	
  necesario	
  que	
  estos	
  atributos	
  tengan	
  
unos	
  valores	
  específicos,	
  además	
  de	
  los	
  datos	
  que	
  queremos	
  mostrar.	
  En	
  el	
  siguiente	
  método	
  
se	
  tiene	
  un	
  ejemplo	
  de	
  cómo	
  crear	
  una	
  tabla	
  con	
  tres	
  niveles,	
  con	
  tres	
  hijos	
  por	
  nivel.	
  
	
  
METHOD crear_arbol.
DATA lo_nd_tabla_arbol TYPE REF TO if_wd_context_node.
DATA lt_tabla_arbol TYPE wd_this->elements_tabla_arbol.
DATA ls_tabla_arbol LIKE LINE OF lt_tabla_arbol.
lo_nd_tabla_arbol = wd_context->get_child_node( name = wd_this->wdctx_tabla_arbol ).
DATA: lvl1_index TYPE string,
lvl2_index TYPE string,
lvl3_index TYPE string.
**Comenzamos el árbol
* NIVEL 1
DO 3 TIMES.
** Como clave de fila cogemos el numero de iteración
lvl1_index = sy-index.
CONDENSE lvl1_index.
** Datos para la masterColumn
ls_tabla_arbol-row_key = lvl1_index.
ls_tabla_arbol-parent_key = ''."Como es el nivel 1 no tiene padre
ls_tabla_arbol-is_leaf = abap_false."Como tiene hijos no es hoja
** Los datos a mostrar
ls_tabla_arbol-node_content = ls_tabla_arbol-row_key.
ls_tabla_arbol-columna1 = '1'.
ls_tabla_arbol-columna2 = 'Rama'.
** Añadimos la fila a la tabla
INSERT ls_tabla_arbol INTO TABLE lt_tabla_arbol.
* NIVEL 2
DO 3 TIMES.
** Como clave de fila cogemos la clave del padre y el numero de iteración
lvl2_index = sy-index.
CONDENSE lvl2_index.
CONCATENATE lvl1_index `.` lvl2_index INTO lvl2_index.
** Datos para la masterColumn
ls_tabla_arbol-row_key = lvl2_index.
ls_tabla_arbol-parent_key = lvl1_index."Clave del padre
ls_tabla_arbol-is_leaf = abap_false."Como tiene hijos no es hoja
** Los datos a mostrar
ls_tabla_arbol-node_content = ls_tabla_arbol-row_key.
ls_tabla_arbol-columna1 = '2'.
ls_tabla_arbol-columna2 = 'Rama'.
** Añadimos la fila a la tabla
INSERT ls_tabla_arbol INTO TABLE lt_tabla_arbol.
* NIVEL 3
DO 3 TIMES.
** Como clave de fila cogemos la clave de los padres y el numero de iteración
lvl3_index = sy-index.
CONDENSE lvl3_index.
CONCATENATE lvl2_index `.` lvl3_index INTO lvl3_index.
** Datos para la masterColumn
ls_tabla_arbol-row_key = lvl3_index.
ls_tabla_arbol-parent_key = lvl2_index."Clave del padre
ls_tabla_arbol-is_leaf = abap_true."Como no tiene hijos es hoja
** Los datos a mostrar
ls_tabla_arbol-node_content = ls_tabla_arbol-row_key.
ls_tabla_arbol-columna1 = '3'.
ls_tabla_arbol-columna2 = 'Hoja'.
** Añadimos la fila a la tabla
INSERT ls_tabla_arbol INTO TABLE lt_tabla_arbol.
ENDDO.
ENDDO.
ENDDO.
**Pasamos la tabla al contexto
lo_nd_tabla_arbol-
>bind_table( new_items = lt_tabla_arbol set_initial_elements = abap_true ).
ENDMETHOD.
	
  
Al	
   ejecutar	
   el	
   método	
   anterior,	
   y	
   con	
   el	
   layout	
   definido	
   como	
   se	
   ha	
   comentado	
  
anteriormente,	
  al	
   abrir	
  la	
  aplicación	
  Web	
   Dynpro	
  el	
  resultado	
  será	
  una	
  tabla	
  como	
  la	
  de	
  la	
  
siguiente	
  imagen.	
  
 
	
  

Más contenido relacionado

La actualidad más candente

Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysqlI LG
 
Visual basic 2010 data por codigo
Visual basic 2010 data por codigoVisual basic 2010 data por codigo
Visual basic 2010 data por codigojuan fernandez
 
Comandos basicos para bases de datos
Comandos basicos para bases de datosComandos basicos para bases de datos
Comandos basicos para bases de datosClau Doria
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial BásicoJosu Orbe
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportjbersosa
 
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez HGuía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez HJosé Ricardo Tillero Giménez
 
SQL Visual Basic 6.0
SQL Visual Basic 6.0SQL Visual Basic 6.0
SQL Visual Basic 6.0odairfunez
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql serverDeisyVilchez
 
Creación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL ServerCreación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL ServerZeleneMorita
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sqlJuanKMillos
 

La actualidad más candente (19)

Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysql
 
Visual basic 2010 data por codigo
Visual basic 2010 data por codigoVisual basic 2010 data por codigo
Visual basic 2010 data por codigo
 
Comandos basicos para bases de datos
Comandos basicos para bases de datosComandos basicos para bases de datos
Comandos basicos para bases de datos
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial Básico
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Clase 1 Modelo Físico de Base de Datos
Clase 1 Modelo Físico de Base de DatosClase 1 Modelo Físico de Base de Datos
Clase 1 Modelo Físico de Base de Datos
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez HGuía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
 
SQL Visual Basic 6.0
SQL Visual Basic 6.0SQL Visual Basic 6.0
SQL Visual Basic 6.0
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql server
 
Creación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL ServerCreación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL Server
 
J table
J tableJ table
J table
 
Práctica SQL en MYSQL
Práctica SQL en MYSQLPráctica SQL en MYSQL
Práctica SQL en MYSQL
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sql
 
Curso oracle por temas
Curso oracle por temasCurso oracle por temas
Curso oracle por temas
 
Wenas wenas
Wenas wenasWenas wenas
Wenas wenas
 
Bdii 04 sql
Bdii 04 sqlBdii 04 sql
Bdii 04 sql
 
Unidad IV SQL
Unidad IV SQLUnidad IV SQL
Unidad IV SQL
 

Similar a Crea tabla árbol con TreeByKeyTableColumn

Modulo de programacion sql unidad II
Modulo de programacion sql   unidad IIModulo de programacion sql   unidad II
Modulo de programacion sql unidad IIfiremas
 
Unidad DidáCtica V Sql Interactivo
Unidad DidáCtica V Sql InteractivoUnidad DidáCtica V Sql Interactivo
Unidad DidáCtica V Sql InteractivoConfesorAD
 
Bases datos-visual-basic
Bases datos-visual-basicBases datos-visual-basic
Bases datos-visual-basicmastermmx
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacionalOrlando Verdugo
 
Manual MySQL.pdf
Manual MySQL.pdfManual MySQL.pdf
Manual MySQL.pdfquesadah
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 
Creando Tablas
Creando TablasCreando Tablas
Creando Tablasjameszx
 
Descripcion de comandos sql (Presentacion)
Descripcion de comandos sql (Presentacion)Descripcion de comandos sql (Presentacion)
Descripcion de comandos sql (Presentacion)Ricardo Santos Garza
 
SAE-T08-Roberto Moreno Solis.pptx
SAE-T08-Roberto Moreno Solis.pptxSAE-T08-Roberto Moreno Solis.pptx
SAE-T08-Roberto Moreno Solis.pptxjulion13
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosAndreitap de Granda
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Instrucciones basicas my sql
Instrucciones basicas my sqlInstrucciones basicas my sql
Instrucciones basicas my sqlnilzealvarez1
 

Similar a Crea tabla árbol con TreeByKeyTableColumn (20)

Modulo de programacion sql unidad II
Modulo de programacion sql   unidad IIModulo de programacion sql   unidad II
Modulo de programacion sql unidad II
 
Unidad DidáCtica V Sql Interactivo
Unidad DidáCtica V Sql InteractivoUnidad DidáCtica V Sql Interactivo
Unidad DidáCtica V Sql Interactivo
 
Bases de-datos-en-visual-basic
Bases de-datos-en-visual-basicBases de-datos-en-visual-basic
Bases de-datos-en-visual-basic
 
Bases datos-visual-basic
Bases datos-visual-basicBases datos-visual-basic
Bases datos-visual-basic
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
210927124637-Manual MySQL.pdf
210927124637-Manual MySQL.pdf210927124637-Manual MySQL.pdf
210927124637-Manual MySQL.pdf
 
Manual MySQL.pdf
Manual MySQL.pdfManual MySQL.pdf
Manual MySQL.pdf
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Creando Tablas
Creando TablasCreando Tablas
Creando Tablas
 
Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
Descripcion de comandos sql (Presentacion)
Descripcion de comandos sql (Presentacion)Descripcion de comandos sql (Presentacion)
Descripcion de comandos sql (Presentacion)
 
Diapositivas De Tablas y Base Datos
Diapositivas De Tablas y Base DatosDiapositivas De Tablas y Base Datos
Diapositivas De Tablas y Base Datos
 
SAE-T08-Roberto Moreno Solis.pptx
SAE-T08-Roberto Moreno Solis.pptxSAE-T08-Roberto Moreno Solis.pptx
SAE-T08-Roberto Moreno Solis.pptx
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
DESPLIEGUE SERVIDOR BASE DE DATOS
DESPLIEGUE SERVIDOR BASE DE DATOSDESPLIEGUE SERVIDOR BASE DE DATOS
DESPLIEGUE SERVIDOR BASE DE DATOS
 
Indices en workbench
Indices en workbenchIndices en workbench
Indices en workbench
 
Practica4
Practica4Practica4
Practica4
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Instrucciones basicas my sql
Instrucciones basicas my sqlInstrucciones basicas my sql
Instrucciones basicas my sql
 

Más de Oreka IT

Configuración de SAP LSMW
Configuración de SAP LSMW Configuración de SAP LSMW
Configuración de SAP LSMW Oreka IT
 
Manual posicionamiento en buscadores SEO
Manual posicionamiento en buscadores SEO Manual posicionamiento en buscadores SEO
Manual posicionamiento en buscadores SEO Oreka IT
 
Las 10 ventajas competitivas de SAP ERP
Las 10 ventajas competitivas de SAP ERPLas 10 ventajas competitivas de SAP ERP
Las 10 ventajas competitivas de SAP ERPOreka IT
 
10 razones de por qué las PYMES eligen SAP
10 razones de por qué las PYMES eligen SAP10 razones de por qué las PYMES eligen SAP
10 razones de por qué las PYMES eligen SAPOreka IT
 
Implantando un ERP a medida desde cero
Implantando un ERP a medida desde ceroImplantando un ERP a medida desde cero
Implantando un ERP a medida desde ceroOreka IT
 
Planificacion de costes de personal en sap - Tutorial SAP HCM
Planificacion de costes de personal en sap - Tutorial SAP HCMPlanificacion de costes de personal en sap - Tutorial SAP HCM
Planificacion de costes de personal en sap - Tutorial SAP HCMOreka IT
 
SAP ABAP Proxy Objects: Configuración del entorno
SAP ABAP Proxy Objects: Configuración del entornoSAP ABAP Proxy Objects: Configuración del entorno
SAP ABAP Proxy Objects: Configuración del entornoOreka IT
 
Sap bi 4.0
Sap bi 4.0Sap bi 4.0
Sap bi 4.0Oreka IT
 
Tutorial SAP: Instalación sap bo 4.0
Tutorial SAP: Instalación sap bo 4.0Tutorial SAP: Instalación sap bo 4.0
Tutorial SAP: Instalación sap bo 4.0Oreka IT
 
Sap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymesSap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymesOreka IT
 
Orekait diocesanas
Orekait diocesanasOrekait diocesanas
Orekait diocesanasOreka IT
 
SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7Oreka IT
 
Formación SAP Vitoria - Gasteiz 2011
Formación SAP Vitoria - Gasteiz 2011Formación SAP Vitoria - Gasteiz 2011
Formación SAP Vitoria - Gasteiz 2011Oreka IT
 

Más de Oreka IT (13)

Configuración de SAP LSMW
Configuración de SAP LSMW Configuración de SAP LSMW
Configuración de SAP LSMW
 
Manual posicionamiento en buscadores SEO
Manual posicionamiento en buscadores SEO Manual posicionamiento en buscadores SEO
Manual posicionamiento en buscadores SEO
 
Las 10 ventajas competitivas de SAP ERP
Las 10 ventajas competitivas de SAP ERPLas 10 ventajas competitivas de SAP ERP
Las 10 ventajas competitivas de SAP ERP
 
10 razones de por qué las PYMES eligen SAP
10 razones de por qué las PYMES eligen SAP10 razones de por qué las PYMES eligen SAP
10 razones de por qué las PYMES eligen SAP
 
Implantando un ERP a medida desde cero
Implantando un ERP a medida desde ceroImplantando un ERP a medida desde cero
Implantando un ERP a medida desde cero
 
Planificacion de costes de personal en sap - Tutorial SAP HCM
Planificacion de costes de personal en sap - Tutorial SAP HCMPlanificacion de costes de personal en sap - Tutorial SAP HCM
Planificacion de costes de personal en sap - Tutorial SAP HCM
 
SAP ABAP Proxy Objects: Configuración del entorno
SAP ABAP Proxy Objects: Configuración del entornoSAP ABAP Proxy Objects: Configuración del entorno
SAP ABAP Proxy Objects: Configuración del entorno
 
Sap bi 4.0
Sap bi 4.0Sap bi 4.0
Sap bi 4.0
 
Tutorial SAP: Instalación sap bo 4.0
Tutorial SAP: Instalación sap bo 4.0Tutorial SAP: Instalación sap bo 4.0
Tutorial SAP: Instalación sap bo 4.0
 
Sap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymesSap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymes
 
Orekait diocesanas
Orekait diocesanasOrekait diocesanas
Orekait diocesanas
 
SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7
 
Formación SAP Vitoria - Gasteiz 2011
Formación SAP Vitoria - Gasteiz 2011Formación SAP Vitoria - Gasteiz 2011
Formación SAP Vitoria - Gasteiz 2011
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (19)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Crea tabla árbol con TreeByKeyTableColumn

  • 1. WD4A:  Tabla  Árbol  (TreeByTableColumn)   En  el  artículo  anterior  comentamos  como  crear  una  tabla  con  el  UI  Element  Table  de  Web   Dynpro.   Existe   la   posibilidad   de   que   este   elemento   tenga   estructura   de   árbol.   Para   ello,   es   necesario  añadir  una  masterColumn  que  será  la  encargada  de  contraer  o  expandir  los  nodos.   Existen  dos  tipos  de  masterColumn:   § TreeByKeyTableColumn     § TreeByNestingTableColumn   En   este   artículo   se   muestran   los   pasos   de   cómo   crear   una   tabla   con   el   primer   tipo   de   columna  maestra.   TreeByKeyTableColumn   El  primer  paso  para  crear  una  tabla  árbol  es  como  el  de  cualquier  tabla,  crear  un  nodo   (cardinalidad  0…n  o  1…n)  en  el  contexto.  En  este  nodo,  a  parte  de  los  atributos  que  contienen   la  información  que  se  quiere  mostrar,  es  necesario  definir  los  siguientes:   § ROW_KEY  (String):  La  clave  de  la  fila   § PARENT_KEY  (String):  La  clave  de  la  fila  padre   § EXPANDED  (WDY_BOOLEAN):  Para  controlar  si  la  fila  esta  expandida  o  no.   § IS_LEAF  (WDY_BOOLEAN):  Para  indicar  si  la  fila  es  una  hoja  o  no.   § NODE_CONTENT:   Este   atributo   es   opcional,   y   guardará   la   información   de   la   columna  maestra.   En  el  ejemplo  de  este  artículo,  tenemos  dos  atributos  a  mostrar,  por  lo  tanto  nuestro   nodo  del  contexto  quedará  de  la  siguiente  forma:     A  continuación,  se  crea  una  tabla  en  el  layout  y  añadimos  las  columnas  de  los  atributos  que   queremos  mostrar.  En  el  ejemplo  añadimos  dos  columnas  con  un  text_view  como  cell_editor   con  la  propiedad  text  bindeada  a  los  atributos  “columna1”  y  “columna2”.  
  • 2.  Una  vez  creada  la  tabla,  añadimos  una  masterColumn  del  tipo  TreeByKeyTableColumn.  En   las   propiedades   de   esta   nueva   columna,   relacionamos   los   atributos   que   hemos   creado   con   anterioridad:       La  columna  maestra  también  puede  mostrar  datos  como  cualquier  columna,  añadiéndole   cualquier   tipo   de   cell_editor.   Lo   que   diferencia   esta   columna   es   que   siempre   estará   en   la   primera  posición,  y  que  dará  la  opción  de  contraer  o  expandir  los  nodos  de  la  tabla.  En  nuestro   caso,  añadimos  otro  text_view  relacionado  con  el  atributo  “NODE_CONTENT”   Con  estos  pasos  ya  tenemos  definida  la  tabla  en  el  layout.  Ahora,  a  la  hora  de  rellenar  el   nodo  del  contexto  que  hace  referencia  a  la  tabla,  será  necesario  que  estos  atributos  tengan   unos  valores  específicos,  además  de  los  datos  que  queremos  mostrar.  En  el  siguiente  método   se  tiene  un  ejemplo  de  cómo  crear  una  tabla  con  tres  niveles,  con  tres  hijos  por  nivel.     METHOD crear_arbol. DATA lo_nd_tabla_arbol TYPE REF TO if_wd_context_node. DATA lt_tabla_arbol TYPE wd_this->elements_tabla_arbol. DATA ls_tabla_arbol LIKE LINE OF lt_tabla_arbol. lo_nd_tabla_arbol = wd_context->get_child_node( name = wd_this->wdctx_tabla_arbol ). DATA: lvl1_index TYPE string, lvl2_index TYPE string, lvl3_index TYPE string. **Comenzamos el árbol * NIVEL 1 DO 3 TIMES. ** Como clave de fila cogemos el numero de iteración
  • 3. lvl1_index = sy-index. CONDENSE lvl1_index. ** Datos para la masterColumn ls_tabla_arbol-row_key = lvl1_index. ls_tabla_arbol-parent_key = ''."Como es el nivel 1 no tiene padre ls_tabla_arbol-is_leaf = abap_false."Como tiene hijos no es hoja ** Los datos a mostrar ls_tabla_arbol-node_content = ls_tabla_arbol-row_key. ls_tabla_arbol-columna1 = '1'. ls_tabla_arbol-columna2 = 'Rama'. ** Añadimos la fila a la tabla INSERT ls_tabla_arbol INTO TABLE lt_tabla_arbol. * NIVEL 2 DO 3 TIMES. ** Como clave de fila cogemos la clave del padre y el numero de iteración lvl2_index = sy-index. CONDENSE lvl2_index. CONCATENATE lvl1_index `.` lvl2_index INTO lvl2_index. ** Datos para la masterColumn ls_tabla_arbol-row_key = lvl2_index. ls_tabla_arbol-parent_key = lvl1_index."Clave del padre ls_tabla_arbol-is_leaf = abap_false."Como tiene hijos no es hoja ** Los datos a mostrar ls_tabla_arbol-node_content = ls_tabla_arbol-row_key. ls_tabla_arbol-columna1 = '2'. ls_tabla_arbol-columna2 = 'Rama'. ** Añadimos la fila a la tabla INSERT ls_tabla_arbol INTO TABLE lt_tabla_arbol. * NIVEL 3 DO 3 TIMES. ** Como clave de fila cogemos la clave de los padres y el numero de iteración lvl3_index = sy-index. CONDENSE lvl3_index. CONCATENATE lvl2_index `.` lvl3_index INTO lvl3_index. ** Datos para la masterColumn ls_tabla_arbol-row_key = lvl3_index. ls_tabla_arbol-parent_key = lvl2_index."Clave del padre ls_tabla_arbol-is_leaf = abap_true."Como no tiene hijos es hoja ** Los datos a mostrar ls_tabla_arbol-node_content = ls_tabla_arbol-row_key. ls_tabla_arbol-columna1 = '3'. ls_tabla_arbol-columna2 = 'Hoja'. ** Añadimos la fila a la tabla INSERT ls_tabla_arbol INTO TABLE lt_tabla_arbol. ENDDO. ENDDO. ENDDO. **Pasamos la tabla al contexto lo_nd_tabla_arbol- >bind_table( new_items = lt_tabla_arbol set_initial_elements = abap_true ). ENDMETHOD.   Al   ejecutar   el   método   anterior,   y   con   el   layout   definido   como   se   ha   comentado   anteriormente,  al   abrir  la  aplicación  Web   Dynpro  el  resultado  será  una  tabla  como  la  de  la   siguiente  imagen.