{ ----------------------------------------------------------------------- PROGRAMA : PRMNmt000 OBJETIVO : Menu de Mantenimiento del Sistema de Produccion PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Sept. 14,1994. ----------------------------------------------------------------------- } GLOBALS "prprgb000.4gl" MAIN # WHENEVER ERROR CONTINUE DEFER INTERRUPT CALL pantalla() CALL opciones_prmnmt000() END MAIN FUNCTION opciones_prmnmt000() DEFINE p_user CHAR(9), i smallint DEFINE luz CHAR(5), arrmenu dynamic array of record chopciones CHAR(30), programas CHAR(15), imagenes CHAR(80) END RECORD OPEN WINDOW w1 WITH FORM "menuform" DECLARE cmenu CURSOR FOR SELECT descripcion,programa from dstb00001 LET i = 1 FOREACH cmenu INTO arrmenu[i].* LET i = i +1 END FOREACH DISPLAY ARRAY arrmenu TO smenu.* CLOSE WINDOW w1 { DISPLAY " Mantenimiento " AT 6,22 DISPLAY "prmnmt000" AT 4,3 ATTRIBUTE(blue) DISPLAY "1- Maestra de Periodo de Semana prprmt001" AT 10,6 DISPLAY "2- Prod. Diaria Personal no Prod. prprmt002" AT 11,6 DISPLAY "3- Prod. Diaria Personal Product. prprmt003" AT 12,6 DISPLAY "4- Maestra de Operacion prprmt004" AT 13,6 DISPLAY "5- Departamentos de Planta prfmmt007" AT 14,6 DISPLAY "6- Orden De Produccion prprmt006" AT 15,6 DISPLAY "7- Monitoreo Status de la Orden prprmt007" AT 16,6 DISPLAY "8- Orden de Pedidos prprmt008" AT 17,6 DISPLAY "9- Maestra Areas prprmt010" AT 18,6 DISPLAY "S- Retorna Menu Anterior " AT 20,6 ATTRIBUTE (BOLD) LET opcion = " " LABEL vuelve: PROMPT " OPCION: " FOR opcion HELP 1 LET opcion = upshift(opcion) IF opcion != "S" THEN SELECT unique usuario INTO p_user FROM seg0001 WHERE usuario = user CALL seg000(p_user,opcion,"prmnmt000") RETURNING luz IF luz = "roja" THEN ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION" # GOTO vuelve END IF END IF CASE WHEN opcion = "1" CALL prprmt001() CLEAR SCREEN CALL pantalla() CALL opciones_prmnmt000() WHEN opcion = "2" CALL prprmt002() CLEAR SCREEN CALL pantalla() CALL opciones_prmnmt000() WHEN opcion = "3" CALL prprmt003() CLEAR SCREEN CALL pantalla() CALL opciones_prmnmt000() WHEN opcion = "4" CALL prprmt004() CLEAR SCREEN CALL pantalla() CALL opciones_prmnmt000() WHEN opcion = "5" RUN "isql -fr prfmmt007" CLEAR SCREEN CALL pantalla() CALL opciones_prmnmt000() WHEN opcion = "6" CALL prprmt006() CLEAR SCREEN CALL opciones_prmnmt000() WHEN opcion = "7" CALL prprmt007() CLEAR SCREEN CALL opciones_prmnmt000() WHEN opcion = "8" CALL prprmt008() CLEAR SCREEN CALL opciones_prmnmt000() WHEN opcion = "9" RUN "fglrun %FGLPROG%\\prprmt010" CLEAR SCREEN CALL opciones_prmnmt000() WHEN opcion = "S" or opcion = "s" RETURN OTHERWISE CALL opciones_prmnmt000() END CASE } END FUNCTION FUNCTION pantalla() DEFINE fecha CHAR(10), hora char(5) SELECT * INTO p_compania.* FROM companias LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2 LET fecha = today USING "dd/mm/yyyy" LET hora = time DISPLAY p_compania.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,blue) LET fecha = today USING "dd/mm/yyyy" LET hora = time DISPLAY fecha AT 4,68 ATTRIBUTE (blue) DISPLAY "Sistema de Produccion" AT 5,29 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