{ ====================================================================== PROGRAMA :irprrpcs008 OBJETIVO :DRIVER PARA IMPRIMIR LAS INFORMACIONES DEL CONTEO FISICO DESARROLADOR :JUAN SOTO FECHA :26/11/2009 ====================================================================== } REPORT imprime(x,nombre_cia,xalmacen,xseccion,xtramo,xtipo,znumDoc,zcodMov,zdescripMov,ptipo,porigen,jfecha,desglose) DEFINE kdatos DYNAMIC ARRAY OF RECORD lado_2 DEC(8,5), lado_1 DEC(8,5), lado_3 DEC(8,5), cantidad FLOAT, cantidad2 FLOAT, tono VARCHAR(100), calidad VARCHAR(100), xobservacion VARCHAR(200), id_producto CHAR(25), seccion INT, tramo INT END RECORD DEFINE x RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_Sec SMALLINT, descripcion CHAR(100), unidad_med CHAR(4), fisico DEC(12,4), teorico DEC(12,4), diferencia DEC(12,4), costo DEC(12,4), valor1 DEC(12,4), valor2 DEC(12,4), almacen SMALLINT, seccion SMALLINT, tramo SMALLINT END RECORD, nombre_cia CHAR(50), porigen CHAR(30), ptipo,pcodigo,xtipo,chtipo CHAR(25), jfecha DATE, total_g_material ,total_g_material_libro,ototal_fisico,ototal_teorico,ototal_ajuste,total_teorico, total_general,total_general1,total_seccion,total_tramo,total_fisico,total_almacen dec(12,2), xalmacen,xseccion,xtramo,zdescripMov,dseccion,dtramo CHAR(30), zcodMov,numero_registros,ttotal_registros,stotal_registros,ototal_registros SMALLINT, znumDoc,i INT, chfecha CHAR(20), desglose VARCHAR(2) ORDER BY nombre_cia,x.almacen,x.seccion,x.tramo,porigen,x.cod_n, x.cod_grupo,x.cod_tipo,x.cod_Sec FORMAT FIRST PAGE HEADER IF ptipo = "CONTEO" THEN LET chtipo = "CONTEO FISICO" END IF IF ptipo = "INVENTA" THEN LET chtipo = "INVENTARIO FISICO" END IF IF ptipo = "DOC" THEN LET chtipo = "DOCUMENTO AJUSTE" END IF LET total_General = 0 LET total_g_material = 0 LET total_g_material_libro = 0 LET total_fisico = 0 LET total_teorico = 0 BEFORE GROUP OF x.almacen LET total_almacen = 0 LET numero_registros = 0 BEFORE GROUP OF x.seccion LET stotal_registros = 0 LET total_Seccion = 0 BEFORE GROUP OF x.tramo LET total_tramo = 0 LET ttotal_registros = 0 BEFORE GROUP OF porigen LET ototal_registros = 0 LET ototal_teorico = 0 LET ototal_fisico = 0 LET ototal_ajuste = 0 ON EVERY ROW LET chfecha = CURRENT YEAR TO MINUTE LET numero_registros = numero_registros + 1 LET pcodigo = x.cod_n USING "&&&&","-",x.cod_grupo USING "&&&&","-", x.cod_tipo USING "&&&&","-",x.cod_sec USING "&&&&&&" LET total_general = total_general + x.valor2 # DIFERENCIA LET total_general1 = total_general1 + x.valor1 #FISICO LET total_fisico = total_fisico + x.valor1 # FISICO LET total_teorico = total_teorico + (x.teorico * x.costo) LET total_Seccion = x.valor1 + total_Seccion LET total_tramo = x.valor1 + total_tramo LET stotal_registros = stotal_registros + 1 LET ttotal_registros = ttotal_registros + 1 LET total_g_material = total_g_material + x.fisico LET total_g_material_libro = total_g_material_libro + x.teorico LET ototal_registros = ototal_registros + 1 LET ototal_fisico = ototal_fisico + x.valor1 # FISICO ORIGEN LET ototal_teorico = ototal_teorico +(x.teorico*x.costo) LET ototal_ajuste = ototal_ajuste + x.valor2 PRINTX pcodigo,x.*,nombre_cia,total_general,total_general1,xalmacen,xseccion,xtramo, total_Seccion,total_tramo,numero_registros, total_g_material,stotal_registros,ttotal_registros,xtipo,znumdoc,zcodMov,zdescripMov,chfecha, total_teorico,chtipo,ptipo,porigen,ototal_registros,ototal_fisico,ototal_teorico, ototal_ajuste,total_g_material_libro,jfecha,total_fisico,total_almacen,desglose #------------------------ DESGLOSE ----------------------------------------------------------------- IF desglose = "SI" THEN DECLARE busca_desglose CURSOR FOR SELECT a.lado_1,a.lado_2,a.lado_3,a.cantidad, a.cantidad2,a.tono,a.calidad, RTRIM(b.descripcion) ||', '|| RTRIM(c.descripcion) FROM iptb00062 a,intb00010 b,intb00043 c WHERE a.cod_n = x.cod_n AND a.cod_grupo = x.cod_grupo AND a.cod_tipo = x.cod_tipo AND a.cod_sec = x.cod_sec AND a.cod_seccion = b.cod_seccion AND a.bodega = x.almacen AND a.bodega = b.cod_bodega AND a.cod_seccion = b.cod_seccion AND a.cod_tramo = c.cod_tramo AND b.cod_seccion = c.cod_seccion AND b.cod_bodega = c.cod_bodega LET i = 1 FOREACH busca_desglose INTO kdatos[i].lado_1,kdatos[i].lado_2,kdatos[i].lado_3, kdatos[i].cantidad,kdatos[i].cantidad2,kdatos[i].tono, kdatos[i].calidad,dseccion,dtramo PRINT kdatos[i].lado_1,kdatos[i].lado_2,kdatos[i].lado_3, kdatos[i].cantidad,kdatos[i].cantidad2,kdatos[i].tono, kdatos[i].calidad,dseccion,dtramo LET i = i +1 END FOREACH END IF END REPORT