Files
MBS/PROYECTO/codir/comnmt000.4gl
T

185 lines
5.4 KiB
Plaintext

{
===============================================================================
PROGRAMA : COMNMT000
OBJETIVO : Menu de Mantenimientos del Sistema
de Inventario de Materia Prima.
PROGRAMADOR : JUAN SOTO
FECHA REALIZACION : AGOSTO 1997
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO
===============================================================================
}
GLOBALS "coprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL comnmt000()
END MAIN
FUNCTION comnmt000()
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8
CLEAR SCREEN
CALL pantalla()
DISPLAY "Mantenimientos" AT 6,33
DISPLAY "comnmt000" AT 4,3 ATTRIBUTE(blue)
DISPLAY " 1- Suplidores coprmt001" AT 10,1
#DISPLAY " 2- Furgones coprmt003" AT 11,1
#DISPLAY " 3- Formas Embarque Prod. coprmt004" AT 12,1
#DISPLAY " 4- N.A.B. coprmt005" AT 13,1
DISPLAY " 2- Ordenes de Compras coprmt009" AT 11,1
DISPLAY " 3- Puertos coprmt011" AT 12,1
#DISPLAY " 8- Companias Aseguradoras coprmt014" AT 17,1
DISPLAY " 4- Terminos de Pago coprmt016" AT 13,1
DISPLAY " 5- Paises coprmt010" AT 14,1
#DISPLAY "10- Formas de Embarque coprmt017" AT 10,41
#DISPLAY "11- Poliza de Seguro coprmt018" AT 11,41
#DISPLAY "12- Maestra de Monedas coprmt019" AT 12,41
DISPLAY " 6- Abrir y/o Cerrar Orden coprmt015" AT 15,1
DISPLAY " 7- Requisiciones de Comrpas coprmt025" AT 16,1
DISPLAY " 8- Valorizacion Requisicion coprmt006" AT 17,1
#DISPLAY "14- Datos Compl. Para ITBI coprmt023" AT 14,41
#DISPLAY "15- Bienes y/ servicios Cat coprmt024" AT 15,41
DISPLAY "S- Retorna Menu Anterior " AT 21,28 ATTRIBUTE(blue)
LABEL vuelve:
PROMPT "OPCION: " attribute(blue) FOR OPT
LET opt = UPSHIFT(opt)
IF opt != "S" THEN
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
CALL seg000(p_user,opt,"comnmt000") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
GOTO vuelve
END IF
END IF
CASE
WHEN OPT = "1"
CALL coprmt001()
CLEAR SCREEN
CALL comnmt000()
WHEN OPT = "2"
CALL coprmt009()
CLEAR SCREEN
CALL comnmt000()
WHEN OPT = "3"
CALL coprmt011()
CLEAR SCREEN
CALL comnmt000()
WHEN OPT = "4"
CALL coprmt016()
CLEAR SCREEN
CALL comnmt000()
WHEN OPT = "5"
CALL coprmt010()
CLEAR SCREEN
CALL comnmt000()
WHEN OPT = "6"
CALL coprmt015()
CLEAR SCREEN
CALL comnmt000()
WHEN OPT = "S" or OPT = "s"
RETURN
OTHERWISE
CALL comnmt000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
SELECT * INTO p_companias.*
FROM companias a
LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2
DISPLAY p_companias.nombre CLIPPED AT 4,l
ATTRIBUTE (REVERSE,blue)
DISPLAY fecha AT 4,70 ATTRIBUTE (blue)
DISPLAY "Sistema de Compras" AT 5,31
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
FUNCTION prd()
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION