// // 8 comentarios

Qué es ABAPgit y cómo se usa

Cuando eres programador de SAP, creas un reporte o una nueva funcionalidad para hacer "x" tarea, y al tiempo quieres re-utilizarla en otra empresa, o bien optimizar el código para mejorar lo que ya sabes, o bien has cometido algún error que tú mismo lo solucionarás con el tiempo al leer el código de nuevo.

Esto de reciclar código lo hacemos todos los programadores, en todos los lenguajes de programación.
Con SAP, no habrá excepciones.. salvo por el hecho de que SAP es una empresa con licencia, entonces su código no es libre o...

Wait... ¿y si trabajo en un proyecto Open Source con ABAP?

Y así empezó todo... con el boom del open-source.

Hace años, SAP también empezó a participar de proyectos de código abierto.



Qué es SAPLink

Qué es SAPLink - Consultoria-SAP

SAPlink es un proyecto que pretende facilitar la compartición de desarrollos ABAP entre programadores. 

Proporciona la capacidad de distribuir y empaquetar fácilmente objetos personalizados.

SAPlink ha tenido un papel muy importante que desempeñar al permitir a los desarrolladores compartir código ABAP fuera de las restricciones de las herramientas de gestión de cambios de SAP. Cuando SAPlink apareció por primera vez y ganó el primer DemoJam de SAP abrió un mundo de nuevas posibilidades para ABAPers -y un mundo de miedo para un gran proveedor de software.

No era sólo que pudiéramos versionar nuestro código ABAP y compartirlo con otros, aunque esta capacidad resalta en abapGit es un descendiente directo de SAPlink. Lo que SAPlink hizo fue traer el mundo del código abierto al desarrollador de ABAP de dos maneras importantes. 

En primer lugar, SAPlink era un proyecto ABAP de código abierto en sí mismo -esto era inaudito en ese momento. En segundo lugar, SAPlink habilitó el tipo de colaboración de código compartido que es la base de todos los proyectos de código abierto.

Hoy, en el año 2017 es fácil olvidarse de cómo asustaba el "open source"  a los grandes vendedores de software hace una década. Todavía asusta de muchas maneras, y para muchas personas, pero está aquí para quedarse y organizaciones como SAP son ahora grandes contribuyentes por derecho propio.

SAP Open Source - Consultoria-SAP


SAPLink revolucionó todo

SAPlink fue una herramienta clave que ayudó a darnos cuenta de que hay un gran mundo de desarrolladores maravilloso e interesante fuera del jardín amurallado de SAP. Nos ayudó a reunirse y colaborar con nuestros compañeros. 

Elimina las limitaciones artificiales de lo que podemos hacer. Nos mostró cómo funcionan otros desarrolladores. Qué herramientas utilizan. Cómo mejorar la productividad. Cómo escribir código mejor. En muchos sentidos nos abrió los ojos. Nos motivó a ser mejores. Motivó a abapGit.


Qué es ABAPgit y cómo se usa

Qué es ABAPgit y cómo se usa - Consultoria-SAP

De acuerdo a SAP, definen ABAPgit como la siguiente generación al SAPLink.

Pero para ser más simples...  abapGit es un cliente de Git escrito en ABAP para ABAP.

¿Estás pensando "¿Qué es Git?"? 

Si eres desarrollador y aún no sabes qué es GIT, estás algo fuera de moda... cualquier desarrollador contemporáneo debe usar o al menos saber qué es y cómo se usa git.

No está en el alcance de este artículo, pero te pido por favor ahora mismo le des una leída al ebook oficial en español.

¿Conocerás GitHub, y su competidor GitLab?
Ambos sitios web son repositorios en línea.

Es decir, sitios web que ofrecen poder versionar código con la herramienta GIT, y hacer que la programación sea una tarea social por así decirlo. 

Con el boom del open-source, estos sitios estallaron y hoy en día alojan millones de proyectos de código abierto. Por ejemplo: AMP-project, Discourse, AbapGit, y nuestro repositorio de código ABAP se encuentran todos alojados bajo github.

Volvamos al tema de este artículo...

AbapGit es un proyecto Open-source iniciado por Lars Hvam bajo una Licencia MIT.

Instalación de AbapGit

En el proyecto resaltan la facilidad de instalación! No hay transportes. No hay pasos múltiples. No hay pre-instalación de otras cosas. No hay subidas de archivos. No se requieren parches. No se necesitan complementos. Simplemente copie y pegue código en un programa en su sistema de desarrollo ABAP y active.

