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

Contenido del Curso

- 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

CSTI

Consultoría en Tecnologías de Información

Estructura entorno SAP R/3

- Instancia. - Mandante - Objetos en una Instancia.

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

Procedimiento de acceso

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

Opciones Avanzadas

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

CSTI

Consultoría en Tecnologías de Información

Pantalla SAP

- 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

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

generando un flujo de información entre los distintos usuarios. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información SAP R/3 SAP R/3 es un ERP.com. 203 San Borja Perú  +51 1 2256635 http://www.csti. Av. Está integrado por varios módulos coordinados entre ellos.pe . una aplicación de gestión empresarial diseñada para cubrir la demanda de todas las áreas funcionales de cualquier empresa.

pe . 203 San Borja Perú  +51 1 2256635 http://www.com. Se ingresa en la Línea de comandos.csti.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). Aviación 2905 Of. Línea de Comandos Av.

csti.Abrir una sesión desde cualquier pantalla y siempre que lo desee. .pe . 203 San Borja Perú  +51 1 2256635 http://www.com.CSTI Consultoría en Tecnologías de Información Manejo de Sesiones Si trabaja usted con varias sesiones. Modo 2 Modo 1 Av.Ejecutar diferentes transacciones en paralelo. Aviación 2905 Of. puede: .

203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Línea de Comandos Permite el manejo de: . Aviación 2905 Of.com.csti.Manejo de Transacciones Línea de Comandos Av.Administración de Modos (Sesiones) .pe .

com.csti. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.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.

Componentes: . .Funciones SAP que afectan a la sesión en su totalidad.com.Servicios .CSTI Consultoría en Tecnologías de Información Menú Sistema . 203 San Borja Perú  +51 1 2256635 http://www.Utilidades .Lista .Valores Prefijados . .Status .Crear/Borrar Modo.Jobs Propios.Salir del Sistema Av.csti. Aviación 2905 Of.pe .Mensajes Breves . .

. .Retener / Fijar / Borrar Datos.Activar Menú Usuario.Valores Fijos Usuarios.com. Aviación 2905 Of. .Actualizar Menú Usuario. .Dirección de Usuario.pe .Componentes: .Información de usuario que afecta a la sesión en su totalidad. .csti. .CSTI Consultoría en Tecnologías de Información Valores Prefijados .Parámetros Usuarios. Av. 203 San Borja Perú  +51 1 2256635 http://www.

csti.com.CSTI Consultoría en Tecnologías de Información Menú Sistema .SAP office .Transferencia a PC de reportes .Servicios Permite llevar a cabo funciones como: .Manejo de reportes .pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.Manejo de jobs Av.

Atributos del reporte .com.csti.Visualizar reporte . 203 San Borja Perú  +51 1 2256635 http://www.pe .Impresión de reporte . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Servicios de Impresión .Eliminación de reporte Av.

203 San Borja Perú  +51 1 2256635 http://www.csti. Aviación 2905 Of.com. . Av.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: .Revisión de trabajos (job overview).pe .Definición de trabajos (job definition).

No son de ejecución interactiva.Integrado en el Sistema SAP.Procesamiento distribuido . .CSTI Consultoría en Tecnologías de Información Ejecución de trabajos en Background .Pueden ser procesados en paralelo con operaciones en línea . .

pe .CSTI Consultoría en Tecnologías de Información Pasos de un proceso en background Planificación del proceso Ejecución del proceso Revisión del proceso Av. Aviación 2905 Of.csti.com. 203 San Borja Perú  +51 1 2256635 http://www.

pe .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.com.csti. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.

6 Object Navigator Transacción SE80 Av.CSTI Consultoría en Tecnologías de Información ABAP/4.pe .csti. 203 San Borja Perú  +51 1 2256635 http://www.com. Aviación 2905 Of.

pe .CSTI Consultoría en Tecnologías de Información ABAP/4.6 Object Navigator otros Otros Av. 203 San Borja Perú  +51 1 2256635 http://www.com.csti. Aviación 2905 Of.

6 Object Navigator Diccionario Av.com.pe .csti. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información ABAP/4. 203 San Borja Perú  +51 1 2256635 http://www.

pe .6 Object Navigator Programa Av. 203 San Borja Perú  +51 1 2256635 http://www.csti. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información ABAP/4.com.

CSTI Consultoría en Tecnologías de Información Diccionario de Datos Conceptos & Definiciones .

.CSTI Consultoría en Tecnologías de Información Diccionario de Datos ¿Qué son atributos? ¿Qué es la Data? ¿Cómo está constituida 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.

la cual ayuda a reducir la redundancia de documentación. Una gran parte de la ayuda en línea es dada por el Abap/4 dictionary. Date. ..CSTI Consultoría en Tecnologías de Información Uso del ABAP/4.6 Dictionary Information Where-used lists Search by attribute Visualizar todos los objetos de tipo X con atributo Y Visualizar todos los objetos de tipo X que son usados por el objeto Y Information on relationships between tables ABAP/4 Dictionary Modification analysis Visualizar todas las relaciones existente para la tabla X Visualizar todos los objetos de tipo X que fueron modificados por User.

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 ABAP/4.

6 Dictionary Table A Table B Table C Tables Data element 1 Data element 2 Data Elements Domain Dominios .CSTI Consultoría en Tecnologías de Información Componentes Básicos del ABAP/4.

. 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 ¿Qué es un Dominio? Un Dominio describe los atributos técnicos de un campo.

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 .

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 ¿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.

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 .

a su vez. Una tabla de base de datos posee una estructura por lo tanto es implícitamente un tipo estructurado. No obstante. una estructura. es decir. sus componentes sólo pueden poseer un tipo elemental. Una tabla también se puede usar como componente de una estructura. . de estructuras de datos con componentes de cualquier tipo. Un componente puede ser un campo con un tipo elemental o también puede ser.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.

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 .

Opciones técnicas: Con las opciones técnicas se controla cómo se crea la tabla en la base de datos. Componentes: . como elementos de datos y dominios. .Clave externa o Foránea: Mediante la clave externa se especifican las relaciones de la tabla con otras tablas.CSTI Consultoría en Tecnologías de Información ¿Qué es una Tabla? Es una agrupación de campos.Campos de tablas: Nombres de campo y los tipos de datos de los campos contenidos en la tabla. . .Índices: Para acelerar la selección de datos de la tabla se pueden crear índices para la tabla . constituida en base a otros objetos.

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 .

203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Grabando una Tabla Av.pe .com.csti. Aviación 2905 Of.

de los contrario no podremos activar nuestra 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.

. . modifican o se borran filas de la tabla. . ocupa un poco más de espacio en disco.Por estas razones no es aconsejable definir índices de forma indiscriminada. y las filas se ordenarán según los valores contenidos en esas columnas.Cuando se añaden.Al ser el índice una estructura de datos adicional a la tabla.Un índice se define sobre una columna o sobre un grupo de columnas.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.CSTI Consultoría en Tecnologías de Información Índices . . el sistema debe actualizar los índices afectados por esos cambios lo que supone un tiempo de proceso mayor. .

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 .

Aviación 2905 Of. Av.pe .csti. Una vista es una tabla virtual.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.com. 203 San Borja Perú  +51 1 2256635 http://www.

com.pe . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Creación de una Vista Tipo de Vista Av. 203 San Borja Perú  +51 1 2256635 http://www.csti.

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.com.csti.pe . 203 San Borja Perú  +51 1 2256635 http://www.

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.com.csti.

Aviación 2905 Of. es decir. Av.com. Compuesta: Constan de varias Ayudas para búsqueda elemental.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. 203 San Borja Perú  +51 1 2256635 http://www. Existen 2 tipos de ayuda: Elemental: Realizan una trayectoria de búsqueda para determinar las entradas posibles. ponen a disposición varias trayectorias de búsqueda alternativas para las entradas posibles.pe .csti.

csti. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com.CSTI Consultoría en Tecnologías de Información Creando una Ayuda para Búsqueda Tipo de búsqueda Av.pe .

203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.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.csti.pe .com.

com.csti. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www. 1 2 Utilización Asignando una ayuda de búsqueda Al pulsar F4 Av.pe .CSTI Consultoría en Tecnologías de Información Ejecutando una Ayuda para Búsqueda Al pulsar nos llevará a esta pantalla donde podremos visualizar como será la salida de nuestra ayuda de búsqueda al dar ENTER.

com. Aviación 2905 Of.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.pe . Av. Estos objetos deben crearse explícitamente en el Diccionario. 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. 203 San Borja Perú  +51 1 2256635 http://www.csti.

pe . Aviación 2905 Of. Bloqueo Tabla Modo de Bloqueo Av. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Creando un Objeto de Bloqueo Descripción del Obj.com.csti.

Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www.com.CSTI Consultoría en Tecnologías de Información Creando un Objeto de Bloqueo Parámetros de bloqueo Clase de desarrollo Av.csti.

csti.com.pe .CSTI Consultoría en Tecnologías de Información Mantenimiento de Tablas SE16 Para visualizar o modificar registros existentes Para adicionar nuevos registros Al pulsar nos mostrará la siguiente pantalla. 203 San Borja Perú  +51 1 2256635 http://www. Av. Aviación 2905 Of.

CSTI Consultoría en Tecnologías de Información Mantenimiento de Tablas SE16 Podemos configurar mediante el siguiente menú para obtener: . .Definir los campos y los criterios de selección. 203 San Borja Perú  +51 1 2256635 http://www. Av.Un listado solo con los campos definidos por el usuario.pe . . . Aviación 2905 Of.Definir secuencia de los campos en el reporte. .Definir otras opciones específicas del usuario.com.csti.Definir mostrar campos técnicos o denominaciones.

pe .La Lectura en una Base de Datos Lógica es de arriba hacia abajo. . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Base de Datos Lógica SE36 .Una base de datos lógica puede acceder a datos almacenados en una o varias tablas físicas del sistema.com. según su estructura. 203 San Borja Perú  +51 1 2256635 http://www. . Av.Una Base de Datos Lógica puede accesar a varias bases de datos físicas.csti.

Aviación 2905 Of.Bajo el comando editor SHOW DATABASE <dbs> Av. 203 San Borja Perú  +51 1 2256635 http://www. . .CSTI Consultoría en Tecnologías de Información Visualizando una Base de Datos Lógica Modos: .com.Bajo la transacción SE80.Bajo la transacción SE36.pe .csti.

com. Av. Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www. Este comando es procesado solo luego de que se hayan leído y procesado los nodos subordinados.csti. También podemos usar: GET [Nombre del Nodo] LATE.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].

Crear los dominio.CSTI Consultoría en Tecnologías de Información Laboratorio Diccionario de Datos Laboratorio 1: Diccionario de Datos 1. . elementos de datos y tablas necesarios para implementar el siguiente DER.

com.csti. cliente y empleado. punto de venta. punto de venta. Crear ayudas de búsqueda para producto.CSTI Consultoría en Tecnologías de Información Laboratorio Diccionario de Datos 2. Av. cliente y empleado 3.pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. Crear Vista de actualización para producto.

csti.CSTI Consultoría en Tecnologías de Información ABAP/4 Introducción Av. 203 San Borja Perú  +51 1 2256635 http://www.pe . Aviación 2905 Of.com.

csti. En programa pondremos el nombre del objeto que deseamos crear. Aviación 2905 Of.com.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. modificar o visualizar Av.pe . 203 San Borja Perú  +51 1 2256635 http://www.

Aviación 2905 Of.com.csti.CSTI Consultoría en Tecnologías de Información Operaciones en el Editor Chequeo Activar Ejecutar Where-Used-list Renombrar Copiar Eliminar Análisis de Entorno Av. 203 San Borja Perú  +51 1 2256635 http://www.pe .

csti.CSTI Consultoría en Tecnologías de Información Where Used List Nos va a indicar la referencia de utilización de un objeto.pe . 203 San Borja Perú  +51 1 2256635 http://www. Si se trata de un programa Si se trata de una tabla Av. Aviación 2905 Of.com.

. Una verificación completa como: • Consistencia de campos • Consistencias de dynpros • Utilización de sentencias • Salidas de campos • Mensajes • Autorizaciones • Llamadas a programas externos.. Verificación ampliada (SLIN). Verificación Ampliada Verificar sintaxis (CTRL + F2 ó ). 203 San Borja Perú  +51 1 2256635 http://www.csti.CSTI Consultoría en Tecnologías de Información Verificar Sintaxis vs. Av. Aviación 2905 Of.Verificación de sintaxis + performance.com.Nos va a permitir visualizar solamente los errores de sintaxis del código de un programa.pe .

203 San Borja Perú  +51 1 2256635 http://www.pe .com. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Modos de Editor Av.csti.

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.com.csti.pe . 203 San Borja Perú  +51 1 2256635 http://www.

Aviación 2905 Of.com. Esto permite agrupar los objetos de acuerdo a un área temática. Al crear un objeto nuevo del Workbench ABAP.pe . 203 San Borja Perú  +51 1 2256635 http://www.csti.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. 1 2 Av. aparece una ventana de entrada en la que deberá asignar al objeto una de las clases de desarrollo ya existentes.

com. Se puede modificar la clase de desarrollo la Transacción SE80.csti.pe . 203 San Borja Perú  +51 1 2256635 http://www. Av.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. Aviación 2905 Of.

pe . ¿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.Grabación de las modificaciones en objetos de Repository y su transporte a otros Sistemas R/3..csti.. Aviación 2905 Of.com. Av.Ordenes de modificaciones locales.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.Orden de modificación transportable. .Orden Customizing.Grabación de las modificaciones en objetos de Repository dentro de un Sistema R/3. . Tipos de Ordenes: ..Grabación de las modificaciones en parametrizaciones Customizing y su posible transporte a otros Sistemas R/3 o a otros mandantes. 203 San Borja Perú  +51 1 2256635 http://www.

203 San Borja Perú  +51 1 2256635 http://www.csti.com. Aviación 2905 Of. Al pulsar nos permitirá crear una orden de transporte Al pulsar ordenes propias nos permitirá seleccionar una de las órdenes definidas anteriormente Av.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.pe .

csti.CSTI Consultoría en Tecnologías de Información Editando un Programa Código del programa Av. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.com.pe .

pe .CSTI Consultoría en Tecnologías de Información Elementos de Texto de un programa Av.csti. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.com.

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. Av. Textos de selección: Están referidos de manera específica a los parámetros de selección del programa. Son útiles porque nos permiten traducir al idioma deseado. 203 San Borja Perú  +51 1 2256635 http://www.pe .com.csti. Cabeceras de Listas: Es útil cuando hagamos listados por impresora o por pantalla. Aviación 2905 Of.

pe .CSTI Consultoría en Tecnologías de Información Traduciendo Elementos de Texto Av. 203 San Borja Perú  +51 1 2256635 http://www.csti.com. Aviación 2905 Of.

Versiones Av.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. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.csti.com. Nos va a permitir poder comparar el código así como también recuperar una versión antigua.

Permitirá la comparación de 2 versiones seleccionadas.csti.pe . Permitirá recuperar la versión antigua seleccionada. 203 San Borja Perú  +51 1 2256635 http://www.com.CSTI Consultoría en Tecnologías de Información Versiones de Programas Permitirá la visualización de la versión seleccionada. Av. Aviación 2905 Of.

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

Características del ABAP/4 SECUENCIA DE EVENTOS

PROGRAMA

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 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

EVENTO 2

EVENTO 3

EVENTO 1

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

Estructurando un programa

