{ ============================================================================== PROGRAMA : TEPRRP007 SISTEMA : Sistema de Tesoreria Objetivo : Relacion de Cheque Emitidos PROGRAMADOR : Tadeo A. Ferreras FECHA : Diciembre 05, 1995 ============================================================================== } GLOBALS "teprgb000.4gl" DEFINE datos_7 RECORD cuenta_no CHAR(8), cheque_no INTEGER, fecha DATE, portador CHAR(30), monto DECIMAL(12,2), status_t CHAR(1), codigo INTEGER, descripcion CHAR(30) END RECORD DEFINE fecha_inicial,fecha_final DATE DEFINE tasa DECIMAL(7,3) DEFINE salir CHAR(1) FUNCTION teprrp007() LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM tefmrp007 FROM "tefmrp007" DISPLAY FORM tefmrp007 DISPLAY "teprrp007" AT 4,3 ATTRIBUTE(RED) DISPLAY "Relacion de Cheques Emitidos" AT 6,26 ATTRIBUTE(BLACK) LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime,letras.*,archivo INPUT BY NAME fecha_inicial,fecha_final,tasa ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime,letras.*,archivo AFTER FIELD fecha_inicial IF fecha_inicial IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_inicial END IF AFTER FIELD fecha_final IF fecha_final IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_final END IF IF fecha_inicial > fecha_final THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fecha_inicial 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,a.cheque_no FROM cuenta_no,cheque_no ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime,letras.*,archivo AFTER CONSTRUCT EXIT CONSTRUCT END CONSTRUCT { LET parametro = "D" CALL elijeimpresion(parametro) RETURNING orden,destino,letras.* } IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT UNIQUE a.cuenta_no,a.cheque_no,a.fecha,a.portador,a.monto, ", " a.status_t,b.codigo,c.descripcion ", "FROM cgtb00005 a, tetb00006 b, outer tetb00003 c ", "WHERE ",criterio CLIPPED," AND (a.fecha BETWEEN ? AND ?) AND ", " a.cuenta_no = b.banco AND ", " a.cheque_no = b.cheque_no AND ", " b.codigo = c.codigo ", "ORDER BY 1,2" DISPLAY "<<>>" AT 19,14 ATTRIBUTE(BLUE) PREPARE comando FROM selec DECLARE busco CURSOR FOR comando OPEN busco USING fecha_inicial,fecha_final START REPORT cheque_e TO archivo CALL defecto(impresor) RETURNING imprime1,letras.*,archivo START REPORT cheque_e2 TO archivo DISPLAY "<<>>" AT 19,14 ATTRIBUTE(YELLOW) LET salir = "N" WHILE salir != "S" FETCH busco INTO datos_7.* IF STATUS = NOTFOUND THEN LET salir = "S" EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DISPLAY datos_7.cuenta_no AT 21,30 DISPLAY datos_7.cheque_no AT 21,40 IF datos_7.status_t = "N" THEN LET datos_7.monto = 0 LET datos_7.portador = "NULO" END IF IF datos_7.cuenta_no = 1113 THEN LET datos_7.monto = datos_7.monto * tasa END IF OUTPUT TO REPORT cheque_e(datos_7.*) OUTPUT TO REPORT cheque_e2(datos_7.*) END WHILE FINISH REPORT cheque_e RUN imprime FINISH REPORT cheque_e2 RUN imprime1 #CALL fdestino(destino,archivo,imprime) #RUN "type lptmp > \\ROVDOM2\contabi" #RUN "copy lptmp > \\ROVDOM2\contabi" CLEAR SCREEN END FUNCTION REPORT cheque_e(x) DEFINE x RECORD cuenta_no CHAR(8), cheque_no INTEGER, fecha DATE, portador CHAR(30), monto DECIMAL(12,2), status_t CHAR(1), codigo INTEGER, descripcion CHAR(30) END RECORD ## DEFINICION DE LAS VARIABLES DE IMPRESION DEFINE numero_ch CHAR(9), descripcion CHAR(30), detalle1 CHAR(40), detalle2 CHAR(37) DEFINE hora CHAR(5) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 FORMAT PAGE HEADER LET hora = time ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 1, letras.negrillas_on,letras.doce,letras.comp_on PRINT COLUMN 1, "teprrp007", COLUMN 48, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 135, "Pag. ",pageno using "###" PRINT COLUMN 48, " Sistema de Tesoreria", COLUMN 135, today using "dd/mm/yyyy" PRINT COLUMN 48, " Relacion Cheques Emitidos", COLUMN 138, hora SKIP 1 LINE PRINT COLUMN 1, "FECHA: Del ",fecha_inicial USING "dd/mm/yyyy", " Al ",fecha_final USING "dd/mm/yyyy" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "------------------------------------------" PRINT COLUMN 1, "Cheque", COLUMN 8, "Fecha", COLUMN 17, "Beneficiario", COLUMN 48, "Concepto", COLUMN 125, "Part", COLUMN 138, "Valor" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "------------------------------------------" PRINT letras.negrillas_off ## AQUI SE INDICA LA IMPRESION DEL DETALLE BEFORE GROUP OF x.cuenta_no SELECT a.descripcion INTO descripcion FROM cgtb00001 a WHERE a.cuenta_no = x.cuenta_no PRINT COLUMN 1, letras.negrillas_on PRINT COLUMN 1, "Banco: ", x.cuenta_no CLIPPED," ", descripcion CLIPPED," ",letras.negrillas_off; IF x.cuenta_no = 1103 THEN PRINT " ( Tasa US$ : ",tasa USING "##.####"," )" ELSE PRINT " " END IF BEFORE GROUP OF x.cheque_no LET numero_ch = NULL LET detalle1 = NULL LET detalle2 = NULL IF x.status_t = "N" THEN LET detalle1 = "CHEQUE ANULADO" LET detalle2 = " " ELSE LET numero_ch = NULL LET numero_ch = "CK.",x.cheque_no USING "&&&&&&" SELECT UNIQUE a.detalle_1,a.detalle_2[1,37] INTO detalle1,detalle2 FROM cgtb00004 a WHERE a.tipo=2 AND a.cuenta_no=x.cuenta_no AND a.ref = numero_ch AND a.detalles matches x.cuenta_no AND a.status_t IS NULL END IF ON EVERY ROW PRINT COLUMN 1, x.cheque_no USING "#####","|", x.fecha USING "dd/mm/yyyy","|", COLUMN 17, x.portador,"|", COLUMN 48, detalle1,detalle2,"|", COLUMN 126, x.codigo USING "&&", "|", COLUMN 129, x.monto USING "###,###,###.##" AFTER GROUP OF x.cuenta_no PRINT COLUMN 129, "--------------" PRINT COLUMN 1, "Total Cheque(s) --> ", GROUP COUNT(*) USING "<<<,<<<", COLUMN 129, GROUP SUM(x.monto) USING "###,###,###.##" ON LAST ROW PRINT COLUMN 129, "--------------" PRINT COLUMN 1, "Total Cheque(s) --> ", COUNT (*) USING "<<<,<<<", COLUMN 129, SUM(x.monto) USING "###,###,###.##" PRINT COLUMN 129, "==============" PRINT letras.normal #comp_off END REPORT REPORT cheque_e2(x) DEFINE x RECORD cuenta_no CHAR(8), cheque_no INTEGER, fecha DATE, portador CHAR(30), monto DECIMAL(12,2), status_t CHAR(1), codigo INTEGER, descripcion CHAR(30) END RECORD ## DEFINICION DE LAS VARIABLES DE IMPRESION DEFINE numero_ch CHAR(9), descripcion CHAR(30), detalle1 CHAR(40), detalle2 CHAR(37) DEFINE hora CHAR(5) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 ORDER BY x.codigo FORMAT PAGE HEADER LET hora = time ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 1, letras.negrillas_on,letras.doce,letras.comp_on PRINT COLUMN 1, "teprrp007", COLUMN 48, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 135, "Pag. ",pageno using "###" PRINT COLUMN 48, " Sistema de Tesoreria", COLUMN 135, today using "dd/mm/yyyy" PRINT COLUMN 50, "Resumen por Partidas de Cheques Emitidos", COLUMN 138, hora SKIP 1 LINE PRINT COLUMN 1, "FECHA: Del ",fecha_inicial USING "dd/mm/yyyy", " Al ",fecha_final USING "dd/mm/yyyy" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "------------------------------------------" PRINT COLUMN 1, "Partida", COLUMN 40, "Valor" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "------------------------------------------" PRINT letras.negrillas_off AFTER GROUP OF x.codigo PRINT COLUMN 1, x.codigo USING "&&"," ", x.descripcion, COLUMN 40, GROUP SUM(x.monto) USING "###,###,###.##" ON LAST ROW PRINT COLUMN 39, "----------------" PRINT COLUMN 1, " Total General ", COLUMN 40, SUM(x.monto) USING "###,###,###.##" PRINT COLUMN 39, "================" PRINT letras.normal #comp_off END REPORT