✒️ABAP Mi primer programa ABAP
ABAP Mi primer programa ABAP
1 | Mi primer programa ABAP
Para hacer nuestro primer programa usaremos la Transacción SE38, la cual es el editor ABAP, el cual es usado para crear, modificar y visualizar los programas ABAP.
Una vez seleccionada visualizaremos el editor ABAP y ahí escribiremos el nombre de nuestro programa (recordemos que tiene que empezar con la letra Z) y le damos al botón "crear".
Darle al botón "crear" causará una ventana de diálogo en la que el sistema nos advierte de que nuestro usuario no está registrado como un desarrollador del sistema, por lo que nos pide una clave de acceso. Tenemos que introducir por una única vez el código de 20 dígitos que nos corresponde y darle a "continuar". El código de 20 dígitos usualmente es generada por los SAP BASIS al momento de crear el usuario en SAP.
Una vez hecho eso, se nos abrirá una pantalla en la que podemos ingresar datos relacionados al programa. En estos momentos solo nos importa el Título (Que debería ser lo más descriptivo posible) y el Tipo (Que en este caso tiene que ser "Programa ejecutable"). Luego presionamos el botón "Grabar".
Darle a grabar abrirá una ventana nueva, en la cual se nos solicita que ingresemos el paquete o clase de desarrollo, a lo que presionaremos el botón "Objeto local", que es lo mismo que escribir $TMP. Luego presionaremos grabar.
Ahora ya se nos abrirá el editor de código. Una vez hecho nuestro programa, le damos al botón "Activar" (que entre otras cosas, también verificará la sintaxis de nuestro programa) y si todo sale bien en la parte inferior izquierda de la pantalla se nos notificará: "El objeto se ha activado". Con esto, el programa está listo para ser ejecutado con la tecla F8 o con el botón "ejecutar".
Cabe destacar 4 cosas sobre la programación ABAP en general:
- Todas las sentencias terminan con un punto
- ABAP no distingue entre minúsculas y mayúsculas
- Una sentencia ABAP puede ocupar más de una línea
- Las cadenas de texto se escriben entre comillas simples ('Por ejemplo, esto')
Adicionalmente, otras cosas a tener en cuenta son los siguientes atajos de teclado:
- Ctrl + Y : Genera un rectángulo de selección de texto para seleccionar elementos que no pueden ser seleccionados de formas habituales.
- Ctrl + K : Alterna entre mayúsculas a minúsculas o viceversa el texto seleccionado.
- Ctrl + F3 : Activa un programa.
- Ctrl + > : Comenta las líneas de código seleccionadas.
- Ctrl + Shift + > : Des-comenta las líneas de código seleccionadas.
- F8 : Ejecutar el programa.
2 | El Pretty Printer
Una vez que nos hayamos asegurado que nuestro código es sintácticamente correcto a través del compilador de ABAP y corroboremos que funciona en la forma que debería nuestra próxima prioridad es que sea legible para otros programadores.
Para lograr esto, tenemos en la barra de herramientas del editor una herramienta llamada Pretty Printer, la cual sirve para modificar el texto seleccionado creando sangrías o cambios de minúsculas a mayúsculas o viceversa, dándonos la opción de considerar palabras clave.
Algo a tener en cuenta es que aunque los cambios generados por Pretty Printer sean de carácter estético, este sin embargo cambia el estado del código de activo a inactivo, por lo que es necesario reactivarlo más tarde.
3 | Las órdenes de transporte
Como se había explicado previamente, los objetos en $TMP no pueden ser transportado a otros ambientes. Así que va a ser necesario cambiar la asignación de paquete/clase de desarrollo de lo que queramos mover de $TMP a otro ambiente.
Para hacer esto, vamos a la barra del editor de código del SE38 y vamos al menú "Pasar a" -> "Entrada catálogo obj." (Entrada en catálogo de objetos). Esto nos dará una ventana de diálogo en la que tenemos que darle clic al botón del lápiz para editar el campo de "Paquete", en el campo pondremos el nombre de cualquier paquete Z existente en el sistema, por ejemplo, ZTEST_PAQUETE, luego le damos clic a "Grabar".
En la siguiente ventana de diálogo podremos elegir entre "crear" una orden de transporte o utilizar una que ya exista en el sistema presionando el botón "Órdenes propias".
Vamos a crear una orden, pero antes de seguir deberíamos detallar algunas de las propiedades de las órdenes de transporte:
- Tienen un número único que se usa para agrupar objetos a mover entre ambientes.
- Pueden estar compuestas de una o varias tareas.
- Dentro de las tareas están los objetos ABAP a transportar.
Una vez le hayamos dado a la opción de "crear" se nos abrirá una ventana de diálogo en la que pondremos una breve descripción para nuestra orden de transporte y le damos a "grabar". Luego SAP nos propondrá asociar el programa que acabamos de crear a un número de orden de transporte único en el sistema (nótese que este número es generado automáticamente por SAP). En nuestro caso le damos a aceptar y esto ya debería cerrar la ventana y dejarnos con el editor de código de ABAP que teníamos antes, es una buena oportunidad para activar el programa en caso que esté desactivado.
Ahora que nuestro programa tiene una orden de transporte será necesario liberarla para que sea trasladada de un ambiente a otro. Para administrar esto podemos usar una de tres transacciones diferentes: SE01, SE09 y SE10. El 01 es el que nos permite visualizar una orden en particular; Los 09 y 10 tienen diferencias muy sutiles en su programación pero en la práctica son lo mismo y sirven para visualizar todas las ordenes de transporte existentes en el sistema para nuestro usuario de SAP.
Usaremos la SE01 y esto abrirá una ventana que tiene 5 secciones, en la primera podremos introducir un número de orden de transporte y podremos visualizarlo, la alternativa es abrir el "árbol" entero a través de la segunda sección dándole clic a "visualizar" (esta sección es la que se abre por defecto con el tema actual en 2023).
Esto abrirá un "árbol" con las siguientes clasificaciones a tener en cuenta:
Tipos de órdenes de transporte:
- Workbench: Es la que se utiliza para el desarrollo de programas.
- Customizing: Es el que se utiliza para la configuración del sistema.
Estado de la orden:
- Liberado: La orden está lista para ser transportada a otro ambiente. En este punto ya no se puede modificar la orden.
- Modificable: Aún está pendiente la liberación de la orden. Mientras tanto, es posible modificarla (Agregar o quitar objetos ABAP, por ejemplo.).
Volviendo al proceso que estaba siendo descrito antes: Una vez esté hecha nuestra orden la vamos a ver en la ventana de la transacción organizada en una clase de árbol, si fuésemos a hacer un "Hola mundo" de ejemplo y lo mandásemos a una orden, veríamos que aparecería en la carpeta/división "Modificable", adentro veríamos nuestra orden y jerárquicamente debajo de esta veríamos una tarea, la cual contiene ordenado en una carpeta nuestro programa.
Cabe destacar que tanto la orden como la tarea tienen sus propios números y los números de las tareas siempre son consecutivos al número de la orden de transporte.
Habiendo identificado nuestra orden, el próximo objetivo es liberarla. Para esto, tenemos que liberar primero cada una de sus tareas, lo cual hacemos seleccionándolas y dándole al botón "liberar" en la barra de herramientas de la ventana. Cuando liberemos una tarea aparecerá un tilde a la derecha del número de tarea. Cuando acabemos de liberar las tareas, liberamos la orden y aparecerá un tilde azul a la derecha del número de orden.
Una vez liberada la orden esta se considerará "Liberada" y ya no podrá ser modificada. Lo que pase después depende de la forma en la que el sistema esté diseñado. Lo óptimo son los ambientes de desarrollo en los que está el transporte automático de órdenes de transporte, pero en otros es necesario solicitarle al equipo de SAP BASIS que transporten la orden a otro ambiente.
 
 
 
Sobre el autor
Publicación académica de Mauricio Javier Solis Ibañez, en su ámbito de estudios para la Carrera Consultor ABAP.
Mauricio Javier Solis Ibañez
Profesión: Técnico Electrónico - Argentina - Legajo: CF20Z
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Mauricio Solis