{ ---------------------------------------------------------------- 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 " 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