Curso Basico Csti Abap
April 7, 2017 | Author: Julio Jose Lopez | Category: N/A
Short Description
Download Curso Basico Csti Abap...
Description
CSTI
Consultoría en Tecnologías de Información
SAP & ABAP Entorno & Generalidades
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
- SAP R/3 / ABAP4 Entorno y Generalidades - Diccionario de Datos - Introducción a la programación en ABAP - Listados - Reportes Interactivos - Dynpros - Funciones - Sap Script - Smart Forms - ABAP Objects - ABAP List Viewer - Enhancements Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Contenido del Curso
CSTI
Consultoría en Tecnologías de Información
- Instancia. - Mandante - Objetos en una Instancia.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Estructura entorno SAP R/3
CSTI
Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Procedimiento de acceso
CSTI
Consultoría en Tecnologías de Información
En el Sap logon – Opciones avanzadas existe un flag de conexión rápida: “low speed connection”, que cuando no está marcado permite mantener en memoria las últimas 10 entradas.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Opciones Avanzadas
CSTI
Consultoría en Tecnologías de Información
- Barra de Títulos (Title bar) - Ventana (Windows) - Barra de Menú (Menu bar) - Botones Standard (Standard Tool bar) - Botones Aplicación (Aplication Toolbar) - Pantalla (Screen) - Opción Menú (Menu) - Barra de Estado (Status bar) - Línea de Comandos (Command box)
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Pantalla SAP
CSTI
Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
¿Qué es SAP?
SAP proviene de: Systems, Applications, Products in Data Processing. Este sistema comprende muchos módulos completamente integrados y abarca prácticamente todos los aspectos de la administración empresarial. Ha sido desarrollado para cumplir con las necesidades crecientes de las organizaciones mundiales y su importancia está más allá de toda duda. SAP ha puesto su mirada en el negocio como un todo, así ofrece un sistema único que soporta virtualmente todas las áreas en una escala global. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Mercado SAP
SAP comercializa todos sus productos en diferentes industrias del mundo desde las compañías privadas hasta las gubernamentales. Industrias tales como: - Materias primas, minería y agricultura - Gas y petróleo - Químicas - Farmaceúticas - Materiales de construcción, arcilla y vidrio - Construcción pesada - Servicios - Consultorías y Software - Sanatorios y hospitales - Muebles - Automoción - Textil y vestido - Papel y madera Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
SAP R/3
SAP R/3 es un ERP, una aplicación de gestión empresarial diseñada para cubrir la demanda de todas las áreas funcionales de cualquier empresa. Está integrado por varios módulos coordinados entre ellos, generando un flujo de información entre los distintos usuarios.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
¿Qué es una transacción SAP?
Es un código como máximo de 20 Caracteres a través del cual se puede acceder a una tarea (Programa). Se ingresa en la Línea de comandos. Línea de Comandos
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Manejo de Sesiones
Si trabaja usted con varias sesiones, puede: - Ejecutar diferentes transacciones en paralelo. - Abrir una sesión desde cualquier pantalla y siempre que lo desee. Modo 2
Modo 1 Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Línea de Comandos
Permite el manejo de: - Administración de Modos (Sesiones) - Manejo de Transacciones Línea de Comandos
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Disposición Local
Estas configuraciones son a nivel de usuario
Si esta marcado muestra solo código Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Menú Sistema
- Funciones SAP que afectan a la sesión en su totalidad. - Componentes: - Crear/Borrar Modo. - Valores Prefijados - Servicios - Utilidades - Lista
- Jobs Propios. - Mensajes Breves - Status - Salir del Sistema
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Valores Prefijados
- Información de usuario que afecta a la sesión en su totalidad. - Componentes: - Retener / Fijar / Borrar Datos. - Valores Fijos Usuarios. - Dirección de Usuario. - Parámetros Usuarios. - Actualizar Menú Usuario. - Activar Menú Usuario.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Permite llevar a cabo funciones como: - Manejo de reportes - Transferencia a PC de reportes - SAP office - Manejo de jobs
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Menú Sistema - Servicios
CSTI
Consultoría en Tecnologías de Información
- Atributos del reporte - Visualizar reporte - Impresión de reporte - Eliminación de reporte
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Servicios de Impresión
CSTI
Consultoría en Tecnologías de Información
Menú Sistema – Trabajos (jobs)
Desde el Sub-menú ‘Jobs’ se puede llevar a cabo básicamente dos funciones: - Definición de trabajos (job definition). - Revisión de trabajos (job overview).
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Ejecución de trabajos en Background
- No son de ejecución interactiva. - Integrado en el Sistema SAP. - Pueden ser procesados en paralelo con operaciones en línea - Procesamiento distribuido
CSTI
Consultoría en Tecnologías de Información
Planificación del proceso
Pasos de un proceso en background
Ejecución del proceso
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Revisión del proceso
CSTI
Consultoría en Tecnologías de Información
Planificando Procesos en background
Definir función de tarea
Pasos
Nombre de la tarea
Detalle impresión
Fecha inicio
Periocidad Grabar
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP/4.6 Object Navigator
Transacción SE80
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP/4.6 Object Navigator otros
Otros
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP/4.6 Object Navigator Diccionario
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP/4.6 Object Navigator Programa
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Diccionario de Datos Conceptos & Definiciones
CSTI
Consultoría en Tecnologías de Información
¿Qué son atributos?
Diccionario de Datos
¿Cómo está constituida la data?
¿Qué es la Data?
¿Qué es un Diccionario de Datos? Es la fuente central de información para un sistema manejador de datos. La función principal es la creación y administración de las definiciones de datos.
CSTI
Consultoría en Tecnologías de Información
Search by attribute
Where-used lists
Visualizar todos los objetos de tipo X que son usados por el objeto Y
Visualizar todos los objetos de tipo X con atributo Y
Information on relationships between tables
Visualizar todas las relaciones existente para la tabla X
Uso del ABAP/4.6 Dictionary Information
ABAP/4 Dictionary Modification analysis
Visualizar todos los objetos de tipo X que fueron modificados por User, Date..
Una gran parte de la ayuda en línea es dada por el Abap/4 dictionary, la cual ayuda a reducir la redundancia de documentación.
CSTI
Consultoría en Tecnologías de Información
ABAP/4.6 Dictionary
Para acceder al Diccionario ABAP debemos ingresar mediante la transacción SE11 desde la ventana de comandos
CSTI
Consultoría en Tecnologías de Información
Table A
Componentes Básicos del ABAP/4.6 Dictionary
Table C
Table B
Tables
Data element 1
Domain
Data element 2
Data Elements
Dominios
CSTI
Consultoría en Tecnologías de Información
¿Qué es un Dominio? Un Dominio describe los atributos técnicos de un campo, tales como el tipo de datos o la cantidad de posiciones del campo. Un dominio define principalmente un ámbito de valores que describe los valores de datos válidos para los campos que hacen referencia al dominio.
CSTI
Consultoría en Tecnologías de Información
Creación de un Dominio
Descripción del Dominio
Tipo de Dato Longitud de Campo
Longitud Máxima de I/O
CSTI
Consultoría en Tecnologías de Información
Grabando un Dominio
Clase de Desarrollo
CSTI
Consultoría en Tecnologías de Información
¿Qué es un Elemento de Datos? El elemento de datos (dominio semántico) es aquel que describe el rol de un dominio dentro del contexto técnico de un campo. La información semántica incluye la descripción del campo así como los títulos de columna.
CSTI
Consultoría en Tecnologías de Información
Creación de un Elemento de Datos
CSTI
Consultoría en Tecnologías de Información
Creación de un Elemento de Datos
Descripción Etiquetas
Id Parametro
Mediante un ID Parámetro se puede llenar un campo con valores de propuesta de la memoria SAP.
CSTI
Consultoría en Tecnologías de Información
Creación de un Elemento de Datos
Definición de Etiquetas
Con esta opción podremos traducir los textos a otro idioma
CSTI
Consultoría en Tecnologías de Información
Grabando un Elemento de Datos
Clase de Desarrollo
CSTI
Consultoría en Tecnologías de Información
¿Qué es una Estructura (Tipos Estructurados)? Los tipos estructurados describen la estructura y los atributos funcionales de cualquier objeto de datos estructurado, es decir, de estructuras de datos con componentes de cualquier tipo. Un componente puede ser un campo con un tipo elemental o también puede ser, a su vez, una estructura. Una tabla también se puede usar como componente de una estructura. Una tabla de base de datos posee una estructura por lo tanto es implícitamente un tipo estructurado. No obstante, sus componentes sólo pueden poseer un tipo elemental.
CSTI
Consultoría en Tecnologías de Información
Creación de una Estructura
CSTI
Consultoría en Tecnologías de Información
Creación de una Estructura
CSTI
Consultoría en Tecnologías de Información
Grabando una Estructura
CSTI
Consultoría en Tecnologías de Información
¿Qué es una Tabla? Es una agrupación de campos; constituida en base a otros objetos; como elementos de datos y dominios. Componentes: - Campos de tablas: Nombres de campo y los tipos de datos de los campos contenidos en la tabla. - Clave externa o Foránea: Mediante la clave externa se especifican las relaciones de la tabla con otras tablas. - Opciones técnicas: Con las opciones técnicas se controla cómo se crea la tabla en la base de datos. - Índices: Para acelerar la selección de datos de la tabla se pueden crear índices para la tabla
CSTI
Consultoría en Tecnologías de Información
Creación de una Tabla
CSTI
Consultoría en Tecnologías de Información
Creación de una Tabla
CSTI
Consultoría en Tecnologías de Información
Grabando una Tabla
CSTI
Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Grabando una Tabla
CSTI
Consultoría en Tecnologías de Información
Tipos de Datos Moneda/Cantidad
Los tipos de datos Moneda y/o Cantidad merecen un tratamiento especial por tanto es necesario indicar la tabla y campo referencia en la pestaña Campos Moneda/Cantidad; de los contrario no podremos activar nuestra tabla.
CSTI
Consultoría en Tecnologías de Información
Índices
- Un índice es una estructura de datos que permite recuperar las filas de una tabla de forma más rápida además de proporcionar una ordenación distinta a la natural de la tabla. - Un índice se define sobre una columna o sobre un grupo de columnas, y las filas se ordenarán según los valores contenidos en esas columnas. - Al ser el índice una estructura de datos adicional a la tabla, ocupa un poco más de espacio en disco. - Cuando se añaden, modifican o se borran filas de la tabla, el sistema debe actualizar los índices afectados por esos cambios lo que supone un tiempo de proceso mayor. - Por estas razones no es aconsejable definir índices de forma indiscriminada.
CSTI
Consultoría en Tecnologías de Información
Creando un índice
CSTI
Consultoría en Tecnologías de Información
Utilidad para Tablas de Base de Datos
CSTI
Consultoría en Tecnologías de Información
Estructuras Append
CSTI
Consultoría en Tecnologías de Información
Generador de Mantenimiento de Tabla
CSTI
Consultoría en Tecnologías de Información
Generador de Mantenimiento de Tabla
CSTI
Consultoría en Tecnologías de Información
Mantenimiento Standard
CSTI
Consultoría en Tecnologías de Información
¿Qué es una Vista? Es una agrupación de campos de diferentes tablas conectados por algún foreign key en común. Una vista es una tabla virtual.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creación de una Vista
Tipo de Vista
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creación de una Vista
Descripción de la vista
Relaciones
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creación de una Vista
Componentes
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Ayudas de Búsqueda
¿Qué es una Ayuda para Búsqueda? Es un objeto del diccionario que nos va a permitir obtener ayudas para entradas de datos. Existen 2 tipos de ayuda: Elemental: Realizan una trayectoria de búsqueda para determinar las entradas posibles. Compuesta: Constan de varias Ayudas para búsqueda elemental, es decir, ponen a disposición varias trayectorias de búsqueda alternativas para las entradas posibles.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creando una Ayuda para Búsqueda
Tipo de búsqueda
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creando una Ayuda para Búsqueda
Descripción de la búsqueda Tabla o Vista Origen
Componentes
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Ejecutando una Ayuda para Búsqueda
1
Al pulsar nos llevará a esta pantalla donde podremos visualizar como será la salida de nuestra ayuda de búsqueda al dar ENTER.
2
Utilización
Asignando una ayuda de búsqueda
Al pulsar F4 Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
¿Qué es un Objeto de Bloqueo? Un objeto de bloqueo es una unión virtual de varias tablas SAP que sincroniza el acceso simultáneo de dos usuarios al mismo set de datos. La solicitud y/o liberación de los bloqueos se realiza en la programación de las transacciones de diálogo mediante la llamada de determinados módulos de funciones que se generan automáticamente de la definición de los objetos de bloqueo. Estos objetos deben crearse explícitamente en el Diccionario.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creando un Objeto de Bloqueo
Descripción del Obj. Bloqueo
Tabla Modo de Bloqueo
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Creando un Objeto de Bloqueo
Parámetros de bloqueo
Clase de desarrollo
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
SE16
Para visualizar o modificar registros existentes
Para adicionar nuevos registros
Al pulsar nos mostrará la siguiente pantalla.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Mantenimiento de Tablas
CSTI
Consultoría en Tecnologías de Información
Mantenimiento de Tablas
SE16
Podemos configurar mediante el siguiente menú para obtener: - Un listado solo con los campos definidos por el usuario. - Definir secuencia de los campos en el reporte. - Definir los campos y los criterios de selección. - Definir mostrar campos técnicos o denominaciones. - Definir otras opciones específicas del usuario. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
- Una base de datos lógica puede acceder a datos almacenados en una o varias tablas físicas del sistema. - La Lectura en una Base de Datos Lógica es de arriba hacia abajo, según su estructura. - Una Base de Datos Lógica puede accesar a varias bases de datos físicas.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Base de Datos Lógica SE36
CSTI
Consultoría en Tecnologías de Información
Visualizando una Base de Datos Lógica
Modos: - Bajo la transacción SE36. - Bajo la transacción SE80. - Bajo el comando editor SHOW DATABASE
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Usando una Base de Datos Lógica
Para trabajar con una base de datos lógica es necesario definir en el programa la BD con la que se trabajará
Base de datos PNP
Para accesar debemos usar el comando: GET [Nombre del Nodo]. También podemos usar: GET [Nombre del Nodo] LATE. Este comando es procesado solo luego de que se hayan leído y procesado los nodos subordinados. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Laboratorio Diccionario de Datos
Laboratorio 1: Diccionario de Datos 1. Crear los dominio, elementos de datos y tablas necesarios para implementar el siguiente DER.
CSTI
Consultoría en Tecnologías de Información
Laboratorio Diccionario de Datos
2. Crear ayudas de búsqueda para producto, punto de venta, cliente y empleado
3. Crear Vista de actualización para producto, punto de venta, cliente y empleado.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
ABAP/4 Introducción
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
ABAP/4 EDITOR SE38
El editor de programas se activa la digitar la transacción SE38 desde la línea de comandos. En programa pondremos el nombre del objeto que deseamos crear, modificar o visualizar
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Operaciones en el Editor
Chequeo Activar Ejecutar
Renombrar
Where-Used-list
Copiar Eliminar
Análisis de Entorno
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Where Used List
Nos va a indicar la referencia de utilización de un objeto. Si se trata de un programa
Si se trata de una tabla
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Verificar Sintaxis vs. Verificación Ampliada
Verificar sintaxis (CTRL + F2 ó ).- Nos va a permitir visualizar solamente los errores de sintaxis del código de un programa. Verificación ampliada (SLIN).- Verificación de sintaxis + performance. Una verificación completa como: • Consistencia de campos • Consistencias de dynpros • Utilización de sentencias • Salidas de campos • Mensajes • Autorizaciones • Llamadas a programas externos.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Modos de Editor
CSTI Consultoría en Tecnologías de Información
Crear un Programa
Titulo
Tipo Estado Aplicación
Grupo de Autorización
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Clase de Desarrollo
La clase de desarrollo describe el área funcional a la que pertenece el objeto. Esto permite agrupar los objetos de acuerdo a un área temática. Al crear un objeto nuevo del Workbench ABAP, aparece una ventana de entrada en la que deberá asignar al objeto una de las clases de desarrollo ya existentes. 1
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
2
CSTI Consultoría en Tecnologías de Información
Clase de Desarrollo
Un programa u otro objeto del repositorio deben tener siempre asociados una clase de desarrollo. Se puede modificar la clase de desarrollo la Transacción SE80.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Orden de Transporte
Las órdenes o tareas sirven para gestionar objetos de Repository R/3 o de Customizing dentro de un Sistema R/3 o para transportarlos entre diferentes Sistemas R/3. ¿Cuándo usamos una orden de transporte? Cada vez que se crea un objeto en el repositorio o cada vez que se realice una modificación nos solicitará una orden de transporte. Tipos de Ordenes: - Orden de modificación transportable.- Grabación de las modificaciones en objetos de Repository y su transporte a otros Sistemas R/3. - Ordenes de modificaciones locales.- Grabación de las modificaciones en objetos de Repository dentro de un Sistema R/3. - Orden Customizing.- Grabación de las modificaciones en parametrizaciones Customizing y su posible transporte a otros Sistemas R/3 o a otros mandantes.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Orden de Transporte Para administrar las ordenes de Transporte podemos acceder a la transacción SE10.
Al pulsar nos permitirá crear una orden de transporte
Al pulsar ordenes propias nos permitirá seleccionar una de las órdenes definidas anteriormente
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Código del programa
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Editando un Programa
CSTI Consultoría en Tecnologías de Información
Elementos de Texto de un programa
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Elementos de Texto
Símbolos de texto: Nos va a permitir asociar algún texto a un Id y utilizarlo a lo largo de nuestro programa. Son útiles porque nos permiten traducir al idioma deseado. Textos de selección: Están referidos de manera específica a los parámetros de selección del programa. Cabeceras de Listas: Es útil cuando hagamos listados por impresora o por pantalla. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Traduciendo Elementos de Texto
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Versiones de Programas La gestión de versiones permite tener un control de los cambios que ha tenido un programa a lo largo de su desarrollo. Nos va a permitir poder comparar el código así como también recuperar una versión antigua.
Versiones
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Versiones de Programas
Permitirá la visualización de la versión seleccionada. Permitirá la comparación de 2 versiones seleccionadas. Permitirá recuperar la versión antigua seleccionada.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Versiones de Programas
Permitirá la visualización del texto de la orden de transporte
Permitirá comparar el programa en 2 sistemas distintos
Se específica el sistema con el cual se hará la comparación
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Subiendo y Bajando el código de un programa a PC
Subir a PC Bajar a PC
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
ABAP/4 Programación Básica
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
¿Qué es ABAP / 4?
(Advanced Business Aplication Programming 4th Generation) El ABAP/4 es un lenguaje de programación de 4ta generación (4GL) orientado tal como su definición específica, al desarrollo de aplicaciones de negocios. Todos los módulos disponibles en SAP han sido programados en este lenguaje de programación. Además podemos escribir nuevas aplicaciones en ABAP/4 como complemento a las ya existentes o como apoyo a la configuración del sistema. Es un lenguaje estructurado orientado a eventos; es decir la secuencia de las instrucciones depende del cumplimiento de una condición o evento. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
PROGRAMA
Características del ABAP/4 SECUENCIA DE EVENTOS
Inicio SI
EVENTO 1 Instrucción 1 Instrucción 2 ……… Instrucción n
SI
EVENTO 2 Instrucción 1 Instrucción 2 ……… Instrucción n
EVENTO 2
EVENTO 3
EVENTO 1 SI
EVENTO 3 Instrucción 1 Instrucción 2 ……… Instrucción n Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Fin
CSTI Consultoría en Tecnologías de Información
Aplicaciones del ABAP/4
- Reporting: Clásico o Interactivo. - Programación de diálogo o transacciones (diseño de superficies CUA y diseño de pantallas). - Otras aplicaciones: Interfases Batch Input, Formularios Sap Script, programas de comunicaciones, etc.) Una vez instalado SAP, la principal aplicación ABAP es la generación de informes ya sea porque no han sido contemplados por SAP o porque en la instalación se requiera un informe con formato muy concreto. Así pues ABAP/4 tendrá muchas instrucciones destinadas a facilitarnos la tarea de programar reportes.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Fundamentos de la programación
Tipos de Instrucciones Un programa consiste en una serie de instrucciones ABAP que empieza con una palabra clave y termina con un punto. Tipos de palabras claves: - Declarativas; para declarar los datos que se usarán a lo largo de todo el programa. Ejemplo: Tables, Data, Ranges. - Eventos; especifica un evento, es el punto donde ABAP ejecuta un cierto proceso. Ejemplo: Start-of-selection. - Control; sentencias de control de flujo de programa. Ejemplo: If, While, Do. - Operativas; Realizan funciones propias según el tipo de palabra clave. Ejemplo: Write, Move, Assign.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Estructurando un programa
CSTI Consultoría en Tecnologías de Información
Declarando y Procesando Datos
Tipos
Long. Por defecto
Posible Longitud
Valor Inicial Descripción
C
1
1-32000
ESPACIOS
Texto
F
8
8
0.0E+00
Punto flotante
I
4
4
0
Entero
N
1
1-32000
´0000´
Texto Numérico
P
8
1-16
0
Número Empaquetado
X
1
1-29870
x ´0´
Hexadecimal
D
8
8
00000000
Fecha YYYYMMDD
T
6
6
000000
Hora HHMMSS
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Declarando y Procesando Datos
Declaración de Campos Se declaran campos del reporte con la sentencia DATA. Si no se indica un tipo de dato, el sistema asume que es de tipo carácter (texto) y de longitud 1. Con la cláusula TYPE podemos definir otros tipos de datos. Ejemplo: data: fecha type d Con la cláusula LIKE podemos declarar una variable con los mismos atributos de longitud y tipo que una variable preexistente. Ejemplo: data: w_lifnr like lfa1lifnr Con la cláusula VALUE se puede inicializar una variable con un valor distinto al que tiene por defecto. Ejemplo: data: w_contador type p value 1 Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Declarando Parámetros de Entrada
* Declarando Parámetros con Parameters: Parameters: par1(3) type n, par 2 like tabla-campo, par3 as ckeckbox default `X´, par4 radiobutton group default `X´, par5 radiobutton group . Ejemplo: Parameters:
bldat_pa type d, bukrs_pa like t001-bukrs, print_pa check default `X´, werk_pa radiobutton group RG default `X´, Igort_pa radiobutton group RG. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Declarando Parámetros de Entrada
* Declarando Parámetros con SELECT-OPTIONS: SELECT-OPTIONS: sel FOR f. donde; sel f
representa el nombre del campo representa la tabla-campo.
Ejemplo: select-options: s_gjahr for bsik-gjahr, s_monat for bsik-monat, s_blart for bsik-blart. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Usando Selection-Screen
Variantes: SELECTION-SCREEN BEGIN OF BLOCK block. SELECTION-SCREEN BEGIN OF TABBED BLOCK block FOR n LINES SELECTION-SCREEN END OF BLOCK block. SELECTION-SCREEN TAB (len) tabname USER-COMMAND ucom. SELECTION-SCREEN BEGIN OF LINE SELECTION-SCREEN END OF LINE SELECTION-SCREEN POSITION pos. SELECTION-SCREEN ULINE SELECTION-SCREEN COMMENT fmt name SELECTION-SCREEN PUSHBUTTON fmt name USER-COMMAND ucom. SELECTION-SCREEN SKIP n. SELECTION-SCREEN FUNCTION KEY. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Ejemplo de Selection-Screen
Declarando Variables, Field Symbols y Range
CSTI Consultoría en Tecnologías de Información
* Declarando Variables
* Declarando Fields Symbols
data:
Fields-symbols: , .
var1 type n, var2 like tabla-campo, var3 type n value ´XXX´.
Ejemplo: data:
Ejemplo: fecha like sy-datum, company like t001-bukrs, edad(2) type n, precio(7) type p decimals 2.
Fields-symbols:
, .
Ranges: R_RANGO for tabla-campo. Ejemplo: Ranges: R_BUKRS for T001-BUKRS
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
* Los Eventos pueden ser de 2 tipos: - Asíncronos.- Pueden pasar en cualquier momento. - Síncronos.- Pasa con periocidad. Tenemos los siguientes eventos: INITIALIZATION.En este evento se inicializarían todas las variables de los programas. START-OF-SELECTION.Se ejecuta cuando se procesa la instrucción REPORT. En ese momento se empieza a ejecutar el código que se encuentra entre REPORT y START-OFSELECTION. Inmediatamente después se ejecuta el código contenido dentro de ese evento.
Eventos END-OF-SELECTION.El código asociado a este evento se procesa cuando se termina la selección de datos de tablas o de base de datos lógicas. TOP-OF-PAGE.Se procesa antes de que el primer dato salga en cada página. Se suele usar para poner el título a las páginas o cabeceras. END-OF-PAGE.Se lanza cuando se crea automáticamente una nueva página. Esto ocurrirá cuando el nro de líneas procesado sobrepase el nro de lineas fijado para la página en la sentencia REPORT. No se ejecuta si se fuerza mediante NEW-PAGE
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Report z0006 no standard page heading . write / ‘line 1’. write / ‘line 2’. write / ‘line 3’.
Top-of-page. write:
/ ‘heading’, Uline.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
EVENTO TOP-OF-PAGE
CSTI Consultoría en Tecnologías de Información
Sentencias de Control
IF CASE
ENDIF ENDCASE
DO WHILE LOOP
ENDO ENDWHILE ENDLOOP
CHECK EXIT STOP Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información IF .
sentencia ENDIF. IF .
sentencia ELSE.
sentencia ENDIF. IF .
sentencia ELSEIF .
sentencia ELSEIF .
sentencia ELSE. ENDIF. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Sentencia IF
CSTI Consultoría en Tecnologías de Información
Sentencia CASE
CASE
CASE COUNTRY.
WHEN .
WHEN ‘D’.
sentencia WHEN . sentencia WHEN . sentencia WHEN OTHERS. sentencia ENDCASE.
… WHEN ‘USA’. … WHEN ‘GB’. … WHEN OTHERS. … ENDCASE.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
DO TIMES. sentencia ENDDO.
SY-INDEX
Variable de sistema, índice actual.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Sentencia DO
CSTI Consultoría en Tecnologías de Información
WHILE . sentencias ENDWHILE.
SY-INDEX
Variable de sistema, índice actual.
WHILE CONTADOR > 0. . . . SUBTRACT 1 FROM CONTADOR. ENDWHILE. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Sentencia WHILE
CSTI Consultoría en Tecnologías de Información
CHECK . sentencias 1.- CHECK dentro de una estructura de repetición WHILE CONTADOR GT 0. sentencia CHECK FLAG NE SPACE. sentencia ENDWHILE. 2.- CHECK fuera de una estructura de repetición sentencia CHECK sentencia Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Sentencia CHECK
CSTI Consultoría en Tecnologías de Información
EXIT 1.- EXIT dentro de una estructura de repetición DO. IF CONTADOR GE 100. EXIT. ENDIF. sentencia ENDDO. 2.- EXIT fuera de una estructura de repetición IF …. EXIT. ENDIF.
sentencia
sentencia Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Sentencia EXIT
CSTI Consultoría en Tecnologías de Información
DATA:
START TYPE D, SUM1 TYPE F, SUM2 TYPE P.
IF START IS INITIAL. … ENDIF. IF SUM1 GT SUM2. … ENDIF. IF SUM1 BETWEEN 50 AND 100. … ENDIF.
Operadores Relacionales
Sintaxis
Significado
EQ =
Igual a
NE ><
Distinto de
GT >
Mayor que
GE >= =>
Mayor o igual que
LT <
Menor que
LE Con diálogo de confirmación. 3.2.- WS_UPLOAD --> Sin diálogo de confirmación. 3.3.- GUI_UPLOAD --> Con diálogo de confirmación. 3.- Para eliminar archivos en servidores remotos Windows 4.1.- WS_FILE_DELETE
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Funciones
4.- Para eliminar imágenes en documentadores IXOS 6.1.- ARCHIV_DELETE_META 5.- Para confirmar eventos 7.1.- POPUP_TO_CONFIRM. 6.- Para mandar a SAP a espera. 8.1.- ENQUE_SLEEP 7.- Para separar las rutas de archivos en disco, extensión, nombre, nombre con extensión y ruta. 9.1.- PC_SPLIT_COMPLETE_FILENAME. 8.- Para pedir un archivo en servidores remotos Windows. 10.1.- FILENAME_GET. --> Con diálogo. 10.2.- WS_FILENAME_GET --> Sin diálogo.
CSTI
Consultoría en Tecnologías de Información
Funciones
9.- Para obtener todos los atributos de una tabla. 11.1.- DDIF_TABL_GET --> Atributos. 11.2.- RPY_DOMAIN_READ --> Dominios. 11.3.- RPY_DATAELEMENT_READ --> Elementos de datos 10.- Para cargar una tabla en SAP. 12.1.- DDIF_TABL_PUT --> Tabla. 12.2.- RPY_DOMAIN_INSERT --> Dominios. 12.3.- RPY_DATAELEMENT_INSERT --> Elementos de datos. 12.4.- RS_DD_ACTIVATE --> Activar los dominios, elementos de datos. 11.- Obtener los módulos de funciones e Includes que pertenecen a un grupo de funciones. 13.1.- FUNCTION_INCLUDES_SPLIT.
CSTI
Consultoría en Tecnologías de Información
Laboratorio Funciones
Laboratorio 6: Funciones 1.
Crear una función que retorne el precio unitario, porcentaje e importe de descuento, porcentaje e importe de IGV y precio total por producto consultado.
Parámetros de entrada: Cod_Producto Tablas: Tabla de importes Campos: Precio_Unitario %Dscto Importe_Dscto IGV Importe IGV Precio_Total
CSTI Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
SAP SCRIPT Layout Set
CSTI
Consultoría en Tecnologías de Información
Accesos al Sap Script
SE71
CSTI
Consultoría en Tecnologías de Información
Componentes 1.- Header
1.- Cabecera
2.- Paragraphs
2.- Párrafos
3.- Character Strings
3.- Conjunto de Caracteres
4.- Windows
4.- Ventanas
5.- Pages
5.- Páginas
6.- Page Windows
6.- Ventanas de Páginas
CSTI
Consultoría en Tecnologías de Información
Menú Principal
CSTI
Header
Consultoría en Tecnologías de Información
CSTI
Consultoría en Tecnologías de Información
Paragraphs
CSTI
Consultoría en Tecnologías de Información
Paragraphs – Font
CSTI
Consultoría en Tecnologías de Información
Paragraphs – Tabs
CSTI
Consultoría en Tecnologías de Información
Paragraphs – Outline
CSTI
Consultoría en Tecnologías de Información
Characters Strings
CSTI
Consultoría en Tecnologías de Información
Characters Strings – Font
CSTI
Consultoría en Tecnologías de Información
Windows
CSTI
Consultoría en Tecnologías de Información
Page
CSTI
Consultoría en Tecnologías de Información
Page Windows
CSTI
Consultoría en Tecnologías de Información
Text Element
CSTI
Consultoría en Tecnologías de Información
Tag Column
U1 U2 * = ( / /= /( /: /* /E
Párrafo creado por el usuario Párrafo creado por el usuario Párrafo usado por defecto Texto fluido Continuación de Línea Línea bruta Avance de Línea Avance de Línea y Línea larga Avance de Línea y Línea Bruta Línea de comando Línea para comentario Elemento de texto
CSTI
Consultoría en Tecnologías de Información
Comandos más Usados - Perform.- Ejecuta una subrutina o subprograma en la rutina actual, también se le puede pasar parámetros. - New-Page.- Inclusión de una nueva página en la edición del formulario. - Box.- Crea cajas gráficas en las distintas páginas del formulario, estas pueden sobreponerse unas a otras. - If.- Asigna condicionales en las diferentes sentencias que forman parte de la creación del formulario.
CSTI
Consultoría en Tecnologías de Información
Comandos más Usados - Set Date Mask.- Da formato a la fecha del sistema. - Set Time Mask.- Da formato a la hora del sistema. - Set Country.- Utilizado en la asignación del formato a utilizar en el formulario para lalocalidad. - Define.- Utilizado para la asignación de valores establecidos en los diversos TextSymbols, estos text symbols deberán ir encerrados entre el símbolo &.
CSTI
Consultoría en Tecnologías de Información
Símbolos del Sistema - &DATE&.- Muestra en el reporte la fecha completa, incluyendo día, mes y año. - &DAY&.- Muestra en el reporte el día en formato de dos dígitos, incluyendo ceros. - &YEAR&.- Utilizando para mostrar en el reporte el año en formato de 4 dígitos. - &NAME_OF_DAY&.- Sirve para mostrar el nombre del día actual del reporte.
CSTI
Consultoría en Tecnologías de Información
Símbolos del Sistema - NAME_OF_MONTH&.- Muestra el nombre del mes actual. - &TIME&.- Muestra el tiempo actual en el reporte. - &HOURS&.- Muestra la hora actual en el reporte. - &SECONDS&.- Muestra el valor de los segundos en el tiempo actual. - &PAGE&.- Muestra la numeración correspondiente a cada página del reporte.
CSTI
Consultoría en Tecnologías de Información
Símbolos del Sistema -&NEXTPAGE&.- Muestra el valor numérico de la próxima página a la actual. - &DEVICE&.- Utilizado para asignar la salida del reporte, puede ser Printer, Screen, Telex, etc. - &SPACE&.- Sirve para asignar un espacio en el reporte. - &ULINE&.- Sirve para ingresar una línea de subrayado. - &VLINES&.- Sirve para ingresar una línea vertical del tamaño del carácter empleado en la edición del reporte
CSTI
Consultoría en Tecnologías de Información
Definición de Variables y Constantes Variables: Las variables se definen mediante el uso del símbolo “&”, y se le asigna valores mediante el comando DEFINE. Ejemplo: &variable& Se efectúa una diferencia del contenido de las variables: &KNA1-ORT01&’-’&KNA1-ORT02& Constantes: Las constantes pueden utilizarse en cualquier parte del reporte sin especificar algún formato necesariamente, no se puede incluir en una línea de comandos ‘/:’, se muestran como texto en el reporte.
CSTI
Consultoría en Tecnologías de Información
Tabulación y Cadenas Tabulación: La forma de hacer referencia a las tabulaciones ya preestablecidas en el Paragraph Tabs es mediante el uso de la doble coma ‘,,’. Se puede hacer referencia a una doble tabulación mediante ’,,,,’, y así sucesivamente. Cadenas: La forma de hacer referencia a las cadenas ya creadas en el Character String es mediante el uso de los símbolos y , donde XX es el identificador de la cadena a seleccionar. Por ejemplo: DATADEEXPIRACION:,,,,&ZLPRNLABE-prn_vfdat&
CSTI
Consultoría en Tecnologías de Información
Rutinas básicas de Impresión OPEN_FORM: Inicio de formulario Ejemplo: Call function ‘OPEN_FORM’ exporting form options exceptions
…
= =
form options
CSTI
Consultoría en Tecnologías de Información
Rutinas básicas de Impresión START_FORM: Inicio de formulario Ejemplo: Call function ‘START_FORM’ exporting form language startpage importing language exceptions form format uneneded unopened unused
= = =
form sy-langu page
=
sy-langu
= = = = =
1. 2 3 4 5.
CSTI
Consultoría en Tecnologías de Información
Rutinas básicas de Impresión WRITE_FORM: Salida de text element en la ventana del formulario. Ejemplo: Call function ‘WRITE_FORM’ exporting element window exceptions element function type unopened unstarted window
= =
element windows
= = = = = =
1 2 3 4 5 6
CSTI
Consultoría en Tecnologías de Información
Rutinas básicas de Impresión CLOSE_FORM: Fin de Formulario. Ejemplo: Call function ‘CLOSE_FORM’ importing result = exceptions unopened =
itcpp 3.
CSTI
Consultoría en Tecnologías de Información
Laboratorio SAP Script
Laboratorio 7: SAP Script 1. Crear un formulario SAP Script para imprimir la factura utilizando el siguiente formato. Considere que las facturas se imprimen sobre hojas pre-impresas.
CSTI
Consultoría en Tecnologías de Información
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
¿Qué es Smart Forms? Smart Forms es la nueva herramienta de SAP para diseño e impresión de documentos, cuyo propósito es suceder a SAP Script. Smart Forms es una solución más simple, potente y versátil que SAP Script. Los nuevos formularios para los documentos de SAP se desarrollan en Smart Forms. SAP apunta a continuar con el desarrollo de esta herramienta.
CSTI
Consultoría en Tecnologías de Información
Acceso a Smart Forms Se utiliza la transacción SMARTFORMS.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Parametrizaciones Globales Atributos del formulario, contiene datos generales como el tamaño de la página y el estilo asociado al formulario. Interfase formulario, definición de los parámetros de entrada, salida, tablas y excepciones del formulario. Todos los smartforms vienen con un grupo de parámetros predefinidos que no pueden ser cambiados. Definiciones globales…
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Definiciones Globales
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Definiciones Globales Datos globales, constantes, variables, estructuras y tablas visibles en todo el formulario. Tipos, tipos globales del formulario. Símbolos de campo, field symbols globales. Inicialización, primera rutina que se ejecuta al llamar al formulario. Rutinas form, subrutinas visibles en todo el formulario. Campos Moneda/Cantidad, definición de campos de unidad de moneda/cantidad.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Páginas Los smartforms se dividen en páginas las cuales permiten construir documentos complejos con diferentes secciones de diferente estructura o contenido, por ejemplo: carátula, índice, reportes, resumen. Cada página tiene su propia estructura y se puede controlar la secuencia en la que se pasa de una página a la siguiente.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Propiedades de una Página
Las propiedades generales permiten controlar la secuencia y numeración de las páginas.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Propiedades de una Página (2)
Las opciones de salida controlan la orientación y modo de impresión de la página.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Propiedades de una Página (3)
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Controles en Smart Forms Smartforms cuenta con una gama de controles que permiten al formulario procesar datos, crear tablas, mostrar textos, imágenes y marcos, ejecutar instrucciones ABAP, ejecutar instrucciones de control y otras cosas. Al visualizar un control, se muestran para este una serie de pestañas que contienen las propiedades definidas para el mismo. Diferentes controles tienen diferentes grupos de propiedades, por ejemplo los controles de código ABAP tienen código fuente, mientras que los controles de texto tienen opciones de salida.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Propiedades de los Controles Existen diferentes grupos de propiedades y están asignados de manera diversa a los controles dependiendo de su funcionalidad. A continuación los más comunes. Propiedades generales, contiene propiedades generales del control y difiere de acuerdo al tipo de control. Opciones de salida, opciones para formatear un control que produce una salida en el formulario, como por ejemplo un campo de texto o un gráfico. Condiciones, presente en casi todos los controles, permite establecer las condiciones bajo las cuales se procesa un determinado control.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Ventanas Las ventanas son los controles básicos de un smartform. Las ventanas son las que permiten organizar el contenido del formulario, crear áreas para insertar textos y objetos gráficos, crear marcos, etc.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Texto Es un control que permite imprimir texto en el formulario.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Texto (2) Los textos pueden contener textos estáticos y/o textos variables. Pueden mostrar el contenido de las diferentes estructuras de datos que tiene el formulario. Los textos pueden ser formateados de maneras muy diversas e incluir formatos de párrafo y carácter, así como tabulaciones, dependiendo del estilo que tengan asignado.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Gráfico Permite incluir gráficos dentro del formulario.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Control Máscara de Edición
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Máscara de Edición (2) La máscara de edición permite crear una alineación particular para un grupo de otros controles, separándolos en filas y posiciones (las cuales no necesariamente deben forman una cuadrícula, pueden estar alineados de manera arbitraria). Dentro de la máscara de edición pueden anidarse textos, gráficos, grupos de instrucciones y otros controles.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Table
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Table (2) El control Table es uno de los más potentes y útiles de Smart Forms. Permite recorrer, procesar, formatear y mostrar los contenidos de una tabla interna de manera casi directa. Tiene opciones para ordenamiento, agrupación y filtrado de los datos de la tabla, y permite definir uno o más formatos de línea para mostrar los datos de la manera en que se requiera. Dentro del control Table se puede anidar casi cualquier otro tipo de control de smartforms y las definiciones de línea creadas para el control Table serán válidas para todos los controles anidados que generen algún tipo de salida.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Loop
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Loop (2) El control Loop es similar al control Table, es un control que sirve para procesar los datos de una tabla interna, pero no está forzado a generar alguna salida. No incluye por eso dentro de sus propiedades la definición de tipos de linea. Sin embargo es posible incluir dentro de un control Loop, otros controles que si generan salida en el formulario como máscaras de edición, textos y gráficos.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Líneas de Programa
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Líneas de Programa (2) Son controles que permiten procesar datos de manera más específica. Estos controles son virtualmente subrutinas de ABAP y pueden ejecutar cualquier instrucción. Desde estos controles es posible utilizar las estructuras de datos, tipos y subrutinas definidas en la sección de declaraciones globales del formulario. Sin embargo cabe resaltar que para trabajar con los datos globales del formulario estos deben ser declarados previamente en los listados de parámetros de entrada y salida que aparecen en la parte superior de las propiedades generales.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Alternativa
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Alternativa (2) El control alternativa permite evaluar un conjunto de condiciones. Si el resultado de estas condiciones es Verdadero, se ejecutan los controles que se incluyen bajo el nodo TRUE del control. En caso contrario se ejecutan los controles bajo el nodo FALSE. Es importante notar que las condiciones de la pestaña Propiedades Generales determinan que nodo se ejecutará a continuación y no deben confundirse con las condiciones de la pestaña Condiciones, las cuales como habíamos visto regulan si el control Alternativa en su conjunto se ejecuta o no.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Control Comando
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Control Comando (2) El control Comando permite afectar el flujo de las páginas del formulario y enviar comandos determinados a la impresora y al spool para activar o desactivar características determinadas.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Llamar a un Smart Form Para invocar un smartform desde un programa ABAP se requiere utilizar la función SSF_FUNCTION_MODULE_NAME, enviando como parámetro el nombre del formulario.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Llamar a un Smart Form El resultado de la función anterior es el nombre de otra función, la cual es la que imprime el formulario requerido. Con el nombre obtenido debemos realizar una llamada dinámica enviando los parámetros que hemos definido en la interfaz del smartform.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Smart Styles Es el complemento de Smart Forms para definir los estilos de párrafo y carácter que se usarán en los formularios. Se accede tambien desde la transacción SMARTFORMS.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Componentes de un Estilo
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Smart Forms
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Formatos de Párrafo Los formatos de párrafos permite definir la alineación, interlineado, sangría, tabuladores, fuentes y numeración de los párrafos. Estos formatos se aplican dentro de los controles Texto de los formularios Smart Form.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Smart Forms
Formatos de Caracter Los formatos de caracter definen la fuente y los efectos que se aplicarán a los caracteres dentro de los controles Texto de un formulario smartform. Cuando se aplica un formato de caracter a un texto, dicho formato se superpone al del párrafo y lo reemplaza para todos los caracteres a los cuales se ha aplicado.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Laboratorio Smartform
Laboratorio 8: Smartform 1. Crear un formulario Smartform para imprimir la factura utilizando el siguiente formato.
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Programación Orientada a Objetos La programación orientada a objetos es un método de desarrollo de software basado en el comportamiento real de los objetos en el mundo real. Se pretende desarrollar componentes de software que se comporten como los objetos reales a los que representan. La orientación a objetos es una técnica usada en muchos lenguajes de programación los cuales comparten una terminología usada universalmente.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
ABAP Objects ABAP Objects es una extensión del lenguaje ABAP/4 que le permite implementar la POO. ABAP Objects está construido en base a prácticas conocidas y de funcionamiento y efectividad comprobados, teniendo como principal antecesor al lenguaje Java. Las instrucciones de ABAP Objects son perfectamente compatibles y completamente integrables con las de ABAP convencional y dentro de un programa ABAP común pueden convivir instrucciones de programación estructurada y POO sin inconvenientes.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Clase Una clase es la plantilla de un objeto. Es una descripción abstracta de un objeto. Desde un punto de vista estrictamente técnico, una clase es un conjunto de código que contiene la definición de los componentes y el comportamiento de un objeto. Las clases en ABAP pueden ser locales y globales.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Clases Locales y Globales Las clases locales son definidas dentro del código de un programa ABAP y son visibles únicamente dentro de dicho programa. Las clases globales son definidas desde la transacción SE24 y son visibles para todos los programas. Salvo por su visibilidad y la manera en como se definen, tanto su implementación como su utilización son exactamente iguales.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Objetos Los objetos son instancias de las clases y están modelados por las mismas. Desde un punto de vista técnico, son porciones de memoria que agrupan un conjunto de datos y un conjunto de servicios.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Creación de Clases Locales La definición de una clase dentro de un programa comprende una parte declarativa donde se definen los componentes, y si es necesario una parte de implementación en la que se implementan estos componentes.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Componentes Las clases (y los objetos) tienen 2 tipos principales de componentes: Atributos, son los datos contenidos dentro del objeto y cuya función es describir al objeto. El estado de un objeto, es el conjunto de valores de sus atributos en un momento determinado. Métodos, definen el comportamiento de un objeto. Pueden acceder a los atributos del objeto y esto les permite modificar el estado del mismo.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Visibilidad de Componentes La visibilidad de un componente define el grado de acceso que se tiene al mismo desde los programas. Existen 3 tipos de visibilidad: Público, el componente es accesible tanto por los métodos del objeto como por el programa del cual forma parte el objeto. Privado, el componente es accesible únicamente por los métodos del objeto. Protegido, es un híbrido. Se comporta como privado para el programa que invoca al objeto y como público para las subclases del objeto.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Cardinalidad de Componentes La cardinalidad de un componente define el número de veces que el componente existe en la memoria durante la ejecución de un programa. Existen 2 tipos de cardinalidad: Componentes de Instancia, son componentes que existen una vez por cada instancia que exista de una clase, es decir, cada objeto tiene estos componentes independientemente. Componentes Estáticos, existen UNA UNICA VEZ para todos las instancias de la clase, es decir, son componentes compartidos por todos los objetos instanciados de una misma clase.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Definición de Componentes
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Atributos Los atributos de una clase pueden tener cualquier tipo: Campos individuales de tipo ABAP predefinido (i, f, p, d, etc.) o de un tipo DD (matnr, char1, dec13_3). Campos estructurados de tipo DD o definidos ahí mismo. Tablas internas Otros objetos!
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Métodos Al definir un método dentro de una clase, este debe ser declarado dentro del bloque DEFINITION y debe ser implementado dentro del bloque IMPLEMENTATION. De manera similar a las funciones, un método tiene una firma, es decir, un conjunto de parámetros que son recibidos y devueltos por el mismo y un grupo de excepciones. Al definir los parámetros de un método, estos pueden adoptar cualquier tipo, de manera similar a los atributos del objeto.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Declaración de Métodos
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
Implementación de métodos
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Constructores Los constructores son métodos especiales que se ejecutan automáticamente al momento de instanciar un objeto (constructor de instancia) y al momento de acceder a la clase por primera vez (constructor estático). Pueden definirse con cualquier visibilidad. Sus nombres son siempre los mismos en cualquier clase: CONSTRUCTOR CLASS_CONSTRUCTOR Tienen la característica de que en sus firmas sólo pueden tener parámetros IMPORTING y excepciones.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Otros Componentes de una Clase En una clase también pueden ser definidos otros componentes: Eventos Tipos Constantes
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
Constructores
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Instanciación de clases Para instanciar una clase, es decir, para crear un objeto de la misma, se debe primero definir una variable de referencia (puntero) a la clase.
Luego se crea el objeto usando la variable de referencia.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Acceso a Componentes Para acceder a los componentes de un objeto se utiliza la referencia seguida por el operador de referencia y el nombre del componente.
En el caso de los componentes estáticos se utiliza el nombre de la clase, el operador de referencia estática y el nombre del componente.
No siempre es posible acceder a un componente, debe tenerse en cuenta la visibilidad del componente que se desea acceder.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Seudoreferencia ME Al interior de los métodos de una clase, la seudoreferencia ME es una referencia de la propia clase que apunta al objeto actual.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Llamar a Métodos Se utiliza la sentencia CALL METHOD para llamar a un método.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Llamar a Métodos Funcionales Los métodos funcionales pueden llamados usando una sintaxis abreviada. Las dos formas a continuación son equivalentes.
La sintaxis abreviada puede ser usada en asignaciones directas (MOVE) y operaciones aritméticas. No puede ser usada en sentencias WRITE.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Herencia Propiedad de la POO que permite crear una clase nueva a partir de una clase existente, de tal manera que la nueva clase “hereda” los componentes definidos en la clase existente.
ABAP Objects implementa únicamente herencia simple, es decir que una clase sólo puede tener UNA superclase. Por el contrario una clase puede ser superclase de varias subclases.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Componentes Heredados Una subclase hereda todos los componentes de su superclase. Sin embargo los componentes privados de la superclase, si bien son heredados no son visibles desde la subclase. Por esta razón, en la subclase pueden definirse componentes privados con los mismos nombres que los componentes privados de su superclase.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Polimorfismo El polimorfismo es una característica por la cual objetos diferentes tienen comportamientos diferentes invocando un mismo método. En ABAP el polimorfismo se implementa mediante la redefinición de métodos. Sólo pueden ser redefinidos los métodos visibles en la subclase.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Redefinición de Métodos Los métodos se redefinen con la instrucción REDEFINITION.
Al redefinir un método, su interfaz no puede ser modificada, únicamente su implementación.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Seudoreferencia SUPER Al interior de un método redefinido, la seudoreferencia SUPER permite el acceso al método original en la superclase.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Casting Es el cambio del tipo de un objeto durante la ejecución de un programa. Al hacer casting se puede acceder a un objeto desde una referencia a una de sus superclases o subclases. Utilizar casting permite efectuar llamadas polimórficas a los métodos de una clase.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Up Casting Conocido también como generalización, consiste en acceder a un objeto mediante una referencia a una de sus superclases. El Up Casting siempre es posible.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Down Casting Conocido también como especialización, consiste en acceder a un objeto mediante una referencia a una de sus subclases. Sólo es posible hacer down-cast a un objeto que ha pasado previamente por un up-cast. Se debe utilizar el operador de casting explícito ?=
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Tipo Estático y Dinámico de una Referencia Gracias al casting, se puede diferenciar 2 tipos en una referencia. Tipo Estático, determinado por la declaración de la referencia en la sentencia DATA, establece qué componentes son accesibles. Tipo Dinámico, determinado por el tipo con el que fue instanciado originalmente el objeto al momento de su creación. Es visible sólo en tiempo de ejecución y determina qué código se ejecutará en los métodos redefinidos.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Eventos Los eventos son componentes de las clases como los atributos y métodos. Se declaran en la sección DEFINITION de una clase y están sujetos a las mismas condiciones de visibilidad y cardinalidad. Los eventos son avisos que se generan durante la ejecución de los métodos de un objeto y que permiten al entorno (programa principal, otros objetos en la memoria) reaccionar frente a los cambios de estado ocurridos en el objeto que inicia el evento.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Manejo de Eventos Se conoce como “trigger” al método que inicia el evento y como “handler” al método que reacciona ante dicho evento. En el manejo de eventos hay 4 momentos: Declaración del evento, en la clase emisora Definición e implementación del método handler, en la clase receptora Registro del handler, en cualquier punto de la ejecución antes de la emisión del evento. Emisión del evento, mediante la ejecución del método trigger de la clase emisora.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Declaración de Eventos Los eventos se declaran mediante las sentencias EVENTS y CLASSEVENTS en el bloque DEFINITION de las clases. Los eventos pueden tener parámetros pero únicamente de tipo exporting. Todos los eventos tienen siempre el parámetro implícito SENDER que contiene una referencia al objeto que inicia el evento.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Emisión del Evento Los eventos son lanzados durante la implementación de un método. Un evento puede ser lanzado por más de un método y un método puede lanzar más de un evento.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Definición de Métodos Handler Una clase puede definir métodos handler tanto para sus propios eventos como para los de otras clases. Los métodos handler se definen en el bloque DEFINITION de la clase.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Definición de Métodos Handler Al definir un handler, no es necesario más que enumerar los parámetros que este recibirá. La definición de los mismos es tomada de la declaración del evento. Los métodos handler deben implementarse como todos los métodos en el bloque IMPLEMENTATION de la clase. Los métodos handler pueden ser llamados normalmente con la sentencia CALL METHOD.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Registro de Handlers Los handler deben ser registrados antes de que ocurran los eventos para que estos puedan ser escuchados y manejados. El registro puede realizarse en cualquier punto del programa donde las referencias estén disponibles y puede realizarse para todas las referencias, incluyendo las que aun no han sido creadas.
Para eventos estáticos no se usa referencia del emisor.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ABAP Objects
Constructor de Clases (SE24) Es una transacción especializada para crear clases e interfases globales.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Atributos en SE24
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
Métodos en SE24
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
Entorno de Pruebas
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ABAP Objects
CSTI
Consultoría en Tecnologías de Información
Laboratorio Objetos
Laboratorio 9: Objetos 1.
Crear una clase local para manejar los datos del modelo de Botica. La clase debe contener (como mínimo) los siguientes métodos: -
Consulta de datos maestros (Cajas / Punto de Venta, Productos, Clientes y Empleados).
-
Consulta de documentos de venta (facturas, boletas, etc.) por fecha, cliente y/o producto.
-
Creación de documentos de venta.
-
Actualización de productos (stock y precios).
CSTI
Consultoría en Tecnologías de Información
ALV Abap List Viewer
CSTI
Consultoría en Tecnologías de Información
ALV
¿Qué es ALV? ALV es el acrónimo de Abap List Viewer. Es un conjunto de programas estándar predefinidos que permiten generar listados de una manera estandarizada y simplificada. Al utilizar ALV el programador puede concentrarse estrictamente en la carga de los datos y se ve obligado a programar la salida de los mismos, así como las funciones allegadas a la salida de la información (ordenamiento, filtrado en pantalla, exportación de los datos a archivos, etc.)
CSTI
Consultoría en Tecnologías de Información
Funcionalidades Predefinidas Modificar la apariencia del reporte luego de generado. Grabar, recuperar y administrar el formato de visualización (variante de visualización) Ordenar el listado por una o varias columnas. Filtrar el listado (en salida) por una o varias columnas. Exportar los datos mostrados a varios formatos de archivos. Generación de gráficos.
ALV
CSTI
Consultoría en Tecnologías de Información
Grupo de Tipos SLIS Grupo de Tipos donde se encuentran las declaraciones de las estructuras usadas en listados ALV. Si se desea utilizar ALV dentro de un programa, se debe incluir entre las declaraciones del mismo la instrucción: TYPE-POOLS SLIS
ALV
CSTI
Consultoría en Tecnologías de Información
ALV List ALV List es el tipo básico de listado ALV. Se crea utilizando la función REUSE_ALV_LIST_DISPLAY. El formato de salida es similar al de un reporte generado con sentencias WRITE.
ALV
CSTI
Consultoría en Tecnologías de Información
ALV List
ALV
CSTI
Consultoría en Tecnologías de Información
ALV Grid ALV Grid es el segundo formato de salida de los reportes ALV. Se crea utilizando la función REUSE_ALV_GRID_DISPLAY. El formato de salida es similar al de un archivo Excel y es por esto más atractivo visualmente que el ALV List.
ALV
CSTI
Consultoría en Tecnologías de Información
ALV Grid
ALV
CSTI
Consultoría en Tecnologías de Información
ALV
Parámetros del ALV t_outtab
Tabla interna
Tabla que contiene los datos del reporte
i_callback_program
sy-repid
Programa que llama al ALV, obligatorio si se usan eventos.
i_save
A' = Activar variantes de visualización
is_variant
disvariant
Variante de visualización.
is_layout
slis_layout_alv
Formatos generales del reporte ALV.
it_fieldcat
slis_t_fieldcat_alv
Tabla para definir las columnas del reporte y el formato de las mismas.
it_events
slis_t_event
Tabla de eventos definidos para el reporte.
it_sort
slis_t_sortinfo_alv
Tabla de ordenamiento y agrupación del reporte.
CSTI
Consultoría en Tecnologías de Información
IT_FIELDCAT row_pos
Mostrar en la fila n (hasta 3 filas)
col_pos
Posición en la columna
fieldname
Nombre de la columna en la tabla interna
tabname
Nombre de la tabla interna
ref_fieldname
Nombre del campo en la estructura de referencia
ref_tabname
Nombre de la estructura DD de referencia
cfieldname
Nombre del campo que contiene la moneda
ctabname
Nombre de la tabla que contiene la moneda
qfieldname
Nombre del campo que contiene la unidad de medida
qtabname
Nombre de la tabla que contiene la unidad de medida
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IT_FIELDCAT roundfieldname
Nombre del campo que contiene el numero de decimales para redondeo
roundtabname
Nombre de la tabla que contiene el numero de decimales para redondeo
round
Redondear a n decimales
decimalsfieldname
Nombre del campo que contiene el numero de decimales para salida
decimalstabname
Nombre del campo que contiene el numero de decimales para salida
decimals_out
Mostrar n decimales
exponent
Exponente fijo (sólo números flotantes)
key
Campo resaltado como clave
icon
Mostrar columna como ícono
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IT_FIELDCAT symbol
Mostrar columna como símbolo
checkbox
Mostrar columna como checkbox
just
Justificación L, R o C
lzero
Rellenar con ceros a la izquierda hasta la longitud del campo
no_sign
No mostrar el signo
no_zero
Mostrar blanco si el valor es 0
edit_mask
Mostrar el campo con una máscara de edición
emphasize
Resaltar el campo
fix_column
La columna aparece a la izquierda y siempre es visible
do_sum
Columna sumarizada (sólo para columnas numéricas)
no_out
Columna oculta (X), columna no puede ser ocultada (O)
tech
Columna oculta y no aparece en el pool de columnas
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IT_FIELDCAT outputlen
Longitud de salida
seltext_s
Texto corto
seltext_m
Texto mediano
seltext_l
Texto largo
reptext_ddic
Texto cabecera
ddictxt
S, M o L, permite seleccionar cual texto mostrar
rollname
Elemento de datos del campo
datatype
Tipo de datos básico
ddic_outputlen
Longitud de salida definida
intlen
Longitud definida del campo
hotspot
Mostrar columna es acceso directo
input
Columna editable
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
ALV
IT_FIELDCAT Puede utilizarse la función REUSE_ALV_FIELDCATALOG_MERGE para cargar el catálogo de campos cuando este esté basado en una única estructura del diccionario de datos. La función carga el catálogo con todas las columnas de la estructura y luego estas pueden ser tratadas para acomodarse al reporte necesario.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
IS_LAYOUT colwidth_optimize
Optimizar ancho de columnas
no_colhead
No mostrar cabeceras
no_hotspot
Las cabeceras no son hotspot (solo ALV List)
zebra
Filas de color intercalado
no_vline
No mostrar separadores de columnas
window_titlebar
Titulo de la ventana
lights_fieldname
Campo en la tabla que contiene el valor de la excepcion
lights_tabname
Tabla que contiene el valor de la excepcion
no_sumchoice
No aparece el boton de totales
no_totalline
No aparecen las filas de totales
no_subchoice
No aparece el boton de subtotales
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IS_LAYOUT no_totalline
No aparecen las filas de totales
no_subchoice
No aparece el boton de subtotales
no_subtotals
No se puede subtotalizar
numc_sum
Hacer posible subtotales de campos NUMC
totals_only
Mostrar solo totales
totals_text
Texto para fila de totales
subtotals_text
Texto para filas de subtotales
box_fieldname
Campo que permite seleccionar la fila
box_tabname
Tabla que contiene a dicho campo
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IS_LAYOUT expand_fieldname
Campo para expandir la fila
no_input
Todos los campos son no editables
f2code
User command que se ejecuta al hacer doble click
no_keyfix
No se puede fijar columnas
no_scrolling
No se puede hacer desplazamiento
detail_popup
Mostrar detalle en una ventana popup
detail_initial_lines
Mostrar detalle para lineas en blanco
detail_titlebar
Titulo para la ventana de detalle
coltab_fieldname
Columna que contiene la tabla de colores de la fila
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IT_SORT spos
Prioridad del ordenamiento
fieldname
Columna por la cual se debe ordenar
tabname
Tabla de la columna
up
Ordenar ascendente
down
Ordenar descendente
group
Agrupar: (*) cambio de página, (UL) linea de separación
subtot
Mostrar subtotales para el grupo
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
IT_EVENTS name
Nombre del evento
form
Nombre de la subrutina FORM que lo controla
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
ALV
CSTI
Consultoría en Tecnologías de Información
ALV
IT_EVENTS La tabla de eventos permite definir y manejar los eventos que ocurren en un reporte ALV. Para utilizarla, se le carga con la función REUSE_ALV_EVENTS_GET, la cual cargará la lista de eventos del ALV. A continuación deberá asignarse subrutinas de control a los eventos que se requieran y se debe definir las subrutinas correspondientes. Al llamar a la función ALV el parámetro I_CALLBACK_PROGRAM es obligatorio y debe contener el nombre del programa que contiene a las subrutinas de control.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
ALV
Otros ALV ALV Jerárquico REUSE_ALV_HIERSEQ_LIST_DISPLAY Generación de reportes jerárquicos (cabecera y detalle). Bloques ALV REUSE_ALV_BLOCK* Permite colocar simultáneamente varios ALV (list y jerárquico) dentro de una única pantalla de reporte.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI Consultoría en Tecnologías de Información
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Clase ALV O-O Abap List Viewer
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Introducción CL_GUI_ALV_GRID es una clase estándar que permite crear reportes ALV Grid mediante programación orientada a objetos y permite embeber dichos reportes dentro de dynpros. Si bien es muy similar a la función REUSE_ALV_GRID_DISPLAY en los resultados que se pueden obtener, su uso es muy diferente pues se hace uso de los conceptos de ABAP Objects.
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Ventajas
Orientado a objetos Se puede utilizar en dynpros Se puede mostrar varios simultáneamente en una misma pantalla Reemplaza al TABLE CONTROL, incluyendo todas las funcionalidades de la función ALV Grid. Interfaz directa con Office mediante el modo de visualización Excel.
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Como Usar CL_GUI_ALV_GRID Para utilizar la clase, se debe crear una dynpro y definir dentro de la dynpro un control CUSTOM CONTROL, el cual separará el área de la dynpro donde se embeberá el ALV Grid.
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Definición de datos En el programa, deben definirse 2 objetos de las siguientes clases: CL_GUI_CUSTOM_CONTAINER para manipular el CUSTOM CONTROL de la dynpro. CL_GUI_ALV_GRID para crear y manipular el ALV Grid
CSTI
Consultoría en Tecnologías de Información
Definición de datos Adicionalmente deben definirse datos con los siguientes tipos: lvc_t_fcat
Catálogo de campos del ALV
lvc_t_sort
Ordenamiento (opcional)
lvc_s_layo
Layout (opcional)
disvariant
Variante de visualización (opcional)
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Clase ALV
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Instanciación Durante el PBO de la dynpro definida, se deben instanciar los objetos definidos previamente. Nótese que al instanciar el objeto ALV, se hace referencia al objeto Container.
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Presentación del Grid Luego de instanciar los objetos y de haber cargado los datos del reporte y el catálogo de campos (si van a utilizarse deberían cargarse también los otros parámetros) se utiliza el método SET_TABLE_FOR_FIRST_DISPLAY.
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Presentación del Grid El método SET_TABLE_FOR_FIRST_DISPLAY se debe usar, cómo su nombre lo indica, únicamente para mostrar la tabla por primera vez. Luego de eso no debe utilizarse y si los datos de la tabla base hubieran cambiado y se requiriera refrescarlos en la pantalla, se debe utilizar el método REFRESH_TABLE_DISPLAY.
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Eventos El manejo de eventos con la clase ALV es muy diferente al de las funciones ALV porque está orientado a objetos. Para manejar los eventos de CL_GUI_ALV_GRID, se debe definir una clase que contenga los métodos HANDLER correspondientes y se debe instanciar dicha clase y establecer las relaciones entre eventos y métodos handler adecuadamente.
CSTI
Consultoría en Tecnologías de Información
Eventos Declare e implemente la clase manejadora.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Clase ALV
CSTI
Consultoría en Tecnologías de Información
Eventos Declare e instancie un objeto de la clase definida previamente.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Clase ALV
CSTI
Consultoría en Tecnologías de Información
Clase ALV
Eventos Establezca las relaciones entre los métodos handler y los eventos del objeto ALV Grid.
Algunos eventos requieren ser “activados” dentro del ALV.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Algunos Métodos set_table_for_first_display
Mostrar la tabla por primera vez
refresh_table_display
Actualizar la visualización
get_frontend_fieldcatalog
Leer el catálogo de campos actual
set_frontend_fieldcatalog
Actualizar el catálogo de campos
get_selected_rows
Leer las filas seleccionadas
get_selected_columns
Leer las columnas seleccioandas
get_selected_cells
Leer las celdas seleccionadas
check_changed_data
Verificar los datos modificados en la tabla
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Clase ALV
CSTI
Consultoría en Tecnologías de Información
Algunos Eventos onf4
Presionaron F4
data_changed
Datos modificados en algún punto de la grilla
user_command
Presionaron un botón (no estándar) de la barra de herramientas
double_click
Doble click en algún punto de la grilla
print_top_of_page
Top of page cuando se imprime la lista
print_end_of_page
End of page cuando se imprime la lista
toolbar
Para modificar la barra de herramientas del ALV
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Clase ALV
CSTI
Consultoría en Tecnologías de Información
Laboratorio ALV
Laboratorio 10: ALV 1.
Crear reportes ALV para los Productos y Documentos de Venta. En la pantalla de selección de cada reporte coloque una opción para mostrar el reporte en formato lista y en formato grilla.
2.
Copie el programa de creación de datos para registrar las ventas (Laboratorio 5, ejercicio 1) reemplace en la dynpro el table control con un custom control ALV Grid. La funcionalidad del programa debe mantenerse.
CSTI
Consultoría en Tecnologías de Información
Enhancements Ampliaciones
CSTI
Consultoría en Tecnologías de Información
Enhancements
Introducción SAP ha desarrollado todos sus módulos (llámese FI, MM, SD, PP, etc.) con normas internacionales estándares que son practicadas ampliamente en todas partes del mundo. Sin embargo, las exigencias de clientes se diferencian de un lado a otro. Bajo este escenario, se hace imperativo modificar los objetos creados por SAP para satisfacer las necesidades generadas, para lo cual se han creado diversas técnicas llamadas Ampliaciones (Enhancements), que son código ABAP externo a los programas estándares y que se aplican a los procesos de negocio para adaptarlos a los requerimientos específicos. Entre las ampliaciones más usadas tenemos, los User Exits, BADIs, Enhancements Points y BTEs.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
User Exit Un User-Exit es una rutina definida dentro de un programa estándar ABAP que está vacía, es decir, sin código ABAP. Está rutina está allí para que el usuario ponga su propio código fuente que le permita realizar tareas específicas que no están previstas por SAP. Las User-Exit se gestionan por la transacción SMOD y se implementan por la transacción CMOD. Una vez implementado el User-Exit, se debe activar el proyecto, ya que es la única manera que pueda verse el efecto del código introducido en la rutina.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Proyecto de Ampliación
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Ampliaciones y Proyectos de Ampliaciones
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Procedimiento para creación de Ampliaciones
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Procedimiento para activación de Exits
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Creando Proyectos de Cliente por la CMOD
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Enhancements
Asignación de Ampliaciones a proyectos de Cliente
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Editando los componentes
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Activando Proyecto de Ampliación
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Transportando los Proyectos
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Overview de Programa Exit
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Módulo de Función Exit : Flujo de Proceso
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Llamando y Creando Módulos de Función
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Encontrando Módulos de Función Exit
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Editando Módulos de Función Exit
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Resúmen: Módulos de Función Exit
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Enhancements
BADIs (Business ADd-Ins) Las BADI's son un nuevo tipo de ampliación al sistema SAP basado en ABAP Objetcs. El principal objetivo de las BADI’s, es cumplir con los requerimientos del cliente permitiendo agregar nuevas funcionalidades dentro del código estándar de SAP. De la misma manera que con los User Exit's, las BADI's tienen dos vistas: la de definición y la de implementación. Mediante la transacción SE18 accedemos a la Definición de las BADI's, en la cual se pueden ver las características, parámetros de entrada, parámetros de salida, tipo de BADI, etc. Para la implementación de la BADI se utiliza la transacción SE19, en la que ademaás se pueden ver todas las implementaciones que existan de una BADI determinada. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Transacción SE18 – Definición de BADI’s
- Para ver las definiciones existentes, pulse F4 en el nombre de la definición, aparecerá una pantalla pop-up en el cual pulsará el botón Aplicaciones SAP. - El sistema muestra un árbol de las áreas funcionales (en SAP) de los módulos pertinentes, tales como, MM, SD y HR. - Navegue en este árbol con el fin de encontrar el área (y por lo tanto la BADI) en la que se está interesado. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Visualizando una definición estándar - Atributos
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Enhancements
Visualizando una definición estándar – Interface y nombre del método
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Al pulsar doble click sobre el método se visualizan los detalles acerca de los parámetros Importing, Exporting y Changing.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Transacción SE19 – Implementando BADI’s
Para implemetar una BADI se necesitan hacer tres pasos: 1. Identificar la BADI a implementar (SE18, internet, etc). 2. Crear una implementación vía SE19. 3. Escribir el código para el método de la BADI. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
Enhancements
CSTI
Consultoría en Tecnologías de Información
Enhancements
Creando la Implementación
Ingresar el nombre de la implementación y pulsar el botón Crear. Aparece una ventana para ingresar el nombre de la BADI.
Esto nos lleva a la siguiente pantalla… Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
- Ingrese un nombre descriptivo acorde a la implementación. - Pulse la ficha Interface para ver el nombre de la clase que se generará producto de la implementación, se puede cambiar si se desea. También se muestra, el nombre del método de la BADI. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Luego. Se pulsa doble click sobre el nombre del método (en nuestra caso SAP_SCRIPT_TABLES). Esto nos lleva a la pantalla del editor del método. Esta es área donde se puede escribir el código ABAP que le gustaría que se ejecute cuando el método BADI es Llamado.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Escribiendo el código para el método de la BADI
Una vez ingresado el código necesario, activar la implementación de la BADI. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Método para encontrar BADI’s Para encontrar los lugares en donde existe una BADI, se puede usar el siguiente método: Poner un BREAK-POINT de sesión dentro del método GET_INSTANCE de la clase CL_EXITHANDLER (transacción SE24). Luego, se ejecuta la transacción o programa que queremos verificar y el programa se detendrá en el BREAK-POINT, en la variable exit_name se muestran los nombres de las BADI's que implementa el programa. Este método puede resultar engorroso porque se detiene muchas veces la ejecución, pero nos aseguramos que si una BADI existe se detendrá en ese punto. Lo que estamos haciendo es poner un BREAK-POINT en el momento en que SAP verifica si una definición de BADI tiene alguna implementación activa; por lo tanto, aunque no exista ninguna implementación activa para esa BADI particular el método detectará que existe una BADI en ese punto.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Otra forma: Transacción ST05 (Performance Analysis) Esta técnica de análisis se basa en el echo de que todas las BADI’s están registradas en tablas SAP. Por lo que en cada llamada a una BADI el sistema pasa por estas tablas. Las tablas de las BADI’s son las siguientes SXS_INTER, SXC_EXIT, SXC_CLASS y SXC_ATTR. A estas tablas, SAP siempre accede mediante las vistas V_EXT_IMP y V_EXT_ACT. Por lo que estas vistas (T: SE11) serán la base de nuestro análisis.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
EJEMPLO: Supongamos que quiero saber que BADI’s son llamadas en la transacción “Maintain Business Partners” código BP. PASOS: 1.- Primero chequeamos que ningún otro usuario (T:SM04) o jobs en fondo (T: SM50) están usando el mismo usuario que tú. 2.- Nos vamos a la transacción ST05 (Performance Analysis) y marcamos el flag "Buffer trace", después pulsamos el botón “Activate Trace “, para activar el Trace. 3.- Inmediatamente después ya que el sistema está ya “Grabando” nos vamos a la transacción BT que queremos analizar y pulsamos el boton "Organization" completando los campos con los siguientes datos de prueba:
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Al finalizar pulsamos el boton salvar. 4.- Volvemos a la ventana donde teníamos abierta la ST05 y pulsamos el botón "Deactivate Trace" para finalizar el trace y pulsamos sobre el botón "Display Trace", entonces el popup "Set Restrictions for Displaying Trace" aparecerá. 5.- Ahora vamos a filtrar el Trace con los objetos: V_EXT_IMP y V_EXT_ACT. Que son nuestras vistas.
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Pulsamos el botón "Copy (F8)" , Fill Operations: OPEN y pulsamos el botón "Enter“. ANALISIS DE LOS RESULTADOS Obtendremos un listado parecido a este que interpretaremos de la siguiente manera:
Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Enhancements
Todas las “interface class names” de las vista V_EXT_IMP comienzan con IF_EX_. Este es el prefijo estándar de SAP para las “ BADI class interfaces “. El nombre de la BADI está después de este IF_EX_. Es decir el nombre de la BADi para IF_EX_ADDR_LANGU_TO_VERS es ADDR_LANGU_TO_VERS. Av. Aviación 2905 Of. 203 San Borja Perú +51 1 2256635 http://www.csti.com.pe
CSTI
Consultoría en Tecnologías de Información
Laboratorio Enhancements
Laboratorio 11: Enhancements Implementar una ampliación para que al grabar un pedido de ventas (transacción VA01), muestre un mensaje si el pedido tiene condición de pago al contado. Antes de implementar se debe buscar la BADI que se activa al momento de grabar el pedido.
View more...
Comments