Av. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.csti.com.pe

csti.com.pe .CSTI Consultoría en Tecnologías de Información Declarando y Procesando Datos Tipos C F I N P X D T Long. Por defecto 1 8 4 1 8 1 8 6 Posible Longitud 1-32000 8 4 1-32000 1-16 1-29870 8 6 Valor Inicial Descripción ESPACIOS 0. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.0E+00 0 ´0000´ 0 x ´0´ 00000000 000000 Texto Punto flotante Entero Texto Numérico Número Empaquetado Hexadecimal Fecha YYYYMMDD Hora HHMMSS Av.

Con la cláusula TYPE podemos definir otros tipos de datos. 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.pe .com. 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. 203 San Borja Perú  +51 1 2256635 http://www. Si no se indica un tipo de dato. Ejemplo: data: w_contador type p value 1 Av. el sistema asume que es de tipo carácter (texto) y de longitud 1.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.csti. Aviación 2905 Of.

Igort_pa radiobutton group RG.CSTI Consultoría en Tecnologías de Información Declarando Parámetros de Entrada * Declarando Parámetros con Parameters: Parameters: par1(3) type n. par4 radiobutton group <n> default `X´.csti. par5 radiobutton group <n>. 203 San Borja Perú  +51 1 2256635 http://www. bukrs_pa like t001-bukrs. par 2 like tabla-campo. Aviación 2905 Of.com. Av. Ejemplo: Parameters: bldat_pa type d.pe . print_pa check default `X´. werk_pa radiobutton group RG default `X´. par3 as ckeckbox default `X´.

203 San Borja Perú  +51 1 2256635 http://www. donde. s_monat for bsik-monat.pe representa el nombre del campo representa la tabla-campo.csti. sel f Ejemplo: select-options: s_gjahr for bsik-gjahr. . Av. Aviación 2905 Of.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.com. s_blart for bsik-blart.

csti.com. SELECTION-SCREEN FUNCTION KEY. SELECTION-SCREEN BEGIN OF LINE SELECTION-SCREEN END OF LINE SELECTION-SCREEN POSITION pos. Aviación 2905 Of.pe . SELECTION-SCREEN TAB (len) tabname USER-COMMAND ucom. 203 San Borja Perú  +51 1 2256635 http://www. SELECTION-SCREEN BEGIN OF TABBED BLOCK block FOR n LINES SELECTION-SCREEN END OF BLOCK block. Av. SELECTION-SCREEN ULINE SELECTION-SCREEN COMMENT fmt name SELECTION-SCREEN PUSHBUTTON fmt name USER-COMMAND ucom.CSTI Consultoría en Tecnologías de Información Usando Selection-Screen Variantes: SELECTION-SCREEN BEGIN OF BLOCK block. SELECTION-SCREEN SKIP n.

csti.com.CSTI Consultoría en Tecnologías de Información Ejemplo de Selection-Screen Av. Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www.

Fields-symbols: <monto>. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. <field2>. precio(7) type p decimals 2. Field Symbols y Range * Declarando Fields Symbols Fields-symbols: <field1>.pe . var2 like tabla-campo. Ranges: R_RANGO for tabla-campo. company like t001-bukrs.CSTI Consultoría en Tecnologías de Información Declarando Variables. edad(2) type n.csti. Ejemplo: data: fecha like sy-datum. var3 type n value ´XXX´. Ejemplo: Ranges: R_BUKRS for T001-BUKRS Av.com. Ejemplo: * Declarando Variables data: var1 type n. <suma>.

Pueden pasar en cualquier momento.CSTI Consultoría en Tecnologías de Información Eventos END-OF-SELECTION. Tenemos los siguientes eventos: INITIALIZATION. END-OF-PAGE. 203 San Borja Perú  +51 1 2256635 http://www.Se lanza cuando se crea automáticamente una nueva página. En ese momento se empieza a ejecutar el código que se encuentra entre REPORT y START-OFSELECTION.pe .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. Av.csti. Inmediatamente después se ejecuta el código contenido dentro de ese evento.. 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 * Los Eventos pueden ser de 2 tipos: .Se ejecuta cuando se procesa la instrucción REPORT.Se procesa antes de que el primer dato salga en cada página.Síncronos.Pasa con periocidad. TOP-OF-PAGE.com. Aviación 2905 Of.. . START-OF-SELECTION. Se suele usar para poner el título a las páginas o cabeceras.Asíncronos.En este evento se inicializarían todas las variables de los programas.

CSTI Consultoría en Tecnologías de Información EVENTO TOP-OF-PAGE Report z0006 no standard page heading . 203 San Borja Perú  +51 1 2256635 http://www. Top-of-page. Aviación 2905 Of. write / ‘line 3’. write / ‘line 1’. write / ‘line 2’. write: / ‘heading’.com. Av.pe . Uline.csti.

Aviación 2905 Of.csti.com. 203 San Borja Perú  +51 1 2256635 http://www.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.pe .

sentencia ELSE. IF <expresión lógica>.csti. Sentencia IF sentencia ENDIF.CSTI Consultoría en Tecnologías de Información IF <expresión lógica>.com. Av. IF <expresión lógica>.pe . sentencia ELSEIF <expresión lógica>. sentencia ELSE. sentencia ENDIF. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. sentencia ELSEIF <expresión lógica>. ENDIF.

… WHEN OTHERS. WHEN ‘D’.pe . … WHEN ‘GB’.CSTI Consultoría en Tecnologías de Información Sentencia CASE CASE COUNTRY. sentencia WHEN OTHERS.com. 203 San Borja Perú  +51 1 2256635 http://www. … WHEN ‘USA’. sentencia WHEN <valor2>.csti. … ENDCASE. Av. CASE <variable> WHEN <valor1>. sentencia WHEN <valor3>. sentencia ENDCASE. Aviación 2905 Of.

índice actual. 203 San Borja Perú  +51 1 2256635 http://www.csti.pe . SY-INDEX Variable de sistema. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Sentencia DO DO <n> TIMES.com. sentencia ENDDO. Av.

ENDWHILE.pe . 203 San Borja Perú  +51 1 2256635 http://www. . SY-INDEX Variable de sistema. WHILE CONTADOR > 0. Av. .csti.CSTI Consultoría en Tecnologías de Información Sentencia WHILE WHILE <expresión lógica>.com. . índice actual. SUBTRACT 1 FROM CONTADOR. sentencias ENDWHILE. Aviación 2905 Of.

pe . sentencias 1.CHECK dentro de una estructura de repetición WHILE CONTADOR GT 0.csti.com. sentencia CHECK FLAG NE SPACE.. Aviación 2905 Of. 2. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Sentencia CHECK CHECK <expresión lógica>. sentencia ENDWHILE.CHECK fuera de una estructura de repetición sentencia CHECK <condición> sentencia Av..

ENDIF. ENDIF. sentencia ENDDO.pe .csti. EXIT. IF CONTADOR GE 100. EXIT.EXIT dentro de una estructura de repetición DO. 2. 203 San Borja Perú  +51 1 2256635 http://www.com. sentencia sentencia Av..EXIT fuera de una estructura de repetición IF ….CSTI Consultoría en Tecnologías de Información Sentencia EXIT EXIT 1. Aviación 2905 Of..

com. SUM2 TYPE P.csti. Av. IF SUM1 BETWEEN 50 AND 100. Sintaxis EQ = NE <> >< GT > GE >= => LT < LE <= =< BETWEEN f1 AND f2 IS INITIAL Significado Igual a Distinto de Mayor que Mayor o igual que Menor que Menor o igual que Intervalo Valor inicial IF START IS INITIAL.pe . Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www. SUM1 TYPE F.CSTI Consultoría en Tecnologías de Información Operadores Relacionales DATA: START TYPE D. … ENDIF. … ENDIF. … ENDIF. IF SUM1 GT SUM2.

com.pe .CSTI Consultoría en Tecnologías de Información Expresiones Lógicas CONTADOR GE 0 CONTADOR GT 0 AND FLAG IS INITIAL (FLAG1 NE SPACE OR FLAG2 NE SPACE) AND CONTADOR BETWEEN 0 AND 100 CONTADOR EQ 0 AND NOT (FLAG EQ SPACE AND FLAG2 EQ SPACE) Av.csti. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.

CSTI Consultoría en Tecnologías de Información Operaciones de Comparación entre Cadenas de Caracteres <f1> CO <f2> contiene sólo: f1 contiene sólo caracteres de f2 ACCOUNT CO ‘0123456789’ <f1> CA <f2> contiene cualquier: f1 contiene por lo menos un caracter de f2 <f1> CS <f2> contiene cadenas de caracteres: f1 contiene la cadena de caracteres f2 ‘ABCDE’ CS ‘DE’ <f1> CP <f2> contiene patrón: f1 corresponde al modelo f2 Modelo: * cualquier cadena de caracteres + cualquier carácter ‘ABXDE’ CP ‘*B+D*’ Av.csti.pe . Aviación 2905 Of.com. 203 San Borja Perú  +51 1 2256635 http://www.

pe . * Si se desea seleccionar todos los campos. Av. 203 San Borja Perú  +51 1 2256635 http://www. si esta cláusula es usada no es necesario colocar ENDSELECT. FROM (tabla externa) Nombre de la tabla externa a utilizar.com.CSTI Consultoría en Tecnologías de Información Sentencia Select La sentencia SELECT consiste en una serie de cláusulas donde especifican diferentes tareas: Cláusulas mas usadas: SELECT Nombre de la sentencia SINGLE Selecciona el primer registro que cumpla con la condición.csti. Aviación 2905 Of.

[WHERE <condiciones>] [Campo Between variable de rango 1 AND variable de rango 2] Av. 203 San Borja Perú  +51 1 2256635 http://www.pe . INTO <CORRESPONDING FIELDS OF> TABLE TABLA Deriva la información a una tabla interna. Aviación 2905 Of. en vez de poner la cláusula * pondría los campos y luego del into las variables que van a recibir la información.csti.CSTI Consultoría en Tecnologías de Información Sentencia Select INTO VARIABLES Si no desea seleccionar todos los campos se puede derivar a variables.com. No es necesario colocar ENDSELECT. INTO CORRESPONDING FIELDS OF ESTRUCTURA Deriva la información sólo a los campos con nombres iguales en la estructura. WHERE/BETWEEN Ambas son cláusulas de criterio de selección pero el between nos permite seleccionar el rango de un campo.

com. [ORDER BY order [ASCENDING] [DESCENDING]] Muestra el resultado ordenado en forma ascendente o descendente por el campo seleccionado o por la combinación de los dos si se desea ordenar por más de un campo Av.CSTI Consultoría en Tecnologías de Información Sentencia Select [GROUP BY fields] Agrupa aquellos registros que tienen el mismo criterio de selección en una sola línea.pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.csti.

Av.CSTI Consultoría en Tecnologías de Información Ejemplos Select SELECT BUDAT BLDAT INTO CORRESPONDING FILEDS OF T_BKPF FROM BKPF WHERE BUKRS IN S_BUKRS AND BELNR IN S_BELNR AND GJAHR IN S_GJAHR.com.csti. SELECT * APPENDING CORRESPONDING FIELDS OF TABLE T_BKPF FROM BKPF WHERE BUKRS IN S_BUKRS AND BELNR IN S_BELNR AND GJAHR IN S_GJAHR. 203 San Borja Perú  +51 1 2256635 http://www. SELECT * APPENDING TABLE T_BKPF FROM BKPF WHERE BUKRS IN S_BUKRS AND BELNR IN S_BELNR AND GJAHR IN S_GJAHR.pe . SELECT * INTO TABLE T_BKPF FROM BKPF WHERE BUKRS IN S_BUKRS AND BELNR IN S_BELNR AND GJAHR IN S_GJAHR. APPEND T_BKPF ENDSELECT. Aviación 2905 Of.

Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Sintaxis WRITE WRITE <formato> <valor> <opciones> /p(l) <formato> donde / salto de línea p posición de columna l longitud de salida campo o constante <valor> Av.pe .com.csti.

pe .csti. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.com.CSTI Consultoría en Tecnologías de Información Sintaxis WRITE <opciones> NO-ZERO NO-SIGN NO GROUPING DD/MM/YY MM/DD/YY DD/MM/YYYY MM/DD/YYYY DDMMYY MMDDYY YYMMDD CURRENCY w DECIMALS d ROUND r UNIT u TIME ZONE tz EXPONENT e USING EDIT MASK mask USING NO EDIT MASK UNDER g NO-GAP LEFT-JUSTIFIED CENTERED RIGHT-JUSTIFIED Av.

csti.CSTI Consultoría en Tecnologías de Información Declarando Tablas Internas Av. 203 San Borja Perú  +51 1 2256635 http://www.com. Aviación 2905 Of.pe .

com. Av. END OF ty_tipo. campo1 TYPE tipo1.csti. campo2 TYPE tipo2. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Declarando Tipos SENTENCIA TYPES Ejemplo: TYPES: tipo1 TYPE p DECIMALS 2. Aviación 2905 Of. BEGIN OF ty_tipo.pe . tipo2(250) TYPE c.

csti. W_TEXTO(10) TYPE C. W_VAR = ‘YO’. W_TEXTO =‘W_VAR2’. DATA: W_VAR(4) TYPE C. W_VAR2 =‘TU’.pe . Aviación 2905 Of. WRITE:/ <POS>. W_VAR2(5) TYPE C.com. Av. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Declarando Fields Symbols FIELD-SYMBOLS: <XXXXX> ASSIGN (VARIABLE) TO <XXXXX> Ejemplo: FIELD-SYMBOLS: <POS>. ASSIGN (W_TEXTO) TO <POS>.

.pe . 203 San Borja Perú  +51 1 2256635 http://www.. DATA: BEGIN OF DATOS. …. .csti.CSTI Consultoría en Tecnologías de Información Sentencias más usadas MOVE-CORRESPONDING: Mueve los datos de una estructura a otra. Table: TABNE. END OF DATOS FLAG ID 0001 NOMBRE CIUDAD LIMA Av.com. ID 0001 NOMBRE1 JUAN CIUDAD LIMA MOVE-CORRESPONDING TABNE TO DATOS. sólo de los campos con nombres iguales. Aviación 2905 Of.

FREE <tab>. Borra todas las líneas de la tabla. Borra todas las líneas de la tabla. 203 San Borja Perú  +51 1 2256635 http://www. Inicializa todos los campos de la línea de cabecera de acuerdo a sus tipos.pe . El espacio de almacenamiento de la tabla no es liberado. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Iniciando Variables y Tablas Internas CLEAR <tab>. El espacio de almacenamiento de la tabla es liberado.csti.com. REFRESH <tab>. Av.

CSTI Consultoría en Tecnologías de Información ABAP/4 Transferencia de Datos desde/hacia SAP .

CSTI Consultoría en Tecnologías de Información Transferencia de Datos 1.Transferencia de Información. .. SAP proporciona diferentes métodos para poder transferir información de SAP a la PC/Servidor y viceversa.

Es un procedimiento que nos permite enviar información de las tablas SAP a otro sistema o PC a través de una función llamada GUI_DOWNLOAD. Es un procedimiento que nos permite subir información al sistema SAP utilizando la función GUI_UPLOAD . b) Upload..CSTI Consultoría en Tecnologías de Información Transferencia de Datos 2. a) Download.Funciones de Transferencia de Datos entre PC/Servidor.

