Vous êtes sur la page 1sur 95

CURSO ABAP/4

Noviembre 2011

ndice
1 2 3
4

Introduccin Diccionario ABAP Interfases / Carga de Datos / Funciones y BAPIS


Transacciones y Ampliaciones

Screen & Menu Painter

Introduccin - Mdulos Funcionales de SAP ERP


La solucin mySAP ERP es una completa suite de negocios destinada a dar cobertura a los diferentes procesos funcionales de una Compaa. Cada rea funcional permite operar diversas reas de gestin de una empresa.

Mdulos Funcionales de SAP ERP

Mdulo de Finanzas
Sociedad Financiera Plan de Cuentas Contabilizaciones Manuales y Automticas

Procesos de Cierre Contable Balance Financiero


Ledgers Especiales Correccin Monetaria Consolidacin

Contabilidad de Deudores y Acreedores Gestin de Activos Fijos

Introduccin - Arquitectura Tecnolgica de SAP R/3

Este diagrama muestra las capas de compatibilidad de las soluciones SAP


Hardware
UNIX systems Bull IBM Digital SNI HP SUN Bull/Zenith Multiplataforma Compaq

Data General ...

Digital HP (Intel) IBM (Intel)

NCR Sequent SNI

IBM AS/400

IBM S/390

S.O.

AIX Digital UNIX HP-UX

Reliant UNIX (SINIX) SOLARIS Linux

Windows NT

OS/400

OS/390

B.D:

DB2 Common Server INFORMIX-OnLine ORACLE

DB2 Common Server MS SQL Server INFORMIX-OnLine ORACLE

DB2 for OS/400

DB2 for OS/390

Dialogo SAPgui

Windows 3.1, Windows 95, Windows NT, OSF/Motif, OS/2 Presentation Manager (PM), Macintosh, Java

Windows NT, Windows 95, PM, Java

Lenguajes

ABAP/4, C, C++, HTML, Java, ActiveX-Controls, Visual Basic, ...

Arquitectura Tecnolgica de SAP R/3

Bajo el esquema cliente-servidor, un sistema SAP R/3 proporciona los siguientes elementos por cada capa.

Presentacin
Interfaces de multiplataforma. WebEnable Aplicacin usuario

Diferentes ambientes y herramientas para el desarrollo de aplicaciones.


Workbench ABAP Screen Painter SAP@WebStudio SAP Scripts SAP Graphics SAP ABAP List Viewer

Soporta desarrollo de aplicaciones Orientada a Objetos o a Eventos.

Base de Datos Entorno nico y transparente para operar con la Base de Datos.

Introduccin - Qu es ABAP/4?

Lenguaje de Programacin de cuarta generacin, orientado a aplicaciones de negocio en ambientes SAP R/3

Advanced

Business

Todos los mdulos de SAP fueron construidos en este lenguaje. Lenguaje estructurado orientado a Eventos. Soporta programacin Orientada a Objetos.
REPORTS: Programas de listado. Solamente tienen un paso de Dilogo.

Aplication
TRANSACCIONES: Programas interactivos cuyo flujo lo controlan las pantallas, estas se generan desde el Screen Painter. FUNCIONES: Mdulos con parmetros de entrada y salida que se pueden llamar desde cualquier programa, incluso desde fuera de SAP (RFCs).

Programming

4GL

Introduccin Interfaz de Usuario para SAP


Ingreso al Sistema

Entorno Lgico del Sistema de Informacin. Ejemplo: Mandantes de Desarrollo, Test y Productivo

Datos de Logon para el Mandante

Idioma de la Interfaz Grfica de Usuario

Introduccin Interfaz de Usuario para SAP


Nomenclatura de Elementos de Pantalla

Campo de Comandos (Cdigo de Transacciones)

Barra de Herramientas General de SAP

Menu de Aplicaciones

Barra de Herramientas de la Aplicacin Informacin de Contexto: Sistema, Mandante, Usuario, etc.

Barra de Mensajes

Introduccin Interfaz de Usuario para SAP


Development Workbench

Ambiente de Trabajo para Desarrollos en SAP R/3:

SE80

Business Object Builder Editor ABAP Biblioteca de Funciones Diccionario ABAP Object Navigator Otras herramientas

Paquetes

Los objetos correspondientes al Workbench ABAP se agrupan en un paquete y su asignacin al mismo se indica en el catlogo de objetos (TADIR). Las propiedades del objeto en cuestin vienen determinadas mediante la Capa de Transporte de su paquete. Estos pueden ser local o transportable. Transportable. A sus diferentes Instancias. Local. Local en cada maquina. Nombre por defecto $TMP. Cuando se crea un objeto este solicitar asignarlo a un paquete

Introduccin Sistema de Transportes de SAP


Sistema de Transporte de las Parametrizaciones y Desarrollos

Diversos Entornos o Ambientes de Trabajo: Desarrollo, Pruebas y Produccin

Consultores Equipo de Proyecto


Parametrizar Desarrollar

Transporte

Usuarios Claves Usuarios Finales


Operacin Real

Transporte

