Files
MBS/PROYECTO/cgdir/cgprcs004.4gl
T

124 lines
3.0 KiB
Plaintext

{
============================================================================
PROGRAMAS : CGPRCS004
OBJETIVO : VISUALIZAR LAS FACTURAS QUE ESTAN AFECTADAS POR UN CHEQUE
PROGRAMADOR : JUAN F. SOTO
FECHA : FEBRERO 28, 1996
=============================================================================
}
GLOBALS
"cgprgb000.4gl"
DEFINE select1 CHAR(150),
p_factura CHAR(10)
DEFINE imp_fact ARRAY[300] OF RECORD
cod_cro LIKE cgtb00031.cod_cro,
beneficiario LIKE cgtb00031.beneficiario,
cheque_no LIKE cgtb00005.cheque_no,
fecha LIKE cgtb00005.fecha,
banco LIKE cgtb00005.cuenta_no,
monto LIKE cgtb00005.monto
END RECORD
FUNCTION cgprcs004()
OPTIONS
FORM LINE 8,
ERROR LINE 24
OPEN FORM cgfmcs004 FROM "cgfmcs004"
DISPLAY FORM cgfmcs004
DISPLAY "Facturas Afectadas Por Cheques" AT 6,25
DISPLAY "cgprcs004" AT 4,3
LET int_flag = FALSE
WHILE int_flag != TRUE
CONSTRUCT criterio ON a.factura FROM p_factura
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
EXIT WHILE
END IF
LET selec1 = "SELECT a.factura FROM cgtb00021 a ",
"WHERE ",criterio clipped,
" ORDER BY 1 "
PREPARE comando4 FROM selec1
DECLARE busca4 SCROLL CURSOR FOR comando4
OPEN busca4
FETCH FIRST busca4 INTO p_factura
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
LET status = 0
CONTINUE WHILE
END IF
DISPLAY BY NAME p_factura
MENU "OPCION"
COMMAND "Siguiente"
FETCH NEXT busca4 INTO p_factura
IF status = notfound THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
DISPLAY BY NAME p_factura
COMMAND "Anterior"
FETCH PREVIOUS busca4 INTO p_factura
IF status = notfound THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
DISPLAY BY NAME p_factura
COMMAND "Primero"
FETCH FIRST busca4 INTO p_factura
IF status = notfound THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
DISPLAY BY NAME p_factura
COMMAND "Ver"
DECLARE busca CURSOR FOR
SELECT a.cod_cro,a.beneficiario,b.cheque_no,b.fecha,b.banco,
c.monto
FROM cgtb00031 a,cgtb00032 b,cgtb00005 c,cgtb00021 d
WHERE
a.cod_cro = b.cod_cro AND
b.cheque_no = c.cheque_no AND
c.cuenta_no = d.cuenta_no AND
c.cheque_no = d.cheque_no AND
d.factura = p_factura
ORDER BY 5
LET idx = 1
FOREACH busca INTO imp_fact[idx].*
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
EXIT WHILE
END IF
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
DISPLAY ARRAY imp_fact TO scr_ent.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
EXIT WHILE
END IF
CLEAR FORM
DISPLAY BY NAME p_factura
COMMAND "Retornar"
CLEAR FORM
EXIT MENU
END MENU
END WHILE
END FUNCTION