jueves, 2 de agosto de 2012

Conseguir acceso a un servidor SAP - 2º parte

SAPGUI 

SAP R/3 es un software basado en la arquitectura cliente/servidor. SAPGUI o SAP FRONTEND es el programa cliente de SAP y hace las funciones de interfaces entre el usuario y el servidor sap. Trabaja en la capa de presentación y "presenta" la información al usuario, interactua con el usuario y le permite navegar por las diferentes aplicaciones integradas en SAP R/3 



Existen dos SAPGUI: 
- SAPGUI for Windows: Como su propio nombre indica, para sistemas operativos windows.
- SAPGUI for Java: Es un cliente multiplataforma ( Mac OS X, Windows, Linux, Solaris y AIX ).

Actualmente puedes encontrar 4 versiones para SAPGUI for windows:
   - SAPGUI 6.20  sin soporte por parte de SAP desde 31.12.2010
   - SAPGUI 7.10  sin soporte por parte de SAP desde 31.04.2011
   - SAPGUI 7.20  con soporte por parte de SAP hasta 09.04.2013
   - SAPGUI 7.30  con soporte por parte de SAP hasta 15.07.2015

Y 3 versiones para SAPGUI for Java:
   - SAPGUI 7.10  sin soporte por parte de SAP desde 31.04.2011
   - SAPGUI 7.20  la ultima versión liberada es SAPGUI for Java rev11, no soporta Java SE 7.
                              Soporta OpenSUSE 12.1 y Fedora 16.
                              En la Nota 1400273 tenéis la lista completa de sistemas operativos que soporta.
   - SAPGUI 7.30  Soporta Java 7 y  Java de 64bits para windows
                              Soporta los siguientes sistemas operativos: 

          • OpenSUSE 12.2
          • Fedora 17
          • Red Hat Enterprise Linux 6
          • Ububtu 12.04
          • OS X 10.8
          • Microsoft Windows 8   
Aparte de la versión tenemos que tener en cuenta el nivel de parcheado, a mayor nivel de parcheado, menos bugs. Para ver el nivel de parcheado, hacer click en la esquina superior izquierda de la ventana del  SAPGUI-> Acerca de SAP Logon.



Para Windows 7 y Oficce 2012, necesitáis la versión 7.20 que va ya por el nivel de parcheado 14.
Para Windows XP, os vale con la 7.10 pero el nivel de parcheado dependerá de vuestro Explorer y Oficce.

SAP ,en la nota 30460, informa que siempre es posible conectarse a un sistema SAP R/3 antiguo con una versión mas actual de SAPGUI ya que  sus productos tiene retro-compatibilidad. Pero no aseguran que lo contrario, conectarnos con un SAPGUI antiguo a un sistema SAP R/3 mas actual,  funcione o si funciona no se responsabilizan de los fallos que puedan suceder.

Por ejemplo, es posible conectarse y trabajar  con un sistema SAP R/3  3.11I con SAPGUI 7.20, pero conectarse con un  SAPGUI inferior a 6.20 a un SAP ECC 6, puede dar problemas, ya que el sistema sap puede  llevar aplicaciones que no sean soportadas por el cliente SAPGUI antiguo .

Si vais a usar el "SAPGUI for Java", tenéis que utilizar la 7.30, las anteriores versiones han dejado de ser soportadas por SAP.
¿ Donde puedo conseguir e SAPGUI ?

El único problema es que para descargarlo, necesitas una cuenta en el  SAP Service Marketplace

Pero aquí os dejo un par de enlaces para conseguir la 7.20 con el parche 14 y la versión 7.30 de Java:

SAPGUI 7.20 for Windows + parche 12,13 y 14
SAPGUI 7.30 for Java - MAC OS 10.8
SAPGUI 7.30 for Java - Windows
SAPGUI 7.30 for Java - Linux

Crear una conexión a un servidor SAP

Lo primero, necesitas la dirección IP del servidor y un usuario/password.

En la anterior entrada ya explique como conseguir un acceso a un servidor sap para practicas.

Para crear la conexión al servidor sap, click en "Nuevo" -> "Continuar"


- Descripción: Descripción de la conexión
- Servidor de Aplicación: Ip del servidor del sistema SAP R/3
- Nº de Instancia: Pueden convivir varios sistemas SAP R/3 en un mismo servidor
- Id del sistema: Cadena de 3 caracteres que identifica el sistema