Lo primero que puede hacer después de la instalación es conectarse a GitHub para que pueda mantener actualizado su código abapGit. 

Concepto increíble ¿no? 

Podemos derribar la última versión del proyecto abapGit cuando lo desee. 
AbapGit también tiene un "modo de fondo" para que pueda automatizar esta tarea.


Usar TLS

Para que abapGit se conecte con GitHub desde SAP tenemos que usar TLS. 

Esto significa que tenemos que instalar algunos certificados raíz en nuestro sistema ABAP utilizando la transacción STRUST. La documentación de instalación de abapGit le explica cómo obtener estos certificados e instalarlos. Y también hay un programa de prueba simple para que pueda asegurar la conexión a GitHub funciona.

Si desea conectar abapGit a otros servidores Git, es posible que también le obligue a utilizar TLS y por lo tanto, puede que tenga que instalar otros certificados raíz.

Cómo podemos enlazar con el repositorio abapGit en GitHub 

Hay un asistente para ayudarle a hacer esto en unos pocos clics.

Cuando abapGit se ejecuta por primera vez, lo llevará a la página de tutorial de abapGit. 

También puede encontrar esto a través del menú Ayuda >> Tutorial. 
Simplemente haga clic en el enlace "install abapGit repo" para iniciar el proceso. 

Se le pedirá que confirme que desea instalarlo en el paquete $ABAPGIT
AbapGit enlaza repositorios Git (repos) a paquetes ABAP. 

Así que necesitamos almacenar abapGit en un paquete local propio -en este caso $ABAPGIT
También se le preguntará si desea sobrescribir el programa ZABAPGIT que acaba de crear. R
esponda "Ok" a esto. Active todos los artefactos abapGit y listo.


Ejemplo con abapGit


Para ir terminando este artículo dejemos un video de ejemplo de cómo clonar un repositorio para que lleves el código a donde sea, cuando quieras.

¿Ves que fácil fue eso? Unos pocos clics aquí y allá y tengo todo lo que el código ABAP bajó de GitHub en un paquete que pude crear desde dentro de la interfaz de usuario de abapGit incluyendo activado todo. 

Ayuda SAP

Si necesitas más ayuda sobre este tema, en nuestra comunidad estamos compartiendo código y conocimientos sobre el lenguaje de programación de SAP. Te esperamos!



8 comentarios:

  1. Gran aporte, una consulta el guardado de los programas es navegable? me refiero a los includes que se creen en el programa, se llega a formal un árbol?

    ResponderBorrar
    Respuestas
    1. Hola Jimmy, cómo andas? Gracias por tu consulta, pero no entiendo a lo que te refieres. ¿Puedes brindar más detalle a lo que te refieres?

      Borrar
    2. Hola Wall, mi pregunta era cuando se crea un programa que tiene includes, cuando se desea visualizar en el repositorio web de git se crean subcarpetas? o todos los archivos van a un mismo directorio?

      Borrar
    3. Ah Jimmy, en eso no puedo ayudarte, no soy ABAPer. Pero, si tú puedes crear el abapgit en tu entorno SAP, seguramente podrás probar cómo funciona., es gratis.

      Saludos!

      Borrar
  2. Respuestas
    1. Hola David, por favor realiza esta consulta en nuestro foro de Ayuda SAP.

      Saludos

      Borrar
  3. Buenas tardes comunidad.

    Actualmente estoy probando ese codigo, pero me arroja un problema en una linea it_postdata TYPE cnht_post_data_tab OPTIONAL

    El código lo estoy copiando de aqui h_tps://raw.githubusercontent.com/abapGit/build/master/zabapgit.abap

    Alguien puede ayudarme.

    ResponderBorrar
    Respuestas
    1. Hola Ignacio, ¿cómo estás? Muy interesante el código que estás queriendo probar... para este problema te pido por favor ingreses a nuestro foro de Ayuda SAP y publiques un nuevo tema con el contenido y el detalle (puedes poner el enlace a github.com desde dónde sacas el código, así otros lo ven, y lo depuramos con otros programadores ABAP.

      Te espero ahí.

      Saludos!

      Borrar

Nota Importante: los comentarios son para agradecer, comentar o sugerir cambios (o hacer preguntas) sobre el artículo de arriba.


SAP y el logotipo de SAP son marcas comerciales registradas de SAP AG en Alemania y en varios otros países. No estamos afiliados ni relacionados con ninguna división o subsidiaria de SAP AG.