SlideShare una empresa de Scribd logo
1 de 26
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
ALV Orientado a Objetos (ALV OO)
Elaboración y edición de un ALV Orientado a Objetos
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
ALV Orientado a Objetos (ALV OO)
Introducción.
Desarrollo (9 Pasos para su elaboración)
Creación de botones en los ALV OO
Fundamentos SAP Netweaver
ALVs OO Editables
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Introducción (1/2)
Un ALV Orientado a
objetos (ALV OO), es una
herramienta flexible para
el despliegue de listados,
ya que lo hace de manera
interactiva, no estática y
con modelos modernos en
los listados.
Funciones básicas:
Almacenar, Filtrar, Sumar
datos.
Finalidad de un ALV:
Adaptar el listado a las
necesidades del usuario.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Para la creación del ALV OO se ocuparán clases ya
existentes en el sistema, las cuales nos facilitan dicha tarea;
y de esta manera, el desarrollador se limita a crear objetos
de dichas clases y mandarlos llamar.
Introducción (2/2)
 En esta presentación se explicará paso a paso la
elaboración de un ALV OO, que mostrará un listado simple; y
en base al ejemplo aquí mostrado, se pueden elaborar
futuras funciones a añadir como: almacenar, filtrar etc.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Paso 1. Se creará un objeto de la clase
CL_GUI_CUSTOM_CONTAINER, el cual llamará al custom
container que más adelante se creará.
¿Cómo se crea un objeto?, La creación de un objeto en
ABAP sigue la siguiente sintaxis.
Ejemplo: DATA: R_CONTAINER | TYPE REF TO |
CL_GUI_CUSTOM_CONTAINER.
Desarrollo (2/15)
Nombre
del objeto.
"TYPE REF
TO"
Clase
referida.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Paso 2. Se creará un objeto de la clase
CL_GUI_ALV_GRID, el cual imprimirá los datos obtenidos
del listado.
Ejemplo: DATA: R_GRID | TYPE REF TO |
CL_GUI_ALV_GRID.
Paso 3. Se llenará la tabla que se desea imprimir en el
listado.
Esto se logra mediante “SELECTS” y “LOOPS”.
Desarrollo (3/15)
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Para la creación de una estructura contamos con la
transacción SE11, la cual nos ayuda a crear, visualizar o
eliminar estructuras.
¿Cómo se crea una estructura?
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Desarrollo (5/15)
Nota El tipo de componente no siempre es igual al componente, por
lo cual antes se debe dirigir a la tabla transparente a obtener su tipo
de componente.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
DATA:
I_DATOS TYPE TABLE OF ZMIESTRUCTURA, “DECLARA UNA TABLA
LLAMADA I_DATOS, LA CUAL SERA UNA “COPIA DE LA ESTRUTURA
LLAMADA “ZMIESTRUCTURA”
FS_DATOS TYPE ZMIESTRUCTURA. “ DECLARA UNA TABLA LLAMADA
FS_DATOS QUE SERVIRA COMO CABECERA DE LA TABLA INTERNA
I_DATOS.
Desarrollo (6/15)
Esto por parte de la declaración. (En ABAP OO No se
puede utilizar tablas con cabecera).
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
LOOP AT IT_MKPF.
FS_DATOS-MBLNR = IT_MKPF-MBLNR.
FS_DATOS-MJAHR = IT_MKPF-MJAHR.
FS_DATOS-BLART = IT_MKPF-BLART.
FS_DATOS-BUDAT = IT_MKPF-BUDAT.
APPEND FS_DATOS TO I_DATOS.
ENDLOOP.
Desarrollo (7/15)
Al momento del llenado, los datos serán almacenados en
la cabecera FS_DATOS y copiados a I_DATOS por medio
de un APPEND
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Paso 4. Se creará una “SCREEN” o “DYNPRO” la cual
contendrá el custom container.
La manera más sencilla de crear la dynpro es declararla y
dar doble click en ella.
La dynpro nos mostrará tres pestañas, en la pestaña
Log.Proceso se descomenta el código que viene por default
y se añade la línea 2 de la siguiente imagen.
Desarrollo (8/15)
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Paso 5. Se mandara llamar a la dynpro.
Ejemplo: Call screen 100.
Paso 6. Se creará un module status de salida.
Este module status de salida sirve para especificar cuáles
serán los elemento que nos ayudaran a mostrar el listado,
tales como la dynpro y la barra de titulo, un module status
se declara de la siguiente manera.
Desarrollo (9/15)
MODULE STATUS_0100 OUTPUT. “SE ESTÁ ESPECIFICANDO QUE ES
UN MODULE DE SALIDA.
SET PF-STATUS 'SCREEN1'. “ASIGNA A LA SCREEN1 COMO SCREEN
DE SALIDA.
SET TITLEBAR 'TITLE1'.ENDMODULE. "ASIGNA LA BARRA DE TITULO
“TITLE1” PARA EL MODULE DE SALIDA.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Paso 7. Se creará un module user de entrada.
Este module user de entrada sirve para asignar acción a los
botones que aparecerán en nuestro screen del ALV OO, de esta
manera podemos especificar el valor que va a recibir del usuario y
la acción que realizara.
Desarrollo (10/15)
MODULE USER_COMMAND_0100 INPUT. “SE ESTÁ ESPECIFICANDO QUE
ES UN MODULE DE ENTRADA.
CASE SY-UCOMM. “ALMACENA ACCIONES QUE EL USUARIO DESEA
REALIZAR (MUY PARECIDO AL OK_CODE).
WHEN 'BACK'. “CUANDO EL USUARIO DESEE REGRESAR (PRESIONE EL
BOTON BACK), EL USUARIO SERA ENVIADO
“AL SCREEN INICIAL.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Este tipo de acciones (Paso 7) debe ser especificada en el
“SCREEN” de salida, en el botón que se desee almacene
dicha acción.
Desarrollo (11/15)
Paso 8. De la misma manera que el paso 4, dentro del menú de la
dynpro, accionamos el botón ,Este botón nos abrirá una
ventana de modificación de la dynpro llamada “Screen Printer”, en
el cual se creara el custom container.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Con el botón “custom
control” (Ver Fig.7) se
creará el campo en el cual
se desplegara la lista,
después de creado el
campo dentro del GRID, le
damos un nombre, con la
única condición que el
nombre que le demos al
custom sea el mismo que
mandamos llamar en
nuestro código.
Desarrollo (12/15)
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Paso 9. Se creara un module list de salida.
En este module list, mandaremos a llamar a las funciones que nos
ayudaran a armar nuestro listado (SREEN, GRID, etc).
Desarrollo (13/15)
MODULE LIST OUTPUT. “SE ESTÁ ESPECIFICANDO QUE ES UN
MODULE DE SALIDA.
CREATE OBJECT R_CONTAINER “MANDA A LLAMAR AL OBJETO DE
LA CLASE CL_GUI_CUSTOM_CONTAINER.
EXPORTING
CONTAINER_NAME = 'CONTAINER'. “INSERTA COMO ATRIBUTO
EXPORTING EL NOMBRE DEL CONTENEDOR.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Desarrollo (14/15)
CREATE OBJECT R_GRID “MANDA A LLAMAR AL OBJETO DE LA CLASE
CL_GUI_ALV_GRID.
EXPORTING
I_PARENT = R_CONTAINER. “INSERTA COMO ATRIBUTO EXPORTING AL
OBJETO CONTAINER.
CALL METHOD R_GRID->SET_TABLE_FOR_FIRST_DISPLAY “ SE
LLAMARÁ AL MÉTODO “SET_TABLE_FOR_FIRST_DISPLAY DE LA CLASE
CL_GUI_ALV_GRID.
EXPORTING
I_STRUCTURE_NAME = 'SFLIGHT' “SE ESPECIFICARA LA ESTRUCTURA
QUE SE UTILIZARÁ PARA MANDAR A IMPRIMIR EL “LISTADO.
CHANGING
IT_OUTTAB = T_SFLIGHT. “SE ESPECIFICA LA TABLA INTERNA QUE
SERÁ IMPRESA EN EL LISTADO.
ENDMODULE.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Desarrollo (15/15)
Resultado esperado al final de los 9 pasos.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Para la creación de botones en los ALVs tenemos que haber
creado previamente el Screen, como en los ejemplos
anteriores. Una vez creado, accedemos mediante el menú
“status GUI”. Este nos despliega tres ventanas: Barra de
menús, Barra de pulsadores, teclas de función.
Acceder a la “barra de pulsadores”
Creación de botones en
los ALV OO (1/3).
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Ya que asignamos un nombre y tipo a la función, es
necesario añadirle un Texto, Icono e Información (Que
aparecerá en la barra de mensajes en el momento de
ejecución). El icono tiene que ser elegido según la función
que se desee realizar
Creación de botones en los
ALV OO (2/3).
Ya creado botón, se le puede asignar una tecla específica
para la función (Comando), en la siguiente venta se muestran
las opciones a elegir
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Creación de botones en los
ALV OO (3/3).
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
El contar con un ALV editable es de gran utilidad para los
usuarios, ya que no será necesario hacer un tipo de carga
para su modificación o entrar directamente al código para
hacerlo.
Para hacer editable un ALV es necesario hacer uso del
método: set_ready_for_input, en el cual se mandara una
bandera de modificación (0 ó 1) mediante el exporting
i_ready_for_input.
ALVs OO EDITABLES(1/3).
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
Ya que el objetivo de un ALV OO es hacer dinámico el listado, se
añadirá un botón para la modificación del ALV; este botón tendrá la
siguiente función: ¿Se ha tecleado el botón por primera vez?
Entonces el ALV se convierte en editable.
ALVs OO EDITABLES(3/3).
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
¿Se encuentra en estado editable?, ¿Se vuelve a teclear el botón?
Entonces el ALV vuelve a su estado normal. De esta manera el
usuario protege su información cuando solo quiere visualizar.
ALVs OO EDITABLES(1/3).
IF R_GRID->IS_READY_FOR_INPUT( ) EQ 0.
"SI SE ACCIONA EL BOTON, SE VUELVE EDITABLE, DE LO C
ONTRARIO NO.
CALL METHOD R_GRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1. “EDITABLE.
ENDIF.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
© Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
¡Gracias!
Jorge García Ruíz
ABAP Developer Junior
Jorge.garciar@softtek.com

