79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
{
|
|
FUNCTION : ControlNumericoED
|
|
DESARROLLADO POR : ING. JUAN SOTO
|
|
FECHA DESARROLLO : 6 Noviembre 2025
|
|
OBJETIVO : Retornar el numero siguiente de las entradas al diario
|
|
|
|
}
|
|
|
|
FUNCTION controlNumericoED(idEntrada, fecha, usuario)
|
|
DEFINE
|
|
idEntrada SMALLINT,
|
|
ano CHAR(4),
|
|
mes CHAR(2),
|
|
secuencia INT,
|
|
ultimo INT,
|
|
fecha DATE,
|
|
refEntrada VARCHAR(25),
|
|
tiempo CHAR(4),
|
|
snumerico STRING,
|
|
usuario STRING
|
|
|
|
IF fecha IS NULL THEN
|
|
LET fecha = TODAY
|
|
END IF
|
|
DISPLAY "IDENTRADA: ", identrada
|
|
LET idEntrada = identrada CLIPPED
|
|
DISPLAY "IDENTRADA DES ", identrada
|
|
LET ano = YEAR(fecha) USING "&&&&"
|
|
LET mes = MONTH(fecha) USING "&&"
|
|
LET tiempo = mes[1, 2], ano[3, 4]
|
|
|
|
LET snumerico =
|
|
"SELECT a.referencia FROM marmotech.dbo.cgtb00011 a WHERE a.entrada_no = ?"
|
|
PREPARE numeroED FROM snumerico
|
|
EXECUTE numeroED INTO ultimo USING idEntrada
|
|
IF STATUS = NOTFOUND THEN
|
|
|
|
IF usuario IS NOT NULL THEN
|
|
IF ultimo IS NULL THEN
|
|
LET ultimo = 0
|
|
END IF
|
|
LET snumerico =
|
|
'INSERT INTO marmotech.dbo.cgtb00011 (referencia, entrada_no,us_crea,fech_crea)
|
|
values (?,?,?,getdate())'
|
|
PREPARE insED FROM snumerico
|
|
EXECUTE insED USING ultimo, idEntrada, usuario
|
|
FREE numeroED
|
|
|
|
END IF
|
|
END IF
|
|
|
|
IF ultimo IS NULL THEN
|
|
LET ultimo = 0
|
|
END IF
|
|
|
|
LET secuencia = ultimo + 1
|
|
|
|
LET refEntrada =
|
|
"ED.", idEntrada USING "&&", "-", secuencia USING "&&&&&", "/", tiempo
|
|
|
|
DISPLAY "en control numero: " || refEntrada," usuario: "
|
|
|
|
IF usuario IS NOT NULL AND idEntrada IS NOT NULL THEN
|
|
LET snumerico =
|
|
"UPDATE marmotech.dbo.cgtb00011
|
|
SET referencia = referencia + 1,
|
|
us_mod = ?,
|
|
fech_mod = getdate()
|
|
WHERE entrada_no = ?"
|
|
PREPARE updateNumerico FROM snumerico
|
|
EXECUTE updateNumerico USING usuario, idEntrada
|
|
FREE updateNumerico
|
|
|
|
END IF
|
|
|
|
RETURN refEntrada
|
|
|
|
END FUNCTION
|