Files
MBS/PROYECTO/vedir/vemncs000.4gl
T

168 lines
4.9 KiB
Plaintext

{
----------------------------------------------------------------
PROGRAMA : VEMNCS000
OBJETIVO : Menu de Consultas del Sistema de Ventas
PROGRAMADOR : Lic. Abner Montalvo Zapata
FECHA REALIZACION : Febrero 3, 1993.
----------------------------------------------------------------
}
GLOBALS "veprgb000.4gl"
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL vemncs000()
END MAIN
FUNCTION vemncs000()
DEFINE opcion CHAR(2)
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8,
HELP FILE "vepray000.exe",
HELP KEY CONTROL-W,
MESSAGE LINE 24
CLEAR SCREEN
CALL pantalla()
DISPLAY " Consultas " AT 6,24
DISPLAY "vemncs000" AT 4,3 ATTRIBUTE(blue)
DISPLAY "1- Ventas vemncs100" AT 10,6
DISPLAY "2- Factura de Ventas veprcs001" AT 11,6
DISPLAY "3- Cheques Devueltos A Cliente veprcs002" AT 12,6
DISPLAY "S- Retorna Menu Anterior " AT 14,6
ATTRIBUTE (BOLD)
CALL ayuda()
LET opcion = NULL
LABEL vuelve:
PROMPT " OPCION: " FOR opcion HELP 2
LET opcion = UPSHIFT(opcion) clipped
IF opcion != "S" THEN
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
CALL seg000(p_user,opcion,"vemncs000") RETURNING luz
display p_user
IF luz = "roja" THEN
display p_user
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
GOTO vuelve
END IF
END IF
CASE
WHEN opcion = "1"
CALL vemncs100()
CALL vemncs000()
WHEN opcion = "2"
CALL veprcs001()
CALL vemncs000()
WHEN opcion = "3"
CALL veprcs002()
CALL vemncs000()
WHEN opcion = "S" or opcion = "s"
RETURN
OTHERWISE
CALL vemncs000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2
DISPLAY p_companias.nombre CLIPPED AT 4,lj ATTRIBUTE (REVERSE,blue)
DISPLAY fecha AT 4,70 ATTRIBUTE (blue)
DISPLAY "Sistema de Ventas" 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
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
LET status = 0
SLEEP 2
RETURN
END IF
RETURN
END FUNCTION
FUNCTION ayuda()
#MESSAGE "AQUI VA AYUDA"
END FUNCTION
FUNCTION consulta_empleados()
OPEN WINDOW busqueda AT 7,12 WITH FORM "vefmwd001"
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
LET int_flag = false
CONSTRUCT criterio ON a.nom1_emp FROM descrip6
LET selec2 = "SELECT a.num_emp, a.nom1_emp, a.apell1_emp ",
"FROM adtb00003 a ",
"WHERE a.status_t is null AND ",criterio clipped," ORDER BY 1,2 "
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
GO TO salir_consulta_e
END IF
PREPARE busca_empleados FROM selec2
IF status >= 0 THEN
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
ELSE
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
END IF
END IF
DECLARE buscar_empleados CURSOR FOR busca_empleados
LET idx = 1
FOREACH buscar_empleados INTO arr_empleados[idx].*
IF status = NOTFOUND THEN
EXIT FOREACH
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
EXIT FOREACH
END IF
# LET empleados[idx].cod_emp = arr_empleados[idx].cod_emp
LET empleados[idx].cod_emp_sec = arr_empleados[idx].num_emp
LET empleados[idx].descrip6 =
arr_empleados[idx].nom1_emp clipped," ",
arr_empleados[idx].apell1_emp clipped
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
MESSAGE " <Esc> Selecciona Empleado donde esta el cursor"
DISPLAY ARRAY empleados TO s_empleados.*
LET curr1 = arr_curr()
# LET transportista.cod_transp = empleados[curr1].cod_emp
LET transportista.sec_transp = empleados[curr1].cod_emp_sec
LET descrip6 = empleados[curr1].descrip6
LABEL salir_consulta_e:
CLOSE WINDOW busqueda
END FUNCTION