90 lines
2.8 KiB
Plaintext
90 lines
2.8 KiB
Plaintext
{
|
|
|
|
PROGRAMA : cgprmt022
|
|
OBJETIVO : Administrar las tasas mensuales
|
|
FECHA CREACION: Agosto 7, 2018
|
|
DESARROLLADO POR: ING. JUAN SOTO
|
|
|
|
}
|
|
GLOBALS
|
|
"cgprgb000.4gl"
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL STARTLOG("CGPRMT021.TXT")
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
|
|
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
|
|
CALL cgprmt022()
|
|
END MAIN
|
|
FUNCTION cgprmt022()
|
|
|
|
DEFINE mtasa RECORD
|
|
ano SMALLINT,
|
|
mes SMALLINT,
|
|
ventas SMALLINT,
|
|
tipo_cliente SMALLINT,
|
|
tasa DEC(8,2)
|
|
END RECORD
|
|
|
|
OPEN WINDOW w1 WITH FORM "cgfmmt022"
|
|
|
|
INPUT BY NAME mtasa.*
|
|
BEFORE INPUT
|
|
CALL cventas()
|
|
LET mtasa.ano = YEAR(TODAY)
|
|
LET mtasa.mes = MONTH(TODAY)-1
|
|
DISPLAY BY NAME mtasa.ano,mtasa.mes
|
|
|
|
AFTER INPUT
|
|
IF INT_FLAG THEN
|
|
CALL msg(16)
|
|
LET INT_FLAG = FALSE
|
|
EXIT INPUT
|
|
END IF
|
|
SELECT DISTINCT a.tipo_cliente FROM vetb00061 a WHERE a.tipo_cliente = mtasa.tipo_cliente AND
|
|
a.ventas = mtasa.ventas
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL fgl_winmessage("INFO","COMBINACION TIPO CLIENTE Y MONEDA ESTAN ERRADOS","INFO")
|
|
NEXT FIELD ventas
|
|
END IF
|
|
SELECT DISTINCT a.ano,a.mes,a.ventas,a.tipo_cliente,a.tasa
|
|
INTO mtasa.ano,mtasa.mes,mtasa.ventas,mtasa.tipo_cliente
|
|
FROM cgtb00084 a WHERE a.ano = mtasa.ano AND a.mes = mtasa.mes AND
|
|
a.ventas = mtasa.ventas AND a.tipo_cliente = mtasa.tipo_cliente
|
|
IF STATUS <> NOTFOUND THEN
|
|
DISPLAY BY NAME mtasa.*
|
|
UPDATE cgtb00084 SET cgtb00084.tasa = mtasa.tasa,
|
|
us_mod = usuarios,
|
|
fech_mod = getdate()
|
|
WHERE cgtb00084.ano = mtasa.ano AND cgtb00084.mes = mtasa.mes AND
|
|
cgtb00084.ventas = mtasa.ventas AND
|
|
cgtb00084.tipo_cliente = mtasa.tipo_cliente
|
|
ELSE
|
|
INSERT INTO cgtb00084 (ano,mes,ventas,tipo_cliente,tasa,us_crea,fech_crea) VALUES
|
|
(mtasa.ano,mtasa.mes,mtasa.ventas,mtasa.tipo_cliente,mtasa.tasa,usuarios,getdate())
|
|
END IF
|
|
CALL msg(13)
|
|
EXIT INPUT
|
|
END INPUT
|
|
CLOSE WINDOW w1
|
|
END FUNCTION
|
|
|
|
FUNCTION cventas()
|
|
|
|
DEFINE kventas SMALLINT, dventas CHAR(30)
|
|
DEFINE pventas ui.ComboBox
|
|
|
|
LET pventas = ui.combobox.forname("formonly.ventas")
|
|
|
|
DECLARE bventas CURSOR FOR
|
|
SELECT a.ventas,a.descripcion FROM vetb00061 a
|
|
CALL pventas.clear()
|
|
|
|
FOREACH bventas INTO kventas,dventas
|
|
CALL pventas.additem(kventas,dventas)
|
|
END FOREACH
|
|
|
|
END FUNCTION
|