DEV
Probar Validar

QAS
Consultores Usuarios Claves Equipo de Proyecto

PRD

Introduccin Sistema de Transportes de SAP


Ordenes de Transporte

Son paquetes donde se alojan los objetos para gestionar objetos del repositorio R/3 o Customizing dentro de un sistema R/3 o para transportar entre diferentes Sistemas R/3.
Cundo usamos una orden de transporte? Cada vez que se crea un objeto en el repositorio o cada vez que se realice una modificacin nos solicitar una orden de transporte. Tipos de Ordenes Orden de Modificacin Transportable. Grabacin de las modificaciones en objetos de Repositorio dentro de un sistema R/3. Orden de Customizing. Grabacin de las modificaciones en parametrizaciones Customizing y su posible transporte a otros Sistemas R/3 o a otros mandantes.

Para administrar las Ordenes de transporte podemos acceder a la Trx. SE10.

Sistema de Transportes de SAP

Orden de transporte

Tarea: Asociada al usuario

Objetos a transportar

ABAP Debugger - Activacin

Existen varios caminos para el ABAP Debugger desde le Navegador de Objetos: En el area de navegacion, se escoge el nombre del programa y escoger en el menu de contexto Ejecutar -> Debugging

ABAP Debugger - Activacin

En la Transaccion de editor de programa (SE38), escoger la linea de programa y poner Breakpoint, entonces al ejecutar el programa parar en la linea que se escogio.

Breakpoint

Tambien se puede ingresar en el campo de comando la declaracion /H y esto activara automaticamente el debugger. Por ultimo, se puede escoger en el menu principal la opcion Sistema -> Utilidades -> Debugging ABAP.

Trabajando con ABAP Debugger

Paso a Paso (F5)

En el modo debugging, se puede escoger la opcion Paso a Paso para ejecutar declaracion por declaracion el programa, Continue (F8) el cual ejecutara el programa. Para visualizar el valor del objeto de dato, se hace doble-clic a campo o variable y este aparecer automticamente en el area de campo.

Trabajando con ABAP Debugger

Dentro del debugging se puede poner breakpoints haciendo dobleclic en la linea de codigo que se desee. Estos pueden ser temporales o grabados. Los breakpoint quedaran puestas por sesion de usuario. Otra de las opciones importantes del debugg es el Watchpoint el cual se condiciona por valor del campo. Solo se puede poner como max 10 de estos los cuales se puede vincular con los operadores AND u OR.

Watchpoint

ndice
1 2 3
4

Introduccin Diccionario ABAP Interfases / Carga de Datos / Funciones y BAPIS


Transacciones y Ampliaciones

Screen & Menu Painter

Diccionario de Datos
La transaccin SE80 integra funcionalidad diversas para el tratamiento de diferentes elementos, sin embargo existen otras transacciones como la SE11, especializada en el tratamiento de elementos del Diccionario de Datos de SAP.

SE11

Tabla / Estructura Vista Elemento datos Dominio Matchcode Objeto Bloqueo

Diccionario de Datos
Tabla: Objeto bsico de una base de datos. Se pueden almacenar registros con los programas estndar o del usuario.

Elementos del Diccionario de Datos

Estructura: Similar a la definicin de tabla. Fsicamente es solo una definicin, no almacena datos en forma permanente. Vista: Definicin lgica de campos de una o varias tablas. Facilita el acceso a los datos de un BD. Se define indicando las tablas que intervienen. Elemento de datos: describe los atributos de tipo (tipo de datos, longitud de campo y, en caso necesario, cantidad de decimales) y contiene informacin relevante para dynpros (textos explicativos o Ayuda para campos) de objetos de datos no estructurados (campos de tablas o de estructuras o variables).
Dominios: Permite definir formatos de campos. En la definicin se especifica el tipo y la longitud, la tabla de verificacin de posibles valores, la longitud de salida y la rutina de conversin. Todos estos atributos se asocian al campo que utilice un elemento de dato definido con este dominio. Matchcode: Es un conjunto de ndices sobre una tabla que permiten realizar bsqueda online de informacin. Objeto de bloqueo: Es una unin virtual de varias tablas SAP que sincroniza el acceso simultneo de dos usuarios al mismo set de datos.

Diccionario de Datos

En el Diccionario ABAP es posible definir tablas de una misma forma con total independencia de la base de datos empleada por SAP. Se definen los campos de la tabla con los tipos de datos y longitudes, basados en estndares de SAP. Una definicin de tabla se compone de las siguientes partes integrantes:
Campos de tabla: Se indican los nombres de campo y los tipos de datos de los campos contenidos en la tabla.

Clave externa: Mediante la clave externa se especifican las relaciones de la tabla con otras tablas.
Opciones tcnicas: Con las opciones tcnicas se controla cmo se crea la tabla en la base de datos. ndices: Para acelerar la seleccin de datos de la tabla se pueden crear ndices para la tabla.

Diccionario de Datos

