{ ###################################################################### Programa : CPPRRP017 Proceso : Validacion Cuentas Afectadas en Facturacion Sistema : Cuenta Por Pagar Autor : Juan F. Soto (Copiado del programa cpprrp017) Fecha : Enero 18, 1996. ####################################################################### } GLOBALS "cpprgb000.4gl" DEFINE selec1 CHAR(500) DEFINE mvto RECORD fecha_in DATE, fecha_fi DATE, cod_sp SMALLINT END RECORD DEFINE prt_mvto11 RECORD factura CHAR(10), cod_sp SMALLINT, cod_sp_sec SMALLINT, nom_sp CHAR(45), fecha DATE, valor_fac DECIMAL(12,2), cuenta_no CHAR(11), departamento SMALLINT, cod_aux SMALLINT, cod_sec SMALLINT, refer CHAR(10), debito DECIMAL(12,2), credito DECIMAL(12,2), id INTEGER END RECORD FUNCTION cpprrp017() CLEAR SCREEN OPTIONS FORM LINE 8 #WHENEVER ERROR CONTINUE OPEN FORM cpfmrp017 FROM "cpfmrp017" DISPLAY FORM cpfmrp017 CALL PANTALLA() DISPLAY "cpprrp017" AT 4,3 ATTRIBUTE(blue) DISPLAY "Validacion de Facturas" AT 6,29 LET int_flag = FALSE LET tipo_papel = 1 CALL msgrp000(tipo_papel) CONSTRUCT BY NAME criterio ON c.fecha_orig,c.num_doc,c.cod_sp,c.cod_sp_sec IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT a.factura,a.cod_sp,a.cod_sp_sec,b.nom_sp,a.fecha,c.valor, ", " a.cuenta_no,a.departamento,a.cod_aux,a.cod_sec,a.num_doc, ", " a.debito,a.credito,a.rowid ", "FROM cptb00003 a,cotb00001 b,cptb00001 c ", "WHERE (a.cod_sp = b.cod_sp AND a.cod_sp_sec = b.cod_sp_sec) and ", " (a.cod_sp = c.cod_sp AND a.cod_sp_sec = c.cod_sp_sec) and ", " (a.factura = c.num_doc) AND (c.tipo_doc[1] = 'F') AND ", " (a.status_t IS NULL) AND ",criterio clipped DISPLAY "<< Buscando Informacion .... Espere Por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) PREPARE comando FROM selec DECLARE movto CURSOR FOR comando OPEN movto START REPORT val_ctas TO "C:\\archivo" DISPLAY "<< " AT 19,14 DISPLAY "<< Impresion En Proceso .... Espere Por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) WHILE STATUS != NOTFOUND FETCH movto INTO prt_mvto11.* IF STATUS = NOTFOUND THEN EXIT WHILE END IF OUTPUT TO REPORT val_ctas(prt_mvto11.*) END WHILE FINISH REPORT val_ctas RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT val_ctas(x) DEFINE x RECORD factura CHAR(10), cod_sp SMALLINT, cod_sp_sec SMALLINT, nom_sp CHAR(45), fecha DATE, valor_fac DECIMAL(12,2), cuenta_no CHAR(11), departamento SMALLINT, cod_aux SMALLINT, cod_sec SMALLINT, refer CHAR(10), debito DECIMAL(12,2), credito DECIMAL(12,2), id INTEGER END RECORD DEFINE reg_final RECORD cuenta_no CHAR(8), departamento SMALLINT, cod_aux SMALLINT, cod_sec SMALLINT, num_doc CHAR(10), debito DECIMAL(12,2), credito DECIMAL(12,2) END RECORD, codigo_a CHAR(7) DEFINE fecha1,fecha2 DATE DEFINE nom_sup CHAR(45) DEFINE sale CHAR(1) DEFINE valor2,valor1,total_debito,total_credito,t_debito,t_credito, total_supl1,total_supl2,total1 DECIMAL(12,2) DEFINE comp_on CHAR(3), comp_off CHAR(3), doble_on CHAR(3), doble_off CHAR(3), 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.factura,x.cuenta_no,x.id FORMAT PAGE HEADER LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET hora = time LET lj = (82 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, comp_off,negrillas_on PRINT COLUMN 1, "cpprrp017", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 75, "Pag. ", pageno using "###" PRINT COLUMN 29, "SISTEMA CUENTA POR PAGAR", COLUMN 75, today using "dd/mm/yy" PRINT COLUMN 19, "Validacion Cuentas Afectadas Por Facturacion", COLUMN 77, hora #PRINT COLUMN 28,"DEL ",mvto.fecha_in USING "dd/mm/yy", # " AL ",mvto.fecha_fi USING "dd/mm/yy" PRINT comp_on PRINT COLUMN 1, "----------------------------------------", "----------------------------------------", "----------------------------------------", "----------------" PRINT COLUMN 1, "Suplidor", COLUMN 40, "Factura", COLUMN 52, "Fecha", COLUMN 62, "Valor Fact.", COLUMN 75, "Cuenta", COLUMN 85, "Dpto. ", COLUMN 91, "Cta. Aux.", COLUMN 99, "Refer.", COLUMN 115, "Debe", COLUMN 131, "Haber" PRINT COLUMN 1, "----------------------------------------", "----------------------------------------", "----------------------------------------", "----------------" PRINT negrillas_off BEFORE GROUP OF x.cod_sp_sec LET total_supl1 = 0 LET total_supl2 = 0 PRINT COLUMN 1, x.cod_sp USING "&&","-", x.cod_sp_sec USING "&&&&"," ", x.nom_sp CLIPPED; BEFORE GROUP OF x.factura LET total_debito = 0 LET total_credito = 0 PRINT COLUMN 40, x.factura CLIPPED, COLUMN 52, x.fecha USING "dd/mm/yy", COLUMN 62, x.valor_fac USING "#,###,###.##"; ON EVERY ROW IF x.debito IS NULL THEN LET x.debito = 0 END IF IF x.credito IS NULL THEN LET x.credito = 0 END IF LET total_debito = total_debito + x.debito LET total_credito = total_credito + x.credito LET total_supl1 = total_supl1 + x.debito LET total_supl2 = total_supl2 + x.credito IF x.cod_aux IS NOT NULL THEN LET codigo_a = x.cod_aux USING "##","-",x.cod_sec USING "####" ELSE LET codigo_a = null END IF PRINT COLUMN 75, x.cuenta_no CLIPPED, COLUMN 85, x.departamento USING "####", COLUMN 91, codigo_a CLIPPED, COLUMN 99, x.refer CLIPPED, COLUMN 111, x.debito USING "###,###,###.##", COLUMN 126, x.credito USING "###,###,###.##" AFTER GROUP OF x.factura PRINT COLUMN 111, "--------------", COLUMN 126, "--------------" PRINT COLUMN 111, GROUP SUM(x.debito) USING "###,###,###.##", COLUMN 126, GROUP SUM(x.credito) USING "###,###,###.##" SKIP 1 LINE IF total1 IS NULL THEN LET total1 = 0 END IF LET total1 = total1 + x.valor_fac AFTER GROUP OF x.cod_sp_sec PRINT COLUMN 111, "--------------", COLUMN 126, "--------------" PRINT COLUMN 111, GROUP SUM(x.debito) USING "###,###,###.##", COLUMN 126, GROUP SUM(x.credito) USING "###,###,###.##" PRINT COLUMN 111, "==============", COLUMN 126, "==============" SKIP 2 LINE ON LAST ROW PRINT COLUMN 111, "--------------", COLUMN 126, "--------------" PRINT COLUMN 111, SUM(x.debito) USING "###,###,###.##", COLUMN 126, SUM(x.credito) USING "###,###,###.##" PRINT COLUMN 111, "==============", COLUMN 126, "==============" END REPORT