✒️ABAP / Mi primer programa ABAP Por Gustavo Rondon Hernandez
ABAP Mi primer programa ABAP

Mi Primer Programa ABAP
1 | Mi primer programa ABAP
Vamos a crear nuestro primer programa en ABAP Para ello nos logueamos a SAP como lo vimos anteriormente, escribimos en el campo de comandos la transacción SE38 y presionamos enter.
Transacción SE38
EI editor ABAP correspondiente a Ia transacción SE38 es Ia transacción estándar del sistema SAP que utilizaremos para crear, modificar y visualizar los programas ABAP.
Sin dudas es la transacción de SAP que más vamos a utilizar como programadores ABAP.
A continuación visualizaremos el editor ABAP, allí escribimos el nombre del programa que vamos a crear, el cual debe
comenzar con Z y presionamos el botón crear.
Luego veremos una ventana de diálogo en la cual el sistema SAP advierte que nuestro usuario no está registrado como
desarrollador del sistema, por lo que nos solicita la clave de acceso.
Para registrarnos como desarrollador debemos introducir por única vez el código de 20 dígitos que corresponde a nuestra clave de desarrollador en la pantalla.
Sabias que:
Esta clave es generalmente proporcionada por la gente que dentro de Ia empresa se encarga de Ia administración del sistema SAP, es decir los SAP BASIS, al momento de crear el usuario en SAP.
Luego de introducir el número de 20 dígitos presionamos el botón Continuar
En la próxima pantalla el sistema nos solicitará que ingresemos los siguientes datos relacionados con el nuevo programa:
- Titulo: debe ser lo más descriptivo posible. En este caso será "Mi primer programa ABAP".
- Tipo: se refiere al tipo de objeto que estamos creando. Y en este caso es "Programa ejecutable"
Y luego presionamos el botón Grabar.
Luego en una nueva ventana, el sistema nos solicitará que ingresemos el paquete o clase de desarrollo, a lo que presionaremos el botón Objeto local que es lo mismo que escribir $TMP y presionar Grabar.
En el editor escribiremos el siguiente código para nuestro primer programa en ABAP:
Y luego activamos el programa presionando el botón "Activar".
Y visualizaremos en el extremo inferior izquierdo de la pantalla el mensaje de éxito "El objeto se ha activado"
Dado que acabamos de crear y activar nuestro primer programa en ABAP me parece que es un buen momento para que enumeremos cuatro definiciones sumamente importantes sobre la programación en ABAP:
Todas las sentencias en ABAP 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
Una vez activado el programa sin errores, lo ejecutamos con el botón ejecutar o presionando la tecla F8 del teclado. La pantalla de salida que visualizaremos será la siguiente:
!Felicitaciones acabas de crear tu primer programa ABAP¡
"Existen en SAP atajos de teclado es decir combinaciones de tecla que hacen que nuestra labor como programadores sea más sencillo" alguno de los que considero más útiles son para copiar un texto de un campo de una pantalla utilizamos control+c y para pegar el texto de un campo de una pantalla utilizamos control+v, para volver atrás un cambio utilizamos control+z, en las pantallas donde no es posible la seleción de textos utilizando la conbinación control+ y podemos marcar un rectángulo de texto en la pantalla de SAP para luego copiar con control+c y luego pegarlo con control+v en donde se desee, para convertir el texto de mayúsculas a minúsculas o viceversa según como se encuentre el texto utilizamos control+k, para activar un programa utilizamos control+F3, para comentar un conjunto de líneas seleccionadas utilizamos control+ >, para descomentar las líneas de comentarios seleccionadas utilizamos control+shif +> y para ejecutar un programa utilizamos F8"
2 | El Pretty Printer
Para que un programa u objeto ABAP funcione correctamente, tal como se desea que lo haga, el código ABAP debe ser perfecto, es decir debe estar correctamente escrito respetando la sintaxis y la semántica del lenguaje.
Una vez que logramos esto con la ayuda del compilador de ABAP, cuando compilamos o activamos el programa u objeto, debemos enfocarnos en que el código que generamos sea lo más legible posible, de modo que el mantenimiento futuro de ese código no nos lleve más del tiempo necesario a nosotros o a otro programador ABAP
Para ayudarnos en esta tarea ABAP pone a nuestra disposición una herramienta sumamente útil, la cual vamos a ejecutar cada vez que modifiquemos un código existente o cuando creamos un programa u objeto ABAP nuevo. Esta herramienta es el Pretty Printer y se encuentra disponible en la barra de herramientas del editor ABAP tal como vemos a continuación:
El Pretty Printer es una herramienta propia del editor ABAP que nos permite unificar el código que generamos en cuanto a minúsculas, mayúsculas; palabras clave y sangrías.
Para configurar el Pretty Printer debemos acceder al menú Utilidades I Opciones I Editor ABAP I Pretty Printer
Si tildamos el check Sangrar entonces al ejecutar el Pretty Printer se va a generar una sangría respecto del margen izquierdo de la pantalla.
Si tildamos el check Efectuar conversión mayúsculas I minúsculas y seleccionamos Palabra clave mayúscula entonces al ejecutar el Pretty Printer se van a convertir a mayúsculas únicamente las palabras clave.
Para entender cómo funciona el Pretty Printer vamos a modificar nuestro programa de prueba escribiendo el siguiente código.
' & Report ZPRVEBA ABAP
report zprueba_abap.
write 'Esta es'.
write 'una prueba ' .
write 'del Pretty Printer' .
Y al ejecutar el Pretty Printer tal como lo tenemos configurado el resultado de la ejecución será el siguiente:
REPORT zprueba_abap.
WRITE 'Esta es '.
WRITE 'una prueba '.
WRITE 'del Prezzy Printer'
En conclusión como resultado de la ejecución del Pretty Printer las palabras clave se convirtieron a mayúsculas y el código se alineo al margen izquierdo de la pantalla. Imaginemos el impacto positivo que puede tener el Pretty Printer en un programa ABAP complejo de cientos o miles de líneas de código.
"Es importante que tengamos en cuenta que cada vez que ejecutamos el Pretty Printer sobre un programa u objeto ABAP si el código está activo pasará a estado inactivo esto se debe a que el código con la ejecución del Pretty Printer se modifica tal como si hubiésemos hecho un cambio cualquiera en el mismo por lo que hay que tener presente que debemos volver activarlo".
3 | Las órdenes de transporte
En el ejemplo anterior, creamos un programa ABAP que como era de prueba, lo asignamos a la clase de desarrollo opaquete $TMP Pero si quisiéramos transportarlo a otro ambiente tenemos que asignarlo a una clase de desarrollo o paquete que no sea de prueba.
Supongamos que ahora deseamos transportar a otros ambientes nuestro programa ZPRUEBA ABAP. Lo primero que debemos hacer es cambiar el paquete o clase de desarrollo $TMP por un paquete o clase de desarrollo Z existente en el sistema.
Para ello, editando el programa desde el editor ABAP correspondiente a la transacción SE38 vamos al menú Pasar a Entrada catálogo objetos.
Y en la siguiente ventana de diálogo que se muestra en la pantalla hacemos clic en el botón del lápiz para modificar el paquete.
En el campo Paquete vamos a introducir el nombre del cualquier paquete Z existente en el sistema, por ejemplo el paquete ZTEST_PAQUETE y luego hacemos clic en Grabar.
En la siguiente ventana de diálogo podemos elegir entre Crear una nueva orden de transporte o utilizar una que exista en el sistema presionando el botón Órdenes propias. Nosotros vamos a elegir crear una nueva orden de transporte.
Orden de transporte
Es un número unívoco dentro el sistema SAP, es decir no existe otra orden ce transporte con el mismo número, que se utiliza para agrupar Objetos que van a ser transportados entre ambientes.
Una orden de transporte puede estar compuesta por una o muchas tareas.
Dentro de las tareas es donde se guardan IOS Objetos ABAP a transportar.
En la siguiente ventana de diálogo completamos una Descripción breve para nuestra orden de transporte y presionamos el botón Grabar.
A continuación, SAP nos propondrá asociar el programa que acabamos de crear a un número de orden de transporte único en el sistema.
Sabias que: El número de la orden de transporte es generado automáticamente por SAP es decir no lo generamos nosotros.
Por último, si nuestro programa no se encuentra activado lo activamos haciendo clic en botón Activar
Ahora vamos a ir a ver la orden de transporte que acabamos de crear para luego liberarla, que es el paso necesario para poder transportar el programa que acabamos de crear a otro ambiente de SAP.
Para ello vamos a ejecutar en el campo de comandos de la pantalla el código InSE01 y presionamos la tecla enter.
En la pantalla de la transacción SE01 escribimos en el campo Orden/Tarea el número de la orden de transporte que acabamos de crear que es DIJ3K960666 y hacemos clic en el botón Visualizar.
Transacciones SE01, SE09 y SE10
Estas transacciones son utilizadas para la administración de las órdenes de transporte en el sistema.
Cuando deseamos visualizar una orden de transporte en particular vamos a utilizar Ia transacción SE01.
Cuando deseamos visualizar todas las órdenes de transporte existentes en el sistema para nuestro usuario de SAP vamos a utilizar las transacciones SE09 y SE10, las cuales son exactamente iguales en cuanto a funcionalidad.
A continuación vemos la orden de transporte DU3K960666, dentro de la orden de transporte encontramos la tarea DU3K960667 y dentro de esta última encontramos el programa ABAP ZPRUEBA_ABAP.
Sabias que: El número de la tarea o tareas asociadas a una orden de transpone siempre son consecutivos al número de la orcen de transporte.
Ahora bien para liberar una orden de transporte primero debemos liberar la tarea o tareas asociadas a la orden y luego Ia orden Para ello seleccionamos la tarea y luego hacemos clic en el botón transportar:
Finalmente hemos liberado la orden y la tarea, por lo que la orden de transporte está lista para transportarse a otro ambiente como puede ser el ambiente de testing o pruebas.
Reflexiones: Si el ambiente de desarrollo con el que trabajamos tiene configurado el transporte automático de órdenes de transporte entonces bastará con liberar la orden y la tarea o tareas para que esta pase al ambiente de testing. Si no se encuentra configurado el transporte automático entonces habrá que solicitarle al equipo de SAP BASIS que nos transponen la orden al ambiente de testing.
Ahora bien tal como pudimos apreciar, cuando creamos la orden de transporte, arriba del número de la orden se visualizaba el texto Modificable y luego de liberarla visualizamos el texto Liberado. Esto nos lleva a la conclusión que una orden de transporte puede tener dos estados posibles:
- Mlodificable: cuando la orden puede ser modificada, es decir se le pueden agregar o quitar objetos ABAP.
- Liberada: cuando la orden no puede ser modificada, está lista para ser transportada a otro ambiente.
A vez podemos decir que en SAP existen dos tipos de órdenes de transporte:
- Customizing: cuando se utiliza para la configuración del sistema. Por ejemplo cuando se crea una nueva configuración en el sistema, como puede ser una nueva sociedad y la misma necesita ser transportada a otros ambientes de SAP.
- Workbench: cuando se utiliza para el desarrollo de programas. Por ejemplo para alojar programas ABAP que van ser transportados a otros ambientes.
"Mediante la transacción SE01 podremos ver el detalle de una orden de transporte en particular en cambio mediante las transacciones SE09 y SE10 veremos el detalle de todas las ordenes de transporte que sean tanto de Worbench o de customizing cuyo estado sea modificable, liberada y ambas en la versión actual de SAP las transacciones SE010 y SE09 son exactamente iguales"
 
 
 
Sobre el autor
Publicación académica de Gustavo Jose Rondon Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Gustavo Jose Rondon Hernandez
Profesión: Becario - España - Legajo: WF47H
✒️Autor de: 33 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Soy informático con 10 años de experiencia en el área de tecnología, tengo un master en sap business intelligence sap bw & sap bi-bo en la salle barcelona.
Certificación Académica de Gustavo Rondon
