Existen tres clases de tablas de base de datos en el Diccionario ABAP: Tabla Transparente, Tabla Pool y Tabla Cluster.
Tabla Transparente: En las tablas transparentes se crea una definicin de tabla fsica en la base de datos para la definicin de tablas almacenada en el Diccionario ABAP al activar la tabla. La definicin de tabla del Diccionario ABAP se traduce en una definicin en la base de datos respectiva. Tabla Pool informacin informacin programas, comercial se y Tabla Cluster: Se utilizan para almacenar conjuntamente la de diferentes tablas. Se utilizan exclusivamente para almacenar interna de control (secuencia de pantallas, parmetros de datos temporales, documentacin, etc). Datos de relevancia almacenan en tablas transparentes.

Diccionario de Datos

Atributos de una Tabla

Indicador de tipo de tabla

Indicador actualizacion por browser de datos

Diccionario de Datos

Campos de una Tabla

Indicador No Nulo Indicador Campo Clave

Elemento de dato

Nombre del Campo

Diccionario de Datos

Opciones Tcnicas

Parmetros de la tabla en la BD

Tipo de acceso a los datos

Diccionario de Datos

Creacin de Interfaz de Actualizacin Permite la creacion de Mantenedor de tabla (Siempre y cuando se de la opcion de visualizacion/Actualizacion permitida). Menu principal del diccionario de datos (SE11), en la opcion: Utilidades->Generador Actualiz. Tab. (SE54).

NOTA: Se recomienda poner el mismo nombre de la tabla como grupo de funciones, con relacin de 1 a 1

Diccionario de Datos

Creacin de Transaccin para Interfaz de Actualizacin Tipo de Transaccion con Parametros (SE93)

Diccionario de Datos

Vistas Consisten en una unin de tablas mediante sus claves primarias. Ej.

CARRID AA LH LH QF

CONNID 0017 0402 0440 0598

CITYFROM FRANKFURT NEW YORK FRANKFURT NEW YORK

CARRID AA AA LH LH

CONNID 0017 0017 0402 0402

FLDATE 07.03.2000 12.03.2000 08.03.2000 09.03.2000

RELACIN POR CLAVE PRIMARIA

CARRID AA AA LH LH

CONNID 0017 0017 0402 0402

CITYFROM FRANKFURT FRANKFURT NEW YORK NEW YORK

CARRID AA AA LH LH

CONNID 0017 0017 0402 0402

FLDATE 07.03.2000 12.03.2000 08.03.2000 09.03.2000

Diccionario de Datos

Tipos de Vistas Las vistas de base de datos implementan un inner join. Los otros tipos de vistas (Supresin, Ayuda y Actualizacin) implementan un outer join. Vista de la Base de Datos: Se realizan a travs de una vista equivalente en la base de datos. Vista de Supresin: Se utilizan para suprimir campos de una tabla. Vista de Ayuda: Se utilizan en el sistema de ayuda online. Vista de Actualizacin: Permiten una vista empresarial de los datos y la posibilidad de actualizar estos datos.

Diccionario de Datos

Ejercicios: Creacin de Dominio, con y sin mbitos de valoracin. Creacin de Elemento de Datos, con y sin ayuda de bsqueda. Creacin de Tabla empleando los tipos anteriormente creados y estndares. Creacin de Interfaz de Actualizacin. Creacin y modificacin de Transaccin de Interfaz de Actualizacin. NOTA: Para cada elemento nuevo crear descripciones en la documentacin del objeto ABAP.

algunos

ndice
1 2 3
4

Introduccin Diccionario ABAP Interfases / Carga de Datos / Funciones y BAPIS


Transacciones y Ampliaciones

Screen & Menu Painter

Carga de Datos

La funcionalidad Data Transfer Workbench entrega soporte completo para la transferencia de datos a SAP, entre sus funcionalidades tenemos: Administracin y organizacin de Proyectos de Transferencia de Datos Herramientas par el anlisis de las estructuras requeridas por SAP Integracin de programas estndar de transferencia Diversas tcnicas de carga de datos en SAP: Batch Input Direct Input Call Transaction BAPI Interface

Carga de Datos Batch Input

Batch Input es una tcnica estndar para el ingreso masivo de datos de datos hacia SAP. Simula el ingreso que puede hacer manualmente un usuario en el sistema SAP, por lo tanto, el ingreso de datos sufre todas las validaciones de sistema que se realizan al ingresar manualmente, asegurando la consistencia de los datos ingresados. La mayora de los programas de transferencia masiva en SAP R/3 utilizan esta tcnica. El proceso Batch Input se divide en 2 etapas: El programa de transferencia de datos (estndar o nuevo) crea una sesin Batch Input con un Juego de Datos, que contiene toda la informacin a ser procesada. La sesin Batch Input es procesada y los datos que contiene son transferidos a SAP R/3.

Carga de Datos Batch Input


Tabla BDC Definicin de estructura para el registro de datos desde el archivo secuencial Llamados a mdulos de funcin

Elementos de un programa Batch Input

ABRIR ARCHIVO SECUENCIAL ABRIR SESIN BATCH INPUT LEER REGISTRO DE DATOS LLENAR TABLA BDC

