Files
MBS/PROYECTO/ctdir/ctprmt006.4gl
T

67 lines
1.9 KiB
Plaintext

GLOBALS "ctprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT to "smarmotech" USER usuarios USING clave
SELECT a.* INTO p_compania.* FROM companias a
CALL ctprmt006()
END MAIN
FUNCTION ctprmt006()
DEFINE fechap,fechaproduccion DATE,
responde CHAR(3)
OPEN WINDOW ctfmwd006 WITH FORM "ctfmwd006"
INPUT BY NAME fechap,fechaproduccion
BEFORE FIELD fechap
LET selec =
"SELECT CONVERT(CHAR(10),a.fecha_inicio_costo,103) FROM cttb00004 a "
PREPARE comando FROM selec
EXECUTE comando INTO fechap
DISPLAY BY NAME fechap
AFTER FIELD fechap
IF fechap IS NULL THEN
CALL msg(16)
NEXT FIELD fechap
END IF
AFTER INPUT
IF Int_flag THEN
CALL msg(2)
LET int_flag = false
RETURN
END IF
IF fechaproduccion < fechap THEN
CALL msg(64)
NEXT FIELD fechap
END IF
EXIT INPUT
END INPUT
LET responde = fgl_winquestion("INFO","ESTA SEGURO DE ACTUALIZAR COSTOS","no","yes|no","QUESTION",0)
LET responde = UPSHIFT(responde)
IF responde = "YES" THEN
BEGIN WORK
update cttb00003 set costo_lab =
(select AVG(costo_lab) from cttb00034
where cttb00003.cod_prod = cttb00034.cod_prod and
fecha >= fechap and status_t is null),
costo_gasto = (select avg(costo_ga) from cttb00034
where cttb00003.cod_prod = cttb00034.cod_prod and
fecha >= fechap and status_t is null)
where fecha > fechaproduccion
IF STATUS < 0 THEN
CALL fgl_winmessage("ACTUALIZA", "ERROR ACTUALIZANDO", "stop")
ROLLBACK WORK
RETURN
ELSE
COMMIT WORK
CALL fgl_winmessage("ACTUALIZA", "ACTUALIZACION EXITOSA", "stop")
END IF
END IF
END FUNCTION