Una vez creada la nueva conexión, aparecerá su descripción en el SAPGUI.
Doble click en la descripción y se lanzara la conexión, si no hay errores, aparecera la pantalla de identificación del sisteam SAP R/3 solicitando que nos identifiquemos con un usuario/password valido.


Si hay otra persona usando nuestro usuario/password en el sistema cuando intentemos conectarnos. Aparecera una ventada informado sobre los usuarios conectados con el mismo usuario/passwd y tres opciones


  • Cerrar todas las entradas con el mismo usuario y entrar nosotros en el sistema.
  • Mantener el resto de entradas con el mismo usuario y entrar en el sistema
  • Cerrar y salir del sistema


Navegando por SAP una guia rapida

Una vez autentificados, nos aparece la pantalla de inicio de SAP


En SAP, cuando queremos ejecutar  aplicación ( crear un pedido, facturar, etc... ) tenemos que ejecutar la transacción correspondiente. Una transacción es como un acceso directo del sistema, llama  a un programa con unos parámetros iniciales y se ejecuta dentro de la ventana o modo. Se pueden tener varias ventanas o modos abiertos en el escritorio, ejecutando diferentes transacciones en cada una y el limite por defecto , suele ser de 7 ventanas o modos abiertos para un usuario. Podríamos tener un modo para crear pedidos de compras, otro para la entrada de mercancías en el almacén, otro para facturación, hasta el máximo permitido por el sistema a cada usuario.

Se puede seleccionar la transacción desde el árbol de transacciones ( como los accesos directos del escritorio ) o introducir el nombre de la transacción directamente en el campo comandos (seria parecido a ejecutar un programa desde la linea de comandos del sistema ).


Para ejecutar una transacción desde el campo de comandos, primero se escribe el comando y después el código de la transacción,  por ejemplo, para acceder al editor ABAP:


- /n : Cierra la transacción actual, los datos no salvados se pierden y vuelve a la pantalla de inicio.
- /nXXXX  : Cierra la transacción actual y ejecuta la nueva transacción en la misma ventana.
- /o : Abre una nueva ventana en el sistema.
- /oXXXX : Abre una nueva ventana donde se ejecutara la nueva transacción.
- /i : Cierra la ventana actual, si es la única ventana, sale del sistema.
- /h : Activa el modo debugger.
- /nend : Pide confirmación del usuario y cierra todas las ventanas y transacciones y sale del sistema.
- /nex : Mi preferida del viernes, cierra todas las ventanas y transacciones, sale del sistema sin pedir confirmación.


Por ejemplo, para crear, modificar  o visualizar un pedido de venta tenemos las transacciones:
  • VA01: crear pedido de ventas
  • VA02: modificar pedido de venta
  • VA03: visualizar pedido de venta
O si queremos crear, modificar o visualizar un pedido de compra.
  • MM21N: Crear pedido de compra
  • MM22N: Modificar pedido de compra
  • MM23N: Visualizar pedido de compra
Pero estáis aquí por la programación en SAP, algunas de las transacciones que nos interesan son:
  • SE38: editor de programas ABAP
  • SE24: Generador de clases ( prog. orientada a objetos )
  • SE37: Bapis, funciones del sistema
  • SE80: Object Navigator
Encontrareis todas las transacciones para programación y desarrollo, en el árbol de transacciones siguiendo el camino Herramientas->Workbench ABAP -> Desarrollo




Fuentes:
SAP GUI Family

Entradas anteriores:
Conseguir acceso a un servidor SAP

miércoles, 1 de agosto de 2012

ABAP Objects: Introduction to Programming SAP Applications


Unos de mis primeros libros sobre programación en ABAP, el lenguaje de programación de SAP. El libro esta pensado para gente que esta dando sus primeros pasos en la programación con ABAP o que quiere dar el salto a la  la programación orientada a objetos en ABAP, desde la  programación estructurada en ABAP.

Empieza con una breve introducción al  lector al sistema SAP R/3 y a la programación estructurada en ABAP. Después salta a la programación orienta a objetos en ABAP. Incluye muhos ejemplos para que el lectos practique y aprenda.


Este libro solo cubre hasta sistemas SAP R/3 release 4.6, es decir no incluye ni XML, ni Web Dynpro o Web Services, existe una segunda versión que cubre hasta SAP R/3 release 7.10.