Definir/declarar tabla BDC


Definir estructura de datos para archivo secuencial Mdulos de Funcin BDC...

LLENAR SESIN BATCH INPUT


LTIMO REGISTRO ?

CERRAR SESIN BATCH INPUT CERRAR ARCHIVO SECUENCIAL

Carga de Datos
Tabla BDC registra los datos de entrada para una transaccin Luego, su contenido es transferido a una sesin Batch Input Una fila de la tabla BDC incluye la siguiente informacin: Nombre de programa, nmero de pantalla, indicador de inicio, nombre de campo y valor del campo La tabla BDC se declara como una tabla interna usando la estructura del diccionario de datos BDCDATA

Tablas BDC: Definicin

Carga de Datos

Tablas BDC: Estructura

Carga de Datos

Definicin de estructura para archivo secuencial

Los campos de la estructura siempre deben ser definidos como tipo string de caracteres (C)

Carga de Datos
ABRIR SESIN BATCH INPUT

Mdulos de funcin para un programa Batch Input


BDC_OPEN_GROUP
Client Nombre de Sesin Fecha bloqueo Borrar sesin despus de procesamiento Usuario BDC CLIENT GROUP HOLD KEEP USER

Insertar datos a la transaccin

BDC_INSERT
Cdigo Transaccin Tabla BDC TCODE DYNPROTAB

CERRAR SESIN BATCH INPUT

BDC_CLOSE_GROUP

HOLDDATE: Fecha ms temprana en que puede iniciarse el proceso KEEP: Indica si la sesin debe ser borrada despus de haber sido procesada exitosamente (X: No borrar)

Carga de Datos
ABRIR ARCHIVO SECUENCIAL
OPEN DATASET v_file FOR INPUT IN TEXT MODE

Batch Input - Ejemplo

ABRIR SESIN BATCH INPUT LEER REGISTRO DE DATOS


LLENAR TABLA BDC

PERFORM OPEN_GROUP READ DATASET v_file INTO REC PERFORM LLENA_TABLA_BDC PERFORM LLENA_SESION

LLENAR SESIN BATCH INPUT LTIMO REGISTRO ? CERRAR SESIN BATCH INPUT
CERRAR ARCHIVO SECUENCIAL

PERFORM CLOSE_GROUP

CLOSE DATASET v_file

Donde v_file es el nombre del archivo secuencial, incluyendo su ruta de acceso o Path, ejemplo: C:\curso\archivo_carga.txt

Carga de Datos
REPORT ZCURSO_ABAP_BATCH_INPUT. INCLUDE BDCRECXX. DATA: BEGIN OF REC1, CAMPO1(5) TYPE C, CAMPO2(10) TYPE C, END OF REC. DATA: v_file(50) DEFAULT C:\curso\archivo_carga.txt. START-OF-SELECTION. OPEN DATASET v_file FOR INPUT IN TEXT MODE. .. .. PERFORM OPEN_GROUP. DO. READ DATASET v_file INTO REC1. IF SY-SUBRC NE 0. EXIT. PERFORM GENERATE_BDC_DATA. PERFORM BDC_TRANSACTION USING XK01. REFRESH BDCDATA. ENDDO. PERFORM CLOSE_GROUP. CLOSE DATASET v_file. ENDIF.

Subrutinas para creacin de sesiones batch input

Estructura para almacenar cada registro del archivo secuencial


Definicin del archivo secuencial (incluyendo path completo) ABRIR archivo secuencial

ABRIR sesin LEER registro del archivo y almacenarlo en REC1 Verificar fin de archivo

LLENAR tabla BDC


LLENAR sesin
(definida en BDCRECXX)

BORRAR tabla BDC CERRAR sesin CERRAR archivo secuencial

Carga de Datos
FORM GENERATE_BDC_DATA. perform bdc_dynpro perform bdc_field perform bdc_field perform bdc_field perform bdc_field perform bdc_field perform bdc_field using 'SAPMF02K' '0100'. using 'BDC_CURSOR using 'BDC_OKCODE using 'RF02K-LIFNR using 'RF02K-BUKRS using 'RF02K-EKORG using 'RF02K-KTOKK 'RF02K-LIFNR'. '/00'. 'P0010'. ACT1'. 'CC01'. 'P001'.

Nombre de programa y nmero de pantalla

Nombre de campo y valor de campo

perform bdc_dynpro perform bdc_field perform bdc_field perform bdc_field

using 'SAPMF02K' '0310'. using 'BDC_CURSOR' using 'BDC_OKCODE' using 'LFM1-WAERS' 'LFM1-WAERS'. '/00'. 'CLP'.

BDC_DYNPRO y BDC_FIELD estn definidos en programa include BDCRECXX.

Carga de Datos

Transaction Recorder
Es una funcionalidad de SAP que facilita la generacin de programas de transferencia de datos mediante Batch Input o Call Transaction. La grabacin de una transaccin puede ser realizada varias veces. Y se pueden encadenar varias transacciones. F1 y F4, pantallas de error y warning, movimientos en el scrollbar NO son grabadas. Acceso a recorder: Transaccin SM35 Botn Grabacin Grabacin Nueva Seleccionar cdigo de transaccin a grabar Ejecutar transaccin Grabar Generar programa (objeto local)

