Files
MBS/PROYECTO/vedir/veprmt033.4gl
T

185 lines
5.4 KiB
Plaintext

{
-----------------------------------------------------------------------------
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