{ ------------------------------------------------------------------------------- PROGRAMA : TEPRRP013 OBJETIVO : Validacion de Maestra de Partidas de Tesoreria PROGRAMADOR : Tadeo A. ferreras F. FECHA REALIZACION : Enero 05, 1996 ------------------------------------------------------------------------------- } GLOBALS "teprgb000.4gl" DEFINE decide CHAR(1) FUNCTION teprrp013() DEFINE datos_rep13 RECORD codigo INTEGER, descripcion CHAR(30), tipo CHAR(2), tipo1 CHAR(1) END RECORD # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM tefmrp013 FROM "tefmrp013" DISPLAY FORM tefmrp013 CALL pantalla() DISPLAY "teprrp013" AT 4,3 ATTRIBUTE(RED) DISPLAY "Maestra de Partidas de Cash Flow" AT 6,24 ATTRIBUTE(BLACK) ## 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) CALL defecto(impresor) RETURNING imprime,letras.*,archivo ## AQUI SE INDICA EL CRITERIO DE BUSQUEDA DEL REPORTE CONSTRUCT criterio ON a.codigo FROM codigo ON KEY (CONTROL-P) CALL busca_printer() RETURNING imprime,letras.*,archivo AFTER CONSTRUCT EXIT CONSTRUCT END CONSTRUCT ### Paso Cancelar Proceso 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 ## Busca la Informacion Requerida IF decide = "A" THEN LET selec = "SELECT a.codigo,a.descripcion,a.tipo FROM tetb00003 a ", "WHERE a.status_t IS NULL AND ",criterio CLIPPED, " ORDER BY 3,2" DISPLAY "<< Buscando Informacion ... Espere Por Favor >> " AT 19,14 ELSE LET selec = "SELECT a.codigo,a.descripcion,a.tipo FROM tetb00003 a ", "WHERE a.status_t IS NULL AND ",criterio CLIPPED, " ORDER BY 3,1" DISPLAY "<< Buscando Informacion ... Espere Por Favor >> " AT 19,14 END IF PREPARE comando FROM selec DECLARE busca CURSOR FOR comando OPEN busca START REPORT reporte_13 TO archivo DISPLAY "<< Reporte Generandose ... Espere Por Favor >> " AT 19,14 WHILE STATUS != NOTFOUND FETCH busca INTO datos_rep13.* IF STATUS = NOTFOUND THEN EXIT WHILE END IF IF INT_FLAG THEN LET numero_msg = 2 CALL msg(numero_msg) LET INT_FLAG = FALSE RETURN END IF IF datos_rep13.tipo = "IG" THEN LET datos_rep13.tipo1 = "A" END IF IF datos_rep13.tipo = "DI" THEN LET datos_rep13.tipo1 = "B" END IF IF datos_rep13.tipo = "DL" THEN LET datos_rep13.tipo1 = "C" END IF OUTPUT TO REPORT reporte_13(datos_rep13.*) END WHILE FINISH REPORT reporte_13 #RUN imprime CALL fdestino(destino,archivo,imprime) END FUNCTION ## DEFINICION DEL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE REPORT reporte_13(x) DEFINE x RECORD codigo INTEGER, descripcion CHAR(30), tipo CHAR(2), tipo1 CHAR(1) END RECORD, ## DEFINICION DE LAS VARIABLES DE IMPRESION hora CHAR(5), varia CHAR(10) ## DEFINICION DE LOS MARGENES DE IMPRESION OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 ORDER BY x.tipo1,x.codigo FORMAT PAGE HEADER LET hora = time IF decide = "A" THEN LET varia = "ALFABETICO" ELSE LET varia = " NUMERICO " END IF ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 1, letras.normal,letras.negrillas_on PRINT COLUMN 1, "teprrp013", COLUMN 17, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 73, "Pag. ",pageno using "###" PRINT COLUMN 17, " Sistema de Tesoreria", COLUMN 73, TODAY USING "dd/mm/yyyy" PRINT COLUMN 17, " Maestra de Partidas de Cash Flow", COLUMN 76, hora PRINT COLUMN 35, varia SKIP 1 LINE PRINT COLUMN 1, "----------------------------------------", "----------------------------------------" PRINT COLUMN 1, "Partida", COLUMN 75, "Tipo" PRINT COLUMN 1, "----------------------------------------", "----------------------------------------" PRINT COLUMN 1, letras.negrillas_off BEFORE GROUP OF x.tipo1 SKIP 1 LINE IF x.tipo1 = "A" THEN PRINT COLUMN 1, letras.negrillas_on,"INGRESOS",letras.negrillas_off END IF IF x.tipo1 = "B" THEN PRINT COLUMN 1, letras.negrillas_on,"DESEMBOLSOS INTERNACIONALES", letras.negrillas_off END IF IF x.tipo1 = "C" THEN PRINT COLUMN 1, letras.negrillas_on,"DESEMBOLSOS LOCALES", letras.negrillas_off END IF ON EVERY ROW PRINT COLUMN 1, x.codigo USING "&&"," ",x.descripcion CLIPPED, COLUMN 76, x.tipo CLIPPED ON LAST ROW PRINT COLUMN 1, letras.negrillas_on PRINT COLUMN 1, "Total de Partidas ---> ", COUNT(*) USING "<<<" PRINT COLUMN 1, letras.negrillas_off END REPORT