CSTI Consultoría en Tecnologías de Información Transferencia de Datos a) Download (Función GUI_DOWNLOAD). Call function ‘GUI_DOWNLOAD’ exporting filename = filetype = tables data_tab = exceptions file_open_error = file_write_error = invalid_filesize = invalid_table_width= invalid_type = no_batch = unknown_error = filename ‘ASC’ Table 01 02 03 04 05 06 07. .

. Call function ‘GUI_UPLOAD’ exporting codepage filename filetype importing filelength tables data_tab = exceptions file_open_error file_read_error invalid_type unknown_error = = = = Table = = = = ‘IBM’ filename ‘ASC’ nflength 1 2 3 4.CSTI Consultoría en Tecnologías de Información Transferencia de Datos b) Upload (Función GUI_UPLOAD).

READ DATASET FPROC INTO ASIENTO. DO. APPEND ASIENTO. EXIT.. CLEAR ASIENTO. ENDIF ENDDO.CSTI Consultoría en Tecnologías de Información Transferencia de Datos 3. ELSE. . IF SY-SUBRC EQ 0. OPEN DATASET FPROC FOR INPUT IN TEXT MODE .Transferencia de datos al servidor Para descargar archivos en servidores nativos UNIX. CLOSE DATASET FPROC.

com.csti. Aviación 2905 Of. OPEN DATASET FPROC FOR INPUT IN TEXT MODE . DELETE DATASET FPROC.pe . Av. 203 San Borja Perú  +51 1 2256635 http://www. CLOSE DATASET FPROC.CSTI Consultoría en Tecnologías de Información Transferencia de Datos Para eliminar archivos en servidores nativos UNIX.

CSTI Consultoría en Tecnologías de Información Transferencia de Datos 4. b) Update. Otras cargas: Av. b) Batch Input Session.Tipos: a. Aviación 2905 Of.. 203 San Borja Perú  +51 1 2256635 http://www.pe .com. Cargas Directas: Comandos SQL: a) Insert. b. a) Transacciones.csti.

Aviación 2905 Of.INSERT dbtab [CLIENT SPECIFIED] FROM TABLE itab [ACCEPTING DUPLICATES KEYS].pe .INSERT dbtab [CLIENT SPECIFIED]. 3.INSERT INTO dbtab [CLIENT SPECIFIED] VALUES wa. 2.. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Transferencia de Datos CARGAS DIRECTAS INSERT Inserta nuevas líneas a una base de datos..com.csti. Variantes: 1.. Av.

com.CSTI Consultoría en Tecnologías de Información Transferencia de Datos Ejemplos de Insert: TABLES SCUSTOM. 203 San Borja Perú  +51 1 2256635 http://www. Av.csti. Aviación 2905 Of. SCUSTOM-MANDT SCUSTOM-ID SCUSTOM-NAME SCUSTOM-POSTCODE SCUSTOM-CITY SCUSTOM-CUSTTYPE SCUSTOM-DISCOUNT SCUSTOM-TELEPHONE = = = = = = = = ‘999’ ‘12400177’.pe . ‘James Bond’ ‘69542’ ‘Lima’ ‘P’ ‘007’ ‘999-2222’ INSERT INTO SCUSTOM CLIENT SPECIFIED VALUES SCUSTOM.

.UPDATE dbtab [CLIENT SPECIFIED]. 3.. Aviación 2905 Of.com.csti. 203 San Borja Perú  +51 1 2256635 http://www.UPDATE dbtab [CLIENT SPECIFIED] SET s1 … sn.pe .CSTI Consultoría en Tecnologías de Información Transferencia de Datos UPDATE Actualiza Valores en una base de datos. 2. Av. Variantes: 1.UPDATE dbtab [CLIENT SPECIFIED] FROM TABLE itab..

UPDATE SCUSTOM CLIENT SPECIFIED SET TELEPHONE= ‘999-3333’ WHERE MANDT= ‘999’ AND SCUSTOM-ID = ‘12400177’ UPDATE SCUSTOM SET DISCOUNT = ‘007’ Nota: No se deben realizar las actualizaciones directas en las tablas estándares de SAP .CSTI Consultoría en Tecnologías de Información Transferencia de Datos Ejemplos de UPDATE: TABLES SCUSTOM.

El Batch Input se utiliza generalmente para transferir datos de Sistemas diferentes a SAP o para transferir datos entre sistemas SAP.CSTI Consultoría en Tecnologías de Información Transferencia de Datos OTRAS CARGAS ¿Qué es un Batch Input? Es una técnica de programación de carga de datos SAP. .

CSTI Consultoría en Tecnologías de Información Transferencia de Datos Flujo de Carga de Datos Transacción XD02 (Mant. Clientes) Pantalla 101 Carga Clientes a tabla CUSTOMER Loop tabla CUSTOMER Mover datos a tabla CUSTOMER a estructura BDCDATA CALL TRANSACTION ‘XD02’ USING BDCDATA Pantalla 110 Fin del loop .

…AND SKIP FIRST SCREEN. …USING itab.Indica que los mensajes de retorno se almacenarán en la tabla interna itab. …UPDATE f.. …MESSAGES INTO itab.CSTI Consultoría en Tecnologías de Información Transferencia de Datos Screen Transaction. ‘A’ Asíncrona ‘B’ Síncrona 2c. …MODE mode. . 2. Opciones: 1...Indica los modos con los que se puede trabajar.Indica la forma de actualización.Donde itab es la tabla interna.. CALL TRANSACTION [TCODE] Donde TCODE es el código de transacción..No se visualiza la pantalla inicial de la transacción. 2a. ‘A’ Visualiza las pantallas ‘E’ Solo se visualiza en caso de error ‘N’ No se visualiza 2b.

. str-kunnr. message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into texto. Endif.CSTI Consultoría en Tecnologías de Información Transferencia de Datos Screen Transaction. call transaction ‘XD02’ using bdcdata mode modo update ‘S’ if sy-subrc <> 0. Write: / texto.

DATA BEGIN OF MESSTAB OCCURS 10. BDCDATA-DYNBEGIN = ‘X’ . DATA REPORT(8).CSTI Consultoría en Tecnologías de Información Transferencia de Datos Ejemplo: DATA BEGIN OF BDCDATA OCCURS 100. BDCDATA-FNAM = ‘RS38M-PROGRAMM’ BDCDATA-FVAL = REPORT. DATA END OF MESSTAB. BDCDATA-DYNPRO = ‘0100’ . INCLUDE STRUCTURE BDCDATA. APPEND BDCDATA. . INCLUDE STRUCTURE BDCMSGCOLL. APPEND-BDCDATA. … CALL TRANSACTION ‘SE38’ USING MODE ´N´ MESSAGES INTO MESSTAB. DATA END OF BDCDATA. CLEAR BDCDATA. BDCDATA-PROGRAM = ‘SAPMS38M’ .

. Esta simula ingreso de datos por pantalla igual que cualquier usuario lo realizaría. BDC (Batch Data Communication) El BDC es una combinación de programación ABAP/4 y la utilización de transacciones SAP.CSTI Consultoría en Tecnologías de Información Transferencia de Datos BDC Session.

• No mostrar datos de carga . • Cambios en la sesión Manejo Ejecución • Mostrar toda la carga.CSTI Consultoría en Tecnologías de Información Transferencia de Datos • Funcionalidad Análisis • El contenido de la sesión. • El archivo Log. • Mostrar sólo los erróneos. • Eliminar sesiones selectivamente. • Los datos del Batch Input.

CSTI Consultoría en Tecnologías de Información Transferencia de Datos Funciones BDC. Función BDC_OPEN_GROUP BDC_INSERT BDC_CLOSE_GROUP Descripción Abre cola para guardar la data del Batch Input Transfiere data al batch Input Cierra la cola después de guardar el Batch Input .

