{ ------------------------------------------------------------------------------- PROGRAMA : CCPRRP044 OBJETIVO : Comisiones RESUMIDAS REALIZADO POR : JUAN F. SOTO FECHA : Septiembre 7, 1998. ------------------------------------------------------------------------------- } GLOBALS "ccprgb000.4gl" DEFINE segunda,primera CHAR(1) FUNCTION ccprrp044() DEFINE resumen_prt RECORD LIKE cctb00010.* OPTIONS FORM LINE 10, PROMPT LINE 9 CLEAR SCREEN CALL pantalla() OPEN FORM ccfmrp044 FROM "ccfmrp044" DISPLAY FORM ccfmrp044 INPUT BY NAME p_ano,p_mes WITHOUT DEFAULTS AFTER FIELD p_ano IF p_ano IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD p_ano END IF AFTER FIELD p_mes IF p_mes IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD p_mes END IF SELECT a.fecha_inicio,a.fecha_corte INTO fecha1,fecha2 FROM prdtable a WHERE a.ano = p_ano AND a.mes = p_mes END INPUT LET parametro = "D" CALL elijeimpresion(parametro) RETURNING orden,destino,letras.* START REPORT reporte44 TO "C:\\ccrp44" DECLARE c_vende CURSOR FOR SELECT a.* FROM cctb00010 a ORDER BY a.cod_cia,a.sec_vend # Loop para darle salida al Query hasta que la variable global status = 100 LET primera = "S" LET segunda = "S" FOREACH c_vende INTO resumen_prt.* SELECT UNIQUE a.sec_vend FROM cctb00008 a WHERE a.sec_vend = resumen_prt.sec_vend AND a.status_t IS NULL IF STATUS != NOTFOUND THEN OUTPUT TO REPORT reporte44 (resumen_prt.*) END IF END FOREACH FINISH REPORT reporte44 RUN "TYPE c:\\ccrp44 > %USPRINT%" CLEAR SCREEN END FUNCTION # Rutina de reporte REPORT reporte44(x) # Variable que Toma el valor de la funcion que llamo a esta rutina DEFINE x RECORD LIKE cctb00010.* DEFINE nombre_mes CHAR(10) DEFINE porc_ventas DECIMAL(10,4), t_comision_v,t_cantidad_n,cantidad_n DECIMAL(12,2) #------------------------------------------------------------------ # Estas variables son constantes en todos los reportes de RAYOVAC # para no estar definiendolas en cada momento. # Estas variables son los caracteres ASCII para ser interpretados por # el printer. DEFINE valor_devuelto DECIMAL(12,2) DEFINE dias1,dias2,j,k INTEGER, nombre_vend CHAR(8),apellido_vend CHAR(10), tt_valor DECIMAL(12,2) DEFINE normal CHAR(3), vcantidad_dev,tt_comision,t_comision_ventas DECIMAL(12,2), descuento,und_netas DECIMAL(12,2), und_desc INTEGER DEFINE hora CHAR(5) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 4 #------------------------------------------------------------------------ FORMAT PAGE HEADER # Asignaciones de los valores ASCII para la impresion LET hora = time # Funcion que busca los meses del ano #-------------------------------------------------------------------------- PRINT COLUMN 1, letras.comp_on PRINT COLUMN 1, "ccprrp044", COLUMN 46, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 121, "Pag. ",pageno using "###" PRINT COLUMN 46, " Sistema de Cuentas por Cobrar", COLUMN 121, today using "dd/mm/yyyy" PRINT COLUMN 46, " RESUMEN COMISIONES ", COLUMN 122, hora PRINT COLUMN 40, " " PRINT COLUMN 1, "DESDE: ",fecha1 using "dd/mm/yyyy", " HASTA: ",fecha2 using "dd/mm/yyyy" BEFORE GROUP OF x.cod_cia IF primera = "S" THEN LET primera = "N" PRINT letras.negrillas_on PRINT "PRODUCTOS LOCALES" PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------------------------", "---------------------------------------------------", "-------------------------" PRINT COLUMN 37, "MONTO", COLUMN 48, "MONTO", COLUMN 60, "MONTO", COLUMN 74, "MONTO", COLUMN 87, "COMISION" , COLUMN 102, "MONTO", COLUMN 126, "CHEQUES", COLUMN 138, "COBROS", COLUMN 148, "COMISION A", COLUMN 167, "TOTAL A" PRINT COLUMN 2, "VENDEDORES", COLUMN 37, "VENDIDO", COLUMN 48, "DESCUENTO", COLUMN 60, "DEVUELTO", COLUMN 78, "NETO", COLUMN 87, "VENTAS", COLUMN 102, "COBRADO", COLUMN 111, " ITBI", COLUMN 126, "DEVUELTOS", COLUMN 138, "NETOS", COLUMN 152, "COBRAR", COLUMN 167, "COBRAR" PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------------------------", "---------------------------------------------------", "-------------------------" PRINT letras.negrillas_off END IF AFTER GROUP OF x.cod_cia IF tt_valor IS NULL THEN LET tt_valor = 0 END IF PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------------------------", "---------------------------------------------------", "-------------------------" PRINT "SUB-TOTAL ", COLUMN 30,GROUP SUM(x.cantidad_ven) USING "##,###,###,###.##", COLUMN 48, GROUP SUM(x.unidad_desc) USING "##,###,###.##", COLUMN 58,GROUP SUM(x.cantidad_dev) USING "###,###.##", COLUMN 68,GROUP SUM(x.cantidad_ven) - GROUP SUM(x.unidad_desc) USING "###,###,###.##", COLUMN 84, GROUP SUM(x.comision_ventas) USING "###,###.##", COLUMN 93,GROUP SUM(x.cobros) USING "###,###,###.##", COLUMN 110,GROUP SUM(x.monto_devuelto) USING "#,###,###.##", COLUMN 122, GROUP SUM(x.ck_devuelto) USING "###,###.##", COLUMN 136, GROUP SUM(x.cobros) -GROUP SUM(x.ck_devuelto) - GROUP SUM(x.monto_devuelto) USING "##,###,###.##", COLUMN 150, GROUP SUM(x.comision_cobros) USING "##,###.##", COLUMN 165, GROUP SUM(x.comision_cobros) + GROUP SUM(x.comision_ventas) USING "#,###,###.##" IF segunda = "S" THEN PRINT letras.negrillas_on PRINT "PRODUCTOS IMPORTADOS" PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------------------------", "---------------------------------------------------", "-------------------------" PRINT COLUMN 37, "MONTO", #COLUMN 51, "MONTO", COLUMN 60, "MONTO", COLUMN 76, "MONTO", COLUMN 87, "COMISION" , COLUMN 125, "CHEQUES", COLUMN 140, "COBROS", COLUMN 150, "COMISION", COLUMN 167, "TOTAL A" PRINT COLUMN 2, "VENDEDORES", COLUMN 37, "BRUTO", #COLUMN 51, "EVUELTO", COLUMN 60, "DESCUENTO", COLUMN 76, "NETO", COLUMN 87, "VENTAS", COLUMN 100, "COBROS", COLUMN 114, " ITBI", COLUMN 125, "DEVUELTO", COLUMN 140, "NETO", COLUMN 150, "COBROS", COLUMN 167, "COBRAR" PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------------------------", "---------------------------------------------------", "-------------------------" LET segunda = "N" PRINT letras.negrillas_off END IF AFTER GROUP OF x.sec_vend # Impresion del nombre del vendedor SELECT nom1_emp,apell1_emp INTO nombre_vend,apellido_vend FROM adtb00003 WHERE num_emp = x.sec_vend PRINT COLUMN 1,x.sec_vend," ", nombre_vend clipped," ", apellido_vend clipped, COLUMN 31,GROUP SUM(x.cantidad_ven) USING "###,###,###.##", COLUMN 48,GROUP SUM(x.unidad_desc) USING "###,###.##", COLUMN 58,GROUP SUM(x.cantidad_dev) USING "###,###.##", COLUMN 68,GROUP SUM(x.cantidad_ven) - GROUP SUM(x.unidad_desc) - GROUP SUM(x.cantidad_dev) USING "###,###,###.##", COLUMN 84, GROUP SUM(x.comision_ventas) USING "###,###.##", COLUMN 93,GROUP SUM(x.cobros) USING "###,###,###.##", COLUMN 110,GROUP SUM(x.monto_devuelto) USING "#,###,###.##", COLUMN 122, GROUP SUM(x.ck_devuelto) USING "###,###.##", COLUMN 136, GROUP SUM(x.cobros) -GROUP SUM(x.ck_devuelto) - GROUP SUM(x.monto_devuelto) USING "##,###,###.##", COLUMN 150, GROUP SUM(x.comision_cobros) USING "##,###.##", COLUMN 167, GROUP SUM(x.comision_cobros) + GROUP SUM(x.comision_ventas) USING "###,###.##" ON LAST ROW LET tt_valor = 0 DECLARE busca CURSOR FOR SELECT a.sec_vend,a.sec_vend,SUM(a.cantidad_ven), SUM(a.cantidad_dev),SUM(a.unidad_desc),SUM(a.comision_ventas), SUM(a.cobros),SUM(a.monto_devuelto),SUM(a.ck_devuelto), SUM(a.comision_cobros) FROM cctb00010 a GROUP BY 1,2 ORDER BY 1 PRINT letras.negrillas_on PRINT COLUMN 40, " CONSOLIDACION COMISIONES POR VENDEDOR ", COLUMN 160, "COMISION" PRINT COLUMN 160, "ADICIONAL" PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------------------------", "---------------------------------------------------", "------------------------" PRINT letras.negrillas_off FOREACH busca INTO x.* LET t_valor = 0 IF x.sec_vend = 550 OR x.sec_vend = 367 THEN DISPLAY "BUSCANDO COMISION ADICIONAL...",x.sec_vend AT 18,1 CALL teprrp005(x.sec_vend) END IF IF t_valor IS NULL THEN LET t_valor = 0 END IF SELECT nom1_emp,apell1_emp INTO nombre_vend,apellido_vend FROM adtb00003 WHERE num_emp = x.sec_vend PRINT COLUMN 1,x.sec_vend," ",nombre_vend CLIPPED," ", apellido_vend, #COLUMN 30, x.cantidad_ven USING "###,###,###.##", #COLUMN 46, x.unidad_Desc USING "#,###,###", #COLUMN 58, x.cantidad_dev USING "###,###.##", #COLUMN 68, x.cantidad_ven - x.cantidad_Dev #USING "###,###,###.##", COLUMN 84, x.comision_ventas USING "###,###.##", #COLUMN 93, x.cobros USING "###,###,###.##", #COLUMN 110, x.monto_devuelto USING "#,###,###.##", #COLUMN 122, x.ck_devuelto USING "#,###,###.##", #COLUMN 135, x.cobros-x.monto_devuelto-x.ck_devuelto #USING "##,###,###.##", COLUMN 150, x.comision_cobros USING "###,###.##", COLUMN 160, t_valor USING "##,###.##", COLUMN 170, x.comision_cobros + x.comision_ventas + t_valor USING "#,###,###.##" LET tt_valor = tt_valor + t_valor END FOREACH PRINT #COLUMN 30,"--------------", #COLUMN 46, "---------", #COLUMN 58,"----------", #COLUMN 68, "--------------", COLUMN 84, "----------", #COLUMN 93,"--------------", #COLUMN 110,"----------", #COLUMN 124,"----------", #COLUMN 134, "------------", COLUMN 149, "-----------", COLUMN 167, "------------" PRINT COLUMN 2, "Total General ", #COLUMN 30,SUM(x.cantidad_ven) USING "###,###,###.##", #COLUMN 46, SUM(x.unidad_desc) USING "###,###", #COLUMN 58,SUM(x.cantidad_dev) USING "###,###.##", #COLUMN 68,SUM(x.cantidad_ven) - #SUM(x.cantidad_dev) #USING "###,###,###.##", COLUMN 84, SUM(x.comision_ventas) USING "###,###.##", #COLUMN 93,SUM(x.cobros) USING "###,###,###.##", #COLUMN 110,SUM(x.monto_devuelto) USING "#,###,###.##", #COLUMN 124,SUM(x.ck_devuelto) USING "###,###.##", #COLUMN 135,SUM(x.cobros)-SUM(x.ck_devuelto) - #SUM(x.monto_devuelto) USING "##,###,###.##", COLUMN 150,SUM(x.comision_cobros) USING "###,###.##", COLUMN 160,tt_valor USING "##,###.##", COLUMN 166,SUM(x.comision_cobros) + SUM(x.comision_ventas) + tt_valor USING "##,###,###.##" PRINT letras.comp_off END REPORT