{ --------------------------------------------------------------------------- PROGRAMA : CTMNMT000 OBJETIVO : Menu de Mantenimientos del Sistema de Costos. PROGRAMADOR : Juan Fco. Soto (Johnny) FECHA REALIZACION : Junio 14, 1993. --------------------------------------------------------------------------- } GLOBALS "ctprgb000.4gl" MAIN DEFER INTERRUPT CALL ctmnmt000() END MAIN FUNCTION ctmnmt000() CLEAR SCREEN CALL opciones_ctmnmt000() END FUNCTION FUNCTION opciones_ctmnmt000() DEFINE p_user CHAR(9) DEFINE luz CHAR(5) DEFINE opt CHAR(2), fechaact DATE OPTIONS PROMPT LINE 8, ERROR LINE 24 CALL pantalla() DISPLAY "Mantenimientos" AT 6,33 DISPLAY "ctmnmt000" AT 4,3 ATTRIBUTE(blue) DISPLAY "1-Catalogo Semi-elaborados ctprmt001" AT 10,1 DISPLAY "2-Ctas Material,Labor y Gastos ctfmmt025" AT 11,1 DISPLAY "3-Unidades de Medidas ctprmt007" AT 12,1 DISPLAY "4-Costos de Liquidacion ctprmt009" AT 13,1 DISPLAY "5-Inventario Semi Elaborado ctprmt012" AT 14,1 DISPLAY "6-Dias de Produccion ctprmt013" AT 15,1 DISPLAY "7-Inv. Prod. en Proc. ctprmt014" AT 16,1 DISPLAY "8-Rel. Prod/Semi-Elab ctprrp019" AT 17,1 DISPLAY "9-Costo St. Semi-Elab ctprmt022" AT 10,42 DISPLAY "10-Costo Ptos. En Proc ctprmt024" AT 11,42 DISPLAY "11-Hist. Variacion Consumo ctfmmt015" AT 12,42 DISPLAY "12-Estructura de Costo ctprmt010" AT 13,42 DISPLAY "13-Produccion Diaria ctprmt003" AT 14,42 DISPLAY "14-Periodo de Semanas ctprmt030" AT 15,42 DISPLAY "15-Actualizacion Costos Prod ctmnmt" AT 16,42 DISPLAY "S- Retorna Menu Anterior" AT 22,28 ATTRIBUTE(BOLD) #DISPLAY "9-Factor Semi-elab. ctprmt017" AT 18,1 #DISPLAY "10-Costo Standard ctprmt018" AT 10,42 #DISPLAY "14-Costo Real Acumul. ctprmt025" AT 14,42 #DISPLAY "15-Cost. Real Mensual ctprmt026" AT 15,42 #DISPLAY "16-Cost. Real Semi-Pro ctprmt011" AT 16,42 #DISPLAY "17-Costo Standard Mant. Rep ctprmt027" AT 17,42 LABEL vuelve: PROMPT "OPCION: " attribute(blue) FOR OPT LET opt = UPSHIFT(opt) clipped IF opt != "S" THEN SELECT unique usuario INTO p_user FROM seg0001 WHERE usuario = user CALL seg000(p_user,opt,"ctmnmt000") RETURNING luz IF luz = "roja" THEN ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION" GOTO vuelve END IF END IF CASE WHEN OPT = "1" CALL ctprmt001() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "2" run "isql -s -fr ctfmmt025" CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "3" CALL ctprmt007() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "4" CALL ctprmt009() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "5" CALL ctprmt012() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "6" CALL ctprmt013() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "7" CALL ctprmt014() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "8" CALL ctprmt019() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "9" CALL ctprmt022() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "10" CALL ctprmt024() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "11" RUN "isql -fr ctfmmt000" CALL opciones_ctmnmt000() WHEN OPT = "12" CALL ctprmt010() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "13" CALL ctprmt003() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "14" CALL ctprmt030() CLEAR SCREEN CALL opciones_ctmnmt000() WHEN OPT = "15" OPEN WINDOW act AT 10,5 WITH FORM "ctfmact" INPUT BY NAME fechaact IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) CLOSE WINDOW act ELSE update cttb00003 set costo_lab = (select AVG(costo_lab) from cttb00034 where cttb00003.cod_prod = cttb00034.cod_prod and fecha >= "01012008" and status_t is null), costo_gasto = (select avg(costo_ga) from cttb00034 where cttb00003.cod_prod = cttb00034.cod_prod and fecha >= "01012008" and status_t is null) where fecha >= fechaact END IF CLOSE WINDOW act WHEN OPT = "S" or OPT = "s" RETURN OTHERWISE CALL opciones_ctmnmt000() END CASE END FUNCTION FUNCTION pantalla() DEFINE fecha CHAR(8), hora char(5) SELECT * INTO p_compania.* FROM companias LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2 LET fecha = today USING "dd/mm/yy" LET hora = time DISPLAY p_compania.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,blue) DISPLAY fecha AT 4,70 ATTRIBUTE (blue) DISPLAY "Sistema de Costos" 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 SLEEP 2 RETURN END IF END FUNCTION