Clientes) Pantalla 101 Pantalla 110 Call Function BDC_INSERT Exporting TCODE = ‘XD02’ Tables DYNPROTAB = BDCDATA Fin del loop Call Function BDC_CLOSE_GROUP .CSTI Consultoría en Tecnologías de Información Transferencia de Datos Carga Clientes a tabla CUSTOMER Call Function BDC_OPEN_GROUP Loop tabla CUSTOMER Mover datos a tabla CUSTOMER a estructura BDCDATA Flujo de Carga tipo BDC Transacción XD02 (Mant.

Este comando permite la llamada a un reporte desde un programa. = = = = = = = sesiname sy-datum ‘ ‘ ‘X’ ‘ ‘ ‘ ‘ ‘ ‘ “Session name “Creation Date (From) “Creation Date (To) “Session to be processed “Incorrect Sessions “Background System Target Host “Extended Log . SUBMIT [REPORT] Donde REPORT es el nombre de un programa.CSTI Consultoría en Tecnologías de Información Transferencia de Datos Liberar una sesión Batch Input Creada. submit rsbdcsub With mappe With von With bis With z_verarb With fehler With batchsys With logall And return.

Usar la transacción SHDB para obtener la secuencia de pantallas que se emplearán en el Batch Input.Identificar el nombre de la transacción. . nombre de la pantalla y el nombre de los campos. .Identificar las pantallas y los campos a los cuales se le asignarán valores.CSTI Consultoría en Tecnologías de Información Transferencia de Datos Consideraciones. . .Identificar el método de Batch Input a utilizar. .

D.CSTI Consultoría en Tecnologías de Información Transferencia de Datos ¿Qué método usar? Batch Input Session -Transfiere datos a multiples transacciones.Actualiza sincrónicamente o asincrónicamente la B. Call Transaction -Transfiere datos a una sola transacción. . . .No genera un log.Actualiza sincrónicamente las Bases de Datos. .Genera un log.Las sesiones no pueden ser generadas en paralelo. . .

CSTI Consultoría en Tecnologías de Información Transferencia de Datos Transacción SM35 .

CSTI Consultoría en Tecnologías de Información Ejecuta la Sesión Analizar la Sesión Visualizar Estadísticas Visualizar y Analizar Log Transferencia de Datos Grabación .

CSTI Consultoría en Tecnologías de Información Transferencia de Datos .

CSTI Consultoría en Tecnologías de Información Transferencia de Datos Transacción ejecutada Estado del proceso .

CSTI Consultoría en Tecnologías de Información Transferencia de Datos Visualizar el Log Visualizar la pantalla de ingreso con valores .

203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com.csti.CSTI Consultoría en Tecnologías de Información Av.pe .

Aviación 2905 Of.com. 203 San Borja Perú  +51 1 2256635 http://www.csti.CSTI Consultoría en Tecnologías de Información ABAP/4 Tablas Internas Av.pe .

csti.CSTI Consultoría en Tecnologías de Información Nueva Declaración de Tablas Internas DATA t_tabla_interna TYPE [ STANDARD / SORTED / HASHED ] TABLE OF [ tipo simple / tipo estructurado ] [ WITH HEADER LINE ] WITH [ DEFAULT / UNIQUE / NON-UNIQUE ] KEY [ campo_clave1 campo_clave2 …] Av. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.pe .com.

END SELECT. DATA: END OF TAB. *INICIO DEL PROGRAMA START-OF-SELECTION. SALES LIKE TABNA-SALES. MOVE-CORRESPONDING TABNA TO TAB APPEND TAB. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.pe . ID LIKE TABNA-ID.com. COUNTRY LIKE TABNA-COUNTRY.CSTI Consultoría en Tecnologías de Información Sentencia APPEND * DEFINICION DE TABLAS TABLES: TABNA * DEFINICION DE TABLAS INTERNAS DATA: BEGIN OF TAB ACCURS 5. SELECT * FROM TABNA.csti. Av.

ENDSELECT. D USA GB D 500 000 1 000 000 2 000 000 700 000 Línea Cabecera 1200 000 SELECT * FROM TABNA.CSTI Consultoría en Tecnologías de Información Sentencia COLLECT COLLECT <tab> COUNTRY SALES TABLES: TABNA. Av. 203 San Borja Perú  +51 1 2256635 http://www. MOVE-CORRESPONDING TABNA TO TAB. COLLECT TAB.csti.pe . DATA: BEGIN OF TAB OCCURS 10.com. Aviación 2905 Of. END OF TAB. SALES LIKE TABNA-SALES. COUNTRY LIKE TABNA-COUNTRY.

csti. …. 203 San Borja Perú  +51 1 2256635 http://www. …. END LOOP. LOOP AT TAB FROM INICIO TO FIN. END LOOP.pe . LOOP AT TAB. …. LOOP AT TAB WHERE COUNTRY.com. FIN LIKE SY-TABIX DEFAULT ‘20’.CSTI Consultoría en Tecnologías de Información Sentencia Usadas en Tablas Internas SORT TAB. PARAMETERS : INICIO LIKE SY-TABIX DEFAULT ‘10’. Aviación 2905 Of. SORT TAB BY COUNTRY NAME1. BETWEEN ‘A’ AND ‘D’. END LOOP Av. SORT TAB BY COUNTRY ASCENDING NAME1 DESCENDING.

MODIFY <tab> INDEX <i>. DELETE <tab> INDEX <i>. READ TABLE <tab> WITH KEY <campo> = <var>… READ TABLE <tab> INDEX <i>. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. Av.com.CSTI Consultoría en Tecnologías de Información Sentencia Usadas en Tablas Internas READ TABLE <tab>.csti.pe . INSERT <tab> INDEX <i>.

ENDAT. ENDLOOP. …. ENDAT.CSTI Consultoría en Tecnologías de Información Quiebres en Tablas Internas LOOP AT TAB. Av. …. ….com. Aviación 2905 Of. ENDAT. AT END OF <campo>. AT FIRST. AT NEW <campo>. ….csti.pe . 203 San Borja Perú  +51 1 2256635 http://www. ENDAT. ENDAT. …. AT fg. AT LAST.

pe . 203 San Borja Perú  +51 1 2256635 http://www.csti.com.CSTI Consultoría en Tecnologías de Información Av. Aviación 2905 Of.

CSTI Consultoría en Tecnologías de Información ABAP/4 Anexos .

modify t index c. Endloop.CSTI Consultoría en Tecnologías de Información Anexos (comandos) MODIFY Format: MODIFY table. . Endloop. Field t-field1. Ejemplo: process before output. Loop at t cursor c. Process after input. Lopp at t.

.…ID key .CSTI Consultoría en Tecnologías de Información Anexos (comandos) EXPORT Format: EXPORT obj1 … TO MEMORY Adiciones: 1.…TO g (por cada campo f a ser exportado) 2..

…TO g (por cada campo f a ser importado) 2.CSTI Consultoría en Tecnologías de Información Anexos (comandos) IMPORT Format: IMPORT obj1 … FROM MEMORY Adiciones: 1.…ID key ...

LEAVE TO SCREEN scr. . 5. 3. 2.LEAVE SCREEN...CSTI Consultoría en Tecnologías de Información Anexos (comandos) LEAVE Variantes: 1.LEAVE TO LIST-PROCESSING..LEAVE PROGRAM..LEAVE TO TRANSACTION tcod. 4.LEAVE LIST-PROCESSING. 6...

… AND RETURN .… LINE-SIZE col 2..… LINE-COUNT lin 3...CSTI Consultoría en Tecnologías de Información Anexos (comandos) SUBMIT Format SUBMIT <rep> Adiciones: 1.… VIA SELECTION-SCREEN 4..

..SET SCREEN scr... 3. 4.SET TITLEBAR f.CSTI Consultoría en Tecnologías de Información Anexos (comandos) SET Variantes: 1..SET CURSOR … 5.SET LANGUAGE lg.SET PF-STATUS pfstat.. 2.

GET CURSOR LINE lin.CSTI Consultoría en Tecnologías de Información Anexos (comandos) GET CURSOR Variantes: 1.. . 2..GET CURSOR FIELD f.

2.EXIT...CSTI Consultoría en Tecnologías de Información Anexos (comandos) EXIT Variantes: 1. .EXIT FROM STEP-LOOP.

CSTI Consultoría en Tecnologías de Información Laboratorio Lenguaje Abap Laboratorio 2: Lenguaje ABAP 1. Av.csti. Mostrar datos de producto modificado y stock y precio antiguo y nuevos.com. 203 San Borja Perú  +51 1 2256635 http://www. Validar que el producto exista y el nuevo stock y precio no sean negativos. Aviación 2905 Of. Ingresar 3 campos : Código de producto y nuevo stock y precio .pe . Crear Programa para actualizar stock y precio en tabla de productos.

csti. 203 San Borja Perú  +51 1 2256635 http://www. Cargar por batch input un archivo plano con los datos de empleados Av.pe .com. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Laboratorio Lenguaje Abap 2.

Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www.csti.com. Av.CSTI Consultoría en Tecnologías de Información Laboratorio Lenguaje Abap 3. Crear un programa que cargue desde/descargue hacia archivo plano la tabla de facturas (con inserción directa).

csti.com. Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Listas Av.

com. Aviación 2905 Of.pe . pero tiene adiciones que le permiten modificar el formato del listado generado.csti. 203 San Borja Perú  +51 1 2256635 http://www. REPORT [NO STANDARD PAGE HEADING] [LINE-SIZE width] [LINE-COUNT page_lines[(footer_lines)]] Av.CSTI Consultoría en Tecnologías de Información Sentencia REPORT REPORT es la sentencia inicial de un programa de listas.

END-OF-PAGE. * Se ejecuta antes de la primera sentencia WRITE de cada página END-OF-PAGE.CSTI Consultoría en Tecnologías de Información Eventos TOP-OF-PAGE. Aviación 2905 Of.pe . Evento que se ejecuta al finalizar una página si es que se ha hecho una reserva de espacio para pie de página en la declaración del reporte.csti. 203 San Borja Perú  +51 1 2256635 http://www.com. Evento que se ejecuta al inicio de una página. * Se ejecuta antes de una sentencia WRITE que vaya a crear una nueva página. TOP-OF-PAGE. Av. Usado para crear cabeceras de página. Ejemplo: REPORT zreporte LINE-COUNT 28(4).

203 San Borja Perú  +51 1 2256635 http://www. WRITE <formato> <valor> <opciones> <formato> donde /p(l) / salto de línea p posición de columna l longitud de salida campo o constante <valor> Av.com.csti. Aviación 2905 Of.pe .CSTI Consultoría en Tecnologías de Información Sentencia WRITE WRITE permite escribir datos en un listado.

203 San Borja Perú  +51 1 2256635 http://www. <opciones> NO-ZERO NO-SIGN NO GROUPING DD/MM/YY MM/DD/YY DD/MM/YYYY MM/DD/YYYY DDMMYY MMDDYY YYMMDD CURRENCY w DECIMALS d ROUND r UNIT u TIME ZONE tz EXPONENT e USING EDIT MASK mask USING NO EDIT MASK UNDER g NO-GAP LEFT-JUSTIFIED CENTERED RIGHT-JUSTIFIED Av.csti. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Sentencia WRITE Las opciones de WRITE afectan el formato de datos antes de ser mostrados.pe .com.

pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Sentencia FORMAT FORMAT permite modificar el formato externo de la salida de un dato. FORMAT [COLOR {{{color [ON]}|OFF}|{= col}}] [INTENSIFIED [{ON|OFF}|{= flag}]] [INVERSE [{ON|OFF}|{= flag}]] [HOTSPOT [{ON|OFF}|{= flag}]] [INPUT [{ON|OFF}|{= flag}]] [FRAMES [{ON|OFF}|{= flag}]] [RESET].csti.com. Av.

Utilizando la adición AT puede establecerse un inicio y longitud para la línea. Aviación 2905 Of. Posiciona al cursor en la posición “pos” de la línea actual.pe . 203 San Borja Perú  +51 1 2256635 http://www. Permite dibujar una línea horizontal. POSITION pos.csti. Permite dejar “n” líneas en blanco al escribir una lista. Si n es 1 puede ser obviado. Permite cambiar de página.com. Av.CSTI Consultoría en Tecnologías de Información Otras sentencias SKIP n. ULINE. NEW-PAGE.

ENDAT.csti. …. Av. …. …. ENDAT. Aviación 2905 Of. ENDAT. …. ….pe . 203 San Borja Perú  +51 1 2256635 http://www. ENDAT. ENDLOOP. AT NEW <campo>.CSTI Consultoría en Tecnologías de Información Quiebres en Tablas Internas LOOP AT TAB. AT FIRST. AT END OF <campo>. AT LAST.com. AT fg. ENDAT.

Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.pe .csti.com. Crear listado de productos agrupándolos por laboratorio y ordenados por nombre y fecha de vencimiento En la pantalla de selección colocar los siguientes filtros: Av.CSTI Consultoría en Tecnologías de Información Laboratorio Listas Laboratorio 3: Listas 1.

pe . 203 San Borja Perú  +51 1 2256635 http://www. Av.csti.com. Utilice los eventos adecuados para generar la cabecera del reporte. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Laboratorio Listas Mostrar un reporte similar al siguiente.

CSTI Consultoría en Tecnologías de Información Laboratorio Listas 2.csti. Aviación 2905 Of. para cada cliente mostrar sus facturas y para cada factura mostrar los productos. Crear un listado de clientes.com. 203 San Borja Perú  +51 1 2256635 http://www.pe . En la pantalla de selección colocar los siguientes parámetros: Av. en un esquema escalonado.

CSTI Consultoría en Tecnologías de Información Laboratorio Listas Ordenar el reporte de la siguiente manera. 203 San Borja Perú  +51 1 2256635 http://www. Av.pe .com. Aviación 2905 Of.csti.

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Conceptos & Comandos .

que un usuario introduzca un dato (a través de la pantalla de selección) seguidamente controlar si pulsó una tecla (a través de los eventos) y por último dependiendo de que tecla se pulso visualizar un tipo de listado u otro a través de las órdenes de formateo de listado.CSTI Consultoría en Tecnologías de Información Reportes Interactivos Reportes Interactivos Son una forma de combinar las instrucciones de formato de listados. . los eventos y pantallas de selección. la unión de estas tres cosas nos permite por ejemplo.

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Visualización General Listados Secundarios Windows Reportes Interactivos Ejecutar una transacción Ejecutar un reporte .

sentencia AT USER-COMMAND sentencia TOP-OF-PAGE DURING LINE-SELECTION. sentencia .CSTI Consultoría en Tecnologías de Información Reportes Interactivos Eventos Report DEMO. START-OF-SELECTION. sentencia END-OF-SELECTION sentencia TOP-OF-PAGE sentencia * Interactive Reporting AT Pfnn. sentencia AT LINE-SELECTION.

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Cabecera de Página Text element Listado Básico REPORT DEMO. TOP-OF-PAGE DURING LINE SELECTION. Choose TOP-OF-PAGE Listado Secundario .

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Listas Secundarias & SY-LSIND Listado Básico SY-LSIND:0 Escoger 1. Listado secundario Escoger . Listado secundario Escoger 2. Listado secundario SY-LSIND:2 SY-LSIND:1 3.

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Uso de HIDE: Seleccionar Data Cod. 01 01 01 … Area A1 A2 A2 Nombre Luis Flores Rosa Figueroa Juan Flores HIDE AREA “ZTREMP-COD “ZTREMP-AREA “ZTREMP-COD “ZTREMP-AREA “ZTREMP-COD “ZTREMP-AREA “ “ “ “ “ “ 01 A1 01 A2 02 A2 .

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Uso de HIDE: Seleccionar Data II Cod. 01 01 01 … 01 Area A1 A2 A2 Nombre Luis Flores Rosa Figueroa Juan Flores HIDE AREA “ZTREMP-COD “ZTREMP-AREA “ZTREMP-COD “ZTREMP-AREA “ZTREMP-COD “ZTREMP-AREA “ “ “ “ “ “ 01 A1 01 A2 02 A2 A1 Luis Flores 01 A1 ZTREMP-COD ZTREMP-AREA .

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Validación de la Línea de Selección HIDE AREA “ZTREMP-COD “ZTREMP-AREA “ZTREMP-COD “ZTREMP-AREA “ZTREMP-COD “ZTREMP-AREA “ “ “ “ “ “ 01 A1 01 A2 02 A2 .

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Campos del Sistema (SY) SY-STARO SY-CPAGE SY-CUROW SY-CUCOL SY-STACO SY-LSIND = 2 SY-LSIND = 1 SY-LSIND = 0 .

1 1 2 3 .CSTI Consultoría en Tecnologías de Información Reportes Interactivos Ejemplo Nro.

CSTI Consultoría en Tecnologías de Información Reportes Interactivos Ejemplo Nro. 2 1 2 .

3 1 2 3 .CSTI Consultoría en Tecnologías de Información Reportes Interactivos Ejemplo Nro.

. pueden haber adicionalmente veinte listas secundarias. . .Además de la lista primaria. El campo del sistema SY-LSIND contiene el índice de la lista ha ser generada por el reporte. varios eventos especiales están disponibles que pueden ser ejecutados activando la tecla de función o vía clic del mouse.Para generar listas secundarias o ventanas.CSTI Consultoría en Tecnologías de Información Reportes Interactivos SUMARIO -Se puede usar reportes interactivos para poder proveer al usuario estructuras de información adicionales y claras en una lista secundaria o ventanas.

Cabeceras de páginas para listas secundarias son definidas en el evento TOP-OF-PAGE DURING LINE-SELECTION. El sistema guarda el nombre del campo y su contenido por línea. se usa el comando HIDE. .CSTI Consultoría en Tecnologías de Información Reportes Interactivos SUMARIO II . Cuando un evento interactivo es ejecutado. el valor guardado en el área HIDE es regresado al campo original. .Para guardar data para las listas secundarias.

Extender el reporte de Facturación por Cliente (Laboratorio 3.Cuando se de doble click en el código o nombre del cliente. .pe . ejercicio 2). Aviación 2905 Of. debe abrirse un nuevo listado mostrando los datos completos del mismo. .CSTI Consultoría en Tecnologías de Información Laboratorio Reportes Interactivos Laboratorio 4: Reportes Interactivos 1.Cuando se de doble click en el producto.com.csti. 203 San Borja Perú  +51 1 2256635 http://www. Av. se debe mostrar los datos completos del producto.

CSTI Consultoría en Tecnologías de Información Menu Painter Conceptos & Usos .

.La interface gráfica permite la visualización de los códigos de función.CSTI Consultoría en Tecnologías de Información Menu Painter ¿Qué es el Menu Painter? . esto significa hacer programas de fácil uso. .Es una herramienta del Workbench que nos permite crear una interface gráfica para el usuario (GUI).

CSTI Consultoría en Tecnologías de Información Menu Painter Accediendo al Menu Painter Mediante la transacción SE41 .

Para la definición de teclas de función.. Ventana Diálogo.Contiene solo teclas de función. Los dynpros de diálogo tienen campos de entrada y salida.Este tipo crea un status para una ventana de diálogo sin barra de menús.CSTI Consultoría en Tecnologías de Información Menu Painter Creando un Status Tipos de Status Status Diálogo.Una imagen de pantalla para el diálogo entre usuario y programa.. el sistema propone los códigos de función estándar para ventanas de diálogo. Menú Contextual.. .

CSTI Consultoría en Tecnologías de Información Menu Painter Interface de un Status Barra de Pulsadores GUI Status Barra de Menú Barra de Titulo Barra de Herramientas GUI Title GUI Status .

CSTI Consultoría en Tecnologías de Información Menu Painter Adicionando la barra de menú Al dar doble click Asignamos las siguientes funciones .

CSTI Consultoría en Tecnologías de Información Menu Painter Adicionando la barra de pulsadores 1 2 Al dar doble click 4 3 .

CSTI Consultoría en Tecnologías de Información Menu Painter Adicionando la barra de herramientas .

CSTI Consultoría en Tecnologías de Información Menu Painter Activando un Status Para activar un status: •Pulsar CTRL + F3 •Pulsar •Desde el menú Nota: Debemos activar el status siempre que hayamos realizado una modificación. .

.CSTI Consultoría en Tecnologías de Información Menu Painter Llamando a un Status Para acceder a un status desde nuestro programa debemos tener la siguiente sentencia: SET PF-STATUS ‘NOMBRE’.

.CSTI Consultoría en Tecnologías de Información Menu Painter Objetos de Interface de Usuario Permite mostrar todos los objetos de interface de usuario que posee el programa actual.

CSTI Consultoría en Tecnologías de Información Menu Painter Listas de Status Permite mostrar todos los GUI Status que posee el programa actual. .

CSTI Consultoría en Tecnologías de Información Menu Painter Barra de Menú Permite mostrar todos las barras de menú ordenadas por status .

CSTI Consultoría en Tecnologías de Información Menu Painter Lista de Menú Permite mostrar la lista de todos los menús creados para el programa .

CSTI Consultoría en Tecnologías de Información Menu Painter Definiciones de Teclas de Función Permite mostrar la lista de todas las teclas de función .

CSTI Consultoría en Tecnologías de Información Menu Painter Definiciones de Teclas de Función Permite mostrar la lista de todas los códigos de función .

CSTI Consultoría en Tecnologías de Información Menu Painter Lista de Títulos Creación Visualización y Modificación .

CSTI Consultoría en Tecnologías de Información Menu Painter Llamando a un Título Para acceder a un Título desde nuestro programa debemos tener la siguiente sentencia: SET TITLEBAR ‘TITULO’. Titulo .

.CSTI Consultoría en Tecnologías de Información Menu Painter Otras Operaciones Elimina todos los componentes de la interfase de usuario. Elimina el status previamente indicado. Copia de un programa a otro un status. Renombra la interfase de usuario. Copia de un programa a otro todos los componentes de la interfase de usuario.

CSTI Consultoría en Tecnologías de Información Av.csti.pe .com. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.

CSTI Consultoría en Tecnologías de Información Screen Painter Conceptos & Usos .

.CSTI Consultoría en Tecnologías de Información Screen Painter ¿Qué es el Screen Painter? .Screen Painter es una herramienta del ABAP Workbench que permite crear Dynpros (Dynamic Program) para sus transacciones y/o programas. .Una Dynpro es la combinación de un screen asociado a un flujo lógico.

.CSTI Consultoría en Tecnologías de Información Screen Painter Accediendo al Screen Painter Mediante la transacción SE51 Componentes Aquí ingresamos el nombre del programa y el número de la dynpro que deseamos crear.

Contiene un conjunto de elementos.CSTI Consultoría en Tecnologías de Información Screen Painter Componentes • Lógica del Proceso. Definidos en el ABAP/4 Dictionary o en el programa. • Editor Disposición. Incluye por ejemplo los checkboxes.Controla el flujo del programa (Código de la dynpro). . cajas de texto.Elementos del screen. Incluye al programa al que pertenece y el tipo de Screen. Los elementos son partes del screen con los que interactúa el usuario. etc. etiquetas.... • Lista de Elementos. • Atributos..Describe al objeto dynpro.

CSTI Consultoría en Tecnologías de Información Screen Painter Creando una Dynpro Definiendo los atributos .

CSTI Consultoría en Tecnologías de Información Screen Painter Lista de Atributos • Program • Screen Number • Descripción • Idioma • Ultima Modificación • Ultima Generación • Tipos Dynpro • Opciones: • Retener Datos • Desactivar Comprob. desplaz. • Posición Cursor • Grupo Dynpros • Líneas / Columnas usadas • Líneas / Columnas actuales • Menú de contexto . Pos. • Modelo: No ejec. Tmpo. • Mant. • Dynpros Siguiente. ej.

CSTI Consultoría en Tecnologías de Información Screen Painter Modos de Editor Entorno Gráfico del Editor Elementos Área de trabajo .

CSTI Consultoría en Tecnologías de Información Screen Painter Entorno Texto del Editor Elementos Área de trabajo .

CSTI Consultoría en Tecnologías de Información Screen Painter Elementos del Screen (Gráfico) Texto Campo entrada/salida Checkbox Radiobutton Pushbutton Tabstrip Box Subscreen Table Control Custom Control Status .

CSTI Consultoría en Tecnologías de Información Screen Painter Crear Elementos .

CSTI Consultoría en Tecnologías de Información Screen Painter Atributos del Elemento Características Funciones Atributos .

CSTI Consultoría en Tecnologías de Información Screen Painter Lista de Elementos (Gráfico) .

CSTI Consultoría en Tecnologías de Información Screen Painter Definición de LOOP .

CSTI Consultoría en Tecnologías de Información Screen Painter Ejemplo de LOOP Editor de Disposición Lógica del Proceso .

CSTI Consultoría en Tecnologías de Información Screen Painter Ejemplo de LOOP .

CSTI Consultoría en Tecnologías de Información Screen Painter Table Control (Gráfico) Texto Table Control .

Cuando está activado.Atributos C/cabcol.. .Este atributo controla el comportamiento del elemento de dynpro cuando se modifica manualmente la altura/anchura de ventana. si el table control puede llevar un título o no en la línea superior. con lo que cada columna (excepto las columnas para marcar líneas) podrá tener una cabecera. controla el número de columnas de una tabla que pueden marcarse al mismo tiempo.. se visualizan líneas de separación verticalesy/o horizontales. Resizing. controla el número de líneas de una tabla que pueden marcarse al mismo tiempo..El atributo permite marcar líneas.Si está marcado.El atributo permite marcar columnas..Este atributo influye en la posibilidad de desplazar columnas mediante el ratón y al pasar páginas horizontalmente. Col.Este atributo crea una columna adicional con pulsadores delante del primer campo de la tabla..El atributo determina.Si está marcado.Este atributo sirve para modificar el aspecto de la tabla. Configurable. C/Título.. Marcar Columna. Marcar Línea..Marc.CSTI Consultoría en Tecnologías de Información Screen Painter Table Control . Fijas. Col... se asigna una línea de cabecera de columnas al table control. Líneas Separación. C. el atributo ‘ Posibilidad de configurar’ influye en la posibilidad de almacenar las modificaciones realizadas por el usuario en la secuencia y el ancho de las columnas.

CSTI Consultoría en Tecnologías de Información Screen Painter Ejemplo de Table Control Editor de Disposición Lógica del Proceso .

CSTI Consultoría en Tecnologías de Información Screen Painter Ejemplo de Table Control .

entonces aparecerá un srollbar. . Cada página de la lengüeta tiene un título y un área de página. Si el área ocupada por el control Tabstrip es demasiado estrecha no se exhibirán todos los título de la lengüeta. Los controles de Tabstrip permiten que usted coloque una serie de pantallas que pertenecen a un uso en una sola pantalla.CSTI Consultoría en Tecnologías de Información Screen Painter ¿Qué es Tabstrib Control? Un control Tabstrip es un objeto screen que consiste de dos o más páginas. y que navegue entre ellas fácilmente.

. • Todas las páginas de la lengüeta residen localmente en el SAPgui. una longitud y una altura. • Cuando el usuario está trabajando en una página de la lengüeta. y usted debe incluir un módulo en su lógica del flujo que active la página.CSTI Consultoría en Tecnologías de Información Screen Painter Características del Tabstrip Control • El área del tabstrip tiene un nombre único y una posición. los cheques de la entrada pueden saltar a un campo obligatorio sin llenar en otra página. • Cuando el usuario elije una página de la lengüeta. se acciona el acontecimiento del PAI. • El área del tabstrip se puede volver a clasificar según el tamaño vertical u horizontal cuando el usuario vuelva a clasificar según el tamaño de la ventana.

CSTI Consultoría en Tecnologías de Información Screen Painter Al crear un Tabstrip Control • Definir el área de la lengüeta en una screen y los títulos de la lengüeta. Texto o lengüeta del Tabstrip + Área del Tabstrip + Pantalla del Tabstrip . • Programe la lógica de proceso de ABAP. • Asigne al subscreen área a cada cada título de la lengüeta. • Programe la lógica del flujo de la pantalla.

CSTI Consultoría en Tecnologías de Información Screen Painter Pantalla de un Tabstrip Control .

CSTI Consultoría en Tecnologías de Información Screen Painter Ejemplo de Tabstrip Control .

CSTI Consultoría en Tecnologías de Información Screen Painter Flow Logic PBO INPUT DISPLAY ACTION PAY • Inicializar variables • Inserta valores por defecto • Posicionamiento del cursor • Mostrar y Ocultar campos • Modificar dinámicamente los atributos de un campo • Definición Títulos • Definición de Barra de Menú y Botones • Carga de datos • Validar Información • Procesar Función seleccionada • Llamadas a nuevos Dynpro • Manejar errores • Mostrar datos procesados • Mostrar Dynpro .

CSTI Consultoría en Tecnologías de Información Screen Painter Flow Logic Doble click en el nombre del módulo nos muestra la siguiente ventana. Al confirmar. deberemos seleccionar el programa o include para crear el módulo. .

CSTI Consultoría en Tecnologías de Información Screen Painter Flow Logic Command PROCESS Formato: PROCESS Variantes: 1. PROCESS BEFORE OUTPUT 2. PROCESS ON HELPREQUEST 4. PROCESS ON VALUE-REQUEST . PROCESS AFTER INPUT 3.

Process On Value-Request (POV) Es ejecutado cuando el usuario pulsa F4 sobre un campo definido en el screen.CSTI Consultoría en Tecnologías de Información Screen Painter PROCESS Process Before Output (PBO) Es automáticamente ejecutado antes de que el screen sea visualizado. . Process On Help-Request (POH) Es ejecutado cuando el usuario pulsa F1 sobre un campo definido en el screen. Process After Input (PAI) Es ejecutado cuando el usuario elige una tecla de función o ingresa algún dato en la pantalla.

CSTI Consultoría en Tecnologías de Información Screen Painter PROCESS Keyword MODULE FIELD ON VALUES Function Llama a un módulo en un programa Abap/4 Determina los campos que se verán involucrados en el módulo del programa Usado en conjunción con FIELD Usado en conjunción con FIELD .

…ON-INPUT (In PAI with field assigment) 6.CSTI Consultoría en Tecnologías de Información Screen Painter MODULE Formato: MODULE <module> Variantes: 1. …ON REQUEST ((In PAI with field assigment) 4. . …AT EXIT-COMMAND (In PAI). …ON CHAIN-INPUT (In PAI with field assigment) 3. …ON INPUT (In PAI with field assigment) 2. …AT CURSOR-SELECTION (In PAI with field assigment) 7. …ON CHAIN-REQUEST (In PAI with field assigment) 5.

CSTI Consultoría en Tecnologías de Información Screen Painter MODULE .

CSTI Consultoría en Tecnologías de Información Screen Painter CALL SCREEN Formato: CALL SCREEN <scr> Variantes: …STARTING AT x1 y1 …ENDING AT x2 y2 .

CSTI Consultoría en Tecnologías de Información Screen Painter CALL SUBSCREEN Formato: CALL SUBSCREEN <area> INCLUDING <program><scr> Variantes: CALL CUSTOMER-SUBSCREEN <area> INCLUDING ‘SAPLX’…’<scr> .

CSTI Consultoría en Tecnologías de Información Screen Painter CALL SUBSCREEN .

module d0300_check_plate on chain-request. field: <d0300-f01>. . endchain.CSTI Consultoría en Tecnologías de Información Screen Painter CHAIN Formato: CHAIN. d0300-license. field:d0300-plate. <d0300-f02>. Ejemplo: chain. … ENDCHAIN. d0300-name1. <d0300-f03>.

Endloop. LOOP AT table. LOOP AT itab CURSOR f 3. … ENDLOOP. Adiciones: …WITH CONTROL f Ejemplo: Process before output. Process after input. Loop at itab cursor c. Endloop. LOOP 2. module line_in on request. . Loop at itab.CSTI Consultoría en Tecnologías de Información Screen Painter LOOP Formato: LOOP. Variantes: 1.

CSTI Consultoría en Tecnologías de Información Dynpros Laboratorio 5: Dynpros 1. Crear una dynpro que permita realizar una venta. .

Aviación 2905 Of.pe . el programa deberá utilizar las tablas maestras para leer las descripciones de estos campos y completarlas. El producto se agregará a la tabla y los datos restantes deberán ser completados utilizando los datos maestros y las siguientes consideraciones: Precio Base = Precio Unitario X Cantidad Descuento = Precio Base X %Descuento IGV = (Precio Base – Descuento) X %IGV Precio Línea = (Precio Base – Descuento) + IGV Para borrar una fila de la tabla se deberá seleccionar la fila a borrar y presionar el botón de borrar fila. empleado y cliente. Para agregar un producto el usuario deberá ingresar un código de producto y una cantidad y presionar el botón de agregar fila. El usuario ingresará la moneda y los códigos de punto de venta. Av.CSTI Consultoría en Tecnologías de Información Dynpros El usuario debe poder seleccionar entre emitir una boleta o una factura. El programa debe verificar que hay una fila seleccionada y si no existiera deberá mostrar el mensaje “Seleccione una fila”.com. Adicionalmente completará el RUC del cliente si es que se ha seleccionado Factura. 203 San Borja Perú  +51 1 2256635 http://www. El programa deberá verificar que el código exista y que la cantidad no sea cero y sea como máximo el stock disponible del producto.csti. Al crear el documento el programa deberá autogenerar el número interno y seleccionar el número SUNAT adecuado al tipo de documento.

el código interno.CSTI Consultoría en Tecnologías de Información Dynpros Luego de crear el documento de ventas el programa deberá mostrar una dynpro indicando el MODAL con el código SUNAT. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www. Av.pe . Al confirmar este diálogo debe terminar el programa.com.csti. la fecha y hora de creación del documento generado.

el programa continua en la pantalla de ventas. Crear una dynpro que se muestre antes de la dynpro de ventas. La pantalla de ventas debe cambiar para que luego de mostrar la ventana de confirmación de resultado ya no debe terminar sino limpiar todos los campos (salvo el punto de venta y empleado que son heredados de esta) y prepararse para una nueva venta. donde el usuario pueda seleccionar el empleado y punto de venta que desea utilizar para el resto de su sesión. Si el usuario acepta. Av.com. El programa debe completar las descripciones leyendo la tabla de datos maestros. el programa de ventas termina. Si el usuario cancela. Aviación 2905 Of.csti. 203 San Borja Perú  +51 1 2256635 http://www. La dynpro de ventas debe modificarse para que simplemente “herede” los datos de esta ventana y ya no sean editables.pe .CSTI Consultoría en Tecnologías de Información Dynpros 2.

CSTI Consultoría en Tecnologías de Información Funciones .

pe . las Standard y las RFC (Remote Function Call – Llamada de Procedimiento Remoto).com. Además se cuenta con las Bapi’s. 203 San Borja Perú  +51 1 2256635 http://www. fuera del programa que lo utilizará.CSTI Consultoría en Tecnologías de Información Funciones Las funciones en SAP son tipos de programas capaces de recibir parámetros de entrada y producir un resultado. Existen dos tipos de módulos de funciones comúnes. en que pueden poseer una estructura bastante compleja y deben ser diseñados en su propio entorno (SE37). Av. Se diferencian de una función normal (no SAP). que sirven para la comunicación entre sistemas externos y el sistema SAP. Aviación 2905 Of. que son funciones encapsuladas y orientadas exclusivamente al negocio.csti.

el cual es un programa creado exclusivamente para contener módulos de funciones. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Grupo de Funciones Grupo de Funciones . . las cuales pueden llamarse por cualquier módulo de función del grupo.pe Subrutinas Screens . las cuales pueden llamarse desde cualquier módulo de función en el grupo.Los módulos de funciones de similares características o funcionalidad se agrupan en grupos de funciones.Cada grupo de función puede contener: Data Objects que se pueden considerar o cambiar por todos los módulos de función en el grupo. Aviación 2905 Of.Un grupo de funciones es un programa ABAP con tipo F (grupo de funciones). Av.csti. .com. Estos objetos de datos están activos mientras el grupo esté activo.

com. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Grupo de Funciones Function Group nc Fu ce ule rfa od e Int ion m 1 t FM Fu Int nc er tio fac n FM mo e 2 du le tion m FM3 odule Subroutine Import parameters Export parameters Changing parameters ule mod ction 5 Fun M Function module FM4 Fun c I nte rfac e Interface F c face nt rf Inter © SAP AG 1999 Exceptions Interface Av.csti.pe .

csti. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Grupo de Funciones Los Grupos de Función se crean por la transacción SE37 Av. Aviación 2905 Of.com.pe .

La interface puede contener los siguientes elementos: Parámetros Import.Los módulos de funciones son unidades modulares con interfaces que pueden ser llamadas desde cualquier programa ABAP. Parámetros Tables. Si un error dispara una excepción en un módulo de función. Aviación 2905 Of. Parámetros Export. 203 San Borja Perú  +51 1 2256635 http://www. Parámetros Exceptions. Estas excepciones pueden ser manipuladas por el programa que realizó la llamada.pe . son pasados desde el módulo de función al programa que realizó la llamada. . son tablas que pueden ser pasada al módulo de función y pueden ser cambiados por ella.Cada módulo de función puede contener objetos de datos locales y accesar a los objetos de datos globales que pertenecen a su grupo de función. Parámetros Changing. son usados para interceptar errores.csti.com. Av.CSTI Consultoría en Tecnologías de Información Módulo de Funciones Módulo de Funciones . este se detiene. son parámetros pasados al módulo de función. son pasados al módulo de función y pueden ser cambiados por ella.

Aviación 2905 Of.pe .com. 203 San Borja Perú  +51 1 2256635 http://www.csti.CSTI Consultoría en Tecnologías de Información Módulo de Funciones Function Module Function group Subroutine Function module Interface Global data objects Administration Local data objects Source Code Interface Import parameters Export parameters Changing parameters Exceptions sy-subrc © SAP AG 1999 Av.

csti.CSTI Consultoría en Tecnologías de Información Módulo de Funciones Los Módulos de Función se crean por la transacción SE37 Av.com. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.pe .

pe . Av.CSTI Consultoría en Tecnologías de Información Módulo de Funciones Visualización de un módulo de función existente. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.csti.com.

son los módulos de función que pueden ser llamados por cualquier programa ABAP dentro del mismo ambiente SAP. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Tipos de Módulos de Funciones Módulo de Funciones Los tipos más comunes son los siguientes: Módulos de Función Standard. son módulos de función que pueden ser llamados por cualquier programa ABAP.com.pe .csti. Módulos de Función RFC (Remot Function Call). Av. por sistemas externos o entre sistemas SAP. Aviación 2905 Of.

CSTI Consultoría en Tecnologías de Información Tipos de Módulos de Funciones Módulo de Función Standard Av.com.pe .csti. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.

pe .csti. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Tipos de Módulos de Funciones Módulo de Función RFC Av. Aviación 2905 Of.com.

Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Funciones BAPI’s Business Application Programming Interface Av.com. 203 San Borja Perú  +51 1 2256635 http://www.csti.pe .

Una BAPI es un módulo de función orientado al negocio con características de RFC. un punto en el cual el sistema R/3 proporciona el acceso a los datos y a los procesos de negocio.Es un punto de la entrada al sistema R/3. puesto que cuentan con muchos mecanismos de control y aseguramiento de calidad. .com. como por ejemplo. realizar contabilizaciones.CSTI Consultoría en Tecnologías de Información BAPI Business Application Programming Interface . encapsulan operaciones complejas en una simple interfaz. Av.Son funciones muy estables.Normalmente las BAPI’s son utilizadas para realizar tareas específicas. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. etc. crear pedidos. cargar y actualizar datos maestros.csti. . es decir. .pe . Además.

203 San Borja Perú  +51 1 2256635 http://www.csti...CSTI Consultoría en Tecnologías de Información BAPI Usos de una BAPI W h e re A re B A P Is U s e d ? R /3 s a te llite s y s te m s a n d d is trib u te d s c e n a rio s (A L E ) B u s in e s s W o rk flo w V is u a l B a s ic /J A V A . In te rn e t / In tra n e t B u s in e s s Com ponent B u s in e s s C o m p o n eB t n R /3 c o m p o n e n t c o m p o s itio n © SAP AG 1999 B u s in e s s C om ponent C u s to m e r a n d p a rtn e r d e v e lo p m e n t Av.pe .com. Aviación 2905 Of.

com.pe .CSTI Consultoría en Tecnologías de Información BAPI Las BAPI’s se pueden explorar por la transacción BAPI Av. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.csti.

pe . Aviación 2905 Of.csti.com.CSTI Consultoría en Tecnologías de Información Funciones Anexo de Funciones Útiles Av. 203 San Borja Perú  +51 1 2256635 http://www.

.WS_FILE_DELETE Av. 3. 1.3.1. 203 San Borja Perú  +51 1 2256635 http://www.2.DOWNLOAD 1.. : Con diálogo de confirmación..pe . 3.com.1...UPLOAD --> Con diálogo de confirmación..WS_DOWNLOAD 1..csti. 2.2.GUI_DOWNLOAD : Con diálogo de confirmación. Aviación 2905 Of. 3.GUI_UPLOAD --> Con diálogo de confirmación..Para eliminar archivos en servidores remotos Windows 4.1.. 3. : Sin diálogo de confirmación.WS_UPLOAD --> Sin diálogo de confirmación.Para cargar archivos en servidores remotos Windows o PCs.Para descargar archivos en servidores remotos Windows o PCs..CSTI Consultoría en Tecnologías de Información Funciones 1.3.

1..Para eliminar imágenes en documentadores IXOS 6.FILENAME_GET.Para mandar a SAP a espera... --> Con diálogo.Para pedir un archivo en servidores remotos Windows. nombre. 8.Para separar las rutas de archivos en disco... nombre con extensión y ruta..ARCHIV_DELETE_META 5.CSTI Consultoría en Tecnologías de Información Funciones 4.Para confirmar eventos 7.2. 9. 6.. 8.WS_FILENAME_GET --> Sin diálogo.1.1. 10..1.1.. extensión. 10.PC_SPLIT_COMPLETE_FILENAME. ..ENQUE_SLEEP 7..POPUP_TO_CONFIRM.

.1..Obtener los módulos de funciones e Includes que pertenecen a un grupo de funciones.2.DDIF_TABL_PUT --> Tabla. 11.DDIF_TABL_GET --> Atributos. 12...RPY_DOMAIN_INSERT --> Dominios.1.. 11. 12. 12.2.RPY_DATAELEMENT_READ --> Elementos de datos 10.CSTI Consultoría en Tecnologías de Información Funciones 9..3..FUNCTION_INCLUDES_SPLIT. 11..1.. 11. 12.. 13.RS_DD_ACTIVATE --> Activar los dominios.RPY_DOMAIN_READ --> Dominios..Para obtener todos los atributos de una tabla. elementos de datos.Para cargar una tabla en SAP.3. .RPY_DATAELEMENT_INSERT --> Elementos de datos.4.

porcentaje e importe de descuento. Parámetros de entrada: Cod_Producto Tablas: Tabla de importes Campos: Precio_Unitario %Dscto Importe_Dscto IGV Importe IGV Precio_Total . Crear una función que retorne el precio unitario. porcentaje e importe de IGV y precio total por producto consultado.CSTI Consultoría en Tecnologías de Información Laboratorio Funciones Laboratorio 6: Funciones 1.

pe . 203 San Borja Perú  +51 1 2256635 http://www.com.csti.CSTI Consultoría en Tecnologías de Información Av. Aviación 2905 Of.

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 .

.Conjunto de Caracteres 4.Character Strings 4....Paragraphs 3..Cabecera 2..Ventanas 5.Pages 6.CSTI Consultoría en Tecnologías de Información Componentes 1...Header 2.Páginas 6.Windows 5...Párrafos 3.Page Windows 1..Ventanas de Páginas ..

CSTI Consultoría en Tecnologías de Información Menú Principal .

CSTI Consultoría en Tecnologías de Información Header .

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 .

Asigna condicionales en las diferentes sentencias que forman parte de la creación del formulario.If.Box.Perform. ....New-Page. estas pueden sobreponerse unas a otras.CSTI Consultoría en Tecnologías de Información Comandos más Usados .Crea cajas gráficas en las distintas páginas del formulario.Ejecuta una subrutina o subprograma en la rutina actual. .. . también se le puede pasar parámetros. .Inclusión de una nueva página en la edición del formulario.

.Da formato a la hora del sistema.Set Time Mask.. estos text symbols deberán ir encerrados entre el símbolo &.CSTI Consultoría en Tecnologías de Información Comandos más Usados . . ..Da formato a la fecha del sistema..Utilizado en la asignación del formato a utilizar en el formulario para lalocalidad.Set Country. ..Set Date Mask.Define.Utilizado para la asignación de valores establecidos en los diversos TextSymbols.

. .Sirve para mostrar el nombre del día actual del reporte. .Utilizando para mostrar en el reporte el año en formato de 4 dígitos.Muestra en el reporte el día en formato de dos dígitos..CSTI Consultoría en Tecnologías de Información Símbolos del Sistema .&YEAR&. incluyendo ceros.&DAY&.Muestra en el reporte la fecha completa.&DATE&.&NAME_OF_DAY&. incluyendo día.. mes y año. ...

.Muestra el nombre del mes actual. .Muestra la numeración correspondiente a cada página del reporte.&TIME&..Muestra el tiempo actual en el reporte. . .Muestra el valor de los segundos en el tiempo actual.NAME_OF_MONTH&.&SECONDS&. .&HOURS&...&PAGE&.CSTI Consultoría en Tecnologías de Información Símbolos del Sistema ..Muestra la hora actual en el reporte. .

Utilizado para asignar la salida del reporte..&VLINES&.Sirve para ingresar una línea vertical del tamaño del carácter empleado en la edición del reporte .&ULINE&.&SPACE&.&DEVICE&.. puede ser Printer. .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. . Telex. etc.Sirve para ingresar una línea de subrayado.Sirve para asignar un espacio en el reporte. . Screen....

. no se puede incluir en una línea de comandos ‘/:’.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 “&”. 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. se muestran como texto en el reporte. y se le asigna valores mediante el comando DEFINE.

. 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 <XX> y </>. donde XX es el identificador de la cadena a seleccionar...’.&ZLPRNLABE-prn_vfdat&</> . Se puede hacer referencia a una doble tabulación mediante ’. Por ejemplo: <D3>DATADEEXPIRACION:....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 ‘..’.

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.

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 WRITE_FORM: Salida de text element en la ventana del formulario.

Ejemplo: Call function ‘CLOSE_FORM’ importing result = exceptions unopened = itcpp 3. .CSTI Consultoría en Tecnologías de Información Rutinas básicas de Impresión CLOSE_FORM: Fin de Formulario.

Crear un formulario SAP Script para imprimir la factura utilizando el siguiente formato. .CSTI Consultoría en Tecnologías de Información Laboratorio SAP Script Laboratorio 7: SAP Script 1. Considere que las facturas se imprimen sobre hojas pre-impresas.

CSTI Consultoría en Tecnologías de Información Smart Forms .

SAP apunta a continuar con el desarrollo de esta herramienta. potente y versátil que SAP Script. Los nuevos formularios para los documentos de SAP se desarrollan en Smart Forms. cuyo propósito es suceder a SAP Script. .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. Smart Forms es una solución más simple.

Aviación 2905 Of. Av. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Smart Forms Acceso a Smart Forms Se utiliza la transacción SMARTFORMS.pe .com.csti.

csti.CSTI Consultoría en Tecnologías de Información Smart Forms Av.com. 203 San Borja Perú  +51 1 2256635 http://www.pe . Aviación 2905 Of.

tablas y excepciones del formulario.csti. Aviación 2905 Of. definición de los parámetros de entrada.CSTI Consultoría en Tecnologías de Información Smart Forms Parametrizaciones Globales Atributos del formulario. Definiciones globales… Av. contiene datos generales como el tamaño de la página y el estilo asociado al formulario.com.pe . Todos los smartforms vienen con un grupo de parámetros predefinidos que no pueden ser cambiados. Interfase formulario. salida. 203 San Borja Perú  +51 1 2256635 http://www.

Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Smart Forms Definiciones Globales Av. 203 San Borja Perú  +51 1 2256635 http://www.csti.pe .com.

estructuras y tablas visibles en todo el formulario. field symbols globales. variables.CSTI Consultoría en Tecnologías de Información Smart Forms Definiciones Globales Datos globales. Aviación 2905 Of. Campos Moneda/Cantidad. Av. Tipos. Símbolos de campo. constantes.pe . primera rutina que se ejecuta al llamar al formulario. Rutinas form. subrutinas visibles en todo el formulario. tipos globales del formulario. definición de campos de unidad de moneda/cantidad.csti. Inicialización. 203 San Borja Perú  +51 1 2256635 http://www.com.

com.csti. resumen. por ejemplo: carátula. 203 San Borja Perú  +51 1 2256635 http://www. Av.pe . índice. reportes.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. Aviación 2905 Of. 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.

203 San Borja Perú  +51 1 2256635 http://www.csti.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.pe .com.

com.csti.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.pe . Av. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.

csti. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Smart Forms Propiedades de una Página (3) Av.com. Aviación 2905 Of.pe .

mostrar textos.pe . crear tablas. por ejemplo los controles de código ABAP tienen código fuente. mientras que los controles de texto tienen opciones de salida.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.com.csti. Aviación 2905 Of. Al visualizar un control. Av. se muestran para este una serie de pestañas que contienen las propiedades definidas para el mismo. ejecutar instrucciones ABAP. Diferentes controles tienen diferentes grupos de propiedades. 203 San Borja Perú  +51 1 2256635 http://www. ejecutar instrucciones de control y otras cosas. imágenes y marcos.

opciones para formatear un control que produce una salida en el formulario. Opciones de salida. 203 San Borja Perú  +51 1 2256635 http://www.pe . permite establecer las condiciones bajo las cuales se procesa un determinado control. como por ejemplo un campo de texto o un gráfico. Propiedades generales.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.com. Av. Condiciones. contiene propiedades generales del control y difiere de acuerdo al tipo de control. A continuación los más comunes. presente en casi todos los controles. Aviación 2905 Of.csti.

crear áreas para insertar textos y objetos gráficos. Aviación 2905 Of. etc.com. Av. crear marcos.pe .CSTI Consultoría en Tecnologías de Información Smart Forms Ventanas Las ventanas son los controles básicos de un smartform.csti. 203 San Borja Perú  +51 1 2256635 http://www. Las ventanas son las que permiten organizar el contenido del formulario.

csti.CSTI Consultoría en Tecnologías de Información Smart Forms Control Texto Es un control que permite imprimir texto en el formulario.pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com. Av.

com.csti. Pueden mostrar el contenido de las diferentes estructuras de datos que tiene el formulario. Aviación 2905 Of. Av. así como tabulaciones.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.pe . 203 San Borja Perú  +51 1 2256635 http://www. dependiendo del estilo que tengan asignado. Los textos pueden ser formateados de maneras muy diversas e incluir formatos de párrafo y carácter.

Av. Aviación 2905 Of.csti.com. 203 San Borja Perú  +51 1 2256635 http://www.pe .CSTI Consultoría en Tecnologías de Información Smart Forms Control Gráfico Permite incluir gráficos dentro del formulario.

csti. 203 San Borja Perú  +51 1 2256635 http://www.pe .com.CSTI Consultoría en Tecnologías de Información Smart Forms Control Máscara de Edición Av. Aviación 2905 Of.

Av. separándolos en filas y posiciones (las cuales no necesariamente deben forman una cuadrícula.pe . 203 San Borja Perú  +51 1 2256635 http://www. gráficos. grupos de instrucciones y otros controles. pueden estar alineados de manera arbitraria).csti.com. Dentro de la máscara de edición pueden anidarse textos. Aviación 2905 Of.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.

csti. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.pe .com.CSTI Consultoría en Tecnologías de Información Smart Forms Control Table Av.

formatear y mostrar los contenidos de una tabla interna de manera casi directa. procesar. 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. y permite definir uno o más formatos de línea para mostrar los datos de la manera en que se requiera.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.com. Tiene opciones para ordenamiento. Aviación 2905 Of. Permite recorrer. Av.csti. 203 San Borja Perú  +51 1 2256635 http://www. agrupación y filtrado de los datos de la tabla.pe .

csti. 203 San Borja Perú  +51 1 2256635 http://www.pe .com. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Smart Forms Control Loop Av.

pe . No incluye por eso dentro de sus propiedades la definición de tipos de linea.com. pero no está forzado a generar alguna salida.CSTI Consultoría en Tecnologías de Información Smart Forms Control Loop (2) El control Loop es similar al control Table. Sin embargo es posible incluir dentro de un control Loop.csti. Av. otros controles que si generan salida en el formulario como máscaras de edición. es un control que sirve para procesar los datos de una tabla interna. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. textos y gráficos.

com.pe .CSTI Consultoría en Tecnologías de Información Smart Forms Control Líneas de Programa Av. Aviación 2905 Of.csti. 203 San Borja Perú  +51 1 2256635 http://www.

Aviación 2905 Of. Av.csti. tipos y subrutinas definidas en la sección de declaraciones globales del formulario.pe .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. 203 San Borja Perú  +51 1 2256635 http://www. Desde estos controles es posible utilizar las estructuras de datos.com. Estos controles son virtualmente subrutinas de ABAP y pueden ejecutar cualquier instrucción. 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.

Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.csti.com.CSTI Consultoría en Tecnologías de Información Smart Forms Control Alternativa Av.pe .

pe . Si el resultado de estas condiciones es Verdadero. Av.com.csti. 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.CSTI Consultoría en Tecnologías de Información Smart Forms Control Alternativa (2) El control alternativa permite evaluar un conjunto de condiciones. 203 San Borja Perú  +51 1 2256635 http://www. En caso contrario se ejecutan los controles bajo el nodo FALSE. las cuales como habíamos visto regulan si el control Alternativa en su conjunto se ejecuta o no. Aviación 2905 Of. se ejecutan los controles que se incluyen bajo el nodo TRUE del control.

com.csti. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Smart Forms Control Comando Av.pe . 203 San Borja Perú  +51 1 2256635 http://www.

com.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. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. Av.csti.pe .

csti.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. Aviación 2905 Of.pe .com. 203 San Borja Perú  +51 1 2256635 http://www. enviando como parámetro el nombre del formulario. Av.

Aviación 2905 Of.com. Av. Con el nombre obtenido debemos realizar una llamada dinámica enviando los parámetros que hemos definido en la interfaz del smartform.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. 203 San Borja Perú  +51 1 2256635 http://www.csti. la cual es la que imprime el formulario requerido.

Av. 203 San Borja Perú  +51 1 2256635 http://www. Se accede tambien desde la transacción SMARTFORMS.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. Aviación 2905 Of.

CSTI

Consultoría en Tecnologías de Información

Smart Forms

Componentes de un Estilo

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 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

203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. es decir. son componentes que existen una vez por cada instancia que exista de una clase. son componentes compartidos por todos los objetos instanciados de una misma clase.com.pe . es decir. Av.csti. Componentes Estáticos. existen UNA UNICA VEZ para todos las instancias de la clase. cada objeto tiene estos componentes independientemente. Existen 2 tipos de cardinalidad: Componentes de Instancia.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.

203 San Borja Perú  +51 1 2256635 http://www.csti. Aviación 2905 Of.com.CSTI Consultoría en Tecnologías de Información ABAP Objects Definición de Componentes Av.pe .

203 San Borja Perú  +51 1 2256635 http://www. Tablas internas Otros objetos! Av.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. dec13_3). p.com.) o de un tipo DD (matnr. d. Aviación 2905 Of. Campos estructurados de tipo DD o definidos ahí mismo. char1.pe . f. etc.csti.

Al definir los parámetros de un método. 203 San Borja Perú  +51 1 2256635 http://www. De manera similar a las funciones.pe . un método tiene una firma. estos pueden adoptar cualquier tipo. Aviación 2905 Of. es decir.com. este debe ser declarado dentro del bloque DEFINITION y debe ser implementado dentro del bloque IMPLEMENTATION. de manera similar a los atributos del objeto. un conjunto de parámetros que son recibidos y devueltos por el mismo y un grupo de excepciones. Av.CSTI Consultoría en Tecnologías de Información ABAP Objects Métodos Al definir un método dentro de una clase.csti.

pe .CSTI Consultoría en Tecnologías de Información ABAP Objects Declaración de Métodos Av.csti. Aviación 2905 Of.com. 203 San Borja Perú  +51 1 2256635 http://www.

csti.CSTI Consultoría en Tecnologías de Información ABAP Objects Implementación de métodos Av. Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www.com.

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.pe . Aviación 2905 Of.csti. Pueden definirse con cualquier visibilidad. 203 San Borja Perú  +51 1 2256635 http://www.com.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). Av.

csti.com. 203 San Borja Perú  +51 1 2256635 http://www.pe . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información ABAP Objects Otros Componentes de una Clase En una clase también pueden ser definidos otros componentes: Eventos Tipos Constantes Av.

csti.CSTI Consultoría en Tecnologías de Información ABAP Objects Constructores Av. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com.pe .

Av. es decir. 203 San Borja Perú  +51 1 2256635 http://www.com.CSTI Consultoría en Tecnologías de Información ABAP Objects Instanciación de clases Para instanciar una clase.pe . se debe primero definir una variable de referencia (puntero) a la clase.csti. Luego se crea el objeto usando la variable de referencia. para crear un objeto de la misma. Aviación 2905 Of.

com. Av.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.csti. Aviación 2905 Of. No siempre es posible acceder a un componente. debe tenerse en cuenta la visibilidad del componente que se desea acceder. 203 San Borja Perú  +51 1 2256635 http://www. el operador de referencia estática y el nombre del componente. En el caso de los componentes estáticos se utiliza el nombre de la clase.

Aviación 2905 Of. la seudoreferencia ME es una referencia de la propia clase que apunta al objeto actual. 203 San Borja Perú  +51 1 2256635 http://www.csti.pe . Av.com.CSTI Consultoría en Tecnologías de Información ABAP Objects Seudoreferencia ME Al interior de los métodos de una clase.

csti. Aviación 2905 Of.com. Av.CSTI Consultoría en Tecnologías de Información ABAP Objects Llamar a Métodos Se utiliza la sentencia CALL METHOD para llamar a un método.pe . 203 San Borja Perú  +51 1 2256635 http://www.

No puede ser usada en sentencias WRITE.com.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. La sintaxis abreviada puede ser usada en asignaciones directas (MOVE) y operaciones aritméticas. Aviación 2905 Of. Las dos formas a continuación son equivalentes. Av.csti. 203 San Borja Perú  +51 1 2256635 http://www.pe .

com. es decir que una clase sólo puede tener UNA superclase. Av.csti. Por el contrario una clase puede ser superclase de varias subclases. 203 San Borja Perú  +51 1 2256635 http://www.pe . Aviación 2905 Of. de tal manera que la nueva clase “hereda” los componentes definidos en la clase existente.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. ABAP Objects implementa únicamente herencia simple.

Por esta razón.CSTI Consultoría en Tecnologías de Información ABAP Objects Componentes Heredados Una subclase hereda todos los componentes de su superclase.pe .csti. 203 San Borja Perú  +51 1 2256635 http://www. si bien son heredados no son visibles desde la subclase. Av. Sin embargo los componentes privados de la superclase. en la subclase pueden definirse componentes privados con los mismos nombres que los componentes privados de su superclase. Aviación 2905 Of.com.

En ABAP el polimorfismo se implementa mediante la redefinición de métodos. 203 San Borja Perú  +51 1 2256635 http://www.pe .csti. Aviación 2905 Of.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. Av.com. Sólo pueden ser redefinidos los métodos visibles en la subclase.

csti. Av.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. 203 San Borja Perú  +51 1 2256635 http://www. su interfaz no puede ser modificada. únicamente su implementación. Al redefinir un método. Aviación 2905 Of.com.pe .

csti.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.com. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.pe . Av.

com. Utilizar casting permite efectuar llamadas polimórficas a los métodos de una clase.pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.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.csti. Av.

CSTI Consultoría en Tecnologías de Información ABAP Objects Up Casting Conocido también como generalización.com.pe . consiste en acceder a un objeto mediante una referencia a una de sus superclases. 203 San Borja Perú  +51 1 2256635 http://www.csti. El Up Casting siempre es posible. Av. Aviación 2905 Of.

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.csti.pe . consiste en acceder a un objeto mediante una referencia a una de sus subclases. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información ABAP Objects Down Casting Conocido también como especialización.com.

se puede diferenciar 2 tipos en una referencia. 203 San Borja Perú  +51 1 2256635 http://www. Tipo Estático. Av. establece qué componentes son accesibles.CSTI Consultoría en Tecnologías de Información ABAP Objects Tipo Estático y Dinámico de una Referencia Gracias al casting. Aviación 2905 Of.pe . determinado por el tipo con el que fue instanciado originalmente el objeto al momento de su creación.com. Es visible sólo en tiempo de ejecución y determina qué código se ejecutará en los métodos redefinidos. Tipo Dinámico. determinado por la declaración de la referencia en la sentencia DATA.csti.

pe . Av. 203 San Borja Perú  +51 1 2256635 http://www.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. otros objetos en la memoria) reaccionar frente a los cambios de estado ocurridos en el objeto que inicia el evento. 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. Aviación 2905 Of.csti.com.

en la clase emisora Definición e implementación del método handler.csti. 203 San Borja Perú  +51 1 2256635 http://www.pe . en la clase receptora Registro del handler. Av. Aviación 2905 Of.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. mediante la ejecución del método trigger de la clase emisora. en cualquier punto de la ejecución antes de la emisión del evento. Emisión del evento.com.

Los eventos pueden tener parámetros pero únicamente de tipo exporting.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. Todos los eventos tienen siempre el parámetro implícito SENDER que contiene una referencia al objeto que inicia el evento.com. Av. Aviación 2905 Of.csti.pe . 203 San Borja Perú  +51 1 2256635 http://www.

Av.com.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.pe . Un evento puede ser lanzado por más de un método y un método puede lanzar más de un evento. 203 San Borja Perú  +51 1 2256635 http://www.csti. Aviación 2905 Of.

Los métodos handler se definen en el bloque DEFINITION de la clase. Av. Aviación 2905 Of.pe .csti.com.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. 203 San Borja Perú  +51 1 2256635 http://www.

no es necesario más que enumerar los parámetros que este recibirá.csti.CSTI Consultoría en Tecnologías de Información ABAP Objects Definición de Métodos Handler Al definir un handler. 203 San Borja Perú  +51 1 2256635 http://www.pe . La definición de los mismos es tomada de la declaración del evento. Av. Los métodos handler pueden ser llamados normalmente con la sentencia CALL METHOD. Los métodos handler deben implementarse como todos los métodos en el bloque IMPLEMENTATION de la clase. Aviación 2905 Of.com.

pe . 203 San Borja Perú  +51 1 2256635 http://www. Para eventos estáticos no se usa referencia del emisor. Aviación 2905 Of.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. incluyendo las que aun no han sido creadas. Av.csti. El registro puede realizarse en cualquier punto del programa donde las referencias estén disponibles y puede realizarse para todas las referencias.com.

Av. 203 San Borja Perú  +51 1 2256635 http://www.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.pe .com. Aviación 2905 Of.csti.

CSTI Consultoría en Tecnologías de Información ABAP Objects Atributos en SE24 Av.com. Aviación 2905 Of.pe . 203 San Borja Perú  +51 1 2256635 http://www.csti.

CSTI Consultoría en Tecnologías de Información ABAP Objects Métodos en SE24 Av.pe .csti.com. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.

com.CSTI Consultoría en Tecnologías de Información ABAP Objects Entorno de Pruebas Av.pe . Aviación 2905 Of.csti. 203 San Borja Perú  +51 1 2256635 http://www.

Actualización de productos (stock y precios). boletas. etc. La clase debe contener (como mínimo) los siguientes métodos: Consulta de datos maestros (Cajas / Punto de Venta.CSTI Consultoría en Tecnologías de Información Laboratorio Objetos Laboratorio 9: Objetos 1. Consulta de documentos de venta (facturas. . cliente y/o producto. Clientes y Empleados). Productos. Creación de documentos de venta.) por fecha. Crear una clase local para manejar los datos del modelo de Botica.

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. filtrado en pantalla. así como las funciones allegadas a la salida de la información (ordenamiento. 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. etc.) . exportación de los datos a archivos.

Generación de gráficos. Filtrar el listado (en salida) por una o varias columnas. recuperar y administrar el formato de visualización (variante de visualización) Ordenar el listado por una o varias columnas. Exportar los datos mostrados a varios formatos de archivos.CSTI Consultoría en Tecnologías de Información ALV Funcionalidades Predefinidas Modificar la apariencia del reporte luego de generado. . Grabar.

se debe incluir entre las declaraciones del mismo la instrucción: TYPE-POOLS SLIS . Si se desea utilizar ALV dentro de un programa.CSTI Consultoría en Tecnologías de Información ALV Grupo de Tipos SLIS Grupo de Tipos donde se encuentran las declaraciones de las estructuras usadas en listados ALV.

CSTI Consultoría en Tecnologías de Información ALV 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. .

CSTI Consultoría en Tecnologías de Información ALV ALV List .

CSTI Consultoría en Tecnologías de Información ALV 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. .

CSTI Consultoría en Tecnologías de Información ALV ALV Grid .

Tabla para definir las columnas del reporte y el formato de las mismas. Formatos generales del reporte ALV. . Tabla de eventos definidos para el reporte.CSTI Consultoría en Tecnologías de Información ALV Parámetros del ALV t_outtab i_callback_program i_save is_variant is_layout it_fieldcat it_events it_sort disvariant slis_layout_alv slis_t_fieldcat_alv slis_t_event slis_t_sortinfo_alv Tabla interna sy-repid Tabla que contiene los datos del reporte Programa que llama al ALV. obligatorio si se usan eventos. A' = Activar variantes de visualización Variante de visualización. Tabla de ordenamiento y agrupación del reporte.

csti.com.pe . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información ALV IT_FIELDCAT row_pos col_pos fieldname tabname ref_fieldname ref_tabname cfieldname ctabname qfieldname qtabname Mostrar en la fila n (hasta 3 filas) Posición en la columna Nombre de la columna en la tabla interna Nombre de la tabla interna Nombre del campo en la estructura de referencia Nombre de la estructura DD de referencia Nombre del campo que contiene la moneda Nombre de la tabla que contiene la moneda Nombre del campo que contiene la unidad de medida Nombre de la tabla que contiene la unidad de medida Av. 203 San Borja Perú  +51 1 2256635 http://www.

Aviación 2905 Of.csti. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información ALV IT_FIELDCAT roundfieldname roundtabname round decimalsfieldname decimalstabname decimals_out exponent key icon Nombre del campo que contiene el numero de decimales para redondeo Nombre de la tabla que contiene el numero de decimales para redondeo Redondear a n decimales Nombre del campo que contiene el numero de decimales para salida Nombre del campo que contiene el numero de decimales para salida Mostrar n decimales Exponente fijo (sólo números flotantes) Campo resaltado como clave Mostrar columna como ícono Av.pe .com.

CSTI Consultoría en Tecnologías de Información ALV IT_FIELDCAT symbol checkbox just lzero no_sign no_zero edit_mask emphasize fix_column do_sum no_out tech Mostrar columna como símbolo Mostrar columna como checkbox Justificación L.pe . Aviación 2905 Of.com. columna no puede ser ocultada (O) Columna oculta y no aparece en el pool de columnas Av.csti. R o C Rellenar con ceros a la izquierda hasta la longitud del campo No mostrar el signo Mostrar blanco si el valor es 0 Mostrar el campo con una máscara de edición Resaltar el campo La columna aparece a la izquierda y siempre es visible Columna sumarizada (sólo para columnas numéricas) Columna oculta (X). 203 San Borja Perú  +51 1 2256635 http://www.

csti.pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. M o L.CSTI Consultoría en Tecnologías de Información ALV IT_FIELDCAT outputlen seltext_s seltext_m seltext_l reptext_ddic ddictxt rollname datatype ddic_outputlen intlen hotspot input Longitud de salida Texto corto Texto mediano Texto largo Texto cabecera S. permite seleccionar cual texto mostrar Elemento de datos del campo Tipo de datos básico Longitud de salida definida Longitud definida del campo Mostrar columna es acceso directo Columna editable Av.com.

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.com. Av.csti. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.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.pe .

203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.pe .com.csti.CSTI Consultoría en Tecnologías de Información ALV IS_LAYOUT colwidth_optimize no_colhead no_hotspot zebra no_vline window_titlebar lights_fieldname lights_tabname no_sumchoice no_totalline no_subchoice Optimizar ancho de columnas No mostrar cabeceras Las cabeceras no son hotspot (solo ALV List) Filas de color intercalado No mostrar separadores de columnas Titulo de la ventana Campo en la tabla que contiene el valor de la excepcion Tabla que contiene el valor de la excepcion No aparece el boton de totales No aparecen las filas de totales No aparece el boton de subtotales Av.

Aviación 2905 Of.csti.pe .com. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información ALV IS_LAYOUT no_totalline no_subchoice no_subtotals numc_sum totals_only totals_text subtotals_text box_fieldname box_tabname No aparecen las filas de totales No aparece el boton de subtotales No se puede subtotalizar Hacer posible subtotales de campos NUMC Mostrar solo totales Texto para fila de totales Texto para filas de subtotales Campo que permite seleccionar la fila Tabla que contiene a dicho campo Av.

Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.pe .csti.com.CSTI Consultoría en Tecnologías de Información ALV IS_LAYOUT expand_fieldname no_input f2code no_keyfix no_scrolling detail_popup detail_initial_lines detail_titlebar coltab_fieldname Campo para expandir la fila Todos los campos son no editables User command que se ejecuta al hacer doble click No se puede fijar columnas No se puede hacer desplazamiento Mostrar detalle en una ventana popup Mostrar detalle para lineas en blanco Titulo para la ventana de detalle Columna que contiene la tabla de colores de la fila Av.

pe .csti.com. Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www. (UL) linea de separación Mostrar subtotales para el grupo Av.CSTI Consultoría en Tecnologías de Información ALV IT_SORT spos fieldname tabname up down group subtot Prioridad del ordenamiento Columna por la cual se debe ordenar Tabla de la columna Ordenar ascendente Ordenar descendente Agrupar: (*) cambio de página.

203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.csti.pe .com.CSTI Consultoría en Tecnologías de Información ALV IT_EVENTS name form Nombre del evento Nombre de la subrutina FORM que lo controla Av.

A continuación deberá asignarse subrutinas de control a los eventos que se requieran y se debe definir las subrutinas correspondientes.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. Aviación 2905 Of.com. Av. Para utilizarla. 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.csti. la cual cargará la lista de eventos del ALV.pe . se le carga con la función REUSE_ALV_EVENTS_GET. 203 San Borja Perú  +51 1 2256635 http://www.

csti. Aviación 2905 Of.com. Bloques ALV REUSE_ALV_BLOCK* Permite colocar simultáneamente varios ALV (list y jerárquico) dentro de una única pantalla de reporte.pe . Av.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). 203 San Borja Perú  +51 1 2256635 http://www.

csti.com.pe . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Av. 203 San Borja Perú  +51 1 2256635 http://www.

CSTI Consultoría en Tecnologías de Información Clase ALV O-O Abap List Viewer .

su uso es muy diferente pues se hace uso de los conceptos de ABAP Objects. Si bien es muy similar a la función REUSE_ALV_GRID_DISPLAY en los resultados que se pueden obtener.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. .

Interfaz directa con Office mediante el modo de visualización Excel. incluyendo todas las funcionalidades de la función ALV Grid.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. .

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 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.

deben definirse 2 objetos de las siguientes clases: CL_GUI_CUSTOM_CONTAINER para manipular el CUSTOM CONTROL de la dynpro.CSTI Consultoría en Tecnologías de Información Clase ALV Definición de datos En el programa. CL_GUI_ALV_GRID para crear y manipular el ALV Grid .

com. 203 San Borja Perú  +51 1 2256635 http://www.pe .CSTI Consultoría en Tecnologías de Información Clase ALV Definición de datos Adicionalmente deben definirse datos con los siguientes tipos: lvc_t_fcat lvc_t_sort lvc_s_layo disvariant Catálogo de campos del ALV Ordenamiento (opcional) Layout (opcional) Variante de visualización (opcional) Av.csti. Aviación 2905 Of.

CSTI Consultoría en Tecnologías de Información Clase ALV Instanciación Durante el PBO de la dynpro definida. se hace referencia al objeto Container. se deben instanciar los objetos definidos previamente. Nótese que al instanciar el objeto ALV. .

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. Luego de eso no debe utilizarse y si los datos de la tabla base hubieran cambiado y se requiriera refrescarlos en la pantalla. únicamente para mostrar la tabla por primera vez. cómo su nombre lo indica. . se debe utilizar el método REFRESH_TABLE_DISPLAY.

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 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. .

pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.csti.com. Av.CSTI Consultoría en Tecnologías de Información Clase ALV Eventos Declare e implemente la clase manejadora.

203 San Borja Perú  +51 1 2256635 http://www.csti. Av.CSTI Consultoría en Tecnologías de Información Clase ALV Eventos Declare e instancie un objeto de la clase definida previamente.pe . Aviación 2905 Of.com.

Aviación 2905 Of.csti. Av. 203 San Borja Perú  +51 1 2256635 http://www.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.pe .com. Algunos eventos requieren ser “activados” dentro del ALV.

pe . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Clase ALV Algunos Métodos set_table_for_first_display refresh_table_display get_frontend_fieldcatalog set_frontend_fieldcatalog get_selected_rows get_selected_columns get_selected_cells check_changed_data Mostrar la tabla por primera vez Actualizar la visualización Leer el catálogo de campos actual Actualizar el catálogo de campos Leer las filas seleccionadas Leer las columnas seleccioandas Leer las celdas seleccionadas Verificar los datos modificados en la tabla Av.com. 203 San Borja Perú  +51 1 2256635 http://www.csti.

pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com.CSTI Consultoría en Tecnologías de Información Clase ALV Algunos Eventos onf4 data_changed user_command double_click print_top_of_page print_end_of_page toolbar Presionaron F4 Datos modificados en algún punto de la grilla Presionaron un botón (no estándar) de la barra de herramientas Doble click en algún punto de la grilla Top of page cuando se imprime la lista End of page cuando se imprime la lista Para modificar la barra de herramientas del ALV Av.csti.

La funcionalidad del programa debe mantenerse.CSTI Consultoría en Tecnologías de Información Laboratorio ALV Laboratorio 10: ALV 1. Copie el programa de creación de datos para registrar las ventas (Laboratorio 5. 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. . ejercicio 1) reemplace en la dynpro el table control con un custom control ALV Grid. 2.

CSTI Consultoría en Tecnologías de Información Enhancements Ampliaciones .

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. Sin embargo. se hace imperativo modificar los objetos creados por SAP para satisfacer las necesidades generadas. Enhancements Points y BTEs. MM. SD.com. para lo cual se han creado diversas técnicas llamadas Ampliaciones (Enhancements).pe . los User Exits.) con normas internacionales estándares que son practicadas ampliamente en todas partes del mundo. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of. Entre las ampliaciones más usadas tenemos.csti. Av. Bajo este escenario. las exigencias de clientes se diferencian de un lado a otro. etc. PP. BADIs.CSTI Consultoría en Tecnologías de Información Enhancements Introducción SAP ha desarrollado todos sus módulos (llámese FI.

com.csti. es decir. 203 San Borja Perú  +51 1 2256635 http://www. se debe activar el proyecto. sin código ABAP.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.pe . Una vez implementado el User-Exit. Aviación 2905 Of. 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. Av. Las User-Exit se gestionan por la transacción SMOD y se implementan por la transacción CMOD. ya que es la única manera que pueda verse el efecto del código introducido en la rutina.

com. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Enhancements Proyecto de Ampliación Av.csti. Aviación 2905 Of.pe .

com.csti. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Enhancements Ampliaciones y Proyectos de Ampliaciones Av. Aviación 2905 Of.pe .

com.pe .CSTI Consultoría en Tecnologías de Información Enhancements Procedimiento para creación de Ampliaciones Av. 203 San Borja Perú  +51 1 2256635 http://www.csti. Aviación 2905 Of.

com. Aviación 2905 Of.csti.pe . 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Enhancements Procedimiento para activación de Exits Av.

pe . 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Enhancements Creando Proyectos de Cliente por la CMOD Av. Aviación 2905 Of.com.csti.

Aviación 2905 Of.com.pe . 203 San Borja Perú  +51 1 2256635 http://www.csti.CSTI Consultoría en Tecnologías de Información Enhancements Asignación de Ampliaciones a proyectos de Cliente Av.

com.CSTI Consultoría en Tecnologías de Información Enhancements Editando los componentes Av. 203 San Borja Perú  +51 1 2256635 http://www.csti.pe . Aviación 2905 Of.

CSTI Consultoría en Tecnologías de Información Enhancements Activando Proyecto de Ampliación Av.com.pe . Aviación 2905 Of.csti. 203 San Borja Perú  +51 1 2256635 http://www.

pe .csti. Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Enhancements Transportando los Proyectos Av.com. 203 San Borja Perú  +51 1 2256635 http://www.

203 San Borja Perú  +51 1 2256635 http://www.csti. Aviación 2905 Of.com.pe .CSTI Consultoría en Tecnologías de Información Enhancements Overview de Programa Exit Av.

pe . 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com.csti.CSTI Consultoría en Tecnologías de Información Enhancements Módulo de Función Exit : Flujo de Proceso Av.

csti. Aviación 2905 Of.com.CSTI Consultoría en Tecnologías de Información Enhancements Llamando y Creando Módulos de Función Av.pe . 203 San Borja Perú  +51 1 2256635 http://www.

Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.CSTI Consultoría en Tecnologías de Información Enhancements Encontrando Módulos de Función Exit Av.csti.com.pe .

CSTI Consultoría en Tecnologías de Información Enhancements Editando Módulos de Función Exit Av. 203 San Borja Perú  +51 1 2256635 http://www.pe .csti. Aviación 2905 Of.com.

pe .csti.com.CSTI Consultoría en Tecnologías de Información Enhancements Resúmen: Módulos de Función Exit Av. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.

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. Aviación 2905 Of. parámetros de salida. en la cual se pueden ver las características. etc. El principal objetivo de las BADI’s. De la misma manera que con los User Exit's. 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.csti. tipo de BADI. Mediante la transacción SE18 accedemos a la Definición de las BADI's.com. las BADI's tienen dos vistas: la de definición y la de implementación.pe . 203 San Borja Perú  +51 1 2256635 http://www. es cumplir con los requerimientos del cliente permitiendo agregar nuevas funcionalidades dentro del código estándar de SAP. parámetros de entrada.

CSTI Consultoría en Tecnologías de Información Enhancements Transacción SE18 – Definición de BADI’s . pulse F4 en el nombre de la definición.Navegue en este árbol con el fin de encontrar el área (y por lo tanto la BADI) en la que se está interesado. . tales como.Para ver las definiciones existentes. 203 San Borja Perú  +51 1 2256635 http://www. .pe .El sistema muestra un árbol de las áreas funcionales (en SAP) de los módulos pertinentes.com. aparecerá una pantalla pop-up en el cual pulsará el botón Aplicaciones SAP. SD y HR.csti. Aviación 2905 Of. MM. Av.

csti. 203 San Borja Perú  +51 1 2256635 http://www.Atributos Av.pe . Aviación 2905 Of.CSTI Consultoría en Tecnologías de Información Enhancements Visualizando una definición estándar .com.

203 San Borja Perú  +51 1 2256635 http://www.pe .csti.com.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.

com. Exporting y Changing. Aviación 2905 Of.pe . Av. 203 San Borja Perú  +51 1 2256635 http://www.csti.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.

etc). internet.pe .csti.CSTI Consultoría en Tecnologías de Información Enhancements Transacción SE19 – Implementando BADI’s Para implemetar una BADI se necesitan hacer tres pasos: 1. Crear una implementación vía SE19. 203 San Borja Perú  +51 1 2256635 http://www.com. 3. Escribir el código para el método de la BADI. Aviación 2905 Of. 2. Av. Identificar la BADI a implementar (SE18.

pe .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. Esto nos lleva a la siguiente pantalla… Av.csti. Aparece una ventana para ingresar el nombre de la BADI. 203 San Borja Perú  +51 1 2256635 http://www. Aviación 2905 Of.com.

Ingrese un nombre descriptivo acorde a la implementación.com. 203 San Borja Perú  +51 1 2256635 http://www. .csti. se puede cambiar si se desea.Pulse la ficha Interface para ver el nombre de la clase que se generará producto de la implementación. También se muestra. Aviación 2905 Of.pe . el nombre del método de la BADI.CSTI Consultoría en Tecnologías de Información Enhancements . Av.

Aviación 2905 Of.pe . Esto nos lleva a la pantalla del editor del método.com. 203 San Borja Perú  +51 1 2256635 http://www.csti. 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.CSTI Consultoría en Tecnologías de Información Enhancements Luego. Av. Se pulsa doble click sobre el nombre del método (en nuestra caso SAP_SCRIPT_TABLES).

Aviación 2905 Of.com.csti.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.pe . activar la implementación de la BADI. 203 San Borja Perú  +51 1 2256635 http://www. Av.

csti.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). 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. 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. aunque no exista ninguna implementación activa para esa BADI particular el método detectará que existe una BADI en ese punto.pe . por lo tanto. Luego. 203 San Borja Perú  +51 1 2256635 http://www. en la variable exit_name se muestran los nombres de las BADI's que implementa el programa. Aviación 2905 Of.com. se ejecuta la transacción o programa que queremos verificar y el programa se detendrá en el BREAK-POINT. Av.