Más contenido relacionado

Similar a Abap presentacion-ALV_Orientado_a_Objetos.ppt

Simulacion fluid sim con step 7 por Edgar Chacca Cuti
Simulacion fluid sim con step 7 por Edgar Chacca CutiSimulacion fluid sim con step 7 por Edgar Chacca Cuti
Simulacion fluid sim con step 7 por Edgar Chacca CutiEdgar Chacca Cuti
 
Examen ISC
Examen ISCExamen ISC
Examen ISCivan mtz
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...jorgelebrato
 
Manual Tecnico
Manual TecnicoManual Tecnico
Manual Tecnicomakoto10
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
Profibus TIA Portal EMERSON EDUARDO RODRIGUES
Profibus TIA Portal EMERSON EDUARDO RODRIGUESProfibus TIA Portal EMERSON EDUARDO RODRIGUES
Profibus TIA Portal EMERSON EDUARDO RODRIGUESEMERSON EDUARDO RODRIGUES
 
Proyecto final Ingenieria del Software 1
Proyecto final Ingenieria del Software 1Proyecto final Ingenieria del Software 1
Proyecto final Ingenieria del Software 1Rodezzita Kù
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netAntonio Palomares Sender
 
Diseño sistema
Diseño sistemaDiseño sistema
Diseño sistemaUNEFA
 
