Procedimientos Almacenados en SAP Business One – Parte 1
linked-in

Federico Cortese

Fecha de publicación: 15 Ene, 2024

Procedimientos Almacenados en SAP Business One – Parte 1

 

Conceptos básicos de Programación

Para poder comprender y desarrollar controles, validaciones y acciones en los procedimientos almacenados, necesitamos tener conocimientos básicos sobre la lógica de programación. A continuación, detallaremos la lógica y los elementos que más utilizaremos los procedimientos de SAP B1.

Variables
Simplificando, una variable es un espacio de almacenaje, que sirve para guardar un valor o una lista de valores. Está formada un nombre simbólico (un identificador) y por un tipo, que determina como va a ser el espacio de almacenaje en el sistema.

Hay muchos distintos tipos de variables:
• Lógicas. (Ej.: bool)
• Cadenas de caracteres. (Ej.: nvarchar(50))
• Carácter. (Ej.: char)
• Enteros. (Ej.: int)
• Numéricas o Decimales. (Ej.: decimal(19,6), numeric, float)
• …

Condiciones
Las condiciones se utilizan para ejecutar una acción si se cumple con una condición. Las condiciones siempre tienen un resultado VERDADERO O FALSO. Por ejemplo, si queremos ejecutar una acción si la transacción realizada es una factura debemos utilizar la sentencia IF, la cual se interpreta de la siguiente manera.

IF (Es Factura)
Ejecuto acción o acciones.

El circuito lógico sería el siguiente:

 

Procediminetos Almacenados SAP Business One

Si requerimos complejizar un poco mas las condiciones de la ejecución podremos utilizar la sintaxis ELSE. Por ejemplo, ejecutar una acción si es factura, si no lo es ejecutar otra acción.

IF (Es Factura)
Acción 1.
ELSE
Acción 2.

El circuito lógico sería el siguiente:

Procediminetos Almacenados SAP Business One

Podemos complejizar un más nuestras condiciones agregando ELSE IF. Por ejemplo, ejecutar una acción si es factura, si no es factura y es albarán ejecutar otra acción, si no lo es ejecutar otra acción.

IF (Es Factura)
Acción 1.
ELSE IF (Es Albarán)
Acción 2.
ELSE
Acción 3.

El circuito lógico sería el siguiente:

Procediminetos Almacenados SAP Business One

Otra alternativa en los casos de necesitar aplicar múltiples condiciones es la utilización del CASE.

CASE
WHEN (Es Factura) THEN Acción 1.
WHEN (Es Albarán) THEN Acción 2.
WHEN (Es Pedido) THEN Acción 3.
WHEN (Es Oferta) THEN Acción 4.
END;

Ciclos
Los ciclos nos permiten recorrer una matriz o un segmento de valores para aplicar acciones en cada etapa del ciclo. Para esto utilizaremos la sentencia WHILE.

Un ejemplo, seria recorrer las líneas de la factura y aplicar una acción en cada línea. En los ciclos se utiliza el termino de bandera, que nos permite saber en que posición del ciclo nos encontramos. La bandera comienza con valor 0 o el primer valor que deba recorrer. Luego se incrementará en cada oportunidad que ingrese al ciclo.

Los ciclos comienzan con una condición y se repiten tantas veces como esa condición se cumpla.

En el ejemplo, recorreremos las líneas de factura. El ciclo WHILE se ejecutará tantas veces como líneas tenga la factura.

WHILE (bandera <= líneas de factura.)
DO
Acción.
Bandera = Bandera + 1;
END WHILE;

Comentarios
En todos los lenguajes de programación necesitamos registrar comentarios sobre el código, para aclarar o dejar constancias del código realizado.

Para ingresar un comentario en SAP HANA debemos incluir los caracteres y luego ingresar el comentario deseados. En otros lenguajes podemos utilizar //.

Ejemplo:
–Aquí va el comentario.

Si necesitamos comentar un bloque del código podemos utilizar los caracteres /* para iniciar el bloque y cerrarlo con */.

Ejemplo:
/*
Aquí va el comentario.
*/

Curso SQL desde cero básico para SAP Business One - SQL / HANA

Accede al curso en Udemy…

Sintaxis de consultas - SAP Business One

Aprende las particularidades de como escribir query’s en SAP B1. Sintaxis de consultas en SAP Business One.