lunes, 14 de julio de 2014

Abap in eclipse (AiE) - Instalación

Introducción
Esta entrada tiene como objetivo explicar la instalación del plugin ABAP IN ECLIPSE para.
  • Eclipse Indigo  3.7.2
  • Eclipse Juno     4.2  
  • Eclipse Kepler  4.3  
  • Eclipse Luna     4.4  
La versión de Eclipse recomendada actualmente por SAP es Eclipse Luna 4.4

Prerequisitos

Lo primero, aseguraros de tener instalado el SapGUI 7.20 con el nivel de parches 9, o un SapGUI superior, necesitáis tener como mínimo esta versión porque incluye el componente Microsoft Runtime DLLs VS201 necesario para que se comuniquen SAP y Eclipse.
Recordemos, que estamos trabajando en una arquitectura cliente/servidor. En un lado tenemos el cliente o front-end, Eclipse con Abap Development Tools(ADT) que solicitara servicios tales como actualizar código, compilar, revisar versiones a un servidor Sap, nuestro servidor o sistema back-end. Todo esto se realiza a través de conexiones basadas en el protocolo RFC/REST


Este tipo de arquitectura solo esta disponible en un sistema Sap con SAP_KERNEL 7.20 y con el componente SAP_BASIS 7.31 o superior. Si no tenemos acceso a un sistema Sap con estas características, podemos instalarnos una versión trial de sap.
Es una versión trial del minisap con el modulo SAP BASIS 7.31 nivel de parcheado 4.

INSTALACIÓN

La instalación es muy parecida en cualquier versión del ide de Eclipse.
Solo difieren en la actualización de componentes y el repositorio desde el que descargaremos el plugin.
Una vez descargado, descomprimir en c:\eclipse, y ejecutar el archivo eclipse.exe.



0. SOLO PARA ECLIPSE INDIGO 3.7.2:

Si vamos a utilizar Eclipse Indigo, lo primero sera asegurarnos que todos los componentes del IDE están actualizados.
Arrancamos Eclipse y ejecutamos  Help -> Check for update .
Es obligatorio  tener varios componentes instalados en eclipse indigo 3.7.2 para utilizar AiE :
  • EMF - Eclipse Modeling Framework Core Runtine
  • EMF Edit Data Binding
  • EMF Model Transaction Workbench Integration
  • EMF Validation Framework
  • Mylyn Commons
  • Mylyn Task-Focused Interface
Gracias a Gregor Wolf en SCN, tenemos un archivo P2F que instalara y actualiza todos estos componentes para Eclipse Indigo 3.7.2
Arrancar el Eclipse -> File -> Import.. -> Install -> Install Software Item from file

Seleccionamos el archivo P2F. Con este fichero instalaremos de golpe y automáticamente todos los plugins para Eclipse necesarios para el correcto funcionamiento de AiE.


 


Reiniciamos Eclipse, Help -> Check for update .


1. DESCARGAR E INSTALAR ABAP IN ECLIPSE:


1.1 ECLIPSE INDIGO 3.7.2 :

Descargar el plugin ABAP IN ECLIPSE 2.0  desde el centro de descargar de SAP.
Requiere un usuario autorizado para su descargar.
  • SAP Software Download Center ->  Search for Installations and Upgrades -> 
    •  Search Area -> all software download
    •  Search Term -> ABAP ECLIPSE 2.0



Instalamos el plugin en Eclipse. Help -> Install new Software -> Add.

Damos un nombre al repositorio y seleccionamos el archivo .zip del plugin descargado.



Marcamos todos los componentes, botón NEXT, revisamos componentes y aceptamos las licencias de uso.
Si todo va bien, empezara el proceso de instalación
Cuando termine, aparecerá la ventana de bienvenida del plugin.



1.2 ECLIPSE JUNO 4.2 / KEPLER 4.3 / LUNA 4.4.1 :

Con estas versiones, la instalación del plugin es muy sencilla.

Desde Eclipse -> Help -> Install new Software