TÉCNICAS DE ESTIMACIÓN
TÉCNICAS DE ESTIMACIÓN TÉCNICAS DE ESTIMACIÓN
TÉCNICAS DE ESTIMACIÓN Maritere Ibarra
 

Similar a Abap presentacion-ALV_Orientado_a_Objetos.ppt (20)

Simulacion fluid sim con step 7 por Edgar Chacca Cuti
Simulacion fluid sim con step 7 por Edgar Chacca CutiSimulacion fluid sim con step 7 por Edgar Chacca Cuti
Simulacion fluid sim con step 7 por Edgar Chacca Cuti
 
Visual basic .NET
Visual basic .NETVisual basic .NET
Visual basic .NET
 
S7 1200 lab view
S7 1200  lab viewS7 1200  lab view
S7 1200 lab view
 
Examen ISC
Examen ISCExamen ISC
Examen ISC
 
Tutorial cpl ds v1
Tutorial cpl ds v1Tutorial cpl ds v1
Tutorial cpl ds v1
 
Tutorial vijeo competo pag 90
Tutorial vijeo competo pag 90Tutorial vijeo competo pag 90
Tutorial vijeo competo pag 90
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
 
Manual Tecnico
Manual TecnicoManual Tecnico
Manual Tecnico
 
Tema 3
Tema 3Tema 3
Tema 3
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
Profibus TIA Portal EMERSON EDUARDO RODRIGUES
Profibus TIA Portal EMERSON EDUARDO RODRIGUESProfibus TIA Portal EMERSON EDUARDO RODRIGUES
Profibus TIA Portal EMERSON EDUARDO RODRIGUES
 
