Progress
Progress ABL es un lenguaje de programación vinculado al entorno Progress OpenEdge, su base de datos y las utilidades que lo rodean. Es similar al inglés fuertemente tipado, enlazado en tiempo de ejecución.
Aunque inicialmente se diseñó como un lenguaje procedimental, a partir de la versión 10.1 se mejoró con elementos de gramática orientada a objetos, que se pueden mezclar con el estilo procedimental original.
A diferencia de otros lenguajes, Advanced Business Language (ABL) permite a los desarrolladores administrar datos relacionales de la manera que mejor se adapte a sus necesidades comerciales, lo que aumenta significativamente la productividad.
Un desarrollador de OpenEdge puede crear API para .NET, JavaScript, clientes Java, mensajería Java e incluso asignar esquemas de bases de datos a formatos XML, al mismo tiempo que aprovecha la eficiencia de ABL.
ABL también ofrece herramientas esenciales para el desarrollo de aplicaciones, lo que le permite tener fácil acceso a todos los recursos de su aplicación:
Editor de procedimientos
Compilador de aplicaciones
Depurador
Diccionario de datos
Gestión de datos
Servidor de desarrollo OpenEdge
Beneficios clave
Expresar y comprender rápidamente reglas de negocio enriquecidas
Las declaraciones sobrealimentadas hacen el trabajo de cientos de líneas de código en lenguajes como Visual Basic o Java.
Acceda, manipule y almacene fácilmente datos de varias fuentes y formatos de datos
Soporta plataformas Windows, UNIX y Linux
for each customer
display customer.name.
end.
/* Ejemplo de iteración de una tabla de base de datos en Progress OpenEdge ABL */
FOR EACH Clientes:
DISPLAY Clientes.Nombre Clientes.Edad.
END.
/* Resultado en pantalla:
Juan 25
María 30
Carlos 28
...
*/
/* Ejemplo de sentencia IF-ELSE en Progress OpenEdge ABL */
DEF VAR edad AS INTEGER.
edad = 18.
IF edad >= 18 THEN
DISPLAY "Es mayor de edad.".
ELSE
DISPLAY "Es menor de edad.".
ENDIF.
/* Resultado en pantalla:
Es mayor de edad.
*/
Progress OpenEdge ABL (Advanced Business Language) admite varios tipos de datos, incluyendo:
Caracteres (CHAR): Utilizados para almacenar cadenas de caracteres.
Números enteros (INTEGER): Utilizados para almacenar valores numéricos enteros.
Decimales (DECIMAL): Utilizados para almacenar valores numéricos con decimales de precisión fija.
Lógicos (LOGICAL): Utilizados para representar valores lógicos como "VERDADERO" o "FALSO".
Fechas (DATE): Utilizadas para almacenar valores de fecha.
Fechas y horas (DATETIME): Utilizadas para almacenar valores de fecha y hora.
Números de punto flotante (FLOAT): Utilizados para almacenar valores numéricos de punto flotante.
Cadenas de caracteres largas (LONGCHAR): Utilizadas para almacenar cadenas de caracteres más largas que las que se pueden almacenar en el tipo CHAR.
Objetos (OBJECT): Utilizados para representar objetos en una base de datos orientada a objetos.
Tablas (TABLE): Utilizadas para almacenar conjuntos de registros y campos relacionados.
Manejadores de eventos (HANDLE): Utilizados para manipular eventos y objetos dinámicamente.
/*Declaración de variables*/
DEF VAR nombre AS CHAR.
DEF VAR edad AS INTEGER.
DEF VAR salario AS DECIMAL.
DEF VAR esMayorEdad AS LOGICAL.
DEF VAR fechaNacimiento AS DATE.
DEF VAR fechaHora AS DATETIME.
DEF VAR descripcion AS LONGCHAR.
DEFINE TEMP-TABLE ttClientes
FIELD nombre AS CHAR
FIELD edad AS INTEGER.
CREATE ttClientes.
/*Asignación de valor*/
nombre = "Juan".
edad = 25.
salario = 1500.50.
esMayorEdad = TRUE.
fechaNacimiento = DATE("1990-05-15").
fechaHora = DATETIME("2023-02-05 14:30:00").
descripcion = "Este es un texto largo...".
/*Mostramos en pantalla*/
DISPLAY "Nombre: "nombre.
DISPLAY "Edad: "edad.
DEFINE TEMP-TABLE ttClientes
FIELD nombre AS CHAR
FIELD edad AS INTEGER.
CREATE ttClientes.
FOR EACH ttClientes:
DISPLAY ttClientes.nombre ttClientes.edad.
END.