124 lines
3.0 KiB
Plaintext
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
|