Blog
Sintaxis e instrucciones básicas del lenguaje de programación ABAP
- 09/05/2022
- Escrito por: Grazia Masulli
- Categoría: SAP ABAP
Hemos visto en otros artículos de esta página web qué es el lenguaje de programación ABAP/4 y algunas preguntas frecuentes sobre él, pero veamos ahora cuáles son las reglas básicas de la sintaxis ABAP y sus instrucciones básicas.
Como este artículo es más largo de lo habitual, he añadido un índice para ayudarte a encontrar el tema que te interesa.
Índice
- Conceptos básicos.
- Los tipos de datos por defecto y la instrucción DATA.
- El comando WRITE.
- Operadores matemáticos.
- Construcciones lógicas IF, ELSE, WHILE, DO, CASE.
- Serie Fibonacci.
- Manipulación de cadenas.
- Comentarios sobre el código.
- Conceptos fundamentales.
- Un programa en ABAP consiste en un conjunto de “instrucciones” o “sentencias” individuales.
¿Cuáles son las instrucciones del lenguaje de programación ABAP?
Cada regla representa una acción a realizar. En el lenguaje de programación ABAP, cada instrucción termina con un punto (.), mientras que la primera palabra de la instrucción se conoce como palabra clave.
Por ejemplo, en esta línea, la palabra clave es WRITE, que por supuesto hará que el texto se escriba en la pantalla entre comillas:
“ESCRIBIR ‘Trabajar con SAP es hermoso”. |
Cada palabra de la instrucción debe estar separada por al menos un espacio. El código en ABAP no distingue entre mayúsculas y minúsculas: estos dos comandos para ABAP son idénticos:
DATA variable_1 TYPE C. data variable_1 tipo c. |
Aunque el lenguaje de programación ABAP no distingue entre mayúsculas y minúsculas, es una buena práctica escribir las palabras clave todas en mayúsculas (por ejemplo, WRITE y no Write o escribir).
¿Cómo se componen las instrucciones ABAP?
Una instrucción ABAP se compone de operadores (‘operators’), operandos (‘operands’) o adiciones de palabras clave. La primera palabra de una instrucción ABAP es siempre una palabra clave, mientras que las demás pueden ser operandos, operadores o sumas.
- Hay varios tipos de operadores, como:
- Operadores de asignación, que asocian los campos de origen y destino de una asignación (¿por ejemplo, = o? =)
- Operadores aritméticos, que asignan dos o más operandos numéricos con una expresión aritmética (por ejemplo, +, -, *)
- Operadores relacionales, que asocian dos operandos con una expresión lógica (por ejemplo, =, <, >), etc.
- Los operandos son objetos como datos, tipos de datos, procedimientos, etc.
Palabras clave en el lenguaje de programación ABAP
Las palabras clave son términos ingleses como REPORT, PARAMETERS y WRITE. Cada palabra clave ABAP tendrá también un número de adiciones (“additions”) que podemos utilizar para modificar la instrucción.
Veamos un ejemplo práctico:
DELETE itab WHERE (col1 = op1 AND (col2 > op2 OR col3 < op3)). |
En este comando la palabra clave es DELETE, la suma es WHERE, los operadores son =, <, >, AND, OR, y los operandos son itab, col1, op1, col2, op2, col3, op3.
En teoría, una instrucción puede abarcar varias líneas. Sin embargo, para mantener el código legible, es una buena práctica escribir una instrucción por línea.
Por ejemplo, el código:
Prueba del programa. ESCRIBIR ‘Esto es un ejemplo’. |
También podría escribirse así:
Prueba del programa. ESCRIBIR ‘Esto es un ejemplo’. |
O incluso así:
PROGRAMA prueba. ESCRIBIR Esto es un ejemplo”. |
Tipos de datos predefinidos y la instrucción DATA
Como en la mayoría de los lenguajes, en el lenguaje de programación ABAP hay varios tipos de datos predefinidos. Se llaman con el comando TYPE seguido de una letra. Por ejemplo, un tipo de datos I es un número entero, un C es una serie de caracteres (es decir, texto), D se utiliza para las fechas, T para la hora, etc.
¿Cómo se lleva a la práctica? Supongamos que quisiéramos registrar información sobre los empleados, utilizamos el TIPO C para el nombre y el TIPO D para la fecha en que comenzaron a trabajar en la empresa.
Las variables en ABAP en comando DATA
Veamos cómo funciona esto en la práctica. Creamos una variable para el nombre del empleado y una segunda variable para la fecha en la que empezó a trabajar en la empresa:
DATOS nombre_empleado (25) TIPO C. DATE nombre_empleado (25) TIPO D. |
El número 25 entre paréntesis indica la longitud que queremos dar a la variable (hasta 25 caracteres, después será truncada por el sistema). Si no hubiera especificado esto, la longitud estándar habría sido de un carácter.
El comando VALOR se utiliza para asignar un valor a la variable, la sintaxis es:
DATA mi_nombre (25) TYPE C VALUE ‘Grace’. |
Podemos usar lo que queramos para el nombre de la variable. La longitud máxima es de 30 caracteres y, por supuesto, no podemos utilizar palabras “reservadas” por el sistema (es decir, no podemos nombrar una variable WRITE, por ejemplo).
Si tenemos una lista de variables podemos condensar el código evitando la repetición de la instrucción DATA utilizando dos puntos y comas. Por ejemplo:
DATOS: nombre_empleado (25) TIPO C, apellido_empleado (25) TIPO C, start_date TYPE D. |
Otro atajo para escribir código más rápidamente cuando se trabaja con muchas variables que tienen las mismas características es utilizar el comando LIKE:
DATOS: variable_1(25) TIPO C, variable_2 LIKE variable_1. |
El comando WRITE
Veamos ahora con más detalle el comando WRITE, que devuelve a la pantalla el valor de constantes, variables, resultados de operaciones, mensajes, etc. ABAP también considera los caracteres vacíos contenidos en una variable cuando devuelve valores a la pantalla.
Por ejemplo, definamos dos variables de veinticinco caracteres cada una. Observe que para la definición de la segunda variable he utilizado el comando LIKE:
DATOS: variable_1(25) TIPO C VALOR ‘Prueba’, variable_2 LIKE variable_1 VALUE ‘Test’. WRITE variable_1. WRITE variable_2. |
Este es el resultado en la pantalla – ABAP además de los 4 caracteres de la palabra Test también incluyó los 21 caracteres vacíos (es decir, los 25 utilizados para la variable_1 menos los 4 realmente utilizados)
¿Qué habría pasado si la variable hubiera sido más larga?
Aquí un breve ejemplo:
DATOS: variable_1(25) TIPO C VALOR ‘Precipitado’, variable_2 LIKE variable_1 VALUE ‘Aprendo a utilizar SAP’. WRITE variable_1. WRITE variable_2. |
En este caso, se corta la primera variable (que tiene 26 caracteres, uno más que los 25 que tiene asignados)
Y, si precipitadamente aprendo a usar SAP, ABAP no se envuelve a sí mismo. Por ejemplo, este código:
DATOS: variable_1(20) TIPO C VALOR ‘Se mantiene como’, variable_2(20) TYPE C VALUE ‘fallo’, variable_3(20) TYPE C VALUE ‘en los árboles’, variable_4(20) TYPE C VALUE ‘las hojas’. WRITE: variable_1, variable_2, variable_3, variable_4. |
Devuelve, es como las hojas de otoño en los árboles
Utiliza la tecla / para terminar:
DATA: variable_1(20) TYPE C VALUE ‘Es como’, variable_2(20) TYPE C VALUE ‘de otoño’, variable_3(20) TYPE C VALUE ‘en los árboles’, variable_4(20) TYPE C VALUE ‘las hojas’. WRITE: variable_1, / variable_2, / variable_3, / variable_4. |
Se mantiene como
otoño
en los árboles
las hojas
Si necesita que el texto destaque, puede utilizar colores con el comando COLOR. Veamos algunos ejemplos:
DATA: variable_1(20) TYPE C VALUE ‘Es como’, variable_2(20) TYPE C VALUE ‘otoño’, variable_3(20) TYPE C VALUE ‘en los árboles’, variable_4(20) TYPE C VALUE ‘las hojas’. WRITE: variable_1 COLOR COL_TOTAL, / variable_2 COLOR COL_HEADING, / variable_3 COLOR COL_POSITIVO, / variable_4 COLOR COL_NEGATIVO. |
El poema aparecerá ahora coloreado en la pantalla.
Si es necesario, también es posible incluir diversos símbolos e iconos en los mensajes. Algunos ejemplos prácticos:
INCLUDE <símbolo>. ESCRIBE: / ‘www.corsoSAP.com’, / sym_phone AS SYMBOL, ‘348 3762371’, / sym_note AS SYMBOL, ‘Los mejores cursos online’, / sym_document AS SYMBOL, ‘Aprenda SAP hoy’. |
Operadores matemáticos en ABAP
Los operadores matemáticos en ABAP son extremadamente intuitivos. Puede utilizar los símbolos estándar + – * /. La única que puede ser difícil de recordar es la elevación de potencia, que se escribe con dos asteriscos seguidos **.
Si lo prefiere, puede utilizar términos en inglés, por ejemplo: MULTIPLY BY. Por supuesto, se puede trabajar tanto con variables como con números.
Veamos algunos ejemplos prácticos en el siguiente fragmento de código:
DATOS: va_test_1 TYPE I VALUE 1, va_test_2 TYPE I VALUE 2, va_test_3 TYPE I VALUE 3, va_test_4 TYPE I VALUE 4, va_test_5 TYPE I VALUE 5. ADD va_test_1 TO va_test_2. SUBTRAER 1 DE va_test_1. MULTIPLICAR va_test_3 POR va_test_4. DIVIDE va_test_4 POR 2. va_test_5 = va_test_5 ** 2. ESCRIBE: ‘va_test_1= ‘, va_test_1, / ‘va_test_2= ‘, va_test_2, / ‘va_test_3= ‘, va_test_3, / ‘va_test_4= ‘, va_test_4, / ‘va_test_5= ‘, va_test_5. |
Estos son los resultados:
va_test_1= 0
va_test_2= 3
va_test_3= 12
va_test_4= 2
va_test_5= 25
Si trabajas con decimales debes recordar un par de cosas: declarar el tipo de datos correcto para la variable (TIPO P) y cuántos decimales quieres después del punto decimal (DECIMALES).
Además, al declarar la variable con el comando VALOR debe utilizar superíndices a ambos lados del número, por ejemplo, VALOR ‘3,43’.
Si no los ponemos ABAP verá el punto entre el 3 y el 43 como parte del código (es decir, como el final del comando) y devolverá un error.
DATOS: va_test_1 TYPE P DECIMALS 2 VALUE ‘3.43’, va_test_2 TYPE P DECIMALS 2 VALUE ‘5.73’. ADD va_test_1 TO va_test_2. ESCRIBE: ‘va_test_1= ‘, va_test_1, / ‘va_test_2= ‘, va_test_2. |
El resultado será:
va_test_1= 3.43
va_test_2= 9.16
Construcciones lógicas IF, ELSE, WHILE, DO, CASE
ABAP nos permite trabajar con varios tipos de construcciones condicionales y bucles utilizando instrucciones como IF, ELSE, WHILE, etc. Empecemos por la más clásica, la expresión condicional IF.
La estructura es la siguiente:
IF (condición que debe darse). (operación a realizar). ENDIF. |
Si la condición dentro del IF no se produce, el programa pasa al final del bloque y continúa con la siguiente instrucción.
La condición es normalmente una comparación entre caracteres y cadenas. Algunos operadores que se pueden utilizar son:
- CS (contiene una cadena). Busca si una cadena está presente. No distingue entre mayúsculas y minúsculas.
- CO (Sólo contiene). Es verdadero si los caracteres coinciden (este operador distingue entre mayúsculas y minúsculas).
- CA (Contiene cualquiera). Es verdadero si al menos un valor coincide al comparar los dos operandos. Este operando también distingue entre mayúsculas y minúsculas.
Un ejemplo práctico de código en el lenguaje de programación ABAP sería:
DATA str_corso_sap (100) VALUE ‘CorsoSAP – ¡¡¡los mejores cursos de SAP en italiano!!!’. IF ‘str_corso_sap’ CS ‘curse’. WRITE: str_corso_sap. ENDIF. |
En la primera línea con el comando DATA, se define una variable, que llamo str_corso_sap. Y utilizado ‘str’ en el nombre para recordar que se trata de una cadena de caracteres y no de un número.
A esta variable con el comando VALUE le di el valor CorsoSAP – ¡los mejores cursos de SAP en italiano! El número entre paréntesis es la longitud permitida. Si hubiera utilizado str_corso_sap (7) el programa habría cortado el valor a CorsoSAP.
A continuación, el programa comprueba si la cadena “curso” aparece en la variable. Al parecer, el programa devolverá el valor de la variable (comando WRITE: str_corso_sap).
La construcción IF puede ampliarse con ELSE y ELSEIF. Con ELSE añadimos comandos a ejecutar si la condición es falsa:
DATA str_corso_sap (100) VALUE ‘CorsoSAP – ¡los mejores cursos de SAP en italiano! IF ‘str_corso_sap’ CS ‘banana’. WRITE: str_corso_sap. ELSE. ESCRIBE: “Hola, soy Grace”. ENDIF. |
Ahora, como la cadena ‘banana’ no aparece en la variable, SAP devolverá la frase “Hola, soy Grace.”
Se pueden utilizar varios bucles IF con el comando ELSEIF. Por ejemplo, con el siguiente código ABAP buscará primero la palabra Apple, luego Peor y finalmente SAP (encontrándola, y devolviendo así ‘Banana’.
DATA str_corso_sap (100) VALUE ‘CorsoSAP – ¡los mejores cursos de SAP en italiano!
IF ‘str_corso_sap’ CS ‘Apple’. WRITE: ‘Apple’. ELSEIF ‘str_corso_sap’ CS ‘Pear’. WRITE: ‘Pera’. ELSEIF ‘str_corso_sap’ CS ‘SAP’. ESCRIBIR: ‘Plátano’. ENDIF. |
Por supuesto, también se pueden utilizar operadores lógicos. Los más comunes son:
- = Igualdad
- Diferente
- <Menor
- Mayor
- <= Menor o igual
- >= Mayor o igual que
Veamos un ejemplo práctico:
DATOS: va_test_1 TYPE I VALUE 10, va_test_2 TYPE I VALUE 10, va_test_3 TYPE I VALUE 50. IF va_test_1 = va_test_1. WRITE: ‘Equals’. ELSE. ESCRIBIR: ‘Diferente’. ENDIF. |
En este fragmento de código hemos definido tres variables, todas ellas enteras (comando TYPE I). Los dos primeros valen 10 y el tercero 50. El programa comprueba si son idénticos (en cuyo caso escribe “Igual”, como en este ejemplo) o diferentes.
Veamos un segundo ejemplo:
Ahora añadimos una segunda condición con el comando AND. Ahora ambas condiciones dentro del comando IF deben ser verdaderas:
DATOS: va_test_1 TYPE I VALUE 10, va_test_2 TYPE I VALUE 10, va_test_3 TYPE I VALUE 50. IF va_test_1 = va_test_2 AND va_test_2 > va_test_3. WRITE: ‘True’. ELSE. WRITE: ‘Falso’. ENDIF. |
Ahora pedimos que se verifique que las dos primeras variables son iguales (lo que es cierto) y que la segunda es mayor que la tercera (lo que es falso).
El programa escribirá entonces Falso. El comando WHILE ejecutará un bloque de comandos hasta que la condición especificada sea verdadera.
Serie Fibonacci
Veamos un ejemplo práctico con la serie de Fibonacci (también llamada sección áurea). En esta serie, cada número es la suma de los dos anteriores. Obviamente, la serie es infinita. Por lo tanto, queremos que ABAP devuelva todos los números de Fibonacci menores de 1000.
DATOS: variable_1 TIPO I VALOR 1, variable_2 TIPO I VALOR 1, variable_3 TIPO I. WRITE: ‘Número Fibonacci=’, variable_1. WHILE variable_3 < 1000. variable_3 = variable_1 + variable_2. variable_1 = variable_2. variable_2 = variable_3. WRITE: ‘Número Fibonacci=’, variable_1. FIN DE LA VIDA. |
El comando WHILE nos permite ejecutar una serie de operaciones hasta que la variable_3 sea menor que 1000. Entonces el programa saldrá del bucle (ENDWHILE).
Resultado en la pantalla:
Número de Fibonacci= 1 Número de Fibonacci= 1 Número de Fibonacci= 2 Número de Fibonacci= 3 Número de Fibonacci= 5 Número de Fibonacci= 8 Número de Fibonacci= 13 Número de Fibonacci= 21 Número de Fibonacci= 34 Número de Fibonacci= 55 Número de Fibonacci= 89 Número de Fibonacci= 144 Número de Fibonacci= 233 Número de Fibonacci= 377 Número Fibonacci= 610 Número Fibonacci= 987 |
Con el comando DO, en cambio, pedimos a ABAP que repita una serie de instrucciones un determinado número de veces. Podemos adaptar el código del ejemplo anterior haciendo que el programa realice los cálculos 21 veces seguidas (DO 21 TIMES), sin comprobar ninguna condición.
Salimos del bucle con el comando ENDDO.
DATOS: variable_1 TIPO I VALOR 1, variable_2 TIPO I VALOR 1, Fibonacci TIPO I. WRITE: ‘Número Fibonacci=’, variable_1. HACER 21 VECES. Fibonacci = variable_1 + variable_2. variable_1 = variable_2. variable_2 = Fibonacci. WRITE: ‘Número Fibonacci=’, variable_1. ENDDO. |
El resultado será este:
Número Fibonacci= 1 Número Fibonacci= 1 Número Fibonacci= 2 Número Fibonacci= 3 Número de Fibonacci= 5 Número de Fibonacci= 8 Número de Fibonacci= 13 Número de Fibonacci= 21 Número de Fibonacci= 34 Número de Fibonacci= 55 Número de Fibonacci= 89 Número de Fibonacci= 144 Número de Fibonacci= 233 Número de Fibonacci= 377 Número de Fibonacci= 610 Número de Fibonacci= 987 Número de Fibonacci= 1.597 Número de Fibonacci= 2.584 Número de Fibonacci= 4.181 Número de Fibonacci= 6.765 Número Fibonacci= 10.946 Número Fibonacci= 17.711 |
Por último, el comando CASE nos permitirá predecir varios casos posibles en el código. En cuanto ABAP ve que se da uno de los casos ejecuta la instrucción y sale del comando (cerrado por la palabra clave ENDCASE).
En el ejemplo, vemos que se ha declarado la altura (165) en la variable. A ABAP se le ofrecen varias alturas posibles y cadenas para escribir cuando una de las condiciones se hace realidad (WHEN…WRITE).
Si ninguno de los casos es verdadero tenemos el comando WHEN OTHERS. El código, obviamente, devolverá que mido 165 cm.
DATOS: altura TIPO I VALOR 165. Altura del caso. CUANDO 150. ESCRIBE ‘Mido 150 cm’. CUANDO 155. ESCRIBE ‘Mido 155 cm’. CUANDO 160. ESCRIBE ‘Mido 160 cm’. CUANDO 165. ESCRIBE ‘Mido 165 cm’. CUANDO 170. ESCRIBE ‘Mido 170 cm’. CUANDO OTROS. WRITE ‘Altura incorrecta’. ENDCASE. |
Recuerde que en el lenguaje de programación ABAP se leerán las líneas de una en una, y en cuanto se cumpla una condición saldrá del comando. En el siguiente ejemplo seguirá escribiendo “Mido 165 cm”, ignorando todos los comandos posteriores.
DATOS: altura TIPO I VALOR 165. Altura del caso. CUANDO 160. ESCRIBE ‘Mido 160 cm’. CUANDO 165. ESCRIBE ‘Mido 165 cm’. CUANDO 165. WRITE ‘ABAP ignorará esta línea’. CUANDO 165. WRITE ‘Y este también, porque sólo ejecutó el primero y salió del comando’. CUANDO OTROS. WRITE ‘Altura incorrecta’. ENDCASE. |
Manipulación de cadenas
Veamos ahora algunos ejemplos de comandos con los que podemos manipular cadenas de caracteres alfanuméricos.
En el código de abajo en las tres primeras líneas hemos definido tres cadenas con varios problemas:
- La primera está mal escrita (con caracteres en mayúsculas mezclados con minúsculas).
- La segunda está toda en minúsculas y nos gustaría que estuviera toda en mayúsculas.
- Y la tercera tiene las palabras muy separadas y queremos unirlas.
La solución es el comando TRANSLATE TO UPPER CASE, que cambia todo a mayúsculas, o TRANSLATE TO LOWER CASE, que cambiará todo el texto a minúsculas.
El comando CONDENSE, por otro lado, adjuntará las palabras, dejando un espacio entre cada una. Si, por el contrario, quieres que se unan (sin espacios entre palabras), el comando es CONDENSE (la que quieres unir) SIN ESPACIOS.
DATE: str_text_written_male (100) VALUE ‘TesTo ScriTTo MAle’, str_text_minuscule (100) VALUE ‘Estaba todo en minúsculas’., str_words_detached (100) VALUE ‘Palabras muy separadas’. TRANSLATE str_text_written_male TO LOWER CASE. TRANSLATE lowercase_text str text TO UPPER CASE. CONDENSE str_words_detached. WRITE: WRITE_text_male str text, / minuscule_text_text, / str_words_stacked. Este fragmento de código devolverá a modo de: texto mal escrito TODO EN MINÚSCULAS Palabras muy desprendidas |
Incluso si quiere contar los caracteres, esto se puede hacer rápidamente. En las siguientes líneas puedes ver cómo he definido una cadena y luego una variable auxiliar que utilizaré para poner el número de caracteres de la cadena (que obviamente es un entero, por lo que se define como TIPO I)
En el siguiente paso finalmente utilicé el comando STRLEN (string lenght) para contar cuántos caracteres hay y poner este valor en la variable va_characters_counted.
DATA: str_characters (100) VALUE ‘¿Cuántos caracteres tiene esta frase?, va_characters_counted TYPE I. va_characters_counts = STRLEN (str_counts). WRITE: / va_characters_counts. |
El programa devuelve 41 (por supuesto, también contará los espacios en blanco).
Cuando utilice el comando STRLEN, recuerde poner los dos espacios en blanco (después del paréntesis de apertura y antes del paréntesis de cierre) o el sistema devolverá un error.
Para buscar una palabra, frase o caracteres dentro de las cadenas de texto puede utilizar este código:
DATE: str_text_string (100) VALUE ‘La palabra que busco es CORSOSAP’, SEARCH str_word (10) VALUE ‘CORSOSAP’. BUSCAR texto_de_cadena PARA palabra_de_búsqueda. IF sy-subrc IS 0. ESCRIBIR / ‘He encontrado la palabra que buscabas’. ELSE. WRITE / ‘Lo sentimos, palabra no encontrada’. ENDIF. |
Veamos cómo funciona esto:
- Buscamos la palabra CORSOSAP dentro de la cadena de texto.
- Lo hacemos con el comando BUSCAR … PARA … (primero definimos lo que buscamos y luego dónde lo buscamos).
- Para que el sistema nos diga si se ha encontrado la palabra utilizamos un bucle IF… ELSE.
La novedad es que introducimos una variable del sistema, sy-subrc. Se trata de un código que será devuelto a ABAP y tendrá un valor de cero si el programa se ejecutó con éxito (y en nuestro caso se encontró la palabra) mientras que tendrá un valor de 4 si no se encuentra la palabra buscada.
También podríamos haber escrito el código como IF sy-subrc IS INITIAL (es decir, si tiene el valor inicial, es decir, cero). La búsqueda en la cadena no distingue entre mayúsculas y minúsculas.
Comando COCATENAR
Otro comando que utilizo con mucha frecuencia (no sólo con SAP, sino también con otros programas como Excel) es el comando CONCATENAR, que se utiliza para fusionar varias cadenas en una sola.
Aquí también vemos que el código es muy claro y legible: definimos tres variables con textos, una cuarta en la que las fusionamos y utilizamos CONCATENAR…EN.…SEPARADO POR.
¿Qué es SEPARADO POR en el lenguaje de programación ABAP?
SEPARADO POR es una parte opcional del comando. Permite separar las distintas partes, que de otro modo estarían unidas sin espacio. El mismo comando también podría haberse escrito como SEPARADO POR ESPACIO, ya que ESPACIO (‘space’) es una palabra clave reconocida por ABAP.
SEPARADO POR en ejecución
Por supuesto, puede utilizar otros separadores: por ejemplo, si quiere utilizar un guión horizontal, el comando sería SEPARADO POR ‘-’.
DATOS: string_1(100) VALOR ‘CorsoSAP: formación’, string_2(100) VALUE ‘en línea en italiano’, string_3(100) VALUE ‘Visite nuestro sitio www.CorsoSAP.com’, string_concatenate (100). CONCATENAR cadena_1 cadena_2 cadena_3 INTO cadena_concatenata SEPARADA POR ‘ ‘. |
WRITE string_concatenate (100).
Código Comentarios
Los comentarios del código se utilizan para explicar a las personas que leen nuestro programa cuáles fueron nuestras intenciones al escribirlo y la lógica de ciertos pasos.
Aunque a menudo se dice que “el buen código no necesita comentarios”, yo diría que es una buena idea incluir comentarios, especialmente en situaciones en las que hay varias personas trabajando juntas.
Hay dos formas de añadir comentarios al código. La primera es insertar un asterisco (*) al principio de una línea para convertir toda la línea en un comentario.
Ejemplo práctico:
**************************************************************** *&————————————————————-* *& Unas líneas de código en ABAP para explicar los comandos *. *& * *& Autor: www.CorsoSAP.com * *& Formación SAP en italiano * *&————————————————————-* **************************************************************** |
Este bloque será ignorado por el programa – puedes escribir lo que quieras entre los asteriscos y no será leído.
Como alternativa, puede insertar una doble coma invertida (“) en medio de la línea para que la parte de la línea después de la coma invertida sea un comentario (en este caso se trata de un comentario en línea).
Ejemplo:
ESCRIBIR ‘Trabajar con SAP es hermoso’. ” aunque a veces es complicado entender su funcionamiento Esta línea sólo devolverá la frase Trabajar con SAP es hermoso. |