Sentencias ABAP esenciales Parte1 (variables, constantes y condicionales).

Sentencias ABAP esenciales (Variables, constantes y condicionales).

En esta lección vamos a complementar el post anterior Tipos de datos SAP ABAP y a continuar repasando la base de la programación ABAP con las sentencias ABAP esenciales, como cualquier lenguaje de programación el uso de variables, constantes, operadores lógicos y condicionales se hace imprescindible. Hay que tener en cuenta las singularidades de este lenguaje a la hora de declaración y el uso de estas instrucciones.

Al iniciar un programa, se carga el contexto del programa en una memoria del servidor de aplicación y se pone la memoria a disposición de los objetos de datos definidos en el programa. Cada objeto de datos elemental se preasigna al valor inicial específico del tipo de datos, excepto si se ha fijado un valor distinto mediante el suplemento VALUE.

 

Variables.

Ejemplo de declaración y asignación de 1 variable.

DATA gv_var1 type i value 18.

 

Ejemplo de declaración y asignación de varias variables.

DATA: gv_var1 type i value 18,

gv_var2(7) type c value ‘asiento’.

 

Nota: Si la sentencia anterior te suena a mandarín profundo, no te preocupes, estás empezando. Te animo a que sigas leyendo para comprenderlo. Conviene que vayas leyendo líneas de código, te ayudaré a familiarizarte con la sintaxis, sobre todo si no tienes base en programación.

 

Puede utilizar la sentencia MOVE para transferir el contenido de un objeto de datos a otro objeto de datos.

Las siguientes variantes de sintaxis tienen el mismo efecto:

MOVE gv_var1 TO gv_var2.

gv_var2 = gv_var1.

 

Si ambos objetos de datos gv_var1 y gv_var2 son de tipos diferentes, existe un conflicto de tipos. En este caso, si existe una regla de conversión, se realiza automáticamente una conversión de tipo de datos.

La sentencia CLEAR reinicializa el contenido de un objeto de datos al valor inicial ligado al tipo.

 

Constantes.

Ejemplo de declaración y asignación de constante.

CONSTANTS c_constante(18) type c value ‘Asiento_de_pasillo’.

 

Sobre las constantes es importante conocer que al contrario que la variable, se declaran al principio del programa y su valor nunca podrá modificarse durante la ejecución del programa. Se utilizan habitualmente para evitar escribir valores literales. En próximos posts veremos que existe otro método más eficiente que las constantes de evitar los literales en los textos.

 

Cálculos y expresiones aritméticas ABAP.

Imagen declaracion y operacion ABAP

En ABAP, puede programar expresiones aritméticas hasta cualquier nivel de anidamiento.

Operadores válidos en ABAP.

+ (suma)

– (resta)

* (multiplicación)

/ (división)

** (Potencia)

DIV (división integral sin resto)

MOD (Resto después de la división integral)

 

Condicionales y expresiones lógicas ABAP.

Imagen ejemplo condicionales if elseif y case ABAP

 

ABAP ofrece 2 modos de ejecutar diferentes secuencias de código dependiendo de las condiciones:  Estos son los famosos IF ELSEIF y CASE.

 

En la construcción IF, puede definir cualquier expresión lógica como condición de verificación. Si se cumple la condición, el sistema ejecuta el bloque de sentencias correspondiente. De lo contrario, se verifica la condición especificada en la siguiente bifurcación ELSEIF (es posible incluir varias bifurcaciones). Si no se cumple ninguna de las condiciones especificadas, se ejecuta la bifurcación ELSE, si es que existe. Las bifurcaciones ELSEIF y ELSE son opcionales.

 

En la construcción CASE, puede distinguir casos de forma precisa. El contenido del campo especificado en la parte CASE se verifica con respecto a los objetos de datos listados en la bifurcación WHEN para comprobar si coinciden. Si el contenido del campo coincide, se procesa el bloque de sentencias correspondiente. Si ninguna comparación coincide, el sistema ejecuta la bifurcación OTHERS si está disponible. Es obligatoria primera bifurcación WHEN (al menos un caso), todas las otras bifurcaciones son opcionales.

 

En ambos escenarios, la verificación de condiciones o de coincidencias se produce secuencialmente de forma descendente. Tan pronto como se ejecute el bloque de secuencias de una bifurcación, el sistema pasará inmediatamente a ENDIF o ENDCASE.

 

Consejo:

Si desea implementar verificaciones de semejanza entre un campo y distintos valores, es preferible utilizar la construcción CASE antes que la sentencia IF, puesto que es más transparente y rinde mejor.

Imagen ejemplo condicionales y expresiones logicas ABAP

En la imagen anterior se muestran varios ejemplos simples (negación, enlaces AND y OR con paréntesis, y negación antes de condiciones lógicas) de utilizar la sentencia IF.

Puede formular negaciones situando el operador NOT antes de la expresión lógica. Cuando niegue la consulta IS INITIAL, puede utilizar la consulta especial IS NOT INITIAL.

 

Consejo:

Una sentencia «IF NOT var IS INITIAL» es una sentencia válida también (sintaxis correcta). Sin embargo, para mejorar la legibilidad del código de programación, SAP recomienda no utilizar esta sentencia/sintaxis.

 

Podemos anidar las estructuras IF y CASE de cualquier forma, pero asegúrese de que la lógica de cada estructura sea correcta. Cada estructura debe estar cerrada, por ejemplo:

IF <log. condition1> . …

IF <log. condition2> . .. .

ENDIF.

ENDIF.

 

Resumen, estas son algunas de las sentencias ABAP esenciales, las que hemos visto se encuentran dentro de la programación estructurada y son elementales desarrollo SAP/ABAP.

Esto ha sido todo por hoy, próximamente más!!