Carga de Datos
Una sesin Batch Input puede ser procesada en 3 modos diferentes: Foreground (visible) Background (invisible) Error display (se detiene en screen donde ocurre el error, y solo si ocurre un error)

Carga de Datos
Tcnica que permite un ingreso masivo de informacin a SAP, empleando un juego de datos tal y como lo utiliza un Batch Input. La diferencia con un Batch Input, es que el juego de datos no queda registrado en el sistema si no que vive en la memoria de ejecucin del programa, por lo que una vez generado se llama inmediatamente a la transaccin que procesar la informacin. No soporta correccin manual del juego de datos una vez ejecutado el proceso y tiene en forma automtica funciones de log. Procesamiento sincrnico. El sistema ejecuta un commit work antes y despus de cada llamada a la sentencia Call Transaction, no obstante es posible ejecutar la transaccin en modos Sincrono y Asincrono.

Call Transaction

Carga de Datos

Direct Input
Es una tcnica de procesamiento masivo de informacin que funciona similar a un Batch Input. Sin embargo posee otras diferencias notables que lo posicionan como una mejor opcin en especial para el tratamiento de grandes volmenes de datos. Los programas estndares que procesan la informacin, no usan pantallas ni ningn otro tipo de despliegue por lo que se ejecutan en fondo maximizando la velocidad de procesamiento de la informacin. Esta tcnica no crea sesiones, sino que almacena los datos directamente en el diccionario de datos de SAP, con todas las validaciones estndares que correspondan, exceptuando obviamente las que existan a nivel de pantalla. En caso de error, el Direct Input provee un mecanismo de reinicio. Direct input se puede ejecutar en 2 modos: Ejecutar programa directamente Ejecutar programa en background

Carga de Datos

Direct Input Soporta la carga de aplicaciones: Documentos FI, Datos Maestros de Materiales, Datos de Materia Prima para PP-EHS, etc. Para asegurar la integridad de datos, cada programa DI dispones de un mecanismo de reposicion. La informacion de sincronizacion se escribe en la tabla TBIST mediante funciones. En caso de cancelacion garantiza que se reanude en la posicion correcta (Ej. Ningun documento se contabiliza en forma duplicada). Utiliza la misma estructura de BDC. Transaccion BMV0 y se ejecuta como procesos de fondo. Es posible manipular la transferencia directamente desde la SM36/SM37. Algunos Programas de carga: RFBIBL00 FI RMDATIND MM RVAFSS00 SD RAALTD11 AM RKEVEXT0 CO-PA

Carga de Datos
BAPI = Business Aplication Program Interface RFC = Remote Function Call Una BAPI es un objeto de negocio SAP, que posee diversos mtodos para el tratamiento de informacin, normalmente estos mtodos son tambin funciones RFC, es decir funciones que pueden ser invocadas desde fuera del Sistema SAP. Existe una amplia gama de objetos de negocio y de funciones estndares disponibles para el tratamiento de la informacin. Es posible crear desde cero una BAPI o una RFC. Es un mecanismo muy usado para construir interfaces entre SAP y otros sistemas, que realicen movimiento de informacin on-line. En las versiones de SAP NetWeaver, es posible transformar una RFC en un WebService, con muy poco esfuerzo.

BAPIS y RFC

Carga de Datos
Son documentos estructurados y jerrquicos que pueden tener varios niveles de informacin, utilizados internamente por SAP para mover informacin entre mdulos y entre sistemas. Es un robusto estndar de mensajera utilizado por SAP desde sus inicios y que ha sido asimilado por lo principales proveedores de Middlewares que con la aparicin de XML han debido desarrollar adaptadores que transforman XML en IDOC y vise versa. Permite comunicacin sincrona y asncrona. Permite procesamiento transaccional en forma natura pero tambin soporta el manejo de colas Tiene un entorno de administracin de mensajera Existe una gran cantidad de IDOC estndares definidos que pueden ser utilizados, no obstante se pueden disear y construir algunos a medida. Requieren la parametrizacin de mensajera, para el procesamiento de datos, esto permite que al llegar un IDOC a SAP este es reconocido y procesado automticamente por las funciones de procesamiento estndares o desarrolladas existentes.

IDOC (Internal Document)

Carga de Datos

Legacy System Management Workbench (LSMW) Es una herramienta de SAP que soporta la transferencia de datos desde sistemas NoSAP a SAP. Es una herramienta fundamental en la organizacin de los proyectos de migracin de datos y entrega una gua a travs de todo el proceso. Las reglas de conversin ms comunes vienen predefinidas. Esto asegura la consistencia en la conversin de datos para diferentes objetos de datos. LSMW cubre los siguientes pasos: Lectura de datos (sistemas externos) desde uno o ms archivos Conversin de formato fuente a formato objetivo Import de datos usando interfaces estndar: Batch Input Direct Input BAPI RFC IDOC