com. A estas tablas. SXC_EXIT. Av. Las tablas de las BADI’s son las siguientes SXS_INTER. Por lo que en cada llamada a una BADI el sistema pasa por estas tablas. Aviación 2905 Of. Por lo que estas vistas (T: SE11) serán la base de nuestro análisis. SXC_CLASS y SXC_ATTR.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.csti. 203 San Borja Perú  +51 1 2256635 http://www. SAP siempre accede mediante las vistas V_EXT_IMP y V_EXT_ACT.

después pulsamos el botón “Activate Trace “. Aviación 2905 Of.com. 3..Primero chequeamos que ningún otro usuario (T:SM04) o jobs en fondo (T: SM50) están usando el mismo usuario que tú.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..Nos vamos a la transacción ST05 (Performance Analysis) y marcamos el flag "Buffer trace". 203 San Borja Perú  +51 1 2256635 http://www. para activar el Trace.csti. 2..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.

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". Que son nuestras vistas. entonces el popup "Set Restrictions for Displaying Trace" aparecerá. 5. 203 San Borja Perú  +51 1 2256635 http://www..csti..CSTI Consultoría en Tecnologías de Información Enhancements Al finalizar pulsamos el boton salvar. Aviación 2905 Of. Av.com.pe .Ahora vamos a filtrar el Trace con los objetos: V_EXT_IMP y V_EXT_ACT. 4.

com.CSTI Consultoría en Tecnologías de Información Enhancements Pulsamos el botón "Copy (F8)" . ANALISIS DE LOS RESULTADOS Obtendremos un listado parecido a este que interpretaremos de la siguiente manera: Av. Fill Operations: OPEN y pulsamos el botón "Enter“.csti.pe . Aviación 2905 Of. 203 San Borja Perú  +51 1 2256635 http://www.

Este es el prefijo estándar de SAP para las “ BADI class interfaces “. Es decir el nombre de la BADi para IF_EX_ADDR_LANGU_TO_VERS es ADDR_LANGU_TO_VERS. Aviación 2905 Of.com.csti.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_. El nombre de la BADI está después de este IF_EX_. 203 San Borja Perú  +51 1 2256635 http://www. Av.

Antes de implementar se debe buscar la BADI que se activa al momento de grabar el pedido. muestre un mensaje si el pedido tiene condición de pago al contado.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). .