No es un típico libro "Aprenda en 21 dias...". Son 600 paginas y solo lo encontrareis en ingles y alemán. Lleva su tiempo leerlo, a mi me costo varios meses, pero cumple su objetivo.


Incluye 2 CD con MiniSAP, una distribución de SAP con lo básico para practicar con los ejemplos del libro, personalmente, prefiero el SAP IDES 4.7 o acceder a un servidor sap para practicas en internet. 


El libro esta estructurado en 8 capítulos:
  1. Introducción
  2. Un introducción practica
  3. Programación en ABAP basica
  4. Elementos Básicos del lenguaje ABAP
  5. Modelos de programación ABAP
  6. Conceptos avanzados de programación orientada a objetos
  7. Programación de pantallas 
  8. Trabajando con datos externos
Poco mas que decir de este estupendo libro, cuando empeze a programar en SAP, su lectura me fue de mucha ayuda durante mi aprendizaje. Después de 6 años programando en ABAP, aun lo consulto cuando tengo alguna duda.

Para los que empezáis a programar con ABAP, encontrareis multitud de código para practicar y desarrollar aplicaciones SA, para los mas expertos , un buen libro de consulta a la hora de desarrolar aplicaciones en SAP.


martes, 31 de julio de 2012

Nuevos foros en SCN en español

En el 2009 SAP estreno nuevos foros en español pero este año hubo una remodelación completa del SCN, Aquí os dejo una lista de los nuevos foros en español en el SCN de SAP.

En este articulo encontrareis las nuevas direcciones de los antiguos foros del SCN.

viernes, 27 de julio de 2012

ABAP in ECLIPSE (AiE)

SAP NETWEAVER 7.3, es la tercera y mas reciente versión que integra todas las aplicaciones Sap presentado así a las empresas una única plataforma donde desarrollar, ejecutar y manejar aplicaciones para los procesos de negocio que hayan sido desarrolladas tanto en Java como en Abap y negociar transacciones con otros desarrollos de Microsoft .Net o IBM Websphere . Esto repercute en un sistema mucho mas robusto y flexible.

En esta nueva plataforma tienen una mayor importancia los servicios web y la ejecución de aplicaciones no desarrolladas en Abap, para ello, dadas las limitaciones de Abap, se "adopta" el lenguaje Java y se incluye un servidor de aplicaciones propio desarrollado por SAP.

La "adopción" de Java trae consigo también un gran cambio en los componentes del Servidor Sap, que ahora lo llaman "SAP Netweaver Aplication Server", existiendo dos partes diferenciadas para Abap y Java dentro del servidor.

El ICM ( Internet Communication Manager ) se encarga de las comunicaciones del servidor Sap con el mundo exterior cuando se utilizan los protocolos HTTP, HTTPS, SMTP. Puede procesar tareas requeridas desde Internet en forma de URL que combinan el servidor/puerto, según esta URL combinada, el ICM es capaz de enviar la petición a Dispatcher de Abap o Java.

El SAP NetWeaver Developer Studio (NWDS) es el entorno de programación de  SAP para el desarrollo basadas en Java, como las Web Dynpro o Sap HANA.  Se basa en Eclipse, un producto de código abierto, cuya  arquitectura ampliable con  plug-in no sólo proporciona una base sólida para el desarrollo de aplicaciones con  Java , sino también una plataforma adecuada para su ampliación con más funciones específicas.

¿ A que a venido toda esta parrafada ?.....

SAP ha liberado este mes un pluging, Abap Development tools (ADT) para poder programar en Abap en su NWDS, podemos tener todo el potencial de un IDE como Eclipse para desarrollar nuestras aplicaciones con Abap. Esto es algo que no se puede dejar pasar y hay que probarlo Llevo semanas devorando artículos y manuales sobre el tema.

La verdad es que el editor de Abap, siempre me ha parecido pobre, con pocas herramientas de ayuda al programador. Hasta el 2004 , por ejemplo,  no existía algo tan básico como la sintaxis resaltada y la auto-completado de código.


Con este plugin, desarrollaremos nuestras aplicaciones  localmente, en nuestro equipo,  desde Eclipse nos conectaremos a uno o varios sistemas Sap a través de conexiones basadas en el protocolo RFC/REST. Completamente trasparente para el desarrollador , sea posible desde Eclipse crear, modificar o ejectar programas, tablas del diccionario, debuggear el codigo, gestion de versiones, etc..


