{ ------------------------------------------------------------------ PROGRAMA : TEPRMT004 OBJETIVO : Capturar, Modificar, Eliminar registros de la Tabla de Partidas del Cash Flow PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Diciembre 06, 1995. ------------------------------------------------------------------ } GLOBALS "teprgb000.4gl" FUNCTION teprmt004() CLEAR SCREEN OPTIONS FORM LINE 9, ERROR LINE 23, MESSAGE LINE 24, COMMENT LINE 21 OPEN FORM tefmmt004 FROM "tefmmt004" DISPLAY FORM tefmmt004 CALL pantalla() # CALL ayuda() DISPLAY "teprmt004" AT 4,3 ATTRIBUTE(RED) DISPLAY "Maestra de Partidas Del Cash-Flow" at 6,24 ATTRIBUTE(BLACK) MENU "OPCIONES" COMMAND "Adicionar" " Adiciona Registro Cancela Operacion" LET INT_FLAG = FALSE CLEAR FORM CALL tepcad004() COMMAND "Consultar-modificar" " Realiza Busqueda Cancela Operacion" LET int_flag = FALSE CALL tepcmf004() COMMAND "Salir" "Retorna Menu Anterior" EXIT MENU END MENU END FUNCTION FUNCTION tepcad004() # WHENEVER ERROR CONTINUE ## Captura los datos que va a contener el registro INPUT BY NAME p_tetb03.* AFTER FIELD codigo IF p_tetb03.codigo is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD codigo END IF SELECT UNIQUE descripcion INTO p_tetb03.descripcion FROM tetb00003 WHERE @codigo = p_tetb03.codigo IF STATUS != NOTFOUND THEN DISPLAY BY NAME p_tetb03.descripcion LET numero_msg = 12 CALL msg(numero_msg) NEXT FIELD codigo END IF AFTER FIELD descripcion IF p_tetb03.descripcion[1] =" " OR p_tetb03.descripcion is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD descripcion END IF AFTER FIELD tipo IF p_tetb03.tipo IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD tipo END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET numero_msg = FALSE RETURN END IF INSERT INTO tetb00003 VALUES (p_tetb03.*) UPDATE tetb00003 SET (us_crea,fech_crea) = (USER,CURRENT) WHERE @codigo = p_tetb03.codigo LET numero_msg = 1 CALL msg(numero_msg) END FUNCTION FUNCTION tepcmf004() LET int_flag = FALSE ## Aqui se prepara para la captura del criterio de seleccion MESSAGE "" CLEAR FORM CONSTRUCT criterio ON a.codigo,a.descripcion FROM codigo,descripcion IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET SELEC = " SELECT UNIQUE a.* FROM tetb00003 a ", " WHERE a.status_t IS NULL AND ",criterio clipped," ORDER BY a.codigo " PREPARE busca FROM selec CALL integridad() IF bandera = 1 THEN LET bandera = 0 RETURN END IF DECLARE datos SCROLL CURSOR FOR busca OPEN datos FETCH FIRST datos INTO p_tetb03.* IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) RETURN END IF DISPLAY BY NAME p_tetb03.* MENU "OPCIONES " COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado" FETCH NEXT datos INTO p_tetb03.* IF STATUS = NOTFOUND THEN LET numero_msg = 4 CALL msg(numero_msg) END IF DISPLAY BY NAME p_tetb03.* COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado" FETCH PREVIOUS datos INTO p_tetb03.* IF STATUS = NOTFOUND THEN LET numero_msg = 5 CALL msg(numero_msg) END IF DISPLAY BY NAME p_tetb03.* COMMAND "Primero" "Presenta en pantalla el primer registro encontrado" FETCH FIRST datos INTO p_tetb03.* DISPLAY BY NAME p_tetb03.* LET numero_msg = 5 CALL msg(numero_msg) COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado" FETCH LAST datos INTO p_tetb03.* DISPLAY BY NAME p_tetb03.* LET numero_msg = 4 CALL msg(numero_msg) COMMAND "Escoger" " Actualiza Registro Cancela Operacion" INPUT BY NAME p_tetb03.descripcion THRU p_tetb03.fech_mod WITHOUT DEFAULTS AFTER FIELD descripcion IF p_tetb03.descripcion[1] = " " OR p_tetb03.descripcion is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD descripcion END IF AFTER FIELD tipo IF p_tetb03.tipo IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD tipo END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF UPDATE tetb00003 SET (descripcion,tipo,us_mod,fech_mod) = (p_tetb03.descripcion,p_tetb03.tipo, USER,CURRENT) WHERE @codigo = p_tetb03.codigo LET numero_msg = 13 CALL msg(numero_msg) COMMAND KEY ("L") "eLiminar" "Elimina registro que esta en la pantalla" UPDATE tetb00003 SET (status_t,us_mod,fech_mod) = ("E",USER,CURRENT) WHERE @codigo = p_tetb03.codigo LET numero_msg = 39 CALL msg(numero_msg) COMMAND "Retornar" "Retorna al menu anterior" CLEAR FORM EXIT MENU END MENU END FUNCTION