{ ###################################################################### Programa : CPPRRP007 Proceso : Validacion de Movimientos por Fecha de proceso Sistema : Cuenta Por Pagar Autor : Tadeo A. Ferreras Fecha : Junio 16, 1993 ####################################################################### } GLOBALS "cpprgb000.4gl" DEFINE mvto RECORD fecha_in DATE, fecha_fi DATE, cod_sp SMALLINT END RECORD DEFINE prt_mvto1 RECORD tipo_doc LIKE cptb00001.tipo_doc, num_doc LIKE cptb00001.num_doc, cod_sp LIKE cptb00001.cod_sp, cod_sp_sec LIKE cptb00001.cod_sp_sec, fecha_proc LIKE cptb00001.fecha_proc, aplica_a LIKE cptb00001.aplica_a, detalle LIKE cptb00001.detalle, valor LIKE cptb00001.valor END RECORD FUNCTION cpprrp007() CLEAR SCREEN OPTIONS FORM LINE 8 #WHENEVER ERROR CONTINUE OPEN FORM cpfmrp007 FROM "cpfmrp001" DISPLAY FORM cpfmrp007 CALL PANTALLA() DISPLAY "cpprrp007" AT 4,3 DISPLAY "Validacion de Movimientos (Fecha Proceso)" AT 6,19 LET int_flag = FALSE LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME mvto.* AFTER FIELD fecha_in IF mvto.fecha_in IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_in END IF AFTER FIELD fecha_fi IF mvto.fecha_fi IS NULL THEN LET mvto.fecha_fi = today END IF DISPLAY BY NAME mvto.fecha_fi IF mvto.fecha_fi < mvto.fecha_in THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fecha_in END IF AFTER FIELD cod_sp IF mvto.cod_sp IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD cod_sp 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.tipo_doc FROM tipo_doc IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT a.tipo_doc,a.num_doc,a.cod_sp,a.cod_sp_sec,a.fecha_proc, ", " a.aplica_a,a.detalle,SUM(a.valor) ", "FROM cptb00001 a ", "WHERE a.status_t IS NULL AND a.fecha_proc BETWEEN ? AND ? AND ", " a.cod_sp = ? AND ",criterio CLIPPED," GROUP BY 1,2,3,4,5,6,7" DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) PREPARE comando FROM selec DECLARE movto CURSOR FOR comando OPEN movto USING mvto.fecha_in,mvto.fecha_fi,mvto.cod_sp DISPLAY "<< Impresion En Proceso ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) START REPORT impreso_mvto1 TO "C:\\archivo" WHILE status != NOTFOUND FETCH movto INTO prt_mvto1.* IF STATUS = NOTFOUND THEN EXIT WHILE END IF OUTPUT TO REPORT impreso_mvto1(prt_mvto1.*,mvto.fecha_in,mvto.fecha_fi) END WHILE FINISH REPORT impreso_mvto1 RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT impreso_mvto1(x,fecha1,fecha2) DEFINE x RECORD tipo_doc LIKE cptb00001.tipo_doc, num_doc LIKE cptb00001.num_doc, cod_sp LIKE cptb00001.cod_sp, cod_sp_sec LIKE cptb00001.cod_sp_sec, fecha_proc LIKE cptb00001.fecha_proc, aplica_a LIKE cptb00001.aplica_a, detalle LIKE cptb00001.detalle, valor LIKE cptb00001.valor END RECORD DEFINE fecha1,fecha2 DATE DEFINE nom_sup CHAR(45) DEFINE valor1 DECIMAL(12,2) DEFINE comprimido_12_off CHAR(2), comprimido_12_on CHAR(2), comprimido_on CHAR(2), comprimido_off CHAR(2), doble_on CHAR(2), doble_off CHAR(2), negrillas_on CHAR(6), negrillas_off CHAR(6), hora CHAR(5) OUTPUT LEFT MARGIN 0 TOP MARGIN 1 BOTTOM MARGIN 4 ORDER BY x.cod_sp_sec,x.fecha_proc,x.tipo_doc,x.num_doc FORMAT PAGE HEADER LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comprimido_on = ASCII 15 LET comprimido_off = ASCII 18 LET comprimido_12_on = ASCII 27, ASCII 77 LET comprimido_12_off = ASCII 27, ASCII 80 LET hora = time LET lj = (91 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1,comprimido_off PRINT COLUMN 1, "cpprrp007", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 82, "Pag. ",pageno using "###" PRINT COLUMN 1, negrillas_on, COLUMN 36, "SISTEMA CUENTA POR PAGAR", COLUMN 82, today using "dd/mm/yy" PRINT COLUMN 25, "Validacion de Movimientos con Fecha de Proceso", COLUMN 83, hora PRINT COLUMN 34, "DEL ", fecha1 USING "dd/mm/yy"," AL ", fecha2 USING "dd/mm/yy" PRINT COLUMN 1,comprimido_on PRINT COLUMN 2, "-------------------------------------", "-------------------------------------", "-------------------------------------", "-------------------" PRINT COLUMN 3, "Documento", COLUMN 15, "Fecha Proc.", COLUMN 27, "Concepto", COLUMN 60, "Proveedor", COLUMN 110,"Aplica a", COLUMN 127,"Valor" PRINT COLUMN 2, "-------------------------------------", "-------------------------------------", "-------------------------------------", "-------------------", negrillas_off SKIP 1 LINE ON EVERY ROW SELECT a.nom_sp INTO nom_sup FROM cotb00001 a WHERE a.cod_sp = x.cod_sp AND a.cod_sp_sec = x.cod_sp_sec IF valor1 IS NULL THEN LET valor1 = 0 END IF PRINT COLUMN 3, x.tipo_doc CLIPPED,"-",x.num_doc clipped, COLUMN 15, x.fecha_proc USING "dd/mm/yy", COLUMN 27, x.detalle CLIPPED, COLUMN 60, x.cod_sp USING "&&","-", x.cod_sp_sec USING "&&&&"," ", nom_sup CLIPPED, COLUMN 110, x.aplica_a clipped, COLUMN 118, x.valor USING "---,---,---.&&" LET valor1 = valor1 + x.valor { AFTER GROUP OF x.num_doc SELECT a.nom_sp INTO nom_sup FROM cotb00001 a WHERE a.cod_sp = x.cod_sp AND a.cod_sp_sec = x.cod_sp_sec IF valor1 IS NULL THEN LET valor1 = 0 END IF PRINT COLUMN 3, x.tipo_doc CLIPPED,"-",x.num_doc clipped, COLUMN 15, x.fecha_proc USING "dd/mm/yy", COLUMN 27, x.detalle CLIPPED, COLUMN 60, x.cod_sp USING "&&","-", x.cod_sp_sec USING "&&&&"," ", nom_sup CLIPPED, # COLUMN 110, x.aplica_a clipped, COLUMN 118, GROUP SUM(x.valor) USING "---,---,---.&&" } ON LAST ROW SKIP 1 LINE PRINT COLUMN 1,comprimido_on,negrillas_on PRINT COLUMN 104,"TOTAL GRAL.", COLUMN 121,SUM(x.valor) USING "---,---,---.&&" PRINT COLUMN 1,comprimido_off,negrillas_off LET valor1 = 0 LET x.valor = 0 PAGE TRAILER PRINT COLUMN 3, "CK = CHEQUE CP = PREPAGO NC = NOTA DE CREDITO ND = NOTA DE DEBITO", comprimido_12_off END REPORT