{ ----------------------------------------------------------------------------- PROGRAMA : VEPRMT033 OBJETIVO : Mantenimiento de Activacion de Facturas REALIZADO POR : Tadeo A. Ferreras F. FECHA : Mayo 06, 1996 ----------------------------------------------------------------------------- } GLOBALS "veprgb000.4gl" DEFINE mant_32 RECORD ventas CHAR(1), cod_cia SMALLINT, factura INTEGER, fecha DATE, tipo_cliente SMALLINT, sec_cliente SMALLINT, nombre CHAR(30), bruto DECIMAL(12,2), descu DECIMAL(12,2), itbi DECIMAL(12,2), neto DECIMAL(12,2), us_crea CHAR(9), fech_crea LIKE vetb00002.fech_crea, us_mod CHAR(9), fech_mod LIKE vetb00002.fech_mod END RECORD DEFINE tipo_f CHAR(15) DEFINE desc_com CHAR(30) ####### Funcion para agregar un recibo de pago FUNCTION veprmt033() OPTIONS FORM LINE 8, ERROR LINE 24, COMMENT LINE 22 CALL pantalla() OPEN FORM vefmmt033 FROM "vefmmt033" DISPLAY FORM vefmmt033 DISPLAY "veprmt033" AT 4,3 DISPLAY "Activacion de Factura" AT 6,29 ## Funcion para consultar/modificar un recibo de pago CONSTRUCT CRITERIO ON factura FROM factura IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT a.ventas,a.cod_cia,a.factura,a.fecha_factura, ", " a.tipo_cliente,a.sec_cliente,b.nombre,a.sub_total, ", " a.monto_desc,a.monto_itbi,a.neto,a.us_crea,a.fech_crea, ", " a.us_mod,a.fech_mod ", "FROM vetb00002 a, vetb00004 b ", "WHERE a.tipo_cliente = b.tipo_cliente AND ", " a.sec_cliente = b.sec_cliente AND ", " a.status_t = 'E' AND ", criterio CLIPPED, " ORDER BY 4,3 " PREPARE busca FROM selec DECLARE datos SCROLL CURSOR FOR busca OPEN datos FETCH FIRST datos INTO mant_32.* IF status = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) RETURN END IF IF mant_32.cod_cia = 1 THEN LET desc_com = p_companias.nombre CLIPPED END IF IF mant_32.ventas = "1" THEN LET tipo_f = "LOCAL" ELSE LET tipo_f = "EXPORTACION" END IF DISPLAY BY NAME mant_32.*,tipo_f,desc_com MENU "OPCION" COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado" FETCH NEXT datos INTO mant_32.* IF status = NOTFOUND THEN LET numero_msg = 4 CALL msg(numero_msg) END IF IF mant_32.cod_cia = 1 THEN LET desc_com = p_companias.nombre CLIPPED END IF IF mant_32.ventas = "1" THEN LET tipo_f = "LOCAL" ELSE LET tipo_f = "EXPORTACION" END IF DISPLAY BY NAME mant_32.*,tipo_f,desc_com COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado" FETCH PREVIOUS datos INTO mant_32.* IF status = NOTFOUND THEN LET numero_msg = 5 CALL msg(numero_msg) END IF IF mant_32.cod_cia = 1 THEN LET desc_com = p_companias.nombre CLIPPED END IF IF mant_32.ventas = "1" THEN LET tipo_f = "LOCAL" ELSE LET tipo_f = "EXPORTACION" END IF DISPLAY BY NAME mant_32.*,tipo_f,desc_com COMMAND "Primero" "Presenta en pantalla el primer registro encontrado" FETCH FIRST datos INTO mant_32.* IF status = NOTFOUND THEN LET numero_msg = 5 CALL msg(numero_msg) END IF IF mant_32.cod_cia = 1 THEN LET desc_com = p_companias.nombre CLIPPED END IF IF mant_32.ventas = "1" THEN LET tipo_f = "LOCAL" ELSE LET tipo_f = "EXPORTACION" END IF DISPLAY BY NAME mant_32.*,tipo_f,desc_com COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado" FETCH LAST datos INTO mant_32.* IF STATUS = NOTFOUND THEN LET numero_msg = 4 CALL msg(numero_msg) END IF IF mant_32.cod_cia = 1 THEN LET desc_com = p_companias.nombre CLIPPED END IF IF mant_32.ventas = "1" THEN LET tipo_f = "LOCAL" ELSE LET tipo_f = "EXPORTACION" END IF DISPLAY BY NAME mant_32.*,tipo_f,desc_com COMMAND KEY ("C") "aCtivar" "Precione C Para activar Registro Mostrado en Pantalla" ## AQUI SE REALIZA LA ANULACION DE UN REGISTRO UPDATE cctb00001 set status_t = NULL WHERE tipo_doc = "FT" and num_doc = mant_32.factura UPDATE vetb00002 set status_t = NULL WHERE factura = mant_32.factura UPDATE vetb00003 set status_t = NULL WHERE factura = mant_32.factura UPDATE iptb00006 set status_t = NULL WHERE num_doc = mant_32.factura AND cod_mov IN (30,31) LET numero_msg = 14 CALL msg(numero_msg) COMMAND "Retornar" CLEAR FORM EXIT MENU END MENU END FUNCTION