En el campo Work with  introducir la siguiente dirección y una descripción (Ej: Abap in eclipse ):
  • https://tools.hana.ondemand.com/juno    para Eclipse Juno    4.2
  • https://tools.hana.ondemand.com/kepler para Eclipse Kepler 4.3
  • https://tools.hana.ondemand.com/luna    para Eclipse Luna    4.4.1
Seleccionar solo los componentes ABAP_DEVELOPMENT TOOLS FOR ABAP NetWeaver.



Botón NEXT, revisamos componentes y aceptamos las licencias de uso.
Si todo va bien, empezara el proceso de instalación.
Cuando termine, aparecerá la ventana de bienvenida del plugin.



1.3 AJUSTES EN LAS PREFERENCIAS DE ECLIPSE

Por ultimo, SAP recomienda configurar las opciones de runtime de Eclipse para asegurar que hay memoria suficiente y evitar  errores out.of.memory.

En la carpeta Eclipse, editamos el archivo eclipse.ini

Después de la linea donde esta el comando -vmargs añadimos:

 -XX:PermSize=32m 
 -XX:MaxPermSize=256m

Y añadimos las siguientes opciones para la Java VM

 -Dfile.encoding=UTF-8
 -XX:+HeapDumpONOutOfMemoryError
 -Dosgi.requiredJavaVersion=1.6

2. Configuración de la conexión y del Sistema SAP

Es necesario establecer Secure Network Communication por seguridad, dado que nos vamos a conectar a un sistema SAP y nos autentificaremos con  Usuario/Contraseña para obtener pleno acceso al repositorio de objetos del sistema.

Si no se activa esta opción, los datos de usuario/contraseña se enviaran sin cifrar y toda la comunicación podrá ser visible por terceros. 

Hay que asegurarse que el Secure Network Communication (SNC) esta activado.
  1. En el SapGUI seleccionamos la conexión y le damos a modificar -> Pestaña RED.
  2. Activar Secure Network Communication -> Sin Single Sign-On
Asignar los siguientes roles y autorizaciones al usuario que vamos a utilizar ( transacción SU01 )
  • SAP_BC_DWB_ABAPDEVELOPER
  • SAP_BC_DWB_WBDISPLAY
 
Activar los servicio web HTTP para acceder a la ayuda Abap. Los servicios web HTTP son formas programáticas para el envío y recepción de datos desde servidores remotos utilizando el protocolo HTTP. Nos va ha permitir acceder a la ayuda de Abap desde Eclipse. Los servicies web HTTP están predefinidos en sistemas 7.31 o superiores pero no viene activados por defecto.

    1. Accedemos a la transacción SICF en el sistema SAP.
    2. Como filtro, seleccionamos DEFAULT_HOST.


    3. Expandimos el nodo default_host -> sap -> bc -> abap.    
    4. Seleccionamos docu y botón derecho del ratón en el menú seleccionamos Activate Service.
    5. Repetimos para ToolsDocu.


    6. Desde la raíz, expandimos el nodo  default_host -> sap -> public -> bc - abap.
    7. Seleccionamos docu y botón derecho del ratón en el menú seleccionamos Activate Service.
    8. Repetimos para ToolsDocu.



    9.Testear que el servicio funciona, botón derecho -> Test Link



Si falla el Test Link, que a mi me paso después de una instalación limpia del SAP NetWeaver AS ABAP 7.03 SP04 64-bit Trial, revisar los puertos del ICM en la transacción SMICM , icono Services o Shift + F1.

 

Comprobar que tenéis estos puertos si estáis usando SAP NetWeaver AS ABAP 7.03 SP04 64-bit Trial.A mi me cambio os puertos a 0 y no me funcionaba nada.

Por ultimo , cambiamos 2 parámetros de perfil en el sistema, así cada vez que activemos o realicemos una acción que requiera otra vez la contraseña para acceder al servicio.

En la transacción RZ11 cambiamos el valor de estos dos parámetros:
  • login/create_sso2_ticket, le damos valor 3.
  • login/accept_sso2_ticket, le damos valor 1.
Felicidades, ya tenemos todo listo, vamos a crear nuestro primer programa en Abap desde Eclipse. Pero eso en la siguiente entrega: "Abap in Eclipse: Hola Mundo"

Referencias: