{ ------------------------------------------------------------------ PROGRAMA : TEPRMT008 OBJETIVO : Modificar registros de la Tabla de Relacion de Cheques y Partidas del Cash Flow PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Enero 15, 1996 ------------------------------------------------------------------ } GLOBALS "teprgb000.4gl" FUNCTION teprmt008() CLEAR SCREEN OPTIONS FORM LINE 9, ERROR LINE 23, MESSAGE LINE 24, COMMENT LINE 21 OPEN FORM tefmmt008 FROM "tefmmt008" DISPLAY FORM tefmmt008 CALL pantalla() # CALL ayuda() DISPLAY "teprmt008" AT 4,3 ATTRIBUTE(RED) DISPLAY "Maestra de Partidas Del Cash-Flow" at 6,24 ATTRIBUTE(BLACK) MENU "OPCIONES" COMMAND "Consultar-modificar" " Realiza Busqueda Cancela Operacion" LET int_flag = FALSE CALL tepcmf008() COMMAND "Salir" "Retorna Menu Anterior" EXIT MENU END MENU END FUNCTION FUNCTION tepcmf008() LET int_flag = FALSE ## Aqui se prepara para la captura del criterio de seleccion MESSAGE "" CLEAR FORM CONSTRUCT criterio ON a.cheque_no,a.banco,a.codigo FROM cheque_no,banco,codigo ## Facilidad para cancelar la operacion IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ### Seleccion de los datos LET SELEC = "SELECT UNIQUE a.*,b.descripcion FROM tetb00006 a,tetb00003 b ", "WHERE a.status_t IS NULL AND a.codigo = b.codigo AND ",criterio clipped, " ORDER BY 1,2,3" PREPARE busca FROM selec CALL integridad() IF bandera = 1 THEN LET bandera = 0 RETURN END IF DECLARE datos SCROLL CURSOR FOR busca OPEN datos #### Busca el primer registro con los parametros requeridos para verifica que #### existe FETCH FIRST datos INTO p_tetb06.*,p_tetb03.descripcion IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) RETURN END IF DISPLAY BY NAME p_tetb06.*,p_tetb03.descripcion ### Menu para manejar las informacion requeridas MENU "OPCIONES " COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado" FETCH NEXT datos INTO p_tetb06.*,p_tetb03.descripcion IF STATUS = NOTFOUND THEN LET numero_msg = 4 CALL msg(numero_msg) END IF DISPLAY BY NAME p_tetb06.*,p_tetb03.descripcion COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado" FETCH PREVIOUS datos INTO p_tetb06.*,p_tetb03.descripcion IF STATUS = NOTFOUND THEN LET numero_msg = 5 CALL msg(numero_msg) END IF DISPLAY BY NAME p_tetb06.*,p_tetb03.descripcion COMMAND "Primero" "Presenta en pantalla el primer registro encontrado" FETCH FIRST datos INTO p_tetb06.*,p_tetb03.descripcion DISPLAY BY NAME p_tetb06.*,p_tetb03.descripcion LET numero_msg = 5 CALL msg(numero_msg) COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado" FETCH LAST datos INTO p_tetb06.*,p_tetb03.descripcion DISPLAY BY NAME p_tetb06.*,p_tetb03.descripcion LET numero_msg = 4 CALL msg(numero_msg) ### Proceso para digitar la informacion a modificar COMMAND "Escoger" " Actualiza Registro Cancela Operacion" INPUT BY NAME p_tetb06.codigo THRU p_tetb06.fech_mod WITHOUT DEFAULTS AFTER FIELD codigo IF p_tetb06.codigo is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD codigo END IF #### Verifica que el codigo de partida exista en la maestra y sea desembolso SELECT a.descripcion INTO p_tetb03.descripcion FROM tetb00003 a WHERE a.status_t IS NULL AND a.codigo = p_tetb06.codigo AND a.tipo[1] = "D" IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD codigo END IF DISPLAY BY NAME p_tetb03.descripcion END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ## actualiza la tabla con la informacion digitada UPDATE tetb00006 SET (codigo,us_mod,fech_mod) = (p_tetb06.codigo,USER,CURRENT) WHERE @cheque_no = p_tetb06.cheque_no AND @banco = p_tetb06.banco LET numero_msg = 13 CALL msg(numero_msg) COMMAND "Retornar" "Retorna al menu anterior" CLEAR FORM EXIT MENU END MENU END FUNCTION