En este vídeo de 2 minutos vemos la evolución desde 1990 del entorno de desarrollo de SAP:
         SAP ABAP Development Tools for Eclipse

Prerequisitos

Localmente, en nuestro equipo, es necesario  tener el SapGUI 7.20 con un nivel 9 de parcheado, esta versión instala el archivo Microsoft Runtime DLLs VS2010, fundamental para el funcionamiento del plugin. Es necesario para la ccomunicación con los sistemas Sap.

Para poder utilizar este pluging, el sistema Sap al que nos vamos  a conectar, tiene que tener como mínimo el  SAP Kernerl 7.20 y el SAP BASIS 7.31 con el nivel de parcheado 4. Se puede comprobar desde el SapGUI:

Sistema -> Status -> y en Datos del sistemas, debajo de Versión de componentes ->Info Componentes


Después de verificar el SAP BASIS, cerramos la ventana y le damos a Mas Info Nucleo


Si no tenéis acceso a un servidor Sap con estas características, podéis descargaros 
Es una versión trial de minisap que incluye SAP BASIS 7.31 .

Y para finalizar , aquí tenéis una captura de Abap Development Tools (ADT)


Entradas siguientes:

viernes, 29 de junio de 2012

Conseguir acceso a un servidor SAP

Entrar en el mundo de SAP no es fácil. Si quieres aprender a gestionar algun modulo de SAP R/3 o a programar en ABAP ( el lenguaje de programación de SAP ) necesitaras si o si una conexión a un servidor sap. Por eso mismo, antes de liarme a escribir entradas sobre programación, voy a explicaros como conseguir acceso a un servidor sap. O si sois de la vieja guardia, que programaba en binario, lo  que necesitáis para montar uno en casa.



SAP IDES ( Internet Demostration and Evaluation System ) es un sistema SAP completo, preconfigurado y parametrizado, contiene una base de datos con información para poder evaluar o practicar con Sap en diferentes escenarios empresariales, por lo cual es perfecto para cualquiera que quiera iniciarse en SAP.

Estos son algunos de los módulos que incluye:
  • MM  Gestión de materiales
  • PP   Planificación de la producción
  • PM  Gestión del mantenimiento
  • PS  Gestión de proyectos
  • QM  Calidad
  • WM  Gestión de almacenes
  • HR   Recursos Humanos
  • SD   Ventas y distribución
  • LO   Gestión datos generales de logística   
  • FI     Finanzas
  • CO   Controlling
La ultima versión es SAP ECC 6 IDES, que viene con Oracle 10.2.0.2 como base de datos. Esta versión es muy pesada y nada recomendable para un equipo casero y muchísimo menos para un portátil :D.

4 Gigas de ram, se recomienda 6 o funcionara muy lento.
250 Gigas de disco duro, 20 gigas de Swap
Procesador Pentium 4 3.0 DualCore
Windows XP Pro SP3 pero ira mejor sobre un Windows 2003 64 bits

Os recomiendo no perder el tiempo descargando el SAP ECC 6 IDES, son 50 Gigas y su instalación no es fácil, ademas dura ¡¡25 horas!!. Si queréis practicar con esta versión, en Internet podréis encontrar consultora informáticas que ofrecen acceso gratuito a servidores sap. A continuación, os dejo tres que mas me han gustado.
Pero si os sentís valientes, aquí tenéis un vídeo del proceso de instalaron de SAP ECC 6 IDES.


How to install SAP ECC 6.0 SR3 Oracle DB from brandiburu on Vimeo.

SAP IDES 4.7 a pesar de ser una versión mas antigua, es mas ligera y fácil de conseguir:

512 Mb de ram, se recomienda 1 Giga o funciona lento
120 Gigas de disco duro
Procesador de 1.6 Mhz
Windows XP SP3 / Windows Server 2003

La desventaja es que al ser tan antigua, no tiene módulos o funciones mas actuales, por ejemplo WebDynpro.

Esta versión viene con Oracle 9.2 y son 10 horas de instalación.
Aqui os dejo el manual de instalación en español y un vídeo en 2 partes sobre la instalación.



Los SAP IDES tienen una licencia de uso de un mes o dos, lo primero que debéis hacer antes de empezar la instalación es cambiar la fecha del sistema a 2099 o más asi os aseguráis que no caduque.

