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
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.
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
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!
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?
ResponderBorrarHola 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?
BorrarHola 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?
BorrarAh 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.
BorrarSaludos!
¿Es posible mover DDIC?
ResponderBorrarHola David, por favor realiza esta consulta en nuestro foro de Ayuda SAP.
BorrarSaludos
Buenas tardes comunidad.
ResponderBorrarActualmente 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.
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.
BorrarTe espero ahí.
Saludos!