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

232 lines
6.6 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : NOPRRP020
OBJETIVO : LISTAR LA RELACION DE CHEQUES NO EMITIDOS
PROGRAMADOR : Ing. Betania Guerrero Perez
FECHA REALIZACION : Septiembre 02, 1993
-------------------------------------------------------------------------------
}
GLOBALS "cgprgb000.4gl"
DEFINE fecha1,fecha2 DATE
FUNCTION cgprrp020()
## DEFINICION DEL REGISTRO DE BUSQUEDA CON LOS CAMPOS NECESARIOS PARA
## EL REPORTE
DEFINE cheques_n RECORD
cuenta_no LIKE cgtb00005.cuenta_no,
descripcion CHAR(30)
END RECORD
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
CLEAR SCREEN
OPEN FORM cgfmrp020 FROM "cgfmrp016"
DISPLAY FORM cgfmrp020
CALL pantalla()
DISPLAY "cgprrp020" AT 4,3
DISPLAY "Relacion de Cheques No Emitidos" AT 6,25
## INDICA EL TIPO DE PAPEL NECESARIO PARA EL REPORTE. 1 - PAPEL 9 1/2 X 11
## 2 - PAPEL 14 7/8 X 11
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
INPUT BY NAME fecha1,fecha2
AFTER FIELD fecha1
IF fecha1 IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha1
END IF
AFTER FIELD fecha2
IF fecha2 IS NULL OR fecha1 > fecha2 THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha1
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
CONSTRUCT criterio ON a.cuenta_no FROM cuenta_no
LET selec =
"SELECT UNIQUE a.cuenta_no,b.descripcion ",
"FROM cgtb00005 a,cgtb00001 b ",
"WHERE a.cuenta_no = b.cuenta_no AND a.fecha BETWEEN ? AND ? AND ",
" a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 1 "
PREPARE comando FROM selec
DECLARE busca CURSOR FOR comando
OPEN busca USING fecha1,fecha2
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DISPLAY "Buscando Informacion ... Espere Por Favor" AT 19,14
ATTRIBUTE (REVERSE,BOLD)
START REPORT cheq_emit TO "C:\\archivo"
DISPLAY " " AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
## SE BUSCA LA INFORMACION DE LOS CAMPOS DEL REGISTRO PARA DARLE
## SALIDA AL REPORTE
FOREACH busca INTO cheques_n.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
OUTPUT TO REPORT cheq_emit(cheques_n.*)
END FOREACH
FINISH REPORT cheq_emit
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
## DEFINICION DEL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA
## EL REPORTE
REPORT cheq_emit(x)
DEFINE x RECORD
cuenta_no LIKE cgtb00005.cuenta_no,
descripcion CHAR(30)
END RECORD
## DEFINICION DE LAS VARIABLES DE IMPRESION
DEFINE dueno CHAR(30)
DEFINE doble_on CHAR(3)
DEFINE doble_off CHAR(3)
DEFINE negrillas_on CHAR(3)
DEFINE negrillas_off CHAR(3)
DEFINE comp_on CHAR(3)
DEFINE comp_off CHAR(3)
DEFINE doce CHAR(2)
DEFINE normal CHAR(2)
DEFINE hora CHAR(5)
DEFINE c,l smallint
DEFINE estado CHAR(1)
DEFINE inicio,final,cheque,i,tot_che INTEGER
DEFINE total,valor DECIMAL(12,2)
OUTPUT
## DEFINICION DE LOS MARGENES DE IMPRESION
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 3
ORDER BY x.cuenta_no
FORMAT
PAGE HEADER
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 31
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
LET hora = time
PRINT COLUMN 1, negrillas_on
PRINT COLUMN 1, "cgprrp020",
COLUMN 17, "M A R M O T E C H, S. A.",
COLUMN 72, "Pag. ",pageno using "###"
PRINT COLUMN 17, " Sistema de Contabilidad",
COLUMN 72, today using "dd/mm/yy"
PRINT COLUMN 17, " Relacion de Cheques No Emitidos",
COLUMN 75, hora
PRINT COLUMN 1, "FECHA: Del"," ",fecha1 using "dd/mm/yy",
" Al ",fecha2 using "dd/mm/yy"
PRINT COLUMN 2, "---------------------------------------------------",
"------------------------------"
PRINT COLUMN 2, "Cheque No Emitidos"
PRINT COLUMN 2, "----------------------------------------------------",
"-----------------------------"
PRINT COLUMN 1,negrillas_off
## AQUI SE INDICA LA IMPRESION DEL DETALLE
BEFORE GROUP OF x.cuenta_no
PRINT COLUMN 1, negrillas_on
PRINT COLUMN 1, "Banco ",x.cuenta_no," ",x.descripcion CLIPPED
PRINT COLUMN 1, negrillas_off
LET inicio = 0
SELECT MAX(a.cheque_no) INTO inicio FROM cgtb00005 a
WHERE a.cuenta_no = x.cuenta_no AND a.fecha <= fecha1
SELECT MAX(a.cheque_no) INTO final FROM cgtb00005 a
WHERE a.cuenta_no=x.cuenta_no AND a.fecha BETWEEN fecha1 AND fecha2
LET total = 0
LET tot_che = 0
IF inicio IS NULL THEN
LET inicio = 0
END IF
IF final IS NULL THEN
LET final = 0
END IF
LET tot_che = 0
LET c = 1
FOR i = inicio TO final
SELECT UNIQUE a.cheque_no FROM cgtb00005 a
WHERE a.cheque_no = i AND a.cuenta_no = x.cuenta_no
IF STATUS = NOTFOUND THEN
LET cheque= i
LET tot_che = tot_che + 1
PRINT COLUMN c, cheque using "&&&&&&&"," ";
LET c = c + 9
IF c > 80 THEN
PRINT COLUMN c," "
LET c = 1
END IF
END IF
END FOR
PRINT COLUMN c," "
AFTER GROUP OF x.cuenta_no
PRINT COLUMN 1, negrillas_on
IF tot_che IS NOT NULL AND tot_che > 0 THEN
PRINT COLUMN 4, "Total Cheques No Emitidos ",tot_che USING "####"
ELSE
PRINT COLUMN 4, "Todos Los Estan Cheques Emitidos"
END IF
PRINT COLUMN 1, negrillas_off
SKIP TO TOP OF PAGE
END REPORT