152 lines
5.7 KiB
Plaintext
152 lines
5.7 KiB
Plaintext
{
|
|
======================================================================
|
|
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 |