Carga de Datos

Funciones y BAPIS
Las funciones pueden ser llamadas desde cualquier programa ABAP. Una funcin pertenece a un Grupo de funcin y estn compuestas de:
Funcin

Atributos
Parmetros Cdigo Fuente

Entrada Salida

Entrada/Salida
Tablas Excepciones

Mdulos de Funciones

Grupo de Funciones Grupo de Funciones Subrutinas Grupo deIncludes Funciones Campos


Grupo de Funciones

Estruct.

Funciones y BAPIS
En un programa ABAP el llamado es:

CALL FUNCTION <nombre_funcion> EXPORTING campos/tablas IMPORTING campos/tablas TABLES tablas /* tablas internas por referencia EXCEPTIONS excp1 excpn.

Funciones y BAPIS

SE37

Funciones y BAPIS

Funciones y BAPIS

Funciones y BAPIS

Funciones y BAPIS RFC = Remote Function Call

Pueden ser ejecutadas desde dentro o fuera de SAP. Permiten generar cdigo externo para aplicaciones que acten como cliente o servidor de la RFC. Este cdigo se genera en Visual Basic, ANSI C, java o C++.

Funciones y BAPIS

BAPI = Business Aplication Program Interface

Subconjunto de Funciones RFC. Implementan un servicio de negocio especfico. Se encuentran organizados por una jerarqua de aplicaciones de negocio. Materializan los mtodos de los Business Objects de SAP. Se pueden acceder mediante instancias de Objetos.

Funciones y BAPIS

BAPI

Objeto de Negocio

Mtodo y Funcin RFC

ndice
1 2 3
4

Introduccin Diccionario ABAP Interfases / Carga de Datos / Funciones y BAPIS


Transacciones y Ampliaciones

Screen & Menu Painter

Transacciones

Las funcionalidades en SAP estn asociadas a cdigos de transaccin, los cuales pueden ser creados y agrupados segn las necesidades de los usuarios.

SE93

Nombre de la transaccin

Transacciones

Para pantallas

Para reportes

Transacciones

Programa asociado

Objeto de autorizacin

Ampliaciones al Estndar

Customizing, es la Parametrizacin del SAP. Personalization, esta relacionado con la definicin de Roles y Perfiles en SAP. Modificatin, se refiere a Modificaciones al Estndar, cambios directos en los Programas estndar. Exits Add-Ins, Requerimientos potenciales que no ha sido desarrollados en el estandar. Customer Programs, Desarrollos hechos a medida.

Customer Exits
Transaction Variants Screen Variants Simplifica el Flujo de las Transacciones permitiendo: Ocultar funciones individuales de Menu Ocultar Pantallas

Modification Assistant

Simplifica el layout de Pantallas permitiendo: Insertar valores por defecto en campos Ocultar y cambiar atributos de control de tablas Ocultar y cambiar valores de autollenado para campos
Business Add-In Tcnica de Ampliacin Basada en Business Objects : Permite crear Aplicaciones de Objetos con funcionalidades completas de negocio que extienden las capacidades de SAP (Como un Plug-In en un Browser) Tiene una estructura de varios niveles Permite ser reutilizado en distintas aplicaciones de SAP

Customer EXITS
FUNCTION MODULE EXITS

SCREEN EXITS MENUS EXITS

Agregan Funcionalidad en determinados puntos de las aplicaciones estndares de SAP : No alteran las aplicaciones estndares de SAP Se agrupan en proyectos de ampliacin Se vinculan especficamente a una aplicacin

User Exit

Son ampliaciones (que se aplican a travs de la Trx. CMOD), son necesarios para verificaciones y/o modificaciones el contenido de un campo cuando se ejecuta una transaccin estndar.

Una de las formas de bsquedas mas fciles es a travs del paquete que pertenece la Trx. Estndar (buscar en la SE93), luego se va a la Trx. SMOD y buscas las ampliaciones asociadas a esa clase de desarrollo. Caso de que existan, visualiza el cdigo comentado antes del include ZX*, si tienes un EXPORTING o un CHANGING entonces se podra modificar o dar valores a ciertos campos. Una vez elegido una ampliacin, se deber crear un proyecto en CMOD, agregas la ampliacin, y en componentes dentro del cde la funcin EXIT_* doble clic sobre el include ZX*, si no existe, lo creas con una clase de desarrollo propia. Ejemplo : Trx MK01.

User Exit

Consejo de pasos a seguir Que el nico codigo inicial sea un BREAK-POINT. Activas el include y el proyecto. Ir a la transaccin que se desea ampliar y ejecutar, y si pasa por esta user en la accion que uno desea, entonces, se detendr en el break-point, y despus onservar el contenido de las estructuras de que dispones (TABLES, IMPORTING), procura manejarse siempre con estos datos y evitar en la medida de lo posible accesos a base de datos con SELECTs. Se INSISTE tener mucho criterio con los accesos a BD que se haga, pues hay que tener presente que cualquier exit con un analisis pobre puede tener como consecuencia que los tiempos de respuesta se pueden alterar de las transacciones funcionales y estandar de SAP.

ndice
1 2 3
4

Introduccin Diccionario ABAP Interfases / Carga de Datos / Funciones y BAPIS


Transacciones y Ampliaciones

Screen & Menu Painter

Aplicaciones con Pantallas

Las creacin de aplicaciones con pantallas se realiza en un entorno conocido como Screen Painter, en donde se pueden disear grficamente el layout de pantalla y construir la lgica de proceso de cada pantalla. Para acceder a una dynpro desde un programa se debe ingresar la sentencia CALL SCREEN <Nro. dynpro>.

SE51

Desde un programa ABAP es posible llamar a estas pantallas y realizar el procesamiento de los datos. Las pantallas poseen su propio flujo lgico y estn vinculadas a cdigos de funcin que activan el flujo lgico. Bajo ciertas reglas se pueden usar pantallas y sub pantallas para generar servicios posibles de activar en Internet, previa construccin de una IAC. Otra forma de hacer aplicaciones con pantallas habilitadas para Internet, es mediante la programacin de BSP.

Accediendo al Screen Painter

Componentes

Componentes
flujo del programa (Cdigo de la Dynpro)

Lgica de Proceso. Controla el

Lista de Elementos.
datos o en el programa.

Elementos del screen. Definidos en el Diccionario de

Atributos. Describe

al objeto de la dynpro. Incluye el programa al que pertenece y el tipo de screen. Caractersticas generales de la ventana. Contiene un conjunto de elementos. Los elementos son parte de la ventana con los que interacta el usuario. Incluye por ejemplo los checkboxes, radio buttons, cajas de texto, etc. Es el entorno grafico de la ventana.

Editor Disposicin.

Aplicaciones con Pantallas Screen Painter


Nmero de Pantalla

Tipo de Pantalla

Pantalla Siguiente

Posicin Inicial

Grupo de Pantallas

Opciones Generales

Aplicaciones con Pantallas Screen Painter


La barra de herramientas de Screen Painter pone a disposicin diferentes elementos entre los que se destacan: Campo de Texto: Elementos fijos que no se modifican en tiempo de ejecucin. Campo de Entrada o Salida: Campos para el despliegue o ingreso de datos, relacionados con los campos de pantalla. Botones: Elementos que activan el mdulo de flujo PAI en la lgica de la pantalla, tienen asociados Cdigos de Funcin que se pasan al programa ABAP, para la lgica interna. Sub-Pantallas o Frames: reas reservadas para nuevas pantallas. OK_CODE: Elemento de pantalla que almacena el Cdigo de Funcin activo de la Pantalla.

Texto Casilla de Texto Check Box Radio Button Push Button TabStrip TabStrip Wizard Marco Subscreen Table Control Custom Control Casilla de Texto Status

Aplicaciones con Pantallas Screen Painter

Ventanas de atributos/campos/elementos

Elementos de Pantalla

Aplicaciones con Pantallas Conceptos

MODUL-POOL. Los programas de dilogo en ABAP/4 son de tipo M (Modul-Pool). Estos programas slo pueden ejecutarse a travs de una transaccin.
Se utilizan para crear dynpros (pantallas de dilogo).

Con la llamada MODULE en la lgica de proceso de la dynpro, el control se pasa al programa ABAP/4 y se procesa el mdulo con el mismo nombre.
Los mdulos asignados al evento PBO (Process Before Output) se complementan con el parmetro OUTPUT; y los asignados al PAI (Process After Input) con el parmetro INPUT.

Aplicaciones con Pantallas Conceptos


PANTALLA ABAP PROGRAM ZMODULE. . . MODULE OUTPUT1 OUTPUT.
ENDMODULE. MODULE INPUT1 INPUT. Perform XXX. . . ENDMODULE. FORM XXX. . ENDFORM.

PROCESS BEFORE OUTPUT. MODULE OUTPUT1.

PROCESS AFTER INPUT. MODULE INPUT1.

Aplicaciones con Pantallas Conceptos


Los Campos de Pantalla permanecen el la memoria de pantalla, traspasan su valor a los campos definidos en el programa ABAP que tienen el mismo nombre. Es posible modificar las Pantallas en forma Dinmica cambiando los atributos de determinados campos de pantalla en los mdulos ABAP de Procesamiento Lgico. La Lgica de Flujo, pertenece a cada pantalla y junto con el programa ABAP determinan el comportamiento de las pantallas, estn formados por:

PBO Process Before Output

PAI Process After Input

F1

F4

POH Process On Help Request

POV Process On Value Request

Aplicaciones con Pantallas Conceptos

PBO (Process Before Output): Proceso que agrupa todas las sentencias que se ejecutan antes de visualizar la pantalla. Cuando se crea, SAP coloca por defecto un Module llamado Module Status_(N pantalla) que se utiliza para definir el men (por Men Painter) y el titulo.
PAI (Process After Input): Evento que agrupa los procesos que se ejecutan cuando se pulsa algn botn, Enter o tecla de funcin. Al igual que PBO, SAP crea un Module llamado Module User_Command_(N pantalla), en donde se coloca las sentencias relacionadas a cada uno de los eventos. Para identificar el cdigo de funcin existen 2 formas: sy-ucomm o a travs de una variable tipo OK (char de 20). Cuando se termina de ejecutar la PAI, el flujo regresa al PBO de la pantalla siguiente (en el caso de que exista solo una pantalla, regresa al PBO de la misma). POH (Process On Help-Request) y POV (Process On Value-Request): Son eventos que se disparan cuando el usuarios solicita ayuda (F1) o la bsqueda de opciones mediante matchcode (F4).

Aplicaciones con Pantallas Conceptos


MODULE: Indica el llamado/procesamiento de un modulo. LOOP .. ENDLOOP: Realiza un ciclo sobre una tabla. CHAIN ENDCHAIN: Procesa una cadena de campos.

Sentencias Permitidas en la lgica de pantalla de Screen Painter

Aplicaciones con Pantallas Interaccin con el Usuario


Acciones del usuario en pantalla: usando campos de entrada/salida, pushbuttons, checkboxes y radiobuttons asociados a cdigos de funcin, a travs de la posicin del mouse, o utilizando los GUI status (conjunto de funciones que provee la funcionalidad de men, barra de herramientas y mens contextuales) Verificacin de datos ingresados: puede ser llamado en el evento PAI, de manera que podamos por ejemplo, activar o desactivar la entrada de datos en determinados campos de una pantalla. Modificacin dinmica de pantallas: los atributos de los elementos de una pantalla son definidos estticamente, sin embargo es posible modificar estos atributos en tiempo de ejecucin, dependiendo de la accin del usuario.

Existen muchas maneras en las que el usuario interacta con la pantalla:

Aplicaciones con Pantallas

Aplicaciones con Pantallas

Aplicaciones con Pantallas Table Control


Es un objeto avanzado de pantalla, que permite mostrar en forma matricial (grilla) informacin. El table control permite modificar, insertar y borrar registros desde una pantalla. Para definir un table control se debe definir lo siguiente en el Programa ABAP. CONTROLS : <nombre control> TYPE TABLEVIEW USING SCREEN <n pantalla>.
PBO <Sentencias>. LOOP AT <tabla_interna> WITH CONTROL <control> CURSOR <control-TOP_LINE>. <Sentencias>. ENDLOOP. <Sentencias>. PAI LOOP AT <tabla_interna>. <Sentencias> ENDLOOP. <Sentencias>.

donde CURSOR se utiliza para identificar en que fase del loop se encuentra.

Aplicaciones con Pantallas Table Control

Aplicaciones con Pantallas Table Control

Aplicaciones con Pantallas Table Control

Aplicaciones con Pantallas Table Control

TabStrip Control

Es un objeto de ventana que consta de dos a mas paginas Cada pagina de una lengeta tiene un titulo y un rea de pagina. Si el rea ocupada por el control TabStrip es demasiado estrecha no se exhibirn todos los ttulos de la lengeta, entonces aparecer un scrollbar. Los controles del tabstrip permiten que usted coloque una serie de pantallas que pertenecen a un uso en una sola pantalla, y que navegue entre ellas fcilmente.

Caractersticas del TabStrip Control.


El rea del TabStrip tiene un nombre nico y una posicin, una longitud y una altura. El rea del TabStrip se puede volver a clasificar segn el tamao vertical y horizontal cuando el usuario vuelva a clasificar segn el tamao de la ventana. Cuando el usuario elige una pagina de la lengeta, se acciona el acontecimiento de PAI, y se debe incluir un modulo en su lgica de flujo que active la pagina.

TabStrip Control

Flujo Lgico

PBO

Input

Display

Action

PAI

Inicializar Variables Insertar valores por defecto Posicionamiento del Cursor Mostrar y Ocultar campos Modificar Dinmicamente los atributos de un campo Definicin de Ttulos Definicin de la Barra de Men y Botones Carga de Datos

Valida Informacin Procesar Informacin Seleccionada Llamadas a nuevas dynpros Manejar Errores

Menu Painter

Menu Painter

Es una herramienta del Workbench que nos permite crear una interfase grafica para el usuario (GUI). Permite la visualizacin de los cdigos de funcin; esto significa hacer programas de fcil uso. La Transaccin para acceder es la SE41. Para acceder a un status desde un programa se debe ingresar la sentencia SET PF-STATUS <Nombre>.

Tipos de Status
Status de dialogo. Es una imagen de pantalla para el dialogo entre el usuario y el programa. Las dynpros de dialogo tienen campo de entrada y salida. Ventana de dialogo. Este tipo de status para una ventana de dialogo sin barra de mens. Para la definicin de teclas de funcin, el sistema propone los cdigos de funcin estndar para las ventanas de dialogo Men Contextual. Contiene solo teclas de funcin.

Menu Painter

Lista de Titulos

Son los titulos que se ponen en una dynpro Para acceder a un Titulo desde un programa se debe ingresar la sentencia SET TITLEBAR <Titulo>.

Titulo