Servicios web
Servicios webServicios web
Servicios web
 
Proyecto final Ingenieria del Software 1
Proyecto final Ingenieria del Software 1Proyecto final Ingenieria del Software 1
Proyecto final Ingenieria del Software 1
 
CURSO COBOL MAINFRAME
CURSO COBOL MAINFRAMECURSO COBOL MAINFRAME
CURSO COBOL MAINFRAME
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
Diseño sistema
Diseño sistemaDiseño sistema
Diseño sistema
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Aladdin cargo - Steven Alejandro Suárez Castro
Aladdin cargo - Steven Alejandro Suárez CastroAladdin cargo - Steven Alejandro Suárez Castro
Aladdin cargo - Steven Alejandro Suárez Castro
 
TÉCNICAS DE ESTIMACIÓN
TÉCNICAS DE ESTIMACIÓN TÉCNICAS DE ESTIMACIÓN
TÉCNICAS DE ESTIMACIÓN
 
PLC Alternativo
PLC AlternativoPLC Alternativo
PLC Alternativo
 

Último

CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinosDayanaCarolinaAP
 

Último (20)

CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinos
 

Abap presentacion-ALV_Orientado_a_Objetos.ppt

  • 1. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. ALV Orientado a Objetos (ALV OO) Elaboración y edición de un ALV Orientado a Objetos
  • 2. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. ALV Orientado a Objetos (ALV OO) Introducción. Desarrollo (9 Pasos para su elaboración) Creación de botones en los ALV OO Fundamentos SAP Netweaver ALVs OO Editables
  • 3. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Introducción (1/2) Un ALV Orientado a objetos (ALV OO), es una herramienta flexible para el despliegue de listados, ya que lo hace de manera interactiva, no estática y con modelos modernos en los listados. Funciones básicas: Almacenar, Filtrar, Sumar datos. Finalidad de un ALV: Adaptar el listado a las necesidades del usuario.
  • 4. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Para la creación del ALV OO se ocuparán clases ya existentes en el sistema, las cuales nos facilitan dicha tarea; y de esta manera, el desarrollador se limita a crear objetos de dichas clases y mandarlos llamar. Introducción (2/2)  En esta presentación se explicará paso a paso la elaboración de un ALV OO, que mostrará un listado simple; y en base al ejemplo aquí mostrado, se pueden elaborar futuras funciones a añadir como: almacenar, filtrar etc.
  • 5. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Paso 1. Se creará un objeto de la clase CL_GUI_CUSTOM_CONTAINER, el cual llamará al custom container que más adelante se creará. ¿Cómo se crea un objeto?, La creación de un objeto en ABAP sigue la siguiente sintaxis. Ejemplo: DATA: R_CONTAINER | TYPE REF TO | CL_GUI_CUSTOM_CONTAINER. Desarrollo (2/15) Nombre del objeto. "TYPE REF TO" Clase referida.
  • 6. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Paso 2. Se creará un objeto de la clase CL_GUI_ALV_GRID, el cual imprimirá los datos obtenidos del listado. Ejemplo: DATA: R_GRID | TYPE REF TO | CL_GUI_ALV_GRID. Paso 3. Se llenará la tabla que se desea imprimir en el listado. Esto se logra mediante “SELECTS” y “LOOPS”. Desarrollo (3/15)
  • 7. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Para la creación de una estructura contamos con la transacción SE11, la cual nos ayuda a crear, visualizar o eliminar estructuras. ¿Cómo se crea una estructura?
  • 8. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Desarrollo (5/15) Nota El tipo de componente no siempre es igual al componente, por lo cual antes se debe dirigir a la tabla transparente a obtener su tipo de componente.
  • 9. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. DATA: I_DATOS TYPE TABLE OF ZMIESTRUCTURA, “DECLARA UNA TABLA LLAMADA I_DATOS, LA CUAL SERA UNA “COPIA DE LA ESTRUTURA LLAMADA “ZMIESTRUCTURA” FS_DATOS TYPE ZMIESTRUCTURA. “ DECLARA UNA TABLA LLAMADA FS_DATOS QUE SERVIRA COMO CABECERA DE LA TABLA INTERNA I_DATOS. Desarrollo (6/15) Esto por parte de la declaración. (En ABAP OO No se puede utilizar tablas con cabecera).
  • 10. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. LOOP AT IT_MKPF. FS_DATOS-MBLNR = IT_MKPF-MBLNR. FS_DATOS-MJAHR = IT_MKPF-MJAHR. FS_DATOS-BLART = IT_MKPF-BLART. FS_DATOS-BUDAT = IT_MKPF-BUDAT. APPEND FS_DATOS TO I_DATOS. ENDLOOP. Desarrollo (7/15) Al momento del llenado, los datos serán almacenados en la cabecera FS_DATOS y copiados a I_DATOS por medio de un APPEND
  • 11. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Paso 4. Se creará una “SCREEN” o “DYNPRO” la cual contendrá el custom container. La manera más sencilla de crear la dynpro es declararla y dar doble click en ella. La dynpro nos mostrará tres pestañas, en la pestaña Log.Proceso se descomenta el código que viene por default y se añade la línea 2 de la siguiente imagen. Desarrollo (8/15)
  • 12. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Paso 5. Se mandara llamar a la dynpro. Ejemplo: Call screen 100. Paso 6. Se creará un module status de salida. Este module status de salida sirve para especificar cuáles serán los elemento que nos ayudaran a mostrar el listado, tales como la dynpro y la barra de titulo, un module status se declara de la siguiente manera. Desarrollo (9/15) MODULE STATUS_0100 OUTPUT. “SE ESTÁ ESPECIFICANDO QUE ES UN MODULE DE SALIDA. SET PF-STATUS 'SCREEN1'. “ASIGNA A LA SCREEN1 COMO SCREEN DE SALIDA. SET TITLEBAR 'TITLE1'.ENDMODULE. "ASIGNA LA BARRA DE TITULO “TITLE1” PARA EL MODULE DE SALIDA.
  • 13. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Paso 7. Se creará un module user de entrada. Este module user de entrada sirve para asignar acción a los botones que aparecerán en nuestro screen del ALV OO, de esta manera podemos especificar el valor que va a recibir del usuario y la acción que realizara. Desarrollo (10/15) MODULE USER_COMMAND_0100 INPUT. “SE ESTÁ ESPECIFICANDO QUE ES UN MODULE DE ENTRADA. CASE SY-UCOMM. “ALMACENA ACCIONES QUE EL USUARIO DESEA REALIZAR (MUY PARECIDO AL OK_CODE). WHEN 'BACK'. “CUANDO EL USUARIO DESEE REGRESAR (PRESIONE EL BOTON BACK), EL USUARIO SERA ENVIADO “AL SCREEN INICIAL. LEAVE TO SCREEN 0. ENDCASE. ENDMODULE.
  • 14. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Este tipo de acciones (Paso 7) debe ser especificada en el “SCREEN” de salida, en el botón que se desee almacene dicha acción. Desarrollo (11/15) Paso 8. De la misma manera que el paso 4, dentro del menú de la dynpro, accionamos el botón ,Este botón nos abrirá una ventana de modificación de la dynpro llamada “Screen Printer”, en el cual se creara el custom container.
  • 15. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Con el botón “custom control” (Ver Fig.7) se creará el campo en el cual se desplegara la lista, después de creado el campo dentro del GRID, le damos un nombre, con la única condición que el nombre que le demos al custom sea el mismo que mandamos llamar en nuestro código. Desarrollo (12/15)
  • 16. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Paso 9. Se creara un module list de salida. En este module list, mandaremos a llamar a las funciones que nos ayudaran a armar nuestro listado (SREEN, GRID, etc). Desarrollo (13/15) MODULE LIST OUTPUT. “SE ESTÁ ESPECIFICANDO QUE ES UN MODULE DE SALIDA. CREATE OBJECT R_CONTAINER “MANDA A LLAMAR AL OBJETO DE LA CLASE CL_GUI_CUSTOM_CONTAINER. EXPORTING CONTAINER_NAME = 'CONTAINER'. “INSERTA COMO ATRIBUTO EXPORTING EL NOMBRE DEL CONTENEDOR.
  • 17. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Desarrollo (14/15) CREATE OBJECT R_GRID “MANDA A LLAMAR AL OBJETO DE LA CLASE CL_GUI_ALV_GRID. EXPORTING I_PARENT = R_CONTAINER. “INSERTA COMO ATRIBUTO EXPORTING AL OBJETO CONTAINER. CALL METHOD R_GRID->SET_TABLE_FOR_FIRST_DISPLAY “ SE LLAMARÁ AL MÉTODO “SET_TABLE_FOR_FIRST_DISPLAY DE LA CLASE CL_GUI_ALV_GRID. EXPORTING I_STRUCTURE_NAME = 'SFLIGHT' “SE ESPECIFICARA LA ESTRUCTURA QUE SE UTILIZARÁ PARA MANDAR A IMPRIMIR EL “LISTADO. CHANGING IT_OUTTAB = T_SFLIGHT. “SE ESPECIFICA LA TABLA INTERNA QUE SERÁ IMPRESA EN EL LISTADO. ENDMODULE.
  • 18. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Desarrollo (15/15) Resultado esperado al final de los 9 pasos.
  • 19. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Para la creación de botones en los ALVs tenemos que haber creado previamente el Screen, como en los ejemplos anteriores. Una vez creado, accedemos mediante el menú “status GUI”. Este nos despliega tres ventanas: Barra de menús, Barra de pulsadores, teclas de función. Acceder a la “barra de pulsadores” Creación de botones en los ALV OO (1/3).
  • 20. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Ya que asignamos un nombre y tipo a la función, es necesario añadirle un Texto, Icono e Información (Que aparecerá en la barra de mensajes en el momento de ejecución). El icono tiene que ser elegido según la función que se desee realizar Creación de botones en los ALV OO (2/3). Ya creado botón, se le puede asignar una tecla específica para la función (Comando), en la siguiente venta se muestran las opciones a elegir
  • 21. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Creación de botones en los ALV OO (3/3).
  • 22. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. El contar con un ALV editable es de gran utilidad para los usuarios, ya que no será necesario hacer un tipo de carga para su modificación o entrar directamente al código para hacerlo. Para hacer editable un ALV es necesario hacer uso del método: set_ready_for_input, en el cual se mandara una bandera de modificación (0 ó 1) mediante el exporting i_ready_for_input. ALVs OO EDITABLES(1/3).
  • 23. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. Ya que el objetivo de un ALV OO es hacer dinámico el listado, se añadirá un botón para la modificación del ALV; este botón tendrá la siguiente función: ¿Se ha tecleado el botón por primera vez? Entonces el ALV se convierte en editable. ALVs OO EDITABLES(3/3).
  • 24. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. ¿Se encuentra en estado editable?, ¿Se vuelve a teclear el botón? Entonces el ALV vuelve a su estado normal. De esta manera el usuario protege su información cuando solo quiere visualizar. ALVs OO EDITABLES(1/3). IF R_GRID->IS_READY_FOR_INPUT( ) EQ 0. "SI SE ACCIONA EL BOTON, SE VUELVE EDITABLE, DE LO C ONTRARIO NO. CALL METHOD R_GRID->SET_READY_FOR_INPUT EXPORTING I_READY_FOR_INPUT = 1. “EDITABLE. ENDIF.
  • 25. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V.
  • 26. © Copyright 2000-2008. Todos los derechos reservados. Valores Corporativos Softtek S.A. de C.V. ¡Gracias! Jorge García Ruíz ABAP Developer Junior Jorge.garciar@softtek.com