Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,207 @@
|
||||
{
|
||||
============================================================================
|
||||
PROGRAMAS : CGPRCS003
|
||||
OBJETIVO : VISUALIZAR LOS CHEQUES QUE HAN SIDO ENTREGADOS EN UN RANGO DE
|
||||
FECHA
|
||||
PROGRAMADOR : JUAN F. SOTO
|
||||
FECHA : DICIEMBRE 08, 1995.
|
||||
=============================================================================
|
||||
}
|
||||
GLOBALS
|
||||
"cgprgb000.4gl"
|
||||
DEFINE rango RECORD
|
||||
fecha1 LIKE cgtb00032.fecha_ent,
|
||||
fecha2 LIKE cgtb00032.fecha_ent
|
||||
END RECORD,
|
||||
p_beneficiario LIKE cgtb00005.portador,
|
||||
select1 CHAR(150),
|
||||
nombre_b1,nombre_b CHAR(30),
|
||||
maestra RECORD LIKE cgtb00031.*,
|
||||
no_existe CHAR(1),
|
||||
p_monto DECIMAL(12,2)
|
||||
|
||||
DEFINE arr_ent ARRAY[300] OF RECORD
|
||||
banco LIKE cgtb00032.banco,
|
||||
nombre_bco LIKE cgtb00001.descripcion,
|
||||
cheque_no LIKE cgtb00005.cheque_no,
|
||||
fecha LIKE cgtb00032.fecha,
|
||||
fecha_ent LIKE cgtb00032.fecha_ent,
|
||||
monto LIKE cgtb00005.monto
|
||||
END RECORD
|
||||
|
||||
FUNCTION cgprcs003()
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24
|
||||
|
||||
OPEN FORM cgfmcs003 FROM "cgfmcs003"
|
||||
DISPLAY FORM cgfmcs003
|
||||
DISPLAY "Cheques Entregados " AT 6,30
|
||||
DISPLAY "cgprcs003" AT 4,3
|
||||
|
||||
LET int_flag = FALSE
|
||||
WHILE int_flag != TRUE
|
||||
INPUT BY NAME rango.*
|
||||
AFTER FIELD fecha1
|
||||
IF rango.fecha1 is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha1
|
||||
END IF
|
||||
LET rango.fecha2 = today
|
||||
DISPLAY BY NAME rango.fecha2
|
||||
AFTER FIELD fecha2
|
||||
IF rango.fecha2 is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha2
|
||||
END IF
|
||||
IF rango.fecha2 < rango.fecha1 THEN
|
||||
LET numero_msg = 51
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha1
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.cod_cro
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
EXIT WHILE
|
||||
END IF
|
||||
LET selec1 =
|
||||
"SELECT a.cod_cro,a.beneficiario ",
|
||||
"FROM cgtb00031 a,cgtb00032 b, OUTER cgtb00033 c ",
|
||||
"WHERE a.cod_cro=b.cod_cro and a.cod_cro=c.cod_cro and ",
|
||||
criterio clipped," ORDER BY a.cod_cro"
|
||||
|
||||
PREPARE comando4 FROM selec1
|
||||
DECLARE busca4 SCROLL CURSOR FOR comando4
|
||||
OPEN busca4
|
||||
|
||||
FETCH FIRST busca4 INTO maestra.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
CONTINUE WHILE
|
||||
END IF
|
||||
DISPLAY BY NAME maestra.beneficiario,maestra.cod_cro
|
||||
|
||||
MENU "OPCION"
|
||||
COMMAND "Siguiente"
|
||||
FETCH NEXT busca4 INTO maestra.*
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME maestra.beneficiario,maestra.cod_cro
|
||||
COMMAND "Anterior"
|
||||
FETCH PREVIOUS busca4 INTO maestra.*
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME maestra.beneficiario,maestra.cod_cro
|
||||
COMMAND "Primero"
|
||||
FETCH FIRST busca4 INTO maestra.*
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME maestra.beneficiario,maestra.cod_cro
|
||||
COMMAND "Ultimo"
|
||||
FETCH LAST busca4 INTO maestra.*
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME maestra.beneficiario,maestra.cod_cro
|
||||
COMMAND "Ver"
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.* FROM cgtb00032 a
|
||||
WHERE a.fecha_ent between rango.fecha1 and rango.fecha2 and
|
||||
a.cod_cro = maestra.cod_cro and a.status_t is null
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca INTO entrega.*
|
||||
|
||||
SELECT a.portador,a.monto INTO p_beneficiario,p_monto FROM cgtb00005 a
|
||||
WHERE a.cheque_no = entrega.cheque_no and a.cuenta_no = entrega.banco
|
||||
|
||||
IF status = notfound THEN
|
||||
LET p_beneficiario = null
|
||||
LET status = 0
|
||||
END IF
|
||||
SELECT descripcion INTO nombre_b FROM cgtb00001
|
||||
WHERE cuenta_no = entrega.banco
|
||||
|
||||
IF status = notfound THEN
|
||||
LET nombre_b = "BANCO NO EXISTE"
|
||||
END IF
|
||||
LET arr_ent[idx].banco = entrega.banco
|
||||
LET arr_ent[idx].nombre_bco = nombre_b
|
||||
LET arr_ent[idx].cheque_no = entrega.cheque_no
|
||||
LET arr_ent[idx].fecha = entrega.fecha
|
||||
LET arr_ent[idx].fecha_ent = entrega.fecha_ent
|
||||
LET arr_ent[idx].monto = p_monto
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
DECLARE busca1 CURSOR FOR
|
||||
SELECT a.* FROM cgtb00033 a
|
||||
WHERE a.fecha_ent between rango.fecha1 and rango.fecha2 and
|
||||
a.cod_cro = maestra.cod_cro and a.status_t is null
|
||||
|
||||
FOREACH busca1 INTO entrega1.*
|
||||
|
||||
SELECT descripcion INTO nombre_b FROM cgtb00001
|
||||
WHERE cuenta_no = entrega.banco
|
||||
|
||||
IF status = notfound THEN
|
||||
LET nombre_b = "BANCO NO EXISTE"
|
||||
END IF
|
||||
|
||||
LET arr_ent[idx].banco = entrega.banco
|
||||
LET arr_ent[idx].nombre_bco = nombre_b
|
||||
LET arr_ent[idx].cheque_no = entrega1.cheque_no
|
||||
LET arr_ent[idx].fecha = entrega1.fecha
|
||||
LET arr_ent[idx].fecha_ent = entrega1.fecha_ent
|
||||
LET arr_ent[idx].monto = entrega1.monto
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
IF idx = 1 THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT OPTION "Siguiente"
|
||||
END IF
|
||||
IF idx > 1 THEN
|
||||
CALL set_count(idx - 1)
|
||||
DISPLAY ARRAY arr_ent TO scr_ent.*
|
||||
CLEAR FORM
|
||||
DISPLAY BY NAME maestra.beneficiario,maestra.cod_cro,
|
||||
rango.fecha1,rango.fecha2
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
EXIT WHILE
|
||||
END IF
|
||||
END IF
|
||||
COMMAND "Retornar"
|
||||
CLEAR FORM
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END WHILE
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user