¿Alguien dijo windows 7? ¿Puedes instalar el SAP IDES? no, no puedes. Pero puedes instalarte una maquina virtual como Virtual Box con un windows XP e instalas en el el SAP IDES 4.7.

Esta es una captura de mi SAP IDES 4.7 funcionando sobre una virtualización en windows 7.

SAP IDES 4.7
Tablas llenas de registros para practicar
El servidor sap corriendo sobre un windows Xp virtualizado
lo de la izquierda es un emulador de windows mobile 5.0


También existe una versión de evaluación llamada MiniSAP, pero a diferencia de SAP IDES, no brinda acceso a un sistema tan completo como SAP IDES. Incluye soló los módulos de ABAP y BASIS  para practicar programación con ABAP.

MiniSap viene incluido en libros de programación de ABAP como "ABAP Objects An introduction to programming SAP Aplications".



lunes, 25 de junio de 2012

¿Que es SAP?

Esto es lo primero que me preguntan cuando digo que trabajo en consultoría informática sobre sistemas SAP R/3 ( versión resumida "picacodigo" ). Cuando intento explicarlo que SAP significa Sistemas, Aplicaciones y Productos de procesamientos de datos y que es un sistema que comprende muchos módulos completamente integrados, capaces de interactuar entre si y compartir información. cubriendo todas las áreas de la administración empresarial... siento que estoy hablándoles en Klingon.

Es mas fácil de entender si pensáis en bloques de LEGO. Cada bloque es una pieza independiente del sistema, pero capaz de integrarse con el resto de bloques, puedes juntar los bloques que necesites para formar una estructura mas compleja y en el futuro añadir o modificar los bloques que tienes en tu estructura según tus necesidades.


Imaginar una cooperativa ganadera como una estructura de módulos, simplificando tendríamos:

- Un modulo para comprar los materiales a los proveedores y gestionarlos ( Modulo MM ).
- Un modulo de ventas para poder vender la carne ( Modulo SD ).
- Un modulo para facturar y llevar la contabilidad, libro mayor, etc ( Modulo FI ).

Los módulos de SAP MM, SD, FI serian nuestros bloques de LEGO, existe una gran cantidad de módulos diferentes, cada uno orientado a un area empresarial.  Aqui teneis un buen resumen sobre los módulos disponibles en SAP.

 A nuestra cooperativa, le instalaríamos estos módulos , junto con una base de datos que compartirían todos  ( aquí tenemos la capacidad de interactuar entre ellos ya que comparten la misma información ) después viene la parametrización del sistema según las necesidades del cliente.

Es interesante resaltar que SAP funciona con tres capas:
  1. Presentación: El SapGUI, es el interfaces entre el usuario y los servidores SAP para la entrada/salida de datos, también es posible utilizar un navegador web.
  2. Aplicación: Son los servidores SAP, donde están instalados los módulos de SAP. Su función es procesar los datos, ejecutar los programas ABAP y JAVA, verificar los permisos, etc..., es con diferencia la capa que mayor carga soporta.
  3. Base de datos:  Oracle, IBM DB/2, Microsoft SQL Server, etc.




Por ultimo, es donde entramos los consultores, creamos sobre el sistema instalado ( nuestra estructura de bloques de LEGO ) los programas a medida , que necesita el usuario para gestionar la información del sistema, por ejemplo, un programa que saque la facturación mes a mes de la empresa, otro que cree pedidos de compra a los proveedores automáticamente cuando baje el stock de un material, que esos listados sean descargables a hojas excel, etc.

Esta es una captura de un listado típico en SAP:



Por ultimo, SAP es al mismo tiempo el nombre de la empresa  y del sistema informático.

Para mas información: SAP AG y la Página oficial de sap



domingo, 24 de junio de 2012

Empezando por el principio

Llevo ya mas de 5 años trabajando en consultora informática, desarrollando proyectos sobre SAP R/3. Hasta hoy he guardado copia de todo mi código en mi ordenador personal. Pero, me siento en deuda con toda la gente ,que directa o indirectamente,  con sus publicaciones en Internet, me ayudaron en mi trabajo y a seguir avanzando. 5 años después me gustaría compartir los conocimientos que he adquirido con mas gente y devolver el favor. Ese sera el objetivo de este blog