Apuntes de SAP Marlon Falcón Hernández www.marlonfalcon.cl
DERECHOS DEL AUTOR Aprende SAP Copyright © 2015 by Marlon Falcón Hernández
Todos los derechos reservados. Ninguna parte de este trabajo puede reproducirse o puede transmitirse en cualquier formulario o por cualquier medio, electrónico o mecánico, incluyendo fotocopiado, grabado o por cualquier almacenamiento de información, sin el permiso escrito anterior del dueño de los derechos de propiedad literaria y el publicador.
ISBN- PENDIENTE A PUBLICACION
Para más información por favor contacte con el autor de la obra: Marlon Falcón Hernández mediante los siguientes correos:
[email protected] [email protected]
PRÓLOGO En nuestros días el desarrollo de nuevas herramientas informáticas aplicadas a la gestión empresarial ha mejorado notablemente, el trabajo de los economistas, ingenieros industriales, vendedores, compradores y gerentes. Muchos infieren que los ERP son una de las principales ramas que empuja al desarrollo de la informática y entre ellos es SAP unos de los líderes a nivel mundial. Este libro trata sobre SAP, no pretende ser un manual completo de la aplicación, pero sí te introducirá independientemente de tu nivel, de una manera fácil a esta herramienta. Esta obra será de interés para todos los que necesitan capacitarse en SAP y en sus principales módulos.
Msc. Ing Marlon Falcón Hernández.
CÓMO NACIÓ ESTE LIBRO Soy ingeniero en construcción civil, graduado de la Universidad de Camagüey, Cuba. Siempre me ha gustado tener estabilidad económica, por eso siempre me he dedicado a estudiar programación, diseño 3d, front-end y back-end. La vida me trajo a Chile donde trabaje 3 años como Ingeniero en marketing y desarrollo y fue gracias a mi trabajo que tuve tiempo de escribir este libro. Me puse la meta de hacerlo en 4 meses porque quería usar "Diciembre" para cambiar de empleo. Lo primero que hice fue una maqueta del libro y la puse junto a la computadora para mirarla mientras escribía. Un día viendo diferentes oportunidades de empleo descubrí que los conocimientos de SAP eran importantes para obtener buenos salarios en Chile y me dedique a estudiar este ERP. Al principio tuve que estudiar contabilidad porque entendí que para entrarle al corazón de SAP era importante dominar nociones básicas de contabilidad ya que siempre terminaba tocando el módulo FI. Después me encontré con ABAP y me encantó que SAP estuviera sobre una base de programación que podías mejorar mediante programaciones de módulos. La verdad es que no hubiera escrito este libro si no quisiera impresionar a mi futuro empleador, ya que estaba decidido a ser consultor. Este libro es para ti, si también quieres aprender SAP y quieres ser un consultor al igual que yo.
Marlon Falcón Hernández
DEDICACIÓN Dedicado a mi tía Violeta, cada día que pasa pienso en ti y como me tomaste de niño y me cuidaste, todavía recuerdo cuando me bañabas y me contabas lindas historias. Un día también te cuidaré y haré que te mimen igual. Gracias por ser fuerte todo este tiempo.
INDICE
CAPITULO 1 Introducción a SAP ECC....................................................1 1.1 Qué es un ERP.................................................................................1 1.2 Versiones de SAP ECC ...................................................................1 CAPITULO 2 Nociones básica de economía y administración de empresa. .....................................................................................................1 2.1 El libro diario o libro de cuentas......................................................1 2.2 Los activos y pasivos. ......................................................................1 2.3 El libro Mayor .................................................................................2 2.4 Cuenta contable ...............................................................................2 2.5 Estructura Organizacional de una empresa en SAP ERP ................3 2.6 Estructura de Compra en SAP ERP .................................................5 2.7 Estructura de Venta en SAP ERP ....................................................5 CAPITULO 3 Instalación de SAP IDES ...................................................7 3.1 Como instalar SAP GUI ..................................................................7 CAPITULO 4 Introducción a la arquitectura de SAP ERP......................13 4.1 Módulos en SAP ............................................................................13 4.2 Barra de Menú ...............................................................................15 CAPITULO 5 Módulo FI.........................................................................16 5.1 Introducción al módulo FI .............................................................16 5.2 Transacciones del módulo FI de Datos Maestros .........................16 5.3 Transacciones del módulo FI de Operaciones en el libro mayor .18 5.4 Transacciones del módulo FI de Deudores y acreedores ..............19 5.5 Transacciones del módulo FI de Activos fijos..............................19 CAPITULO 6 Módulo CO......................................................................21 6.1 Introducción al módulo..................................................................21 CAPITULO 7 Módulo SD - Venta y distribución. ..................................22 7.1 Introducción al módulo SD............................................................22 7.2 Tabla de Transacciones más utilizadas en SD ...............................22 7.3 Circuito de venta en SAP...............................................................23 7.4 Creando un pedido de Venta VA01 ..............................................24 7.5 Mostrar los pedidos por clientes VA05 .........................................24
7.6 Parametrización Básica en SD......................................................25 7.7 Asignaciones de Parametrización más utilizadas en SD................29 7.10 Transacciones más utilizadas en SD ............................................29 CAPITULO8 Módulo MM ......................................................................35 8.1 Introducción al módulo..................................................................35 8.2 Listar el total de materiales MM60................................................35 8.3 Listar todas las compras por proveedores ME2L ..........................35 8.10 Principales transacciones en MM. Maestro de materiales ...........36 8.11 Principales transacciones en MM. Datos maestros de compras...37 8.12 Principales transacciones en MM. Compras................................39 8.13 Principales transacciones en MM. Movimiento de mercancía.....40 8.14 Principales transacciones en MM. Facturas de compras.............42 8.15 Principales transacciones en MM. Inventarios. ..........................43 CAPITULO 9 Módulo PM ......................................................................44 9.1 Introducción al módulo PM "Planificación del Mantenimiento"..44 9.1 Mostrar la estructura de mantenimiento (IH01).............................44 9.10 Transacciones más utilizadas en PM. Datos maestros .................45 CAPITULO 10 Módulo WF ....................................................................48 10.1 Introducción al módulo................................................................48 CAPITULO 11 Módulo Recursos Humanos ...........................................49 11.1 Introducción al módulo................................................................49 CAPITULO 12 PARAMETRIZACION EN SAP ERP ...........................50 12.1 Tipos de consultores en SAP .......................................................50 12.2 Cambiar el texto de inicio en SAP...............................................50 12.3 Cambiar la imagen de fondo de SAP...........................................52 12.4 Transacción SPRO es la que se encarga de configurar todo el sistema SAP.........................................................................................57 12.5 Transacción SPRO. Crear una condición de pago a 180 días. .....58 12.6 Transacción SPRO. SD. Adaptar los campos que se muestran en los datos maestros del cliente. .............................................................58 CAPITULO 13 BASIS ............................................................................59 13.1 Introducción a la metodología de implementación en SAP .........59 13.2 Bloquear y desbloquear usuarios en SAP. SU01 .........................59 13.3 Crear permisos para los usuarios (Roles) "PFCG" ......................60
13.4 Mostrar usuarios conectados a mandantes y nombre de máquina "AL08" ................................................................................................62 13.5 Mostrar usuarios conectados "SM04".........................................62 13.6 Modificar datos del usuario utilizamos "SM01".........................63 13.10 Transacciones más utilizadas en BASIS....................................63 CAPITULO 14 ABAP .............................................................................66 14.1 Introducción a ABAP 4 ...............................................................66 14.2 Tipos de programas en ABAP .....................................................67 14.3 Tipos de objetos que podemos crear en ABAP ...........................67 14.2 Tipos de palabras claves ..............................................................68 14.3 Sintaxis del lenguaje ABAP ........................................................68 14.3 Comentarios................................................................................68 14.3 Evento de un programa ABAP ....................................................68 14.5 Debuger en ABAP ......................................................................70 14.4 Tipos de Datos elementares en ABAP.........................................71 14.5 Estructuras en ABAP...................................................................71 14.5 Include de datos ...........................................................................72 14.5 Variables del sistema ...................................................................72 14.5 Asignación de Valores.................................................................77 14.5 Constantes en ABAP ...................................................................78 14.5 Operaciones con caracteres..........................................................78 14.5 Bucles ..........................................................................................79 14.5 Sentencias de control ...................................................................80 14.5 Formato de salida de los datos.....................................................81 14.5 Formatos de Páginas ....................................................................81 14.5 Parámetros de selección...............................................................82 14.5 Clases de mensajes ......................................................................83 14.5 Tablas Internas en ABAP ...........................................................85 14.5 "Hola Mundo 1" en ABAP ..........................................................88 14.6 "Hola Mundo 2" en ABAP Trabajo con variables ......................88 14.7 "Hola Mundo 3" en ABAP Trabajo con textos...........................89 14.8 Cómo compilar un programa en ABAP.......................................89 14.9 Creando registros de Datos en ABAP..........................................89 14.10 Ejemplo Calculadora .................................................................90 14.11 Operadores lógicos en ABAP. ...................................................90 14.11 Control de flujo IF ELSE...........................................................90
14.12 Control de flujo CASE ..............................................................91 14.13 Procesos repetitivos con DO......................................................91 14.14 Procesos repetitivos con WHILE...............................................92 14.15 Subrutinas internas ...................................................................92 14.16 Subrutinas Externas ..................................................................95 14.17 Tablas internas ..........................................................................95 14.18 Recorridos de tablas internas con cabecera ..............................96 14.19 Recorridos de tablas internas usando áreas de trabajos ............97 14.20 Tablas internas con uso de tablas de SAP.................................97 14.21 Recorridos de tablas internas sin cabecera con usos de FIELDSYMBOLS ..........................................................................................98 14.22 Pantallas de selección en ABAP ................................................98 14.23 Listas interactivas ABAP con eventos.......................................99 14.24 ABAP Programación Orientada a Objetos POO. ....................101 14.25 Como crear un corte de control en ABAP ..............................102 14.25 Crear una Transacción que te ejecute un programa z. ............104 14.26 Diccionario ABAP "SE11".....................................................105 14.27 Transacciones más utilizadas en ABAP .................................108 CONCEPTOS ........................................................................................117 PRINCIPALES TABLAS DE SAP .......................................................128 SITIOS DE INTERES ...........................................................................130 MÓDULOS DE SAP .............................................................................131
CAPITULO 1 Introducción a SAP ECC SAP ECC es un ERP "Enterprise Resource Planning". Es un software Que permite gestionar distintos aspectos de una empresa como: Ventas, Compras, Finanzas, Recursos Humanos, Producción , Mantenimientos de manera eficiente. Fue lanzado por primera vez en el año 1973 y no fue hasta el 2000 que empieza a penetrar con fuerza en Latinoamérica. 1.1 Qué es un ERP Los sistemas de planificación de recursos, son sistemas gerenciales que integran diferentes módulos empresariales que interactúan entre sí para tener toda la información empresarial compactada en un lugar. Normalmente un ERP gestiona por lo menos: Contabilidad, Logística, Recursos Humanos. Las siglas SAP ECC vienen del Ingles "Systems, Applications, Products in Data" y es un ERP desarrollado por la empresa alemana SAP en los lenguajes C, C++, ABAP 4. Este software que corre sobre window y utiliza base de datos en SQL o ORACLE es líder a nivel mundial en la gestión de empresas. Hoy en día existen diferentes ERP para diferentes estructuras de empresas como:
Microsoft Dynamics Ax SAP ERP Sap Business One Infor ERP XA NET SUITE EXACT SOFTWARE SYSPRO Accpac Epicor Open ERP Excel ERP QAD
1.2 Versiones de SAP ECC SAP R/1 lanzada en el año 1973, contaba con una arquitectura multinivel que era instalada en el mismo servidor. SAP R/2 lanzada en el año 1979, contaba con una arquitectura multinivel pero ahora, la capa negocios y datos estaba separada en otro servidor.
-1-
SAP R/3 lanzada en el año 1996, permitía la posibilidad de trabajar por internet y tenía soluciones especificas por sectores. Se lanzaron diferentes versiones de R/3 y fue muy conocido por su estabilidad. Este libro será desarrollado con la versión SAP ECC 6.0.
-2-
CAPITULO 2 Nociones básica de economía y administración de empresa. Para entender SAP ERP, si no eres económico o contador sería importante que leyeras estos conceptos que expondré a continuación, ya que te dan una base para entender el módulo FI que es el corazón del programa. 2.1 El libro diario o libro de cuentas. Es un libro donde se anota día a día los hechos económicos de una empresa. Estas anotaciones se conocen como asiento contable. Los asientos son anotaciones que se registran en partidas dobles . El libro diario tiene dos columnas, en una se anota el debe y en la otra el haber. Cada columna posee activos y pasivos que son anotados según la siguiente norma. LIBRO DIARIO Debe Haber Activos que aumentan Activos que disminuyen Pasivos que disminuyen Pasivos que aumentan Perdidas de Patrimonios Ganancias de patrimonios 2.2 Los activos y pasivos. Los activos comprenden los bienes y derechos financieros de la empresa, los pasivos recogen las obligaciones, es decir, todo lo que la empresa debe a terceros como: impuestos, salarios de trabajadores, pago a proveedores y pagos al banco. Por tanto el capital de una empresa se puede calcular de la siguiente forma:
CAPITAL = ACTIVOS - PASIVOS
Activos Caja Banco Insumos Productos en proceso Mercadería
Pasivos Obligaciones con Banco Obligaciones con el Público Cuentas por pagar Remuneraciones por pagar Impuesto único a la renta
-1-
2.3 El libro Mayor Es resumen del libro diario donde se registran las cuentas de forma clasificada. Este libro es de uso obligatorio y se considera el más importante en la contabilidad de una empresa. Cuando se anota en el Debe se llama cargar y cuando lo hacemos en el Haber se llama Abonar.
LIBRO MAYOR (Nombre de la cuenta) Debe Haber Cargar Abonar
2.4 Cuenta contable Es la mínima unidad contable capaz de registrar un hecho económico en la empresa y es la representación valorada en una unidad monetaria de cada uno de los elementos que componen el capital de la empresa.
-2-
2.5 Estructura Organizacional de una empresa en SAP ERP La estructura de la empresa que soporta SAP es la siguiente y debe entenderse para no tener complicaciones a la hora de parametrizar. El mandante es el servidor a donde nos conectamos y se identifica por tres dígitos. La empresa se identifica con 4 dígitos "1000" y cada empresa tiene diferentes centros. Cada centro tiene diferentes almacenes. Mandante 800
Deposito
Empresa
Empresa
1000
1001
Centro
Centro
Centro
2000
2001
2003
Deposito
Mandante (Client): Es un elemento organizativo de nivel superior y representa a la empresa, organización o al grupo central. Cuando tenemos diferentes mandantes los datos no se comparten entre mandantes. Dentro de una maquina podemos tener varios mandantes (ejemplo desarrollo, prueba y productivo). Sociedad CO (Controling Area) Conjunto de empresarial (de una o más sociedades) que comparten un modelo de gestión, especialmente en cuanto a gestión financiera y de coste. Sociedad(Company Code): La sociedad es una unidad contable jurídicamente independiente y constituyente el elemento organizativo central de la gestión financiera. Además la sociedad representa la vista fiscal de la empresa, el calendario fiscal, la moneda local y los requisitos de declaración de impuestos. Centro(Plant): Un centro puede fabricar productos, distribuirlos o proporcionar un servicio. El centro es una unidad organizativa central de producción.
-3-
Almacén (Storage Location): El stock de material en gestión de stocks se puede tratar de diferentes formas para cada almacena. Organización de Ventas (Sales organization): La organización de ventas es el elemento organizativo central en la gestion de pedidos Canal de distribución (Distribution Chanel): Los canales de distribución se pueden utilizar para definir como llegan los distintos productos a los consumidores de la venta al cliente. Unidad organizativa (Organizational Unit): Las unidades organizativas describen las diversas unidades empresariales dentro de una empresa. A menudo las unidades se definen de forma flexible como departamentos funcionales o regiones. Posición (Position): Las posiciones con asignacionales de empleados individuales en la empresa.
-4-
2.6 Estructura de Compra en SAP ERP La estructura de la organización de compra de SAP se dispone de forma jerárquica, empezando por un jefe de compra y los grupos de compras.
Organizacion de Compra 1000
Grupo de Compra
Grupo de Compra
001
0002
2.7 Estructura de Venta en SAP ERP La estructura de la organización de venta de SAP se organiza de forma jerárquica empezando por un jefe de venta, canal de distribución, sector de actividad y línea de venta.
Organización de Venta 2000
Canal de distribución
Canal de distribución 01
02
Sector de actividad Construcción 01
Un área de venta se define como la combinación de una organización de ventas, canal de distribución y un sector. Mediante el área de venta se
-5-
puede definir los materiales de un sector de ventas que podrán venderse por una canal de distribución. Dentro de un área de venta pueden realizarse evaluaciones al analizar el volumen originado en la misma. También se pueden definir los datos relevantes por cada área de venta. Se puede asignar un precio diferente por cada área de venta. En cada organización de venta se determinan los centros permitidos para la venta, de manera que una organización de ventas puede vender mercancía de más de un centro. De la misma manera un centro puede estar asignado a varias organizaciones de ventas. Una organización de ventas también puede vender mercancías de otras sociedades (Venta multiempresas). Canal de distribución: Es el circuito a través del cual los fabricantes ponen a disposición de los consumidores los productos para que lo compren. El inicio del canal es el productor y el final es el consumidor, todos los que se encuentran dentro de este proceso se denominan genéricamente intermediarios, los intermediarios se clasifican en mayoristas o minoristas. Sector de actividad: Se utiliza para agrupar materiales o servicios, Ejemplo sector actividad construcción y sector de actividad papelería. Tipos de materiales:
Materias primas Productos semiterminados Productos terminados otros
-6-
CAPITULO 3 Instalación de SAP IDES SAP es un software propietario, por lo cual necesitaras pagar la licencia para poder trabajarlo, pero para efectos de educación crearon SAP IDES, que es un servidor para práctica que viene toda una empresa creada. 3.1 Como instalar SAP GUI Para conectarse a SAP IDES debes primero instalar SAP GUI, que es el cliente SAP ERP. Este software se ejecuta en Unix, Windows, Apple Apple Macintosh, en otras palabras es la herramienta utilizada para acceder remotamente al servidor central de SAP de una red de una empresa. Lo puedes descargar del sitio de SAP, una vez que lo descargues tienes que entrar a la carpeta a la siguiente ruta: Sap_GUI_730 \ Sap_GUI_730 \ NW_7.0_Presentation_ \ PRES1 \ GUI\WINDOWS \ WIN32 y ejecutamos el fichero SapGuiSetup.exe
-7-
Una vez instalados necesitamos entrar a un servidor SAP IDES para practicar existen varios sitios que puedes encontrar al final de este libro, en nuestro caso utilizaremos www.erptraininguk.com que es un servicio muy rápido y para empezar es bastante económico. Entraremos a ese sitio y solicitaremos los datos de accesos que serían algo como esto: Description Application Server System No. System ID SAP Router String Client User Password Language
SAP ECC 6.07 IDES Server erpukpltm.dyndns.org 32 BWR Leave it Blank "Dejar en blanco" 800 EHP7USER289 12345678 EN 03 Aug, 2015 - 03 Sep, 2015
Validity Period
Con estos datos abrimos SAP GUI y le entramos los valores:
-8-
-9-
Una vez configurado, pulsamos sobre el servidor seleccionado:
Y tendrá acceso para logearse al servidor con SAP IDES ECC 6.0
-10-
Una vez que entramos los datos correcto ya estamos listos para trabajar con SAP IDES y aparecerá una ventana como la siguiente.
-11-
En el árbol de la derecha verá todo los módulos de SAP:
-12-
CAPITULO 4 Introducción a la arquitectura de SAP ERP 4.1 Módulos en SAP SAP está compuesto por varios módulos, estos fueron programados en ABAP 4 y este lenguaje de eventos se encuentra bajo la plataforma permitiendo modificar los módulos y crear nuevos.
FI Módulo de Finanzas: Es el módulo más importante de SAP ERP, está diseñado para atender todos los procesos contables y financieros de la organización. Este módulo se actualiza directamente de otros módulos como SD,MM,PM,PP y PS. CO Módulo de Controlling: Proporciona información de la empresa para la toma de decisiones, con el propósito de controlar, informar y planificar. AM Activos fijos PS Sistemas de proyectos: Este módulo permite planificar en el tiempo los proyectos de la empresa. SD Módulo de venta MM Gestión de materiales PP Planificación de la producción.
-13-
QM Control de la calidad. PM Planificación de la mantención. HR Módulo de recursos humanos IS Soluciones Industriales se vende por separado, es utilizados para hacer facturas masivas. WF Módulo Workflow: Este módulo enlaza los módulos de aplicación de SAP ERP con tecnologías, herramientas y servicios. Es una herramienta de soporte para todos los módulos. WORKFLOW automatiza los procesos del negocio de acuerdo a procedimientos predefinidos y reglas. Ejemplo, ocurre un evento que dispara un proceso, entonces el manejador de WF libera un ítem que puede ser un documento o información particular (datos). Usando las reglas de procesamiento el administrador de WF libera el ítem hacia la función específica (localización, persona, unidad, etc)
-14-
4.2 Barra de Menú SAP está compuesto por varios módulos, estos fueron programados en ABAP 4 y este lenguaje de eventos se encuentra bajo la plataforma permitiendo modificar los módulos y crear nuevos.
Botón Continuar Botón Guardar Campo entrada Botón Atrás Botón Finalizar Cancelar Modo Nuevo Imprimir
Es utilizado para ejecutar una transacción, también se puede pulsar la tecla Intro "Enter". "Ctrl + S" El botón guardar se utiliza para almacenar los datos de la transacción que esté ejecutando. Este botón se utiliza para contabilizar facturas. Se utiliza para ejecutar transacciones directamente sin acceder al árbol. "F3" Retroceder a nivel jerárquico anterior o retroceder a la ventana anterior. "Shift + F3" Finaliza la transacción o Sale de la aplicación. "F12" Cancela la operación actual. Genera una ventana nueva. "Ctrl + P" Permite imprimir la ventana actual
-15-
CAPITULO 5 Módulo FI 5.1 Introducción al módulo FI Listados de transacciones más usadas en el módulo FI 5.2 Transacciones del módulo FI de Datos Maestros FS00 Finanzas / Gestión financiera / Libro mayor / Datos maestros / Cuenta mayor / Tratamiento individual Crear cuentas de mayor KE51 Finanzas / Gestión financiera / Libro mayor / Datos maestros / Centro de beneficio / Tratamiento individual Crear centro de beneficio
KE56 Finanzas / Gestión financiera / Libro mayor / Datos maestros / Centro de beneficio / Tratamiento colectivo Tratamiento de CeBe colectivo KCH5N Finanzas / Gestión financiera / Libro mayor / Datos maestros / Centro de beneficio / Jerarquía estándar Tratamiento jerárquico de CeBes KCH1 Finanzas / Gestión financiera / Libro mayor / Datos maestros / Centro de beneficio / Grupo de CeBes Crear agrupación de CeBes KCH2 Finanzas / Gestión financiera / Libro mayor / Datos maestros / Centro de beneficio / Grupo de CeBes Modificar agrupación de CeBes KCH3 Finanzas / Gestión financiera / Libro mayor / Datos maestros / Centro de beneficio / Grupo de CeBes Visualizar agrupación de CeBes
-16-
FI01 Finanzas / Gestión financiera / Bancos / Datos maestros / Maestro de banco Crear banco FI02 Finanzas / Gestión financiera / Bancos / Datos maestros / Maestro de banco FI03 Modificar banco Finanzas / Gestión financiera / Bancos / Datos maestros / Maestro de banco Visualizar banco
AS01 Finanzas / Gestión financiera / Activos fijos / Activo fijo / Crear activo fijo AS02 Finanzas / Gestión financiera / Activos fijos / Activo fijo / Modificar Modificar activo fijo AS03 Finanzas / Gestión financiera / Activos fijos / Activo fijo / Visualizar Visualizar activo fijo FAGLB03 Finanzas / Gestión financiera / Libro mayor / Cuenta Listado de saldos FAGLL03 Finanzas / Gestión financiera / Libro mayor / Cuenta Lista de partidas individuales de cuenta mayor
-17-
5.3 Transacciones del módulo FI de Operaciones en el libro mayor F-02 Finanzas / Gestión financiera / Libro mayor / Contabilización Entrar apunte F-06 Finanzas / Gestión financiera / Libro mayor / Contabilización Compensación de PA (entrada de pagos) F-07 Finanzas / Gestión financiera / Libro mayor / Contabilización Compensación de PA (salida de pagos) FB02 Finanzas / Gestión financiera / Libro mayor / Documentos Modificar apunte FB03 Finanzas / Gestión financiera / Libro mayor / Documentos Visualizar apunte FBRA Finanzas / Gestión financiera / Libro mayor / Documentos Anular compensación FBL5N Finanzas / Gestión financiera / Deudores / Cuenta Lista de partidas individuales de deudores FBL1N Finanzas / Gestión financiera / Acreedores / Cuenta Lista de partidas individuales de acreedores
-18-
5.4 Transacciones del módulo FI de Deudores y acreedores B70 Finanzas / Gestión financiera / Deudores / Contabilización Entrada de factura de deudor FB60 Finanzas / Gestión financiera / Acreedores / Contabilización Entrada de factura de acreedor F110 Finanzas / Gestión financiera / Deudores / Operaciones periódicas Programa de pagos (normas 19 y 58 ES) 5.5 Transacciones del módulo FI de Activos fijos F-90 Finanzas / Gestión financiera / Activos fijos / Contabilización / Alta / Compra Alta de AF contra acreedor F-92 Finanzas / Gestión financiera / Activos fijos / Contabilización / Baja / Baja con ingresos Baja de AF con deudor AFAB Finanzas / Gestión financiera / Activos fijos / Operaciones periódicas / Ejecución amortización Ejecución de la amortización AJRW Finanzas / Gestión financiera / Activos fijos / Operaciones periódicas Cambio de ejercicio para AF
-19-
AJAB Finanzas / Gestión financiera / Activos fijos / Operaciones periódicas / Cierre de ejercicio Ejecutar cierre de ejercicio para AF
-20-
CAPITULO 6 Módulo CO 6.1 Introducción al módulo Listados de transacciones más usadas en el
-21-
APRENDE SAP ECC CAPITULO 7 Módulo SD - Venta y distribución. 7.1 Introducción al módulo SD El módulo SD debe su nombre a las palabras del Ingles "Sales and Distribution" que quiere decir ventas y distribución. Con este módulo se SAP se planifica las actividades que tienen que ver con el ciclo de venta de la empresa. En este módulo se gestiona los pedidos de los clientes la gestión de los traslados, la entrega de la mercancía y la facturación. Para acceder al modulo SD iremos a Logística / Comercial.
7.2 Tabla de Transacciones más utilizadas en SD Mostraremos las transacciones más utilizadas en SD Transacciones de manejos de pedidos VA11, VA12, VA13 Transacciones de manejos de Ordenes de Ventas VA01, VA02, VA03
Transacciones de manejos de cotizaciones VA21, VA22, VA23 Transacciones de manejos de Facturas VF01, VF02, VF03
-22-
APRENDE SAP ECC 7.3 Circuito de venta en SAP. Creación de un pedido de venta (VA01) Salida de Mercancía (VL01N) (VL02N)(LT03) Facturación al cliente (VF01) Pago de cliente (F-28) Proceso de Venta
-23-
APRENDE SAP ECC 7.4 Creando un pedido de Venta VA01 Para crear un pedido de venta entramos a la transacción "VA01" , necesitamos los datos de una organización de venta en SAP que son la organización de ventas "1000", el canal de distribución "10" y el sector "00". Dentro de la organización de ventas cada sociedad define unas necesidades de venta específicas. Dependiendo de la organización de ventas, habrá uno o más canales a través de los cuales se servirá el producto o servicio al cliente. Finalmente, cada organización de ventas tendrá uno o más sectores, asociados a su vez también a uno o más canales, cuyo fin será servir de agrupación de productos de la empresa. Para una definición más detallada podéis consultar la ayuda de SAP correspondiente a áreas de ventas. En la clase de pedido colocamos TA que significa estándar. Cuando un cliente nos hace un pedido de mercancía, ejemplo 100 computadoras, tenemos que entrar en la transacción VA01 para hacer el pedido.
7.5 Mostrar los pedidos por clientes VA05 La transacción VA05 nos permite ver todos los pedidos de un cliente.
-24-
APRENDE SAP ECC
7.6 Parametrización Básica en SD
-25-
APRENDE SAP ECC
EC01 - Crear una sociedad FI Estructura de la empresa / Actualización de la estructura / Definición / Gestión Financiera / Definir, copiar, Verificar sociedad. Sociedad JH01
Nombre BAT-EN
Población SPAIN
País ES
Moneda ESP
Idioma S
OVX5 - Crear una organización de venta Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Actualizar Org. de Venta ORG Venta JH01 1001 1002
Denominación BAT-EN ORG Venta Norte ORG Venta Este
-26-
Moneda SPAIN ESP ESP
Calendario ES 01 01
APRENDE SAP ECC OVXI - Crear canales de distribución Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Actualizar Canal de distribución Canal de distribución 10 11 12 13 14
Denominación Venta Directa Minoristas Internet Venta por catálogo Comerciales
OVXB - Crear Sector Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Actualizar Sector Sector 10
Denominación Baterías
OVXD - Crear puesto de expedición Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Actualizar Puesto de expedición Pto. Exp
Denom
Pais
P.E. NORTE 1 P.E. NORTE 1 P.E. ESTE 1 P.E. NORTE 2
ES ES ES ES
E000019000 E000011000 E000018000 E000019000
Zona de Exp 01 01 01 01
Calendario 2002 2003 3001 3002
EC02 - Crear Centro Estructura de la empresa / Actualización de la estructura / Definición / Logística General / Definir, copiar, verificar centro.
Centro Nombre Idioma CP
1001 Centro Norte S 121212
-27-
1002 Centro Este S 121212
APRENDE SAP ECC
POBLACIÓN PAÍS CALENDARIO
CASABLANCA ES 01
BARCELONA 08 01
OX09 - Crear Almacenes Estructura de la empresa / Actualización de la estructura / Definición / Gestión de Materiales / Actualizar Almacén. CENTRO 1001 1002 1002
ALMACEN 1001 1002 1003
DENOM ALMACEN NORTE ALMACEN ESTE ALMACEN SUR
OVX1 - Crear oficina de ventas Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Actualizar Oficina de Ventas OFICINA DE VENTAS 1001 1002
DENOMINACIÓN OF. VENTAS NORTE OF. VENTAS ESTE
OVX4 - Crear oficina de ventas Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Actualizar Grupo de Vendedores GRUPO DE VENDEDORES JH1 JH2
DENOMINACIÓN GR. VENDEDORES NORTE GR. VENDEDORES ESTE
OVXG - Crear Área de Ventas Estructura de la empresa / Actualización de la estructura / Definición / Comercial / Crear Área de Ventas.
-28-
APRENDE SAP ECC 7.7 Asignaciones de Parametrización más utilizadas en SD OVX3 - Asignar Org. Ventas a sociedad Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar org. ventas a Sociedad. OVXK - Asignar Canal de Distribución a Org. Ventas Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar Canal de Distribución a Org. Ventas. OVXA - Asignar Sector a Org. Ventas Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar Sector a Org. Ventas OVXM - Asignar Oficina de Ventas a Área de Ventas Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar Oficina de Ventas a Área de Ventas. OVXJ - Asignar Oficina de Ventas a Área de Ventas Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar Grupo de Vendedores a Oficina de Ventas. OVX6 - Asignar Org. Ventas, Canal de Distribución a Centro Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar Org. Ventas, Canal de Distribución a Centro. OVXC - Asignar Puesto de expedición a Centro Estructura de la empresa / Actualización de la estructura / Asignación / Comercial / Asignar puesto de expedición a centro. 7.10 Transacciones más utilizadas en SD XD01 Logística / Comercial / Datos maestros / Interlocutor comercial / Cliente / Crear Crear cliente
-29-
APRENDE SAP ECC XD02 Logística / Comercial / Datos maestros / Interlocutor comercial / Cliente / Modificar Modificar cliente XD03 Logística / Comercial / Datos maestros / Interlocutor comercial / Cliente / Visualizar Visualizar cliente XD07 Logística / Comercial / Datos maestros / Interlocutor comercial / Cliente Modificar grupo de cuentas VK11 Logística / Comercial / Datos maestros / Condiciones / Selección mediante clase de condición Crear condición de venta VK12 Crear condición de venta Logística / Comercial / Datos maestros / Condiciones / Selección mediante clase de condición Modificar condición de venta
VK13 Logística / Comercial / Datos maestros / Condiciones / Selección mediante clase de condición Visualizar condición de venta VV11 Logística / Comercial / Datos maestros / Mensajes / Documentos de venta Crear mensaje impresión de docs. Venta VV21 Logística / Comercial / Datos maestros / Mensajes / Expedición
-30-
APRENDE SAP ECC Crear mensaje impresión de entregas VV71 Logística / Comercial / Datos maestros / Mensajes / Transporte Crear mensaje impresión de docs. Transporte VV31 Logística / Comercial / Datos maestros / Mensajes / Factura Crear mensaje impresión de facturas XD99 Logística / Comercial / Datos maestros / Interlocutor comercial Actualización en masa de clientes VC/2 Logística / Comercial / Datos maestros / Sistema de información / Interlocutor comercial Listado de clientes V/LD Logística / Comercial / Datos maestros / Condiciones / Lista Listado de condiciones de precio VA21 Logística / Comercial / Ventas / Oferta Crear ofertas VA22 Logística / Comercial / Ventas / Oferta Modificar ofertas VA23 Logística / Comercial / Ventas / Oferta Visualizar ofertas VA01 Logística / Comercial / Ventas / Pedido
-31-
APRENDE SAP ECC Crear pedido de cliente VA02 Logística / Comercial / Ventas / Pedido Modificar pedido de cliente VA03 Logística / Comercial / Ventas / Pedido Visualizar pedido de cliente VA41 Logística / Comercial / Ventas / Pedido abierto Crea contrato VA42 Logística / Comercial / Ventas / Pedido abierto Modificar contrato VA43 Logística / Comercial / Ventas / Pedido abierto Visualizar contrato VL01N Logística / Comercial / Expedición y transporte / Entrega de salida / Crear / Doc. Individual Crear entrega con referencia a pedido VL02N Logística / Comercial / Expedición y transporte / Entrega de salida / Modificar Modificar entrega VL03N Logística / Comercial / Expedición y transporte / Entrega de salida Visualizar entrega VT01N
-32-
APRENDE SAP ECC Logística / Comercial / Expedición y transporte / Transporte / Crear Crear hoja de ruta para el transportista VT02N Logística / Comercial / Expedición y transporte / Transporte / Modificar Modificar hoja de ruta para el transportista VT03N Logística / Comercial / Expedición y transporte / Transporte Visualizar hoja de ruta para el transportista VL02N Logística / Comercial / Expedición y transporte / Contabilizar salida de mercancías Contabilizar salida de mercancías VL09 Logística / Comercial / Expedición y transporte / Contabilizar salida de mercancías Anulación de salida de mercancías VF01 Logística / Comercial / Facturación / Factura Crear factura de cliente VF02 Logística / Comercial / Facturación / Factura Modificar factura de cliente VF03 Logística / Comercial / Facturación / Factura Visualizar factura de cliente VF11 Logística / Comercial / Facturación / Factura Anular factura de cliente
-33-
APRENDE SAP ECC VA25 Logística / Comercial / Ventas / Sistema de información / Ofertas Lista de ofertas VA05 Logística / Comercial / Ventas / Sistema de información / Pedidos Lista de pedidos VA45 Logística / Comercial / Ventas / Sistema de información / Pedidos abiertos Lista de contratos VL06O Logística / Comercial / Expedición y transporte / Entrega de salida / Listas y logs Monitor de entregas de salida VF05 Logística / Comercial / Facturación / Sistemas de información / Documentos de facturación Lista de facturas
-34-
APRENDE SAP ECC CAPITULO8 Módulo MM 8.1 Introducción al módulo El objetivo del módulo MM (Gestión de Materiales) es cubrir las transacciones y funciones necesarias en el área de:
Planificación de requerimientos de materiales. Aprovisionamiento. Gestión de inventario. Verificación de facturas. Valoración de materiales.
8.2 Listar el total de materiales MM60 Logística / Gestión de materiales / Maestro de materiales / Otros Índice de materiales
8.3 Listar todas las compras por proveedores ME2L En esta transacción podemos configurar varias variables como grupo de compra, centro
-35-
APRENDE SAP ECC
8.10 Principales transacciones en MM. Maestro de materiales MM01 Logística / Gestión de materiales / Maestro de materiales / Material / Crear en general Crear material
MM02 Logística / Gestión de materiales / Maestro de materiales / Material / Modificar Modificar material MM03 Logística / Gestión de materiales / Maestro de materiales / Material / Visualizar Visualizar material MM06 Logística / Gestión de materiales / Maestro de materiales / Material / Marcar para borrado Marcar material para borrado
-36-
APRENDE SAP ECC
MMAM Logística / Gestión de materiales / Maestro de materiales / Material Modificar tipo de material MM17 Logística / Gestión de materiales / Maestro de materiales / Material Actualizar materiales en masa MM50 Logística / Gestión de materiales / Maestro de materiales / Otros Completar materiales incompletos MM60 Logística / Gestión de materiales / Maestro de materiales / Otros Índice de materiales MR21 Logística / Gestión de materiales / Valoración / Modificar precios de material Modificar precio estándar de material
8.11 Principales transacciones en MM. Datos maestros de compras ME11 Logística / Gestión de materiales / Compras / Datos maestros / Registro info Crear registro info
ME12 Logística / Gestión de materiales / Compras / Datos maestros / Registro info Modificar registro info
-37-
APRENDE SAP ECC ME13 Logística / Gestión de materiales / Compras / Datos maestros / Registro info Visualizar registro info XK01 Logística / Gestión de materiales / Compras / Datos maestros / Proveedor / Central Crear proveedor XK02 Logística / Gestión de materiales / Compras / Datos maestros / Proveedor / Central Modificar proveedor XK03 Logística / Gestión de materiales / Compras / Datos maestros / Proveedor / Central Visualizar proveedor MEMASSIN Logística / Gestión de materiales / Compras / Datos maestros / Registro info Actualización en masa de registros info XK99 Logística / Gestión de materiales / Compras / Datos maestros / Proveedor Actualización en masa de proveedores ME1L Logística / Gestión de materiales / Compras / Datos maestros / Registro info / Visualizar lista Listado de registros info por proveedor ME1M Logística / Gestión de materiales / Compras / Datos maestros / Registro info / Visualizar lista
-38-
APRENDE SAP ECC Listado de registros info por material MKVZ Logística / Gestión de materiales / Compras / Datos maestros / Proveedor / Visualizar lista Listado de proveedores b 8.12 Principales transacciones en MM. Compras ME51N Logística / Gestión de materiales / Compras / Pedido / Crear Crear solicitud de pedido ME52N Logística / Gestión de materiales / Compras / Pedido Modificar solicitud de pedido ME53N Logística / Gestión de materiales / Compras / Pedido Visualizar solicitud de pedido ME21N Logística / Gestión de materiales / Compras / Solicitud de pedido Crear pedido de compras ME22N Logística / Gestión de materiales / Compras / Solicitud de pedido Modificar pedido de compras ME23N Logística / Gestión de materiales / Compras / Solicitud de pedido Visualizar pedido de compras ME56 Logística / Gestión de materiales / Compras / Solicitud de pedido / Funciones siguientes
-39-
APRENDE SAP ECC Asignar solicitudes de pedido a proveedor ME29N Logística / Gestión de materiales / Compras / Pedido / Liberar Liberación individual de pedidos de compras ME28 Logística / Gestión de materiales / Compras / Pedido / Liberar Liberación colectiva de pedidos de compras MEMASSRQ Logística / Gestión de materiales / Compras / Solicitud de pedido Actualización en masa de solicitudes de pedido MEMASSPO Logística / Gestión de materiales / Compras / Pedido Actualización en masa de pedidos de compra ME2L Logística / Gestión de materiales / Compras / Pedido / Visualizar lista Listado de pedidos por proveedor ME2M Logística / Gestión de materiales / Compras / Pedido / Visualizar lista Listado de pedidos por material ME5A Logística / Gestión de materiales / Compras / Solicitud de pedido / Visualizar lista Listado de solicitudes de pedido
8.13 Principales transacciones en MM. Movimiento de mercancía MB1C Logística / Gestión de materiales / Gestión de stocks / Movimientos de mercancías / Entrada de mercancías
-40-
APRENDE SAP ECC Otras entradas de mercancías MB31 Logística / Gestión de materiales / Gestión de stocks / Movimientos de mercancías / Entrada de mercancías Entrada de mercancías por orden MB1A Logística / Gestión de materiales / Gestión de stocks / Movimientos de mercancías Salida de mercancías MB1B Logística / Gestión de materiales / Gestión de stocks / Movimientos de mercancías Traspasos MB02 Logística / Gestión de materiales / Gestión de stocks / Documento de material Modificar movimiento de material MB03 Logística / Gestión de materiales / Gestión de stocks / Documento de material Visualizar movimiento de material MMPV Logística / Gestión de materiales / Maestro de materiales / Otros Desplazar periodos para contabilización logística MMBE Logística / Gestión de materiales / Maestro de materiales / Otros Resumen de stocks MB51
-41-
APRENDE SAP ECC Logística / Gestión de materiales / Gestión de stocks / Entorno / Visualizar lista Listado de documentos de material MB52 Logística / Gestión de materiales / Gestión de stocks / Entorno / Stock Listado de stock de almacén MCBA Logística / Gestión de materiales / Gestión de stocks / Entorno / Controlling de stocks / Análisis estándar SIL: stocks en centro
8.14 Principales transacciones en MM. Facturas de compras. MIRO Logística / Gestión de materiales / Verificación de facturas logísticas / Entrada de documentos Añadir una factura MIR7 Logística / Gestión de materiales / Verificación de facturas logísticas / Entrada de documentos Registrar factura de forma preliminar MIR4 Logística / Gestión de materiales / Verificación de facturas logísticas / Continuar proceso Visualizar factura MR8M Logística / Gestión de materiales / Verificación de facturas logísticas / Continuar proceso Anular factura
-42-
APRENDE SAP ECC 8.15 Principales transacciones en MM. Inventarios. MI01 Logística / Gestión de materiales / Inventario / Doc. Inventario Crear documento de inventario MI04 Logística / Gestión de materiales / Inventario / Recuento Recuento de inventario MI07 Logística / Gestión de materiales / Inventario / Diferencia Contabilizar diferencias MI10 Logística / Gestión de materiales / Inventario / Diferencia Contabilizar diferencias s/ref a documento MI20 Logística / Gestión de materiales / Inventario / Diferencia Listado de diferencias de inventario
MIR5 Logística / Gestión de materiales / Verificación de facturas logísticas / Continuar proceso Listado de facturas
-43-
APRENDE SAP ECC CAPITULO 9 Módulo PM 9.1 Introducción al módulo PM "Planificación del Mantenimiento" El módulo PM gestiona todo el mantenimiento en Planta de Maquinarias para eso es importantes entender dos conceptos: Ubicaciones (IL03): Localización física estructurada por criterios funcionales, no es más que el lugar donde se realizará el mantenimiento. Equipos (IE03): Maquinaría a la que se le ejecutará un mantenimiento, el cual será guardado en un historial. 9.1 Mostrar la estructura de mantenimiento (IH01) Con la transacción (IH01) Mostramos la estructura de mantenimiento de la empresa, donde veremos las diferentes ubicación, equipos y los recursos asignados a cada mantenimiento. Logística / Mantenimiento / Gestión de objetos técnicos / IH01 Representación de la estructura
-44-
APRENDE SAP ECC Ubicación
Lista de Materiales
Equipo
Materiales
9.10 Transacciones más utilizadas en PM. Datos maestros E01 Logística / Mantenimiento / Gestión de objetos técnicos / Equipo Crear equipo IE02 Logística / Mantenimiento / Gestión de objetos técnicos / Equipo Modificar equipo IE03 Logística / Mantenimiento / Gestión de objetos técnicos / Equipo Visualizar equipo IL01 Logística / Mantenimiento / Gestión de objetos técnicos / Ubicación técnica Crear ubicación IL02 Logística / Mantenimiento / Gestión de objetos técnicos / Ubicación técnica Modificar ubicación IL03 Logística / Mantenimiento / Gestión de objetos técnicos / Ubicación técnica Visualizar ubicación IA01
-45-
APRENDE SAP ECC Logística / Mantenimiento / Mantenimiento planificado / Planif. Trabajo / Para equipo Crear hoja de ruta para equipo IA02 Logística / Mantenimiento / Mantenimiento planificado / Planif. Trabajo / Para equipo Modificar hoja de ruta para equipo IA03 Logística / Mantenimiento / Mantenimiento planificado / Planif. Trabajo / Para equipo Visualizar hoja de ruta para equipo IP01 Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev / Crear Crear plan de mantenimiento preventivo IP02 Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev Modificar plan de mantenimiento IP03 Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev Visualizar plan de mantenimiento IP04 Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev / Posic. de mto. Crear posición de plan de mto IP05 Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev / Posic. de mto.
-46-
APRENDE SAP ECC Modificar posición de plan de mto
IP06 Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev / Posic. de mto. Visualizar posición de plan de mto IE05 Listado de equipos Logística / Mantenimiento / Gestión de objetos técnicos / Equipo / Tratamiento de lista IL05 Listado de ubicaciones Logística / Mantenimiento / Gestión de objetos técnicos / Ubicación técnica / Tratamiento de lista IP15 Listado de planes de mantenimiento Logística / Mantenimiento / Mantenimiento planificado / Planes de mto prev / Tratamiento de lista
-47-
APRENDE SAP ECC CAPITULO 10 Módulo WF 10.1 Introducción al módulo Listados de transacciones más usadas en el
-48-
APRENDE SAP ERP CAPITULO 11 Módulo Recursos Humanos 11.1 Introducción al módulo Listados de transacciones más usadas en el
-49-
APRENDE SAP ERP CAPITULO 12 PARAMETRIZACION EN SAP ERP 12.1 Tipos de consultores en SAP SAP ERP necesita consultores capaz de hacer que la herramienta se implemente y funcione correctamente. Los tipos de consultores se clasifican en:
Consultor BASIS: Es el responsable de la instalación de SAP Consultor Funcional: No requiere conocimientos de programación, mediante parametrizaciones configura el SAP para que pueda ser utilizado por el cliente y conoce bien todas las funciones para dar apoyo técnico. Consultor Técnico: Es el programador de SAP que trabaja con los lenguajes ABAP 4, Java. También conocidos como ABAPER.
12.2 Cambiar el texto de inicio en SAP Primero comprobamos el idioma de nuestra instalación en SAP, para eso utilizaremos la transacción RZ11. y le pasamos el siguiente parámetro zcsa/system_language, si el valor es "S" se encuentra en español y es "E" se encuentra en Ingles. Entramos la transacción SE61 y con el nombre , es importante mantener el idioma, "ZLOGIN_SCREEN_INFO " , creamos nos saldrá un editor de texto donde podemos Introducir el texto que deseamos.
-50-
APRENDE SAP ERP
En la pantalla de logon hay espacio para 16 lineas (con 45 caracteres por línea en una fuente fija o 60 en una fuente proporcional). Se pueden introducir textos de titulo indicando el correspondiente formato (clave de formato que empiezan por ‘U’). Se pueden insertar iconos en el principio de cada línea (por ejemplo, el valor @1D@ nos mostrará el icono Stop). La lista completa de iconos la podemos obtener con los reports estandar RLMON_ICONS_DISPLAY o RSTXICON (los códigos de icono con dos simbolos @ seguidos no se pueden utilizar).
La próxima vez que abras el programa verás el mensaje en el lado derecho.
-51-
APRENDE SAP ERP
12.3 Cambiar la imagen de fondo de SAP Si queremos cambiar la imagen que aparece en la zona izquierda de la ventana tenemos que hacer los siguientes pasos: Paso1 : Entrar a la transacción SMW0, Seleccionamos Datos binarios y pulsamos el botón superior izquierdo. Cuando aparezca la próxima ventana pulsar F8 o el botón de ejecutar.
Tenemos que asegurarnos que el sistema permita la importación de ficheros del tipo de la imagen que queremos poner de fondo en mi caso siempre utilizo JPG, para eso tenemos que ir al menú superior Opciones y buscar Actualizar tipos de MIME. Y adicionamos nuestro tipo
-52-
APRENDE SAP ERP
Seleccionamos cualquier fichero de imagen que este siendo usado y le hacemos una copia.
En la próxima ventana seleccionamos objeto local.
-53-
APRENDE SAP ERP Ya tenemos creado el fichero ahora lo que necesitamos es importarla para eso usamos el botón de import (Shift + F6), nos saldrá una ventana le decimos que si y seguimos. Por último te saldrá una ventana y pulsas "Permitir".
Recuerde que los cambio de esta imagen afectará a todos los mandantes que estén utilizando SAP.
-54-
APRENDE SAP ERP Entramos a la transacción SM30 y vamos a modificar la tabla ssm_cust, por lo que pulsamos Actual. Aceptamos la próxima información que nos sale.
Una vez que entramos necesitamos cambiar si existen o crear los siguientes campos: START_IMAGE = zmarlon "Nombre del fichero" RESIZE IMAGE = NO
-55-
APRENDE SAP ERP Cuando pulsamos guardar nos enviara una ventana donde debemos crear un pedido, solamente necesitas colocarle una breve descripción y listo.
Si todo salió bien la próxima vez que abras el programa saldrá tu imagen
-56-
APRENDE SAP ERP 12.4 Transacción SPRO es la que se encarga de configurar todo el sistema SAP. Si queremos acceder a ella tenemos que colocar "SPRO" en la barra de transacciones. Después pulsamos sobre el botón IMG referencia SAP.
Y saldrá la siguiente ventana para configurar todos los parámetros de las transacciones en SAP.
-57-
APRENDE SAP ERP 12.5 Transacción SPRO. Crear una condición de pago a 180 días. Si queremos crear una condición de pago o modificar las existente tenemos que entrar a SPRO: Comercial / Datos Maestros / Interlocutor Comercial / Clientes / Factura / Definir Condiciones de Pago copie de una condición de pago de exportación para crear la nueva y solo cambie el nombre y los días. 12.6 Transacción SPRO. SD. Adaptar los campos que se muestran en los datos maestros del cliente. SPRO: Gestión financiera / Contabilidad de deudores y acreedores / Cuentas de deudor / Datos maestros / Preparar creación de datos maestros de deudores / Definir grupo de cuentas con formato de pantalla (deudores).
-58-
APRENDE SAP ERP CAPITULO 13 BASIS 13.1 Introducción a la metodología de implementación en SAP En SAP la metodología de implementación que se más utiliza se llama ASAP dicha metodología cuenta con las siguientes fases.
Preparación del proyecto: se definen los objetivos a conseguir y un plan de proyecto para llevarlos a cabo. Diseño: se toman los requerimientos y se realiza un documento de diseño (BBP) que de solución a dichas necesidades. Realización: implementación de las soluciones diseñadas. Preparación final: fase que recoge desde el testing una vez las soluciones están implementadas, hasta la preparación previa a la puesta en productivo (Cutover). Go Live y Soporte: puesta en explotación de la solución implementada y soporte posterior al arranque.
13.2 Bloquear y desbloquear usuarios en SAP. SU01 Uno de los principales problemas que tiene que resolver un consultor es el desbloqueo de usuario. Ya que si el usuario escribe varias veces la contraseña mal quedará bloqueado. Para desbloquearlo se utiliza la transacción SU01 y se pulsa el candado para abrirlo como muestra la imagen.
-59-
APRENDE SAP ERP 13.3 Crear permisos para los usuarios (Roles) "PFCG" Como todo buen sistema SAP cuenta con un módulo para da seguridad a los usuarios. Los roles como se conoce en SAP no es más que permisos que pueden ser aplicados a determinados usuarios, para eso utilizamos la transacción PFCG y pulsamos el boton "Single Role".
En la primera pestaña le colocamos una pequeña descripción y lo guardamos.
En la pestaña User le colocamos los usuarios que queremos que este Role afecte.
-60-
APRENDE SAP ERP En la pestaña Menú Pulsamos el botón de "Transacción" y adicionamos una transacción ejemplo SE38
Cuando el usuario acceda la próxima vez solamente en el menú aparecerá la transacción autorizada.
-61-
APRENDE SAP ERP 13.4 Mostrar usuarios conectados a mandantes y nombre de máquina "AL08" Esta transacción nos permite mostrar el mandante, Nombre de usuario, Terminal y la transacción que está trabajando.
13.5 Mostrar usuarios conectados "SM04". Esta transacción nos permite mostrar el mandante, Nombre de usuario, Terminal y la transacción que está trabajando.
-62-
APRENDE SAP ERP 13.6 Modificar datos del usuario utilizamos "SM01". Esta transacción nos permite modificar la contraseña del usuario, actualizar la fecha de validez y otras modificaciones de usuario.
13.10 Transacciones más utilizadas en BASIS DB15: Archivos de datos (Tablas de base de datos). DB16: Monitor del sistema DB. Db17: Configuración del sistema DB. DMIG: Inicia la transacción de migración de datos. DB2: Selecciona las actividades de la base de datos. DB20: Optimizador – estatus de tablas. DB21: Configuración –DB costo/base. DB24: Monitor de operaciones de la base de datos. DB26: Pefil/monitos de la base de datos y configuración.
-63-
APRENDE SAP ERP DB2J: Administrador JCL de trabajos OS/390. DBCO: Mantenimiento de la conexión de la base de datos. FILE: Cliente-cruzado archivo nombre/rutas. SU01: Alta, baja, modif. - Mantenimiento de datos del usuario (Dirección, roles, perfiles). SU01D: Solo Visualización de datos de usuarios. SU10: Para hacer cambios a múltiples usuarios (Bloquear a muchos). PFCG: Nos sirve también como ABM (Alta, Baja y Modificación) de roles. SU02: Mantenimiento/Actualización de autorización de perfiles. SU03: Mantenimiento de autorizaciones. SU05: Mantenimiento de usuarios de internet. SU11: Mantenimiento de autorizaciones. SU12: Mantenimiento de los registros a grandes cantidades de usuarios. SU21: Mantenimiento de los objetos de autorizaciones. SU22: Mantenimiento de asignación de autorizaciones a las transacciones. SU24: Deshabilitar autorizaciones. SU25: Importaciones SAP verifica los indicadores por default. SU26: Ajustar autorizaciones. SU30: Total de Total chequeos en el área de autorización. SU52: Actualiza valores propios de usuario. SCCL: Copiar un cliente local. SCC5: Borrar un cliente. SCC4: Consultar y/o modificar la conf. De los mandantes (Nuevo cliente). SCC6: Importar un cliente. SCC8: Exportar clientes. SCC9: Copiar clientes remotos. SUIM: sistema de información de usuarios, consultar de los permisos que tienen los usuarios con los diferentes parámetros, podemos ver todos los roles que se encuentran en el sistema. SU53: Muestra el último error de autorización que tuvo el usuario en SAP (Análisis de errores de seguridad). RZ11: Para ver un parámetro de perfil. RZ20: Monitoreo del CCMS. SM36: Programar una tarea (Background job).
-64-
APRENDE SAP ERP SM37: Visión general de una tarea (Background job). SM38: Lista de mantenimiento de transacciones. SM02: Sistema de mensajes. SM04: Lista/resumen de usuarios. SM21: Análisis de los log del sistema. SM50: Checar procesos de trabajo. STMS: Trasportar cambios entre diferentes áreas cómo desarrollo, Testing. SO16: Configurar Email - SAPoffice
-65-
CAPITULO 14 ABAP 14.1 Introducción a ABAP 4 ABAP (Advanced Business Application Programming, o Programación de Aplicaciones de Negocios Avanzadas) es un lenguaje de alto nivel creado por la compañía alemana SAP, líder en sistemas de gestión empresarial. Fue históricamente el lenguaje en el que se programaba en el sistema SAP R/3, aunque hace unos años también se sumó Java como lenguaje para codificar en el Web Application Server (WAS) de la plataforma NetWeaver. La sintaxis es algo parecida al lenguaje COBOL. Los programas ABAP se encuentran dentro de la Base de Datos de SAP, no en archivos externos como en la mayoría de los lenguajes (C, C++, Java). Tipos de transacciones utilizadas en ABAP Transacciones de Diálogo: Son las transacciones más comunes dentro del estándar de SAP. Estas transacciones están ligadas a una Dynpro (pantalla) de un programa ABAP. Al llamar a estas transacciones, se carga el programa ABAP y se llama a la Dynpro. Transacciones de Parámetros: Estas transacciones son llamadas a otras transacciones existentes con parámetros de entrada. Es decir, que son llamadas a transacciones con parámetros definidos, pudiendo omitir la pantalla inicial de la transacción original. Transacciones de Variantes: Son transacciones ya existentes llamadas con una variante anteriormente creada. Al acceder a una transacción de variante, se ejecuta la transacción subyacente con la variante en cuestión. Transacciones de Reporte: Son transacciones que llaman a un Reporte ABAP. La transacción se debe mapear con la pantalla de selección de un programa ejecutable. Internamente, cuando se llama a este tipo de transacciones el sistema ejecuta un SUBMIT al programa ejecutable. Orientadas a Objetos: Este tipo de transacciones apareció en la versión 6.10 de SAP. La transacción está linkeada a un método de una clase local o global. Cuando se llama a la transacción se carga el programa correspondiente..
-66-
14.2 Tipos de programas en ABAP Report Programs. Estos programas siguen una lógica relativamente simple, que se puede analizar directamente en el código del programa. El usuario ejecuta el programa (mediante una transacción, o directamente) con los parámetros deseados y el programa devuelve un resultado. Este resultado no necesariamente es estático, sino que el usuario puede obtener más detalle sobre el mismo con estructuras definidas en el programa. Por ejemplo, el usuario puede incovar a otro programa o transacción con un click en un objeto determinado. Online Program: Este tipo de programas, también llamado "Programas de Diálogo" o Modulpool son diferentes al anterior, porque no producen un resultado directo en pantalla, sino que más bien están compuestos por un flujo de pantallas en los que se muestra información, se cargan datos y este flujo depende de la entrada del usuario. Cada pantalla contiene además una "Lógica de Flujo"; esto se refiere a los módulos llamados durante la ejecución de la pantalla. Básicamente, el PBO (Process Before Output, proceso antes de la salida) y PAI (Process After Input, proceso luego de la salida). Esto es llamado Dynpro en SAP (DINamic PROgram, programa dinámico). Una Dynpro incluye el flujo de pantallas y la lógica de las mismas. 14.3 Tipos de objetos que podemos crear en ABAP Reportes: Es un programa con una seria de instrucciones y palabras claves; cuyo objetivo es procesar datos de entrada o datos que se obtienen de las tablas del sistema y mostrar los resultados del procesamiento por pantalla. Reportes interactivos y Reportes ALV Programas de Dialogo Formularios Batch Input User exits File exits Funciones y RFC
-67-
14.2 Tipos de palabras claves Declarativas: se utilizan para declarar datos que vamos a usar dentro del programa. Ej.: DATA, TABLES y CONSTANT Eventos: que ocurren en el programa. Ej.: START-OFSELECTION, TOP-OF-PAGE, ect. Control: sentencias de control de flujo de programa. Ej.: IF, WHILE, DO, etc. Operativas: realizan funciones según la palabra clave Ej.: WRITE, MOVE, etc. 14.3 Sintaxis del lenguaje ABAP ABAP como cualquier lenguaje de programación debes escribir su código cumpliendo reglas del lenguaje llamada sintaxis. 14.3 Comentarios * Comentario de la primera columna de una fila “ Comentario en mitad de una línea
14.3 Evento de un programa ABAP En ABAP es un lenguaje de programación orientada a eventos, los eventos es una etiqueta que identifica una sección dentro de un programa. La sección de código asociada con un evento, comienza con un nombre de evento y termina cuando el siguiente nombre de evento se encuentra. Los nombre de eventos son palabras reservadas. No podemos crear nuevos eventos, solamente podemos usar los existentes. Los principales eventos que pueden ocurrir dentro de un programa son: INITIALIZATION: Es el primer evento que se ejecuta. Nos permite inicializar los campos de la pantalla de selección de un programa o cualquier otra variable. AT SELECTION-SCREEN: Este evento se utiliza para validar los datos introducidos en los parámetros que conforman la pantalla de selección.
-68-
START-OF-SELECTION: Este evento se lanza cuando se procesa la instrucción REPORT. En ese momento se empieza a ejecutar el código que se encuentra entre el REPORT y a palabra clave reservada STARTOF-SELECTION. El evento START-OF-SELECTION se utiliza para realizar el procesamiento central del programa, tal como puede ser realizar la selección de los datos, procesar un archivo, realizar operaciones aritmética, etc. Es un evento por defecto, es decir si escribimos ejecutables sin etiquetas de eventos, estas se adjudican por defecto a START-OF-SELECTION. Contiene las últimas sentencias que se ejecutaran en el programa. En general se utiliza para la impresión de listados. END-OF-SELECTION: El código de este evento se procesa cuando se termina el procesamiento central del programa, es decir luego del evento START-OF-SELECTION. Contiene las últimas sentencias que se ejecutarán en el programa. En general se utiliza para realizar impresiones de listados. AT LINE-SELECTION: Permite al usuario seleccionar una línea de un listado y realizar alguna acción. Se utiliza en los llamados reportes interactivo. AT USER-COMMAND: Se ejecuta cuando el usuario presiona el botón de un menú en un reporte. TOP_OF_PAGE: Este evento se procesa antes de que el primer dato aparezca en cada página. Se suele utilizar para colocar títulos de cabeceras. END-OF-PAGE: Este evento se lanza cuando se crea automáticamente una nueva página. Esto ocurrirá cuando el número de líneas procesadas sobrepase el número de líneas fijado para la página en la sentencia REPORT.
-69-
REPORT Z_prueba_eventos. DATA: v_campo1 TYPE i, v_campo2 TYPE i, v_suma TYPE i. INITIALIZATION. CLEAR V_suma. v_campo1 = 10. v_campo2 = 20. START-OF-SELECTION. V_SUMA = v_campo1 + v_campo2. TOP-OF-PAGE. WRITE 'Resultado de la suma'. END-OF-SELECTION. WRITE V_suma.
Nota: No importa el orden que se ponga los eventos en ABAP.
14.5 Debuger en ABAP Single step "F5": ejecutaremos paso a paso es decir sentencia por sentencia. Execute "F6": ejecutaremos subrutinas a subrutinas sin entrar al contenido de cada una. Return "F7": retornamos a la retina de nivel superior de la ejecución. Run "F8" continuaremos con la ejecución hasta el final del programa. Cambiar el Debug: Utilidades, Opciones, Editor ABAP, Debugging, Función Debugging. Cambiar la función del debug.
-70-
14.4 Tipos de Datos elementares en ABAP
Tipos elementales
Tipo
Alfanuméricos Fecha(Date) Coma Flotante(Float) Entero (Integer) Numérico (Natural) Empaquetados Hora(Time) Hexadecimales(Hex)
C D F I N P T X
Longitud defecto 1 8 8 4 1 8 6 1
Longitud Máxima 1 - 65535 8 8 4 1-65535 1-16 6 1-65535
Valor Inicial SPACE '0000000' 0.0 0 '0...0' 0 '000000' X'00'
STRING: se utilizan para cadenas de longitud variable. XSTRING: se utiliza como un string hexadecimal para cadenas de caracteres muy grandes. DATA: v_carrid LIKE sflight-carrid.
14.5 Estructuras en ABAP Es un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas. Existen tres formas de definir una estructuras: 1- Utilizando la palabra clave DATA a partir de una tabla existente: DATA: wa_vuelos TYPE sflight.
2- Utilizando la palabra clave DATA a partir de una tabla existente pero solo con algunos datos: DATA: BEGIN OF wa_vuelos2, carrid TYPE s_carr_id, connid TYPE s_conn_id, fldate TYPE s_date, END OF wa_vuelos2.
-71-
3- Utilizando tipos que son formatos de estructuras que pueden ser utilizados en cualquier otra estructura sin necesidad de reescribir el código. Para esto se utiliza la palabra reservada TYPES. TYPES: BEGIN OF st_vuelos, carrid TYPE s_carr_id, connid TYPE s_conn_id, fldate TYPE s_date, END OF st_vuelos. DATA: wa_vuelos3 TYPE st_vuelos. 14.5 Include de datos Es un objeto ABAP que se utiliza para modularizar los programas de manera que estos resulten más legibles y mantenibles. Existen dos tipos de INCLUDES. Ellos son: INCLUDE de datos: se utiliza para agrupar declaraciones de datos. INCLUDE de subrutinas: se utiliza para agrupar declaraciones de subrutinas REPORT Z_PRUEBA_INCLUDE. INCLUDE z_prueba_abap_datos. 14.5 Variables del sistema A parte de las variables que define el programador, existen otras que han sido definidas por el sistema y que son de gran utilidad dentro de los programas de ABAP. Estas se encuentran en la tabla de la base de datos SYST y contienen información que va desde la hora del sistema, a saber si se ejecuto correctamente una sentencia ABAP o una actualización a una base de datos. Su contenido no puede ser modificado en los programas sino que cambia simplemente con la ejecución de los mismos. Las más comunes son: SY-SUBRC: Código de retorno posterior a la ejecución de una sentencia ABAP. Si el resultado de la ejecución fue exitoso, entonces es 0, sino es distinto de cero. SY-DATUM: Contiene la fecha del sistema.
-72-
WRITE SY-DATUM. SY-UZEIT: Contiene la hora del sistema. SY-TABIX: Contiene el índice de una tabla interna. Lista de Sentencias. SY-ABCDE CONSTANT: Alfabeto (A,B,C,…) SY-APPLI Aplicaciones SAP SY-BATCH Batch activo (X) SY-BATZD SUBMIT fondo: Diario SY-BATZM SUBMIT fondo: Mensual SY-BATZO SUBMIT fondo: Unico SY-BATZS SUBMIT batch: Inmediatamente SY-BATZW SUBMIT fondo: Semanal SY-BINPT Batch input activo (X) SY-BREP4 SUBMIT fondo: Nombre de raíz del report de llamada SY-BSPLD SUBMIT fondo: Salida de lista en SPOOL SY-CALLD Call modo activo (X) SY-CALLR IMPRIMIR: ID para funciones de diálogo SY-CCURS Tipo cambio/Campo resultado CURRENCY CONVERT SY-CCURT Tipo de cambio en tabla de aplicación CURRENCY CONVERSION SY-CDATE Fecha de tipo de cambio de CURRENCY CONVS. SY-CFWAE Utilización interna SY-CHWAE Utilización interna SY-COLNO Columna actual en la creación de la lista SY-CPAGE Número de página actual SY-CPROG RUNTIME: Programa principal SY-CTABL Tabla de tipo de cambio en CURRENCY CONVERSION SY-CTYPE Tipo de cambio ‘M’,’B’,’G’ de CURRENCY CONVERSION SY-CUCOL Posición del cursor (columna) SY-CUROW Posición del cursor (línea) SY-DATAR Indicador: Datos recibidos SY-DATLO Fecha local, en relación con el usuario SY-DATUM SYSTEM: Fecha del día SY-DATUT Fecha global, en relación con UTC SY-DAYST ¿ Horario de verano activo ? SY-DBCNT Cantidad elementos en conjunto tratado para operaciones BD SY-DBNAM Base de datos lógica en report ABAP/4
-73-
SY-DBSYS SYSTEM: Sistema de base de datos SY-DCSYS SYSTEM: Sistema de diálogo SY-DEBUG Utilización interna SY-DSNAM RUNTIME: Nombre del set de datos para salida en SPOOL SY-DYNGR Grupo de dynpros del dynpro actual SY-DYNNR Número de la imagen en pantalla actual SY-ENTRY Utilización interna SY-FDAYW Día de semana en el calendario de fábrica SY-FDPOS Lugar de hallazgo de un string SY-FFILE INTERNO: Flatfile (USING/GENERATING DATASET) SY-FLENG Utilización interna (longitud de campo) SY-FMKEY Menú de códigos de funciones actual SY-FODEC Utilización interna (campo posiciones decimales) SY-FOLEN Utilización interna (longitud de salida de campo) SY-FTYPE Utilización interna (tipo de campo) SY-GROUP INTERNO: Concatenación SY-HOST Nombre de la máquina SY-INDEX Cantidad de repeticiones de bucles SY-INPUT Utilización interna SY-LANGU Clave de idioma para entrar al Sistema SAP SY-LDBPG PROGRAM: Programa ABAP/4 de base de datos para SYDBNAM SY-LILLI Número de la línea de lista actual SY-LINCT Cantidad de líneas de lista SY-LINNO Línea actual en la creación de una lista SY-LINSZ Longitud de línea de la lista SY-LISEL INTERACT.: Línea seleccionada SY-LISTI Número de la línea de lista actual SY-LOCDB Existe base de datos local SY-LOCOP Operación local en base de datos SY-LOOPC Cantidad de líneas LOOP en steploop de dynpro SY-LPASS Utilización interna SY-LSIND Número de la lista de bifurcación SY-LSTAT INTERACT.: Información de status por nivel de lista SY-MACDB PROGRAM: Nombre del fichero para el acceso con matchcode SY-MACOL Cantidad de columnas de instrucción SET MARGIN SY-MANDT Número de mandante para acceder al Sistema SAP SY-MARKY Letra de línea actual para MARK SY-MAROW Cantidad de líneas de instrucción SET MARGIN SY-MODNO Cantidad de modos alternativos SY-MSGID ID de mensaje
-74-
SY-MSGLI INTERACT.: Línea de mensaje (línea 23) SY-MSGNO Número del mensaje SY-MSGTY Tipo de mensaje (E,I,W,etc.) SY-MSGV1 Variable en mensaje SY-MSGV2 Variable en mensaje SY-MSGV3 Variable en mensaje SY-MSGV4 Variable en mensaje SY-NEWPA Utilización interna SY-NRPAG Utilización interna SY-ONCOM INTERNO: On Commit Flag SY-OPSYS SYSTEM: Sistema operativo SY-PAART IMPRESION: Edición SY-PAGCT Límite de página de lista en instrucción REPORT SY-PAGNO RUNTIME: Página actual en creación de lista SY-PAUTH Utilización interna SY-PDEST IMPRIMIR: Dispositivo de salida SY-PEXPI IMPRIMIR: Tiempo de permanencia en SPOOL SY-PFKEY RUNTIME: Status de teclas-F actual SY-PLAYO Utilización interna SY-PLAYP Utilización interna SY-PLIST IMPRESION: Nombre de la orden SPOOL (nombre de lista) SY-PNWPA Utilización interna SY-PRABT IMPRIMIR: Departamento en la portada SY-PRBIG IMPRIMIR: Portada de selección SY-PRCOP IMPRIMIR: Cantidad de ejemplares SY-PRDSN IMPRIMIR: Nombre del set de datos SPOOL SY-PREFX Prefijo ABAP/4 para jobs batch SY-PRI40 Utilización interna SY-PRIMM IMPRESION: Salida inmediata SY-PRINI Utilización interna SY-PRLOG Utilización interna SY-PRNEW IMPRESION: Nueva orden SPOOL (lista) SY-PRREC IMPRIMIR: Destinatario SY-PRREL IMPRESION: Borrar tras salida SY-PRTXT IMPRIMIR: Texto para portada SY-REPI2 Utilización interna SY-REPID PROGRAM: Nombre de un programa ABAP/4 SY-RSTRT Utilización interna SY-RTITL IMPRIMIR: Título de report del programa de impresión SY-SAPRL SISTEMA: Release SAP SY-SCOLS Columnas en la pantalla
-75-
SY-SFNAM SY-SFOFF SY-SLSET SY-SPONO SY-SPONR SY-SROWS SY-STACO SY-STARO SY-STEPL SY-SUBCS SY-SUBRC SY-SUBTY SY-SYSID SY-TABID SY-TABIX SY-TCODE SY-TFDSN SY-TFILL SY-TIMLO SY-TIMUT SYTITLE SY-TLENG SY-TLOPC SY-TMAXL SY-TNAME SY-TOCCU SY-TPAGI SY-TSTIS SY-TSTLO SY-TSTUT SY-TTABC SY-TTABI SY-TVAR0 SY-TVAR1 SY-TVAR2 SY-TVAR3 SY-TVAR4 SY-TVAR5 SY-TVAR6 SY-TVAR7 SY-TVAR8
Sin utilizar Utilización interna Nombre de SELECTON-SETS RUNTIME: Número SPOOL para salida de una lista RUNTIME: Número SPOOL de instrucción TRANSFER Líneas en la pantalla INTERACT.: Lista visualizada a partir de la columna INTERACT.: Lista visualizada a partir de línea Número de la línea LOOP en step dynpro INTERNO: Status call del report Valor de retorno tras determinadas sentencias ABAP/4 ABAP: Forma de llamada en SUBMIT SYSTEM: Identificador del Sistema SAP Utilización interna RUNTIME: Línea actual de una tabla interna SESSION: Código de transacción actual RUNTIME: Nombre del set de datos para extractos de datos Cantidad actual de entradas en la tabla interna Hora local, en relación con el usuario Hora global, en relación con UTC PROGRAM: Título del programa ABAP/4 Tamaño de la línea de una tabla interna Utilización interna Cantidad máxima de entradas en la tabla interna Nombre de la tabla interna después de un acceso Parámetro occurs en tablas internas Indicador para almacenar tabla interna en bloque paging Utilización interna Cronomarcador (fecha y hora), en relación con el usuario Cronomarcador (fecha y hora), en relación con UTC Número de la última línea de tabla interna leída Offset de tablas internas en el área de roll RUNTIME: Var. de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4 RUNTIME: Variable de texto para elementos de texto ABAP/4
-76-
SY-TVAR9 RUNTIME: Variable de texto para elementos de texto ABAP/4 SY-TZONE Diferencia de tiempo con ‘Hora media de Greenwich’ (UTC) SY-UCOMM INTERACT.: Indicar función en el código OK SY-ULINE CONSTANT: Línea de subrayado (____________…) SY-UNAME SESSION: Nombre de usuario según entrada a SAP SY-UZEIT SYSTEM: Hora SY-VLINE CONSTANT: raya vertical SY-WAERS T001: Moneda de sociedad tras leer segmento B SY-WILLI Número de la línea de ventana actual SY-WINCO Posición de cursor en la ventana (columna) SY-WINDI Indice de la línea de ventana actual SY-WINRO Posición de cursor en la ventana (línea) SY-WINSL INTERACT.: Línea en ventana seleccionada SY-WINX1 Coordenada de ventana (columna izquierda) SY-WINX2 Coordenada ventana (columna derecha) SY-WINY1 Coordenada ventana (línea izquierda) SY-WINY2 Coordenada de ventana (línea derecha) SY-WTITL Indicador para cabecera estándar de página SY-XCODE Código OK ampliado SY-XFORM Utilización interna (form SYSTEM-EXIT) SY-XPROG Utilización interna (programa SYSTEM-EXIT) SY-ZONLO Huso horario del usuario
14.5 Asignación de Valores Existen dos formas básicas para asignar un valor a una variable. La primera es la asignación simple: variable = variable2.
La segunda forma es mediante la sentencia MOVE. MOVE variable TO recive_variable. Para saber si la variable está vacía ejecutar la sentencia IS INITIAL. Esta sentencia es muy útil cuando se trabaja con tablas internas. IF variable IS INITIAL. WRITE 'La variable está vacia' ENDIF.
-77-
14.5 Constantes en ABAP Es una variable que se declara en un programa cuyo valor permanecerá tal como lo indica su nombre constante a lo largo del programa, para su declaración se utiliza la palabra reservada CONSTANTS. La utilización de constantes hace que el mantenimiento de las aplicaciones ABAP sea más sencillo. La utilización de constante ayuda a que el mantenimiento sea más sencillo.
CONSTANTS: c_ca(2) TYPE c VALUE 'CA'.
14.5 Operaciones con caracteres Existen algunas funciones que se utilizan para tratar caracteres que son muy útiles en el trabajo diario de un programador ABAP. Ellas son: CONCATENATE: Se utiliza para concatenar varios campos alfanuméricos en uno solo. Esta sentencia concatena los campos v_campo1, v_campo2 en la variable v_campo. Esta sentencia es muy util cuando queremos mostrar la fecha con puntos DD.MM.AAAA CONCATENATE SEPARATED BY
v_campo1 '.'.
v_campo2
INTO
v_campo
TRANSLATE: Se utiliza para convertir caracteres de mayúsculas a minúsculas o viceversa, o para realizar sustituciones de caracteres a través de ciertas reglas.
TRANSLATE v_texto TO UPPER CASE. REPLACE: remplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o carácter. REPLACE 'Hola' WITH 'Casa' INTO v_texto. SPLIT: divide a un campo alfanumérico en varios campos por un separador. Utiliza un separador para dividir.
-78-
SPLIT v_texto_largo AT ',' INTO v_campo1 v_campo2 v_campo2. SHIFT: se utiliza para desplazar el contenido de un campo alfanumérico. La sentencia realiza el desplazamiento del campo V_ALFABETO hasta la quinta posición, quedando el resto de los caracteres que componen a V_ALFABETO en la variable y eliminando los cinco primeros. SHIFT v_alfabeto BY 5 places. SEARCH: se utiliza para buscar una cadena de caracteres dentro de un campo alfanumérico. La sentencia busca en el campo alfabeto la secuencia de caracteres 'ABC'. Como la secuencia existe, devolverá SYSUBRC igual a 0. Caso contrario, si no existiera, sería distinto igual a 4. SEARCH V_ALFABETO FOR 'ABC'. CONDENSE: se utiliza para borrar espacios en blanco en campos alfanuméricos. Borra cualquier secuencia de espacio en blanco, dejando solo uno que exista entre palabras existentes en el campo. Los espacios a la izquierda también desaparecen. CONDENSE wa_variable.
14.5 Bucles Los bucles en ABAP se pueden representar de varias formas. La primera es mediante la palabra clave LOOP-ENDLOOP. Con el agregado de la palabra WHERE. LOOP AT TABLA. DECLARACIONES ENDLOOP.
-79-
La segunda es con la sentencia DO-ENDDO. DO n TIMES. DECLARACIONES ENDDO.
14.5 Sentencias de control Se utiliza para terminar el procesamiento de un bucle, de un proceso o de un programa. Ellas son: CHECH: verifica si la condición es verdadera. Si la condición es falsa, y la sentencia está dentro de un bucle, se saltará todas las secuencias siguientes. CHECK sy-subrc EQ 0. "EQ es equivalente a=" EXIT: dentro de un bucle saldrá del bucle. IF v_ejemplo EQ 'CA'. EXIT ENDIF. STOP: se finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTION IF sy-subrc NE 0. "NE es equivalente a <> STOP. ENDIF. LEAVE: se finaliza el programa en ejecución pero no se ejecuta el evento END-OF-SELECTION IF sy-subrc NE 0. "NE es equivalente a <> LEAVE. ENDIF.
-80-
14.5 Formato de salida de los datos. ABAP ofrece una serie de instrucciones especialmente diseñadas para generar reportes de manera sencilla. Una de ellas es la sentencia WRITE WRITE /
()''. WRITE:/ 'NOMBRE', v_nombre, 20 'EDAD', v_edad. ... NOMBRE VICTOR EDAD:29 Comandos adicionales a WRITE
Left-justified Centered Right-justified no-zero no-gap no-sign decimals n dd/mm/yyyy
Salida justificada a la izquierda Salida centrada Salida justificada a la derecha Si el campo contiene ceros, estos serán cambiados por blancos. El blanco después del campo que se desea imprimir es omitido El signo no aparece en la salida Redondea el campo de salida para los tipos p Fecha con separadores
WRITE:/1(70) 'Hola mundo' CENTERED.
Para dejar una línea en blanco se utiliza SKYP y para escribir una línea horizontal se utiliza ULINE.
14.5 Formatos de Páginas Existen instrucciones destinadas a darle formato a la salida de un reporte ya sea por pantalla o por impresora. El evento TOP-OF-PAGE se utiliza para cambiar la cabecera de una página. Este evento ocurre tan pronto como el sistema empieza a procesar una nueva página. Por ejemplo, si queremos escribir un título particular al comienzo de cada página pondremos:
-81-
TOP-OF-PAGE. WRITE:/ 'Datos del sistema'. ULINE.
El evento END-OF-SELECTION se utiliza para realizar la impresión por pantalla de los datos, de modo que se separe esto del procesamiento de los mismo. END-OF-SELECTION. WRITE:/ 'Se mostro un registro'. ULINE.
Para modificar la cantidad de líneas o columnas que se visualizan en la pantalla se utiliza la sentencia NO STANDARD PAGE HEADING. REPORT z_prueba NO STANDARD PAGE HEADING LINE-SIZE 200. "Cant Líneas LINE-COUNT 50. "Cant filas
14.5 Parámetros de selección Es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va ejecutar el programa. Se utiliza para restringir el procesamiento y la salida de los datos. Por lo general se coloca después de la declaraciones de datos. Existen dos tipos: PARAMETER: en los cuales el usuario puede ingresar valores individuales. PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum, p_nombre(10) TYPE c OBLIGATORY.
-82-
SELECT-OPTIONS: en donde el usuario podrá ingresar rangos de valores. También se puede crear parámetros tipos Checkbox en donde el usuario puede tildar las opciones que prefiera. PARAMETERS: p_list AS CHECKBOX. "Emitir listado PARAMETERS: p_arg RADIOBUTTON GROUP bot2, "Argentino PARAMETERS: p_col RADIOBUTTON GROUP bot2, "Colombiano
14.5 Clases de mensajes Una vez que ingresemos todos los parámetros de nuestro reporte y ejecutemos el programa en dependencia de los parámetros colocados se produce una acción. Para analizar el contenido de los parámetros existe el evento AT SELECTION-SCREEN. En este evento es donde se valida los valores ingresados en la pantalla de selección. Para crear un mensaje lo hacemos a través de la transacción SE91.
-83-
Le agregamos una pequeña descripción y guardamos.
Le agregamos el texto del mensaje en la pestaña "Mesagges" y guardamos.
-84-
REPORT Z_PRUEBA_TIMES PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum IF p_fecha < sy-datum MESSAGE e000(Z_PRUEBA). ENDIF.
Tipo S
Significado del mensaje Status
I
Información
W
Warning
E
Error
A
Terminación
X
Dump
comportamiento El programa continua sin interrupción. El programa continua después de la interrupción Depende del contexto del mensaje Depende del contexto del mensaje (puede causar la cancelación del programa) El programa termina después de un cuadro de dialogo. Error en tiempo de Ejecución tipo x
El mensaje aparece en La línea de status Una ventana de dialogo. Barra de status Barra de status
Una ventana de diálogo. Un dump
14.5 Tablas Internas en ABAP Si queremos guardar una colección de registros de datos de la misma estructura en memoria, sin necesidad de acceder continuamente a las bases de datos y poder realizar diversas operaciones con este conjunto de información, entonces utilizaremos tablas internas. Las tablas internas es un objeto de dato que permite guardar en memoria grandes cantidades de datos con la misma estructura. La cantidad de registros máxima está relacionado con el límite especificado en la instalación del sistema. Usos de las tablas internas: Para almacenar temporalmente los datos de las bases de datos para un procesamiento futuro. Para estructural y formatear datos que se mostrarán como salida del programa.
-85-
Para formatear datos para ser utilizados por otros servicios.
Declaración de una tabla interna DATA: BEGIN OF OCCURS , , ... END OF .
Ejemplo de la tabla interna ti_proveedores, se utiliza OCCURS 0 para tener cantidad de registros ilimitados. DATA: BEGIN OF ti_proveedores OCCURS 0, nombre(30) TYPE c, apellidos(30) TYPE c, Rut(7) TYPE c, END OF ti_proveedores.
Otra forma de declarar una tabla es a partir de una existente. DATA: ti_proveedores2 LIKE STANDARD TABLE OF ti_proveedores.
Llenado de una tabla interna Para llenar con datos una tabla interna se utiliza APPEND TO este comando inserta al final de la tabla un conjunto de registros. CLEAR wa_proveedores. wa_proveedores-nombre = 'Juan'. wa_proveedores-apellido = 'Portales'. wa_proveedores-rut = '12122123'. APPEND wa_proveedores TO ti_proveedores.
Ordenar de una tabla interna Para ordenar una tabla interna se utiliza la sentencia SORT. Utilizando ASCENDING o DESCENDING. SORT ti_proveedores BY rut DESCENDING.
-86-
Procesar una tabla interna Para recorrer una tabla interna utilizaremos la sentencia LOOPENDLOOP. * Recorrer los registros donde el nombre no es blanco. LOOP AT ti_proveedores INTO wa_proveedores WHERE NOT nombre IS INITIAL. ENDLOOP
Lectura de una tabla interna Para leer un registro de una tabla interna sin necesidad de recorrerla utilizaremos la sentencia READ TABLE. Si se encuentra el registro buscado SY-SUBRC será cero, caso contrario, será distinto de cero. Si se desea leer los datos que se encuentran en una posición particular de la tabla se utilizará la cláusula INDEX tal como vemos en el siguiente ejemplo. Ejemplo: Buscar datos en determinada posición de la tabla. READ TABLE ti_proveedores INTO wa_proveedores INDEX 1.
Ejemplo: READ TABLE ti_proveedores INTO wa_proveedores WITH KEY nombre = 'Ariel'.
Modificando una tabla interna Para modificar el contenido de una tabla interna utilizamos la sentencia MODIFY. En el siguiente ejemplo modificamos el campo DNI correspondiente al primer registro de la tabla interna. wa_proveedores-dni = '240672112'. MODIFY ti_proveedores FROM wa_proveedores INDEX 1.
Para insertar un registro en una posición determinada utilizamos la sentencia INSERT. wa_proveedores-nombre = 'MARTA'. wa_proveedores-apellidos = 'RIVAS'. wa_proveedores-rut = '12343444'. INSERT wa_proveedores INTO ti_proveedores INDEX 2.
-87-
Para borrar un registro en una posición determinada utilizamos la sentencia DELETE. DELETE ti_proveedores WHERE dni='1233444'.
Para borrar todo el contenido de una tabla interna utilizamos la sentencia REFRESH. REFRESH ti_proveedores
Para saber cuántos registros tiene una tabla interna utilizamos la sentencia DISCRIBE TABLE. En el siguiente ejemplo declararemos V_LINEAS que es la variable que va a contener la cantidad de filas de la tabla interna TI_PROVEEDORES luego de ejecutar la sentencia DESCRIBE TABLE. DATA: v_lineas TYPE i. DESCRIBE TABLE ti_proveedores LINES v_lineas.
14.5 "Hola Mundo 1" en ABAP Como todo lenguaje de programación empezaremos con el típico Hola mundo. Ejecuta la transacción SE38, en el EDIT, coloca un nombre como ZEJEMPLO_001, te saldrá una ventana que debes colocar una descripción, coloca Hola Mundo, y selecciona Programa ejecutable, saldrá otra ventana y debes pulsar Local Object y escribiremos el siguiente código: REPORT ZEJEMPLO_001. WRITE: 'HOLA MUNDO'.
Salvamos el programa con (Ctrl + S),Activamos con (Ctrl + F3) y después ejecutamos con (F8), si todo sale bien, te saldrá en la pantalla HOLA MUNDO. 14.6 "Hola Mundo 2" en ABAP Trabajo con variables Este ejemplo muestra como se puede asignar valores por defectos a una variable en ABAP.
-88-
REPORT ZEJEMPLO_002. DATA: MyEntero1(100) TYPE I VALUE 500, MYEntero2 TYPE I, MyEntero3 TYPE I. WRITE: 'Numero 1:' ,MyEntero1.
14.7 "Hola Mundo 3" en ABAP Trabajo con textos Este ejemplo muestra como sumar variables y como se concatena textos para mostrarlos en pantalla. REPORT ZEJEMPLO_003. DATA: MyEntero1(100) TYPE I VALUE 500, MYEntero2 TYPE I VALUE 100, Resultado TYPE I, Texto1(12) TYPE C VALUE 'Resultado:'. Resultado = MyEntero1 + MyEntero2. WRITE: Texto1,Resultado.
14.8 Cómo compilar un programa en ABAP Para compilar un programa en ABAP debes siempre seguir estos tres pasos. 1- Guarda [Ctrl + S], 2- Activar [Ctrl + F3] , 3 Ejecutar [F8]
14.9 Creando registros de Datos en ABAP Los registros de datos son campos relacionados lógicamente en una estructura común.
-89-
REPORT ZEJEMPLO_004. DATA: BEGIN OF PROVEEDOR, NOMBRE(10) TYPE C VALUE 'Yoel', APELLIDO(10) TYPE C VALUE 'MARTINEZ', END OF PROVEEDOR. PROVEEDOR-NOMBRE = 'MARTHA'. WRITE: 'HELLO',PROVEEDOR-NOMBRE, PROVEEDOR-APELLIDO.
14.10 Ejemplo Calculadora En este ejemplo trabajaremos con campos para entrar valores y mostrar un resultado una vez que los sumamos. Es un ejemplo sencillos que muestra el trabajo con operadores. REPORT ZEJEMPLO_005. PARAMETERS Numero1 TYPE I. PARAMETERS Numero2 TYPE I. DATA: RESULTADO TYPE I. RESULTADO = Numero1 + Numero2. WRITE: RESULTADO.
14.11 Operadores lógicos en ABAP. AND OR = <> > < >= <=
Y O Igual Distinto Mayor Menor Mayor o igual Menor o igual
EQ NE GT LT GE LE
14.11 Control de flujo IF ELSE. El control de flujo IF permite al programa seleccionar un camino de ejecución según una condición .
-90-
IF . ... ENDIF.
IF . ... ELSE. ... ENDIF.
IF . ... ELSEIF. ... ELSEIF. ... ELSE. ... ENDIF.
REPORT ZEJEMPLO_006. DATA: EDAD TYPE I. EDAD = 22. IF EDAD EQ 22. WRITE: 'TIENE 22 AÑOS'. ELSE. WRITE: 'TIENE OTRA EDAD'. ENDIF.
14.12 Control de flujo CASE El control case permite múltiples opciones: CASE . WHEN . .... WHEN . .... : WHEN OTHERS. .... ENDCASE.
REPORT ZEJEMPLO_007. DATA: EDAD TYPE I. EDAD = 22. CASE EDAD. WHEN 22. WRITE 'Es 22'. WHEN 23. WRITE 'Es 23'. ENDCASE.
14.13 Procesos repetitivos con DO La sentencia DO permite procesar tantas veces se necesite una acción. DO TIMES. ... ENDDO.
REPORT ZEJEMPLO_008. DATA: EDAD TYPE I. EDAD = 22. DO 12 TIMES. WRITE '123'. ENDDO.
-91-
14.14 Procesos repetitivos con WHILE La sentencia While permite ejecutar una acción mientras una condición se cumple. WHILE . ... ENDWHILE.
REPORT ZEJEMPLO_009. DATA: EDAD TYPE I, MYCONTADOR TYPE I VALUE 1. EDAD = 22. WHILE MYCONTADOR LT EDAD. WRITE MYCONTADOR. MYCONTADOR = MYCONTADOR + 1. ENDWHILE.
14.15 Subrutinas internas La modulación ayuda a encontrar fácilmente los errores en los programas. Esto se debe a que al debaguear un programa solo me preocupo que el resultado de una subrutina sea el esperado sin entrar en detalle de como se llega al resultado. Una subrutina se declara con la palabra reservada PERFOM seguida del nombre de la subrutina. Al escribirla ABAP nos pregunta si queremos crearla. La longitud del nombre de la subrutina no puede exceder los 30 caracteres.
Las subrutinas internas son como procedimientos que se pueden ejecutar de forma interna es decir se encuentra dentro del programa que la llama. Se utiliza para fragmentar el código y hacerlo más fácil de entender. Se pueden pasar parámetros como un procedimiento. PERFORM . Llamada a un procedimiento FORM ....Subprograma. ENDFORM. REPORT
ZEJEMPLO_010.
-92-
PERFORM MYRUTINA-INTERNA. *& Form MYRUTINA-INTERNA FORM MYRUTINA-INTERNA . WRITE 'ESTE METODO IMPRIMIRA'. ENDFORM
Se puede pasar datos entre los programas principales y una subrutina a través de parámetros. A los parámetros definidos en el programa principal, a la derecha de la palabra PERFORM se le llama parámetros actuales. A los parámetros difinidos en la subrutina, a la derecha de la palabra FORM se los llama parámetros formales. Los parámetros pueden ser de tres tipos: De entrada: cuando se utilizan para pasar datos del programa principal a la subrutina. De salida: cuando se utiliza para pasar datos de la subrutina al programa principal. De entrada y salida: cuando se utiliza para pasar datos de la subrutina al programa principal y también viceversa. Paso de parámetros a subrutinas. Para pasar parámetros utilizaremos tres opciones USING, CHANGING y TABLES. Estas opciones se deben de escribir en el orden que se muestran a continuación. PERFORM subrutina TABLES USING CHANGING
PERFORM USING var1 var2... ... FORM USING var1 var2... ... ENDFORM. REPORT ZEJEMPLO_011. DATA: EDAD TYPE I VALUE 22. PERFORM MYRUTINA-INTERNA USING EDAD. FORM MYRUTINA-INTERNA USING EDAD. WRITE: 'ESTE METODO IMPRIMIRA LA EDAD:', EDAD. ENDFORM.
-93-
Existen tres formas de pasar parámetros Paso por valor: durante la llamada a la subrutina, los parámetros son creados como copias de los parámetros actuales. Los cambios en los parámetros no afecta a los parámetros actuales.
REPORT ZEJEMPLO_013. DATA: v_fl(1) TYPE C VALUE 'B'. PERFORM PASO_POR_VALOR USING v_fl. WRITE: v_fl FORM PASO_POR_VALOR USING VALUE (pfl). pf1 = 'X'. ENDFORM.
La salida será B. Paso por referencia: durante la llamada a la subrutina, solo la dirección de los parámetros actuales se transfieren a los parámetros formales. Dentro de la subrutina, se trabaja con el campo del programa que hace la llamada. Si cambiamos los parámetros formales el contenido del campo del programa que hace la llamada también cambia. REPORT ZEJEMPLO_013. DATA: v_g1(1) TYPE C VALUE 'A'. v_g2(1) TYPE C VALUE 'B'. WRITE: v_g1, vg2. PERFORM PASO_POR_REFERENCIA USING v_g1 CHANGING v_g2. WRITE: v_g1, vg2. FORM PASO_POR_REFERENCIA USING p_g1 CHANGING p_g2. pg1 = pg2 = 'X'. ENDFORM.
La salida será A B y X X Paso por valor y resultado: durante la llamada a la subrutina, los parámetros formales son creados como copias de los parámetros actuales.
-94-
Los cambio en los parámetros formales son copiados a los parámetros actuales al final de la subrutina. REPORT ZEJEMPLO_013. DATA: v_h1(1) TYPE C VALUE 'A'. v_h2(1) TYPE C VALUE 'B'. WRITE: v_g1, vg2. PERFORM PASO_POR_VALOR USING v_h2 CHANGING v_h1. WRITE:/'H1 es:' v_h1. FORM PASO_POR_VALOR
USING VALUE (p_f2) CHANGING VALUE (p_f1).
pf_1 = pf_2. ENDFORM.
La salida será: H1 es: B
14.16 Subrutinas Externas Las subrutinas externas son como procedimientos que se pueden ejecutar de forma externas. Facilita la reutilización del código. REPORT ZEJEMPLO_012. DATA: EDAD TYPE I VALUE 22. PERFORM MYRUTINA-EXTERNA(ZRUTINAS_SAMPLE) USING EDAD. REPORT ZRUTINAS_SAMPLE. DATA: EDAD TYPE I. PERFORM MYRUTINA-EXTERNA USING EDAD. FORM MYRUTINA-EXTERNA USING EDAD. WRITE: 'ESTE METODO IMPRI La EDAD:', EDAD. ENDFORM.
14.17 Tablas internas En ABAP existe un objeto llamado tabla internas que se utiliza para almacenar en memoria los datos de una tabla de tal forma que se pueda
-95-
acceder más rápido a los datos. Las tablas internas solo existen en tiempo de ejecución. REPORT ZEJEMPLO_013. *& Declaramos una tabla interna DATA: BEGIN OF TI_PERSONA OCCURS 0, Nombre(20) TYPE C, Apellidos(20) TYPE C, Edad(4) TYPE I, Fecha TYPE D, END OF TI_PERSONA. *& Le colocamos datos TI_PERSONA-NOMBRE = 'Martha'. TI_PERSONA-APELLIDOS = 'Perez'. TI_PERSONA-EDAD = 22. TI_PERSONA-FECHA = sy-DATUM. *& Los actualizamos APPEND TI_PERSONA. *& Reccorremos la tabla interna LOOP AT TI_PERSONA. WRITE: / TI_PERSONA-NOMBRE, TI_PERSONAAPELLIDOS, TI_PERSONA-EDAD, TI_PERSONA-FECHA. ENDLOOP.
14.18 Recorridos de tablas internas con cabecera En el siguiente ejemplo muestra el procedimiento: REPORT ZEJEMPLO_014. " Creamos la estructura de la tabla TYPES: BEGIN OF st_sflight, carrid LIKE sflight-carrid, " Compañia aerea connid LIKE sflight-connid, " Codigo de Vuelo END OF st_sflight. " Creamos la tabla interna -> ti_sflight DATA: ti_sflight TYPE STANDARD TABLE OF st_sflight WITH HEADER LINE. " Datos que ingresará el usuario es una entrada Datos como un Edit PARAMETERS: p_carrid LIKE sflight-carrid. " LLenamos la tabla con datos de la tabla de SAP SELECT carrid connid
-96-
FROM sflight INTO TABLE ti_sflight WHERE carrid = p_carrid. "Imprimimos los datos de la tabla interna LOOP AT TI_SFLIGHT. WRITE: / TI_SFLIGHT-CARRID, TI_SFLIGHT-CONNID. ENDLOOP.
14.19 Recorridos de tablas internas usando áreas de trabajos En el siguiente ejemplo muestra el procedimiento: REPORT ZEJEMPLO_015. *Creamos la estructura de la tabla TYPES: BEGIN OF st_sflight, carrid LIKE sflight-carrid, " Compañia aerea connid LIKE sflight-connid, " Codigo de Vuelo END OF st_sflight. PARAMETERS: p_carrid LIKE sflight-carrid. *Declaramos una tabla interna pero sin cabecera DATA: ti_sflight TYPE STANDARD TABLE OF st_sflight. *Creamos un area de trabajo DATA: wa_sflight TYPE ST_SFLIGHT. SELECT carrid connid FROM sflight INTO TABLE ti_sflight WHERE carrid = p_carrid. LOOP AT TI_SFLIGHT INTO WA_SFLIGHT. WRITE: / WA_SFLIGHT-CARRID, WA_SFLIGHT-CONNID. ENDLOOP.
14.20 Tablas internas con uso de tablas de SAP En el siguiente ejemplo utilizaremos la tabla SPFLI del MINI SAP y crearemos una tabla interna a partir de un parámetro de entrada. REPORT ZEJEMPLO_016. * Declaro de datos * Declaro la estructura de la tabla interna TYPES:BEGIN OF ty_spflight, carrid like spfli-CARRID, connid like spfli-CONNID, airpto like spfli-AIRPTO, end of ty_spflight.
-97-
* Declaro la tabla interna con cabecera DATA TI_SPFLIGHT type standard table of ty_spflight wit h header line. * Declaro el parametro de entrada PARAMETER pa_carr like spfli-CARRID. * Seleccion de Datos select carrid connid airpto from spfli into table TI_SPFLIGHT WHERE carrid = pa_carr. *Salidas de datos loop at TI_SPFLIGHT. WRITE:/ TI_SPFLIGHT-CARRID color col_key, TI_SPFLIGHT-CONNID color col_key, TI_SPFLIGHT-AIRPTO. endloop.
14.21 Recorridos de tablas internas sin cabecera con usos de FIELDSYMBOLS En el siguiente ejemplo muestra el procedimiento: REPORT ZEJEMPLO_017. " Creamos la estructura de la tabla TYPES: BEGIN OF st_sflight, carrid LIKE sflight-carrid, " Compañia aerea connid LIKE sflight-connid, " Codigo de Vuelo END OF st_sflight. PARAMETERS: p_carrid LIKE sflight-carrid. DATA: ti_sflight TYPE STANDARD TABLE OF st_sflight. FIELD-SYMBOLS: LIKE LINE OF ti_sflight. SELECT carrid connid FROM sflight INTO TABLE ti_sflight WHERE carrid = p_carrid. LOOP AT TI_SFLIGHT ASSIGNING . WRITE: / -CARRID, -CONNID. ENDLOOP.
14.22 Pantallas de selección en ABAP En el siguiente ejemplo muestra el procedimiento:
-98-
REPORT ZEJEMPLO_018. TABLES: SPFLI. DATA: BEGIN OF st_spfli. INCLUDE STRUCTURE SPFLI. "Incluimos toda la estructura DATA: END OF st_spfli. DATA: ti_spfli LIKE TABLE OF st_spfli WITH HEADER LINE. * Creamos una ventana -> b01 “Pantalla de selección” SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME TITLE text001. PARAMETERS: porigen TYPE spfli-COUNTRYFR OBLIGATORY. SELECT-OPTIONS: pdestino FOR spfliCOUNTRYTO NO INTERVALS OBLIGATORY. SELECTION-SCREEN: END OF BLOCK b01. SELECT * FROM SPFLI INTO CORRESPONDING FIELDS OF TABLE ti_spfl i WHERE COUNTRYFR = PORIGEN AND COUNTRYTO = pdestino-low. LOOP AT TI_SPFLI. WRITE: / TI_SPFLI-CARRID, TI_SPFLI-CONNID, TI_SPFLI-CITYFROM, TI_SPFLI-CITYTO, TI_SPFLI-DEPTIME, TI_SPFLI-ARRTIME, TI_SPFLI-DISTANCE. ENDLOOP.
14.23 Listas interactivas ABAP con eventos. En el siguiente ejemplo muestra el procedimiento: REPORT ZEJEMPLO_019. TYPES: BEGIN OF struc, id like SCUSTOM-ID, name like SCUSTOM-NAME, END OF struc. * Declaramos la tabla interna del tipo struct con clave id. DATA: it_scustom TYPE STANDARD TABLE OF struc WITH KEY id. * Declaramos el area de trabajo de tipo estructura DATA: wa_scustom TYPE struc.
-99-
* Declaramos el area de trabajo para spfli DATA: wa_spfli LIKE spfli, wa_sbook like sbook. *Entramos en parametro PARAMETERS: pa_carr like spfli-CARRID. START-OF-SELECTION. SELECT carrid connid distance INTO CORRESPONDING FIELDS OF WA_SPFLI FROM SPFLI WHERE carrid = PA_CARR. WRITE:/ WA_SPFLI-CARRID color COL_KEY, WA_SPFLI-CONNID color COL_KEY, WA_SPFLI-DISTANCE color COL_NORMAL. * Hide para mantener en memnoria los campos carrid, connid y d istance HIDE: WA_SPFLI-CARRID, WA_SPFLI-CONNID, WA_SPFLI-DISTANCE. ENDSELECT. * Grabamos en memoria interna los datos del cliente. SELECT id name INTO TABLE IT_SCUSTOM FROM scustom. * Inicializamos CLEAR WA_SPFLI. * Evento seleccion de linea AT LINE-SELECTION. WRITE: text-001 COLOR COL_NORMAL, WA_SPFLI-CARRID color COL_KEY, WA_SPFLI-CONNID color COL_KEY, WA_SPFLI-DISTANCE color COL_NORMAL. "Con SKIP avanzamos una linea SKIP. *Cabecera de pagina para lista secundaria WRITE:text-003 COLOR COL_HEADING. SKIP. * Seleccionamos los datos para la lista secundaria SELECT bookid customid custtype class order_date smoker INTO CORRESPONDING FIELDS OF WA_SBOOK FROM sbook WHERE carrid = WA_SPFLI-CARRID AND connid = WA_SPFLI-CONNID. WRITE:/ WA_SBOOK-BOOKID COLOR COL_KEY. * Leemos el nombre del cliente * Limpiamos el valor wa_scustom
-100-
CLEAR WA_SCUSTOM. * Tomamos el valor del id MOVE WA_SBOOK-CUSTOMID to WA_SCUSTOM-ID. *Leemos el registro READ TABLE IT_SCUSTOM INTO WA_SCUSTOM FROM WA_SCUSTOM. * Imprimimos los datos correspondiente en la segunda lista WRITE: WA_SCUSTOM-NAME color COL_NORMAL, 37 WA_SBOOK-CLASS color COL_NORMAL, 42 WA_SBOOK-ORDER_DATE color COL_NORMAL, WA_SBOOK-SMOKER color COL_NORMAL. ENDSELECT. CLEAR WA_SPFLI.
14.24 ABAP Programación Orientada a Objetos POO. ABAP implementa también la programación orientada a objetos. Al igual que C++, Java o C# podemos crear clases. REPORT ZEJEMPLO_020. * Definimos la clase CLASS C_CONTADOR DEFINITION. PUBLIC SECTION. METHODS: FIJAR_CONTADOR IMPORTING VALUE(FIJAR_VALOR) TYPE I, INCREMENTAR_CONTADOR, OBTENER_CONTADOR EXPORTING VALUE(OBTENER_VALOR) TYPE I. PRIVATE SECTION. DATA CONT TYPE I. ENDCLASS. * Implementamos los métodos de la clase CLASS C_CONTADOR IMPLEMENTATION. METHOD FIJAR_CONTADOR. CONT = FIJAR_VALOR. ENDMETHOD. METHOD INCREMENTAR_CONTADOR. ADD 1 TO CONT. ENDMETHOD. METHOD OBTENER_CONTADOR. OBTENER_VALOR = CONT. WRITE:/ CONT. ENDMETHOD. ENDCLASS.
-101-
* Creamos una clase y la instanciamos START-OF-SELECTION. DATA: MYCONTADOR TYPE REF TO C_CONTADOR. CREATE OBJECT MYCONTADOR. CALL METHOD MYCONTADOR->INCREMENTAR_CONTADOR. CALL METHOD MYCONTADOR->OBTENER_CONTADOR. END-OF-SELECTION.
14.25 Como crear un corte de control en ABAP Como crear un corte de control en una tabla interna para poder imprimir un listado por pantalla. REPORT
z_prueba_abap_3_3.
* Tipo de la estructura de clientes TYPES: BEGIN OF ty_clientes, nrocli(5) TYPE c, region(4) TYPE c, distrito(3) TYPE c, cuenta(5) TYPE c, concepto(30) TYPE c, importe TYPE i, END OF ty_clientes. * Tablas internas y estructuras DATA: ti_clientes TYPE STANDARD TABLE OF ty_clientes, st_clientes LIKE LINE OF ti_clientes, st_clientes_aux LIKE LINE OF ti_clientes. * Flag DATA: v_importe_acumulado TYPE i. START-OF-SELECTION. * 1 st_clientes-nrocli = '00001'. st_clientes-region = 'RECA'. st_clientes-distrito = '202'. st_clientes-cuenta = '47100'. st_clientes-concepto = 'IVA100%'. st_clientes-importe = 30. INSERT st_clientes INTO TABLE ti_clientes. * Ordeno la tabla interna
-102-
SORT ti_clientes BY nrocli region distrito cuenta concepto. * Recorro la tabla interna LOOP AT ti_clientes INTO st_clientes. * Copio el contenido del registro a una estructura auxiliar, esto se debe a que ABAP completa con * totod los campos a la derecha del corte CLEAR st_clientes_aux. st_clientes_aux = st_clientes. * Por cada nuevo cliente. Esta sentencia compara el campo co n el anterior si es difrente ejecutara la sentencia que esta d entro de el. AT NEW nrocli. CLEAR v_importe_acumulado. FORMAT COLOR 1. WRITE:/ 'Cliente:', st_clientes_aux-nrocli. ENDAT. *
Acumulo el importe ADD st_clientes_aux-importe TO v_importe_acumulado. AT END OF nrocli.
* *
Imprimo titulos de los detalles FORMAT COLOR 1. WRITE:/10 'Region', 20 'Distrito', 30 'Cuenta', 45 'Concepto', 55 'Importe Total'. WRITE: /10 st_clientes_aux-region, 20 st_clientes_aux-distrito, 30 st_clientes_aux-cuenta, 45 st_clientes_aux-concepto, 55 v_importe_acumulado. WRITE:/ sy-uline. ENDAT. ENDLOOP.
-103-
14.25 Crear una Transacción que te ejecute un programa z. Entramos a la transacción SE93, le ponemos un código que debe empezar con "Z" ejemplo "ZMFH".
Le ponemos el nombre del programa Z que queremos ejecutar, ejemplo usaremos "Zcalculadora".
-104-
14.26 Diccionario ABAP "SE11" El diccionario ABAP El diccionario ABAP contiene todos los metadatos acerca del sistema SAP. Está muy ligado con la plataforma de trabajo de ABAP en el que cualquier referencia a los datos se obtiene del diccionario (por ejemplo, tablas, vistas, tipos de datos ) . Los desarrolladores usan el diccionario de transacciones de ABAP(directamente o a través del objeto navegador dentro de la plataforma de trabajo SE80) para mostrar y mantener los metadatos. Cuando un objeto del diccionario es modificado, un programa que lo referencie automáticamente cambia su referencia al nuevo estado del objeto la próxima vez que se ejecute. Ya que ABAP es interpretado, no es necesario recompilar programas que referencien a objetos que se modifiquen dentro del diccionario . En el campo base de datos seleccionamos el nombre de la tabla que queremos mostrar en este ejemplo LFA1 es la tabla de proveedores.
-105-
Nos mostrará todo los campos de la tabla, Pulsamos "Ctr + Shift + F10" o en el botón de mostrar una pantalla de selección.
Pulsamos el botón ejecutar "F8"
Mostrará todos los datos de la tabla.
-106-
14.26 Módulos de funciones SE37 Son funciones que han sido creadas en SAP y que pueden ser utilizadas por cualquier programa ABAP, para acceder a estas funciones entraremos a la transacción SE37. Tiene una interface definida ya que su diseño facilita el paso de parámetros tanto de entrada como de salida. CALL FUNCTION EXPORTING IMPORTING TABLES EXCEPTIONS
Ejemplo de uso de función CALL FUNCTION 'POPUP_TO_CONFIRM' EXPORTING titlebar = 'Aplicacion de Ejemplo' text_question = 'Desea borrar el registro?' text_button_1 = 'Si' text_button_2 = 'No' display_cancel_button = '' EXCEPTIONS text_not_found = 1 OTHERS = 2.
-107-
Como crear un módulo de función. Para crear un módulo de función accederemos a la transacción SE37. Allí escribiremos el nombre de nuestra función que será Z_TEST_MIFUNCION y presionamos crear "Create".
Creamos un grupo de funciones en la transacción SE37, y buscamos el menú GOTO, FUNCTION GROUPS, CREATE GROUP
Solapas de las funciones: Atributos: Se especifica la descripción de la función y el tipo de función que puede ser Normal, RFC o Update module. Import: aquí especificamos los parámetros de entrada de la función. Export: aquí especificamos los parámetros de salida de la funcion. Modicaciones (Changing): aquí especificamos los parámetros de salida que cambiarán de valor con la ejecución de la función.
-108-
Tablas: aquí especificamos las tablas que se utilizan en la función. Excepciones: aquí especificamos las tablas que se utilizan en la función. 14.26 Módulos de funciones RFC mediante SE37 Consiste en una llamada a una función que existe en un sistema distinto al programa que la llama. El objetivo principal de las RFC es acceder a otros ambientes para obtener datos. La comunicación puede darse entre sistemas SAP o entre un sistema que no sea SAP. Para llamar a una función RFC se debe agregar la clausula DESTINATION al momento de declarar la función, la diferencia fundamental cuando creamos una función RFC es que en la pestaña Atributos tenemos que marcar "Módulo de acceso remoto". Los parámetros que se crear deben tener marcado transportar valores. Tipos de RFC: Sincrónica: ambos sistemas deben estar disponible al momento de la llamada de la función. estas RFC están basadas en una comunicación sincrónica. Es la más utilizadas. Transaccionales: los sistemas no necesitan estar disponible al momento de la llamada de la función. Un único ID de transacción es generado y los programas llamados son almacenados en el sistema junto con los datos. Para crear una RFC transaccional debo utilizar el sufijo IN BACKGROUND TASK como se muestra a continuación. CALL FUNCTION 'RFC_FUNCTION_N' IN BACKGROUND TASK DESTINATION 'DEST' EXPORTING... TABLES...
Asincrónicas: el programa llamador, llama a la función RFC e inmediatamente después termina su procesamiento. Luego la función RFC se ejecuta independientemente del programa llamador. Para crear una RFC asincrónica debes utilizar el sufijo STARING NEW TASK como se muestra a continuación.
-109-
CALL FUNCTION RemoteFunction STARTING NEW TASK taskname DESTINATION... EXPORTING... TABLES...
14.25 Destinos RFC. Transacción SM59. Los destinos RFC es una puerta de enlace entre el sistema SAP con otros sistemas que no son SAP. Estos destinos RFC son creados en la tabla estándar SAP RFCDES a través de la transacción SM59. Mediante esta transacción se puede crear, borrar y modificar conexiones R/3, Conexiones internas, destinos lógicos, conexiones TCP/IP y conexiones con driver ABAP. Los tipos de destinos RFC que se pueden crear son: - Conexiones ABAP - Conexiones HTTP a servidor externos. - Conexiones internas - Conexiones lógicas (SNA o CPI-C). -Conexiones TCP/IP - Conexiones con ABAP driver 14.25 Variante en SAP Cuando tenemos un programa y queremos guardar los datos de entrada para no tener que teclearlos cada vez que iniciemos la aplicación podemos usar las variantes. Una vez compilada la aplicación guardamos en el botón salvar y la variante será guardada cada vez que queramos utilizar los datos llamamos a la variante desde el botón que aparece arlado del botón ejecutar.
-110-
14.25 Trabajo con colores en SAP Existen muchas variantes de ejecución de la sentencia FORMAT COLOR para poder ponerle color a los programas en SAP. FORMAT COLOR [ON] INTENSIFIED [ON|OFF] INVERSE [ON|OFF]. REPORT Z_COLOR. FORMAT COLOR COL_GROUP INTENSIFIED. WRITE: 'Color de ejemplo'.
Otros ejemplo lo veremos en el siguiente código. REPORT demo_list_format_color_1. DATA i TYPE i VALUE 0. DATA col(15) TYPE c. WHILE i < 8. CASE i. WHEN 0. col = 'COL_BACKGROUND '. WHEN 1. col = 'COL_HEADING '. WHEN 2. col = 'COL_NORMAL '. WHEN 3. col = 'COL_TOTAL '. WHEN 4. col = 'COL_KEY '. WHEN 5. col = 'COL_POSITIVE '. WHEN 6. col = 'COL_NEGATIVE '. WHEN 7. col = 'COL_GROUP '. ENDCASE. FORMAT INTENSIFIED COLOR = i. WRITE: /(4) i, AT 7 sy-vline, col, sy-vline, col INTENSIFIED OFF, sy-vline, col INVERSE. i = i + 1. ENDWHILE.
-111-
REPORT demo_list_format_color_2 NO STANDARD PAGE HEADIN G LINE-SIZE 70. TABLES: spfli, sflight. DATA sum TYPE i. TOP-OF-PAGE. WRITE 'List of Flights' COLOR COL_HEADING. ULINE. GET spfli. FORMAT COLOR COL_HEADING. WRITE: 'CARRID', 10 'CONNID', 20 'FROM', 40 'TO'. FORMAT COLOR COL_KEY. WRITE: / spfli-carrid UNDER 'CARRID', spfli-connid UNDER 'CONNID', spfli-cityfrom UNDER 'FROM', spfli-cityto UNDER 'TO'. ULINE. FORMAT COLOR COL_HEADING. WRITE: 'Date', 20 'Seats Occupied', 50 'Seats Availabl e'. ULINE. sum = 0. GET sflight. IF sflight-seatsocc LE 10. FORMAT COLOR COL_NEGATIVE. ELSE. FORMAT COLOR COL_NORMAL. ENDIF. WRITE: sflight-fldate UNDER 'Date', sflight-seatsocc UNDER 'Seats Occupied', sflight-seatsmax UNDER 'Seats Available'. sum = sum + sflight-seatsocc. GET spfli LATE.
-112-
ULINE. WRITE: 'Total Bookings: ' INTENSIFIED OFF, sum COLOR COL_TOTAL. ULINE. SKIP.
14.25 Creación de un Status GUI mediante SE80 Es un componente independiente de los programas ABAP, que se utiliza para proporcionarle al usuario un amplio rango de funciones en la pantalla de los programas. Está compuesto por barra de menú, barra de herramienta estándar, barra de herramienta de aplicaciones y la configuración de las teclas de función. Para crear un Status GUI se realiza por la transición SE80. ingresamos el nombre del programa, presionamos Enter y lo creamos tal como hacíamos a través de la transacción SE38.
-113-
Colocas el nombre al status 0100 y una descripción breve Status del reporte
Mediante la transacción SE41 se puede copiar Status GUI de un programa a otro.
14.27 Transacciones más utilizadas en ABAP SMOD Gestión de ampliaciones SAP (para usuarios-existentes) CMOD
-114-
Ampliaciones SM37 Visualización de Jobs SE30 Tiempo de ejecución de objetos ABAP SE16 Browser de datos SE93 Visualización, modificación y creación de transacciones SICF Internet Communication Framework - Activar servicios SE11 Diccionario de ABAP SE19 BADI’s (Bussiness Ad-ins) son unas herramientas para implementar validaciones y ampliaciones en el código SE24 Class Builder SE35 Manejo de Batch inputs SE37 Function Builder. Se usa para crear, probar y administrar módulos de funciones ABAP. Manejos de funciones SE38 ABAP EDITOR, Manejo y desarrollo de programas
-115-
SE41 Menu Painter, Para desarrollar menús estándar para las diferentes pantallas. SE51 Screen Painter, Se usa para el desarrollo de la interfaz de usuario de una nueva transacción Z o reporte. SE80 ABAP Development Workbench, Se usa para navegar por todo el workbench, es el principal punto de entrada para la programación ABAP. SE91 Message Maintenance, Nos permite crear y administrar mensajes genéricos que podemos utilizar a lo largo de los nuevos desarrollos.
-116-
APUNTES DE SAP ECC CONCEPTOS
CANAL DE DISTRIBUCIÓN Conducto que utiliza la empresa para ofrecer sus productos o servicios al consumidor. TRANSACCION Es un código que lanza una ventana para ejecutar una acción específica, ejemplo: si queremos programar con ABAP se lanza la transacción "SE398". En SAP las transacciones tienen nombres alfanuméricos. PARAMETRIZAR Es una configuración del sistema SAP ERP que se utiliza para configurar un módulo o parte de este. ABAP: Advanced Business Application Programming. Lenguaje de programación desarrollado por SAP para propósitos de desarrollo sobre dicha herramienta. Todas las aplicaciones de R/3 están escritas en ABAP4. Almacén: Un almacén es el lugar donde está depositado físicamente el stock dentro de un centro. A nivel de almacén los stocks se gestionan sólo cuantitativamente y no en base al valor. Los almacenes siempre son creados para un centro. El inventario se efectúa a nivel de almacén dentro de un centro puede haber uno o varios almacenes. API: Aplication Program Interface. Área de valoración: se define especificando en qué nivel se valoran los stocks de material, es decir, a nivel de sociedad o a nivel de centro. ASAP: Accelerate SAP Implementetion Assistant. Metodología de implantación de SAP. Bloqueo de documento de ventas: Un documento de ventas estará en status de bloqueo cuando ha de ser aprobado por la persona correspondiente para que se pueda crear el documento posterior. BPML: Business Process Master List. Lista de procesos de negocio del ASAP. Cabecera de un documento: supone todo aquello que afecta o es común a cualquier documento. Canal de Distribución: Elemento que describe a través de qué canal se distribuirán las mercancías y/o servicios al cliente.
-117-
APUNTES DE SAP ECC Categoría de valoración: agrupación de materiales o servicios que se determinan contablemente de igual forma Centro de coste: unidad organizativa perteneciente a una sociedad de controlling que representa áreas únicas de responsabilidad en la empresa que pueden generar costes e influir sobre ellos. Centro de emplazamiento: Centro en el que están instalados los objetos técnicos (ubicaciones y equipos) de la empresa. Centro de planificación de mantenimiento: Es el centro donde se planifican y preparan las medidas de mantenimiento para un objeto técnico. En él, se pueden definir varios grupos de planificación. Centro: unidad organizativa asignada a una sociedad, con dirección, idioma, moneda y datos maestros propios. Los materiales se valoran y se gestiona su stock en este nivel. Clase de actividad: representa la cesión de un recurso por parte de un centro de coste a otro objeto (elemento PEP, centro de coste, orden de controlling...). Lleva asociada una clase de coste y una tarifa (por cada centro de coste). Económicamente, la cesión se representa con un abono en el centro de coste y un cargo en el objeto receptor por un importe igual al producto de la tarifa por la cantidad del recurso utilizado. Clase de coste: clasificación del consumo valorado de factores productivos dentro de una sociedad de controlling. Pueden ser primarios (costes que se originan fuera de la empresa) o secundarios (costes generados en procesos internos). Clase de desarrollo: Conjunto de desarrollos y parametrizaciones que guardan una relación lógica entre sí y deben ser transportados conjuntamente. Clase de movimiento: clave que identifica todos y cada uno de los movimientos de mercancía posibles en el sistema. Clases de activos: Criterio principal para clasificar activos según los requerimientos legales y de la empresa. Cada clase de activos llevará asociada la cuenta de mayor correspondiente para que la contabilización sea automática.
-118-
APUNTES DE SAP ECC Clave de modificación del objeto: Al intentar modificar un objeto estándar de SAP el sistema pide una clave que se obtiene vía OSS o Sapnet. CME (Cuenta de Mayor Especial): son cuentas utilizadas para contabilizar anticipos y efectos comerciales. Funcionan igual que las cuentas auxiliares de terceros. Complejos de AF (activo fijo): Un complejo de activo fijo es un objeto, un derecho o cualquier otro valor económico que está permanentemente a disposición de la empresa. Un complejo de AF puede representarse en el sistema con una o más entradas de activo maestro. Condición de precios: Se considera como condición de precios todos aquellos elementos a partir de los cuales se determina el importe total de la realización de un proyecto o la prestación de un servicio. (Ej. : precios, descuentos, impuestos...). Condiciones: suponen recargos o reducciones que afectan al precio de un material o servicio y que por norma general se reflejan en el valor de este en el inventario. Creación de un documento de ventas con referencia a otro: Al referenciar un documento a otro el sistema leerá los datos del documento origen y los llevará al documento destino siendo siempre susceptibles de modificación. Crear proveedor por Central: supone dar de alta un proveedor con todos sus datos, es decir: datos generales, financieros y de compras . Crear proveedor por Compras: supone dar de alta un proveedor únicamente con los datos generales y de compras. Cuenta simbólica: objeto de cuenta de nómina usado para contabilizar resultados en contabilidad. El número de las cuentas simbólicas y sus respectivas características representan los diferentes gastos y pagos en que se incurren como coste de personal dentro de la contabilidad de nómina y que puede contabilizarse en Contabilidad. Las cuentas simbólicas están asociadas a cuentas financieras. Esto garantiza que la determinación de la cuenta se lleva a cabo durante la contabilización.
-119-
APUNTES DE SAP ECC Customizing Organizer: Herramienta para organizar el Customizing de un proyecto, forma parte del entorno de Corrección y Transporte. Diccionario ABAP: Almacén de todos los objetos de la base de datos (tablas, estructuras, dominios, etc) R/3. Son los objetos que se podrán usar en el ABAP Workbench. Distribución: proceso de imputación de costes primarios a diferentes objetos de costes. Se pierde la naturaleza del coste en el origen, que se traspasa al receptor bajo la clase de coste primaria original. Documento de material: o documento de logística, es el registro que realiza el sistema después de haberse producido un movimiento físico de material. Puede ir acompañado o no por un documento financiero. Documento de ventas: Llamaremos documento de ventas a la oferta, pedido, solicitud de abono, solicitud de cargo... Documento financiero: o documento contable, es el registro (apunte contable) que realiza el sistema después de haberse producido un movimiento de valor. Puede ir acompañado o no de un documento de material. Documento preliminar: es el registro previo a la contabilización de una factura de proveedor procedente de un pedido de compras. No realiza apunte contable. Documentos preliminares: son documentos que se graban en SAP pero sin contabilizarse. Cuando el documento está validado y aprobado se procede a su contabilización. Elemento PEP: Elemento individual que forma parte de la estructura jerárquica de un proyecto (WBS). Representa una tarea que puede ser dividida a su vez en subtareas. Es el objeto que recoge la información económica para el seguimiento del proyecto. Entorno de Corrección y Transporte (Correction & Transport Organizer): Entorno donde se guardan las modificaciones del Repositorio así como del Customizing para su posterior transporte a otros sistemas.
-120-
APUNTES DE SAP ECC Entrada de mercancías: es la entrada que se produce en el sistema de todos aquellos pedidos de material o servicio del Maestro de Materiales o de cualquiera otro (inmovilizado) exceptuando los del Maestro de Servicios. Entregable: Documento formal resultado de una tarea específica del proyecto SerpA. EPC: Event process content. Equipo: Objeto técnico que representa todas las máquinas o dispositivos susceptibles de mantenimiento. Equipo de Desarrollo: Grupo de personas encargadas de realizar los desarrollos que sean necesarios. Equipo Tecnológico: Grupo de personas encargadas de la administración del sistema. Estrategia de liberación: supone el conjunto de pasos que se pueden dar en el tratamiento de una solicitud de pedido (necesidad interna) para bloquear o liberar dicho documento. Estructura info: Tablas estadísticas especiales que contienen datos básicos de distintas aplicaciones. FIT: Ajuste. Término en inglés que se utiliza para describir si SAP cumple el requisito y cómo lo cumple. Flujo de trabajo: Secuencia de pasos que son procesados por personas o automáticamente por el sistema. Formulario: Documento de ventas o factura impreso. Función interlocutor: supone las diferentes funciones que puede reflejar un mismo proveedor para distintas situaciones en relación al Instinto. GAP: Hueco. Término en inglés que se utiliza para describir los requerimientos que no cumple SAP. Supone normalmente realizar un desarrollo para cubrirlo.
-121-
APUNTES DE SAP ECC Grafo: es la representación de un conjunto de operaciones a realizar dentro de un proyecto, y las relaciones de ordenación entre dichas operaciones. Las operaciones del grafo se utilizan para realizar la asignación de recursos al proyecto y controlar las fechas y capacidades. Grupo de actos: Los grupos de actos permiten identificar las diferentes líneas formativas existentes en el Gobierno de Aragón. Son grupos de actos: Calidad, Ofimática, Técnicos, etc. Grupo de clientes: Clasificación de clientes. Se pueden hacer clasificaciones de clientes según distintos criterios, por ejemplo clientes nacionales, extranjeros, defensa... Grupo de cuentas: clasificación que se puede realizar de los proveedores del Instituto atendiendo a los criterios necesarios. Grupo de planificación: Grupo de planificadores que pertenece a un centro de planificación de mantenimiento en el que se planifican y preparan medidas de mantenimiento para un objeto técnico. Grupo de Vendedores: Grupo de personas responsables de la gestión de ventas para determinados productos o prestaciones de servicios. Grupos de artículos: clasificación de los materiales o servicios atendiendo a la familia o subfamilia a la que pertenecen. Supone el criterio de búsqueda más importante y de mayor uso dentro de las estadísticas de compras, después de la Organización de Compras. Grupos de compras: clasificación de los solicitantes, compradores o grupos de compradores del Instituto para los diferentes procedimientos de compras del Instituto. Un mismo grupo de compras puede estar asociado a distintas organizaciones de Compras. Hoja de ruta de mantenimiento: Secuencia de operaciones a realizar durante la ejecución de una orden de mantenimiento. IFs. Interfases. Programa que relaciona a otros dos programas o aplicaciones. Interlocutor Comercial: Distintas funciones que puede tener un cliente. Los interlocutores comerciales estándar pueden ser solicitante (el que realiza el pedido), destinatario de mercancías (a quien se va a enviar la
-122-
APUNTES DE SAP ECC mercancía), destinatario de factura (quien va a recibir el documento de la factura) y el responsable de pago (quien va a realizar el pago). Línea de una posición: posición dentro de otra posición cuando se trata la compra de servicios del Maestro de Servicios. Mandante. Mínima unidad de gestión de SAP R/3, que es independiente y contiene sus propios registros maestros y de datos. Mantenimiento correctivo: Conjunto de medidas de mantenimiento que no han sido generadas a partir de un plan previo. Mantenimiento preventivo: Medidas de mantenimiento que se realizan periódicamente, generadas a partir de un plan definido previamente. Material de Libre utilización: status o situación del material en el stock de almacén para que pueda ser libremente utilizado por cualquiera y para cualquier uso. Material en stock EM bloqueado: status o situación previa del material, servicio o inmovilizado (Maestro de materiales) al momento de ser recepcionado en el sistema. Nota OSS: Nota obtenida de OSS para la resolución de un error. Objeto técnico: Término de SAP que agrupa tanto las ubicaciones técnicas como los equipos en mantenimiento. Oficina de Ventas: Delegación responsable de la comercialización de determinados productos y servicios en una determinada zona geográfica. Operación: Es cada una de las actividades a realizar dentro de un proyecto. Se les asignan fechas de inicio y fin y puede ser realizada por recursos internos a la empresa o externos. Orden de coste: se utilizan para planificar, monitorizar y liquidar costes de operaciones específicas realizadas en el ámbito de la empresa. Representan un nivel operativo más detallado que la imputación a centros de coste. Organización de compras: unidad organizativa independiente de negociación de Compras y asociada al Centro o Sociedad.
-123-
APUNTES DE SAP ECC Organización de ventas: Unidad organizativa responsable de la comercialización de determinados productos o servicios. OSS: Online Service Support. Servicio de asistencia que da SAP vía remota para busca de notas y resolución de problemas. PCB. Project Control BooK. Herramienta de control de proyecto. La oficina de proyecto informa de su funcionamiento. Plan de valoración: se utiliza para incluir las amortizaciones dentro de una sociedad. Normalmente solo se abrirá un plan de valoración por sociedad que incluirá todas las áreas de valoración. Plazo entrega previsto: plazo de tiempo en días, semanas, etc., que tarda un proveedor en suministrar una mercancía o servicio. Pool de facturación: Creación masiva de facturas. El pool de facturación aparecerá como un listado de todos los documentos liberados para facturación. Seleccionando de esa lista los que se quieren facturar se crean las facturas automáticamente. Pool de trabajo: son agrupaciones para trabajar de forma masiva con datos que tienen las mismas características. Posición de un documento de ventas/factura: Cada una de las líneas del documento de ventas o factura. Cada posición incluye datos propios como datos de material y cantidad solicitada. Posición: supone el mínimo desglose posible dentro de cualquier documento. Proyecto: Estructura jerárquica de tareas que se define dentro de una sociedad de controlling y que se utiliza para controlar plazos, recursos (materiales, equipo, recursos humanos...), capacidades de los recursos asociados al proyecto, costes e ingresos planificados y reales . QA (Quality Assurance): Quality Assurance. Proceso que define las actividades a realizar con el fin de prevenir posibles defectos de calidad o riesgos que podrían afectar al proyecto en la consecución de sus objetivos.
-124-
APUNTES DE SAP ECC Query: Programa que lee ciertos elementos de datos y los muestra en una lista. Ramo: una de las unidades identificativas en la clasificación que se puede hacer de los tipos de material según, entre otras cosas, del orden en que se presentarán los mismos datos en el sistema. Report: listado, informe o consulta de cualquier conjunto de datos existente en el sistema. Repositorio: Objetos desarrollados en el ABAP Workbench. Sapscript: Herramienta base para sacar los formularios de los documentos de ventas y/o facturas. Sector: Agrupación de materiales, productos y servicios. Servicio: prestación de trabajos externos o subcontrataciones realizadas. Esta prestación se puede mantener en un fichero o Maestro de Materiales y tratar el servicio como tal; o en el Maestro de Servicios y tratarlo como servicio. SI. Sistema de información. SIL (Sistema de Información para Logística): Los sistemas de información del área de Logística son herramientas flexibles para agrupar, integrar y analizar datos de aplicaciones activas. Esto permite reconocer zonas problemáticas existentes y analizar las causas lo antes posible mediante ratios fiables. Estos ratios se basan en operaciones que se realizan con frecuencia. Sociedad: Unidad financiera independiente. Elemento organizativo legal de la contabilidad. Solicitante: persona que manifiesta o realiza una necesidad o solicitud de pedido. Status de bloqueo: situación que puede tener un objeto (material, proveedor,...) que le imposibilita ser utilizado temporalmente. Status de material: situación de un material dentro del stock (libre utilización, bloqueado por calidad, etc.)
-125-
APUNTES DE SAP ECC Stock de proyecto: cantidad de material ligado exclusivamente al stock existente en todos los proyectos. Stock especial: diferentes tipos de stock que se pueden utilizar, por ejemplo: stock (normal), stock en consignación. No confundir con status, que es la situación del material dentro del mismo tipo de stock. Subnúmero: número, que en combinación con el número principal de activo identifica inequívocamente un activo en el sistema. Usando el subnúmero de activo hace posible representar activos fijos en el sistema. El activo fijo complejo es identificado por el número principal del activo. Cada una de las partes individuales de un activo o sucesivas adquisiciones pueden representarse por un subnúmero. Se especificará separadamente un dato maestro para cada subnúmero. Subreparto: proceso de imputación de costes primarios y secundarios a diferentes objetos de coste. Se pierde la naturaleza del coste en el destino, que se recoge bajo una clase de coste de subreparto (secundaria). Tabla de planificación de proyectos: Pantalla del sistema a través de la que el Jefe de Proyecto puede controlar un proyecto de forma global, ajustar fechas de operaciones mediante el Diagrama de Gantt y visualizar características de las operaciones del proyecto tales como los costes planificados y reales, recursos asignados, etc. Tarifa: Precio por unidad de recurso que puede ceder un centro de coste. Tipo de actos: Un tipo de acto es la descripción generalizada de un curso. Todos los actos que se creen dentro de un tipo de acto deberían impartir una misma materia. Tipo de imputación: clave que indica si una posición (de solicitud de pedido, pedido, etc) ha de cargarse contra los centros de coste, orden de CO, inmovilizado, proyecto, etc. Tipo de material: criterio de clasificación de los materiales en su nivel más agregado, según lo que se permite hacer o no con él (compras, vender, producir, valorar, almacenar, etc). Tipo de posición: clave que indica cómo se va a controlar el aprovisionamiento de cada una de las posiciones del documento de compras, para un material o servicio.
-126-
APUNTES DE SAP ECC Ubicación técnica: Objeto técnico que representa todas las localizaciones donde se encuentran instalados los equipos. UMB: Unidad de Medida Base. Unidad de almacenamiento en la que se define cada material. UMP: Unidad de Medida de Pedido. Unidad de compras en la que se determina la compra de un material o servicio. UMPP: Unidad de Medida del Precio del Pedido. Unidad de pago al proveedor en la factura. User exit: Programa mediante el cual se consiguen funcionalidades que no da SAP estándar. Vale de acompañamiento de mercancías: albarán interno que sirve de acompañamiento a cada movimiento físico del material en el sistema. Valores estadísticos: base de referencia para el cálculo de distribuciones y subrepartos. Verificación de facturas: procedimiento por el que se contabilizan las facturas del proveedor.
-127-
APUNTES DE SAP ECC PRINCIPALES TABLAS DE SAP MOD TABLA MM MARA Datos generales de un material MM MAKT Descripción del material MM MARM Unidades de medida de un material MM LQUA Inventario a nivel ubicación MM EKKO Encabezado de orden de compra MM EKPO Partida de orden de compra MM EKBE Historial de la orden de compra MM EKES Entregas de la orden de compra MM EKET Plan de entregas de una orden de compra MM EKPV Plan de entregas de una orden de compra MM LTBK Encabezado de una necesidad de transporte (NT) MM LTBP Partidas de una necesidad de transporte (NT) MM LTAK Encabezado de una orden de transporte (OT) MM LTAP Partidas de una ordenes de transporte OT abiertas MM LIKP Encabezado de un documento de entrega MM LIPS Partidas de un documento de entrega FI LFA1 Datos generales de proveedor FI LFB1 Datos generales de proveedor nivel compañía FI LFM1 Datos generales de proveedor nivel organización de compras FI LFM2 Datos generales de proveedor nivel planta. Maestro de materiales MAKT MARA MARC MARD MARM MBEW MEAN MKAL MLAN MLGN MLGT MOFF MSTA MVKE
Descripciones de material Datos generales Material por centro Segmento almacén/lotes Unidades de medida Valoración-material Núm de artículos europeos de mat Versiones de fabr del material Clasificación impuestos mat Datos mat por núm almacén Datos mat por tipo de almacén Maestros de mat aún abiertos Status de maestro de materiales Datos de ventas
-128-
APUNTES DE SAP ECC Gestión de stocks MARD MCHB MSLB MKOL MSSL
Stock por centro/almacén Stocks de lotes Stock especial en proveedor Stocks especiales del proveedor Suma stock especial en proveedor
Documentos de material MKPF MSEG RESB T156T
Cabecera del doc-material Segmento del documento-mat Reserva/necesidades secundarias Textos clase de movimiento
-129-
APUNTES DE SAP ECC
SITIOS DE INTERES BLOG www.mundoabap.es www.blogdesap.com www. saptricks.wordpress.com www.abap.es IDES www.erptraininguk.net www.idesremote.com ACADEMIAS www.aplisap.com
-130-
APUNTES DE SAP ECC
MÓDULOS DE SAP Finanzas (FI) FI = Contabilidad AA - Activos Fijos AP- Deudores AR- Acreedores GL- Contabilidad General LC- Consolidación SL- Contabilidad Especial CO = Coordinación y control ABC - Control de Costes Basado en Actividades OM - Costes Operativos PA - Análisis de Rentabilidad PC - Costes de Productos EC = Controling Corporativo EIS - Sistema de Información MC - Consolidación PLA - Contabilidad de Centros de Beneficios IM - Inversiones IM - Inversiones de Capital FA - Medidas de Recursos Inmovilizados Tangibles TR - Tesorería CM - Caja FM - Presupuestos TM - Tesorería MRM - Riesgos Recursos Humanos (HR) PA - Administración de personal APP - Candidatos BEN - Beneficios EMP - Empleados INW - Incentivos PAY - Nómina TIM - Gestión de Tiempos TRV - Gestión de Viajes PD = Módulo de desarrollo OM - Organización PD - Desarrollo de Personal RPL - Planificación y Reserva de Salas SCM - Seminarios y Convenciones
-131-
APUNTES DE SAP ECC WFP - Planificación del Trabajo Logística (LO) LO = Logística ECH - Cambios de Ingeniería EHS- Medio Ambiente, Salud y Seguridad LIS - Información Logística MD - Datos Maestros PR- Previsiones VC - Configuración de Variantes MM = Materiales CBP - Planificación Basada en Consumo EDI - Intercambio Electrónico de datos IM - Inventario IS - Información IV-Facturas POR-Compras WM-Almacén PM = Mantenimiento de planta EQM- Equipos y Objetos Técnicos IS-Información de planta PRM-Mantenimiento Preventivo PRO-Proyectos de Mantenimiento SMA-Servicios WOL-Órdenes de Mantenimiento PP=Producción ATO-Ensamblaje BD-Datos Básicos CRP-Planificación de Capacidad IS-Información de Producción KAB-Kanbam / Just–in–time MP-Planificación Maestra MRP-Planificación de Necesidades de Material PDC-Recolección de Datos de Planta PI-Planificación de Producción para Industrias por Procesos REM-Fabricación Repetitiva SFC-Órdenes de Producción SOP-Ventas y Operaciones PS=Proyectos APP-Presupuestos BD-Datos Básicos EXE-Ejecución / Integración IS - Información de Proyectos
-132-
APUNTES DE SAP ECC OPS-Estructuras Operativas PLN- Planificación QM=Calidad CA-Certificados de Calidad IM-Inspecciones PT-Herramientas de Planificación QC-Control de Calidad QN-Notificaciones SD-Ventas y distribución GF-Funciones Generales BIL-Facturación CAS-Soporte a Ventas EDI - Intercambio de Datos FTT - Comercio Exterior SIS - Información de Ventas MD - Datos Maestros SHP- Envíos SLS - Ventas TR- Transporte
-133-