Mueve ipdir (Productos Terminados) de PROYECTOS a PROYECTO
Instruccion de Johnny: todos los directorios de fuentes de inventario deben migrarse de la carpeta temporal PROYECTOS a la carpeta real PROYECTO, ya que PROYECTOS sera eliminada. Se elimino tambien un archivo suelto sin relacion llamado "ipdir" que existia en PROYECTO (del commit inicial) y bloqueaba el nombre de la carpeta. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,550 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : ipprrp057 (Diario)
|
||||
OBJETIVO : PROCESO PARA LLENAR TABLA Y POSTERIORMENTE HACER PIVOT TABLE,
|
||||
ESTE PROCESO SE EJECUTARA AUTOMATICAMENTE DE ACUERDO AL SCHEDULE QUE SE ESPECIFIQUE
|
||||
|
||||
PROGRAMADOR : Ing. Juan Francisco Soto
|
||||
FECHA REALIZACION : Julio 4, 2005
|
||||
MODIFICACDO POR : Ing. Juan Francisco Soto
|
||||
FECHA : Julio 18, 2005
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "ipprgb000.4gl"
|
||||
|
||||
DEFINE pcosto_tp,pprima,ptasa_tp,precio,tasa_tp DECIMAL(8,4),
|
||||
pidentifica,pnum_oc,tipo_valor,pmes,mesant INTEGER,
|
||||
archivo,filename,sysos CHAR(120),
|
||||
cels CHAR(20),
|
||||
cnt,n,pano,dep_ant,n_row,ppresenta integer,
|
||||
fecha_tp,fecha_lq1,fecha1,fecha2 DATE,
|
||||
desc_pagos,tasa DEC(12,4),
|
||||
pparametro,tipo_rp1 CHAR(1),
|
||||
total_tp DEC(12,2),
|
||||
ano_ant CHAR(1)
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL pantalla()
|
||||
CALL ipprrp057()
|
||||
END MAIN
|
||||
|
||||
FUNCTION ipprrp057()
|
||||
DEFINE producto RECORD LIKE analisis.*
|
||||
{
|
||||
factura INTEGER,
|
||||
orden INTEGER,
|
||||
fecha DATE,
|
||||
sec_vend CHAR(40),
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INTEGER,
|
||||
nombre CHAR(60),
|
||||
cod_n LIKE iptb00002.cod_n,
|
||||
cod_grupo LIKE iptb00002.cod_grupo,
|
||||
cod_tipo LIKE iptb00002.cod_tipo,
|
||||
cod_sec LIKE iptb00002.cod_sec,
|
||||
codigo CHAR(25),
|
||||
descrip_t LIKE iptb00021.descripcion,
|
||||
grupo_local CHAR(30),
|
||||
ptipo LIKE iptb00021.descripcion,
|
||||
descrip_esp CHAR(60),
|
||||
unidad_med LIKE intb00001.unidad_med,
|
||||
ventas CHAR(1),
|
||||
Zona_geografica CHAR(30),
|
||||
pais CHAR(30),
|
||||
tipo_negocio SMALLINT,
|
||||
descripcion LIKE cctb00013.descripcion,
|
||||
unidad_b INTEGER,
|
||||
valor_b DEC(12,2),
|
||||
cantidad_dev INTEGER,
|
||||
precio_dev DEC(12,2),
|
||||
unidad_boni INTEGER,
|
||||
valor_boni DEC(12,2),
|
||||
costo_real DEC(12,4),
|
||||
costo_unid_b DEC(12,4),
|
||||
costo_unid_n DEC(12,4),
|
||||
costo_unid_n_us DEC(12,4),
|
||||
costo_std DEC(12,4),
|
||||
costo_std_b DEC(12,4),
|
||||
costo_std_n DEC(12,4),
|
||||
costo_tp DEC(12,4),
|
||||
descuento DEC(12,2),
|
||||
costo_tp1 DEC(12,4),
|
||||
costo_tp2 DEC(12,4),
|
||||
unidad_pres LIKE iptb00010.conversion,
|
||||
unidad_n INTEGER,
|
||||
ano SMALLINT,
|
||||
mes SMALLINT,
|
||||
tasa_tp DEC(10,3),
|
||||
ventas_netas DEC(12,2),
|
||||
valor_rd DEC(12,2),
|
||||
valor_us DEC(12,2),
|
||||
gastos_m_ind DEC(12,2),
|
||||
gastos_d DEC(12,2),
|
||||
gastos_directos DEC(12,2),
|
||||
margen_b_rd DEC(12,2),
|
||||
margen_b_US DEC(12,2),
|
||||
margen_stp_rd DEC(12,2),
|
||||
margen_stp_US DEC(12,2),
|
||||
identifica INTEGER,
|
||||
tipo_producto LIKE iptb00028.descripcion,
|
||||
cantidad_boni INTEGER,
|
||||
costo_boni DEC(12,2),
|
||||
costo_s_tp DEC(12,4),
|
||||
valor_tp DEC(12,2),
|
||||
pcosto DEC(12,4),
|
||||
descuento_p DEC(12,3),
|
||||
kano SMALLINT,
|
||||
kmes SMALLINT,
|
||||
ptasa DEC(8,3),
|
||||
costo DEC(12,4)
|
||||
|
||||
END RECORD},
|
||||
codigo CHAR(10),
|
||||
codigo_n integer,
|
||||
nombre CHAR(50),
|
||||
seleccion CHAR(200)
|
||||
|
||||
|
||||
# WHENEVER ERROR CONTINUE
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
CLEAR SCREEN
|
||||
{
|
||||
OPEN FORM ipfmrp057 FROM "ipfmrp057"
|
||||
DISPLAY FORM ipfmrp057
|
||||
CALL pantalla()
|
||||
DISPLAY "ipprrp057" AT 4,3
|
||||
DISPLAY "DETERMINAR TP PRODUCTOS" AT 6,20
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT MAX(a.ano) INTO pano
|
||||
FROM prdtable a
|
||||
}
|
||||
display "aqui 1"
|
||||
# SELECT MAX(a.ano) INTO pano
|
||||
# FROM prdtable a
|
||||
display "aqui 2"
|
||||
|
||||
#SELECT MAX(a.mes) INTO pmes FROM prdtable a
|
||||
#WHERE a.ano = pano AND
|
||||
# a.fecha_inicio <= TODAY
|
||||
display "aqui 3"
|
||||
LET pano = 2007
|
||||
display "aqui 4"
|
||||
|
||||
DISPLAY "Actualizando campos en NULL... Espere Por Favor" AT 19,14
|
||||
ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
DISPLAY "Borrando data de ANALISIS ... Espere Por Favor" AT 19,14
|
||||
|
||||
DELETE FROM analisis WHERE ano = pano
|
||||
|
||||
DISPLAY "Insertando Ventas Locales... Espere Por Favor" AT 19,14
|
||||
|
||||
INSERT INTO analisis
|
||||
SELECT b.cod_cia,'FACTURAS', d.factura,d.orden,d.fecha_factura,m.nom1_emp,d.tipo_cliente,d.sec_cliente,j.nombre,
|
||||
b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
|
||||
B.nomenclatura,x1.producto,x2.descripcion,' ',
|
||||
b.descrip_esp,b.unidad_med, x3.descripcion,
|
||||
x.descrip,y.nombre_provincia,'1','TIPO NEGOCIO',
|
||||
f.cantidad,f.cantidad*f.precio,'0','0','0',
|
||||
' ',
|
||||
'0','0','0','0','0','0','0','0',(f.precio*f.cantidad_2)*(cantidad_2/100),'0','0','0','0',
|
||||
p.ano,p.mes,'0','0','0','0','0','0','0','0','0','0','0'
|
||||
FROM iptb00002 b,vetb00002 d,vetb00003 f,OUTER iptb00024 x2,
|
||||
vetb00004 j,prdtable p,adtb00003 m,vetb00008 x,OUTER vetb00020 y,OUTER vetb00009 z,vetb00059 x3,iptb00020 x1
|
||||
WHERE
|
||||
(b.cod_n = f.cod_n and b.cod_grupo = f.cod_grupo and b.cod_tipo = f.cod_tipo and
|
||||
b.cod_sec = f.cod_sec) AND
|
||||
b.cod_tipo = x2.cod_tipo and
|
||||
b.cod_n = x2.cod_n AND
|
||||
p.ano = pano and # p.mes = pmes AND
|
||||
x1.cod_n = b.cod_n AND
|
||||
j.cod_zona = x.cod_zona AND
|
||||
j.cod_provincia = y.cod_provincia AND
|
||||
j.cod_zona = z.cod_zona AND
|
||||
j.cod_provincia = z.cod_provincia AND
|
||||
d.sec_vend = m.num_emp AND
|
||||
d.fecha_factura between p.fecha_inicio AND p.fecha_corte AND d.factura = f.factura AND
|
||||
d.tipo_cliente = j.tipo_cliente and
|
||||
d.sec_cliente = j.sec_cliente and
|
||||
d.ventas = x3.ventas AND
|
||||
f.status_t IS NULL AND
|
||||
(b.cod_n = f.cod_n and b.cod_grupo = f.cod_grupo and b.cod_tipo = f.cod_tipo and
|
||||
b.cod_sec = f.cod_sec) AND
|
||||
d.status_t IS NULL
|
||||
|
||||
|
||||
|
||||
DISPLAY "Insertando Devoluciones ... Espere Por Favor" AT 19,14
|
||||
ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
INSERT INTO analisis
|
||||
SELECT b.cod_cia,'DEVOLUCIONES', x4.num_doc,d.factura,x4.fecha,m.nom1_emp,d.tipo_cliente,d.sec_cliente,j.nombre,
|
||||
b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
|
||||
B.nomenclatura,x1.producto,x2.descripcion,' ',
|
||||
b.descrip_esp,b.unidad_med, x3.descripcion,
|
||||
x.descrip,y.nombre_provincia,'1','TIPO NEGOCIO',
|
||||
x4.cantidad_2*-1,x4.cantidad_2*f.precio*-1,'0','0','0',
|
||||
' ',
|
||||
'0','0','0','0','0','0','0','0','0','0','0','0','0',
|
||||
p.ano,p.mes,'0','0','0','0','0','0','0','0','0','0','0'
|
||||
FROM iptb00002 b,vetb00002 d,vetb00003 f,OUTER iptb00024 x2,
|
||||
vetb00004 j,prdtable p,adtb00003 m,vetb00008 x,OUTER vetb00020 y,OUTER vetb00009 z,vetb00059 x3,iptb00020 x1,
|
||||
iptb00006 x4
|
||||
WHERE
|
||||
(b.cod_n = f.cod_n and b.cod_grupo = f.cod_grupo and b.cod_tipo = f.cod_tipo and
|
||||
b.cod_sec = f.cod_sec) AND
|
||||
(b.cod_n = x4.cod_n and b.cod_grupo = x4.cod_grupo and b.cod_tipo = x4.cod_tipo and
|
||||
b.cod_sec = x4.cod_sec) AND
|
||||
x4.cod_mov in (12,13) AND
|
||||
d.factura = x4.fact_no AND
|
||||
b.cod_tipo = x2.cod_tipo and
|
||||
b.cod_n = x2.cod_n AND
|
||||
p.ano = pano and # p.mes = pmes AND
|
||||
x1.cod_n = b.cod_n AND
|
||||
j.cod_zona = x.cod_zona AND
|
||||
j.cod_provincia = y.cod_provincia AND
|
||||
j.cod_zona = z.cod_zona AND
|
||||
j.cod_provincia = z.cod_provincia AND
|
||||
d.sec_vend = m.num_emp AND
|
||||
X4.fecha between p.fecha_inicio AND p.fecha_corte AND d.factura = f.factura AND
|
||||
d.tipo_cliente = j.tipo_cliente and
|
||||
d.sec_cliente = j.sec_cliente and
|
||||
d.ventas = x3.ventas AND
|
||||
f.status_t IS NULL AND
|
||||
(b.cod_n = f.cod_n and b.cod_grupo = f.cod_grupo and b.cod_tipo = f.cod_tipo and
|
||||
b.cod_sec = f.cod_sec) AND
|
||||
d.status_t IS NULL AND
|
||||
x4.status_t IS NULL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{VERSION RAYOVAC
|
||||
|
||||
SELECT d.factura,d.orden,d.fecha_factura,m.nom1_emp,d.tipo_cliente,d.sec_cliente,j.nombre,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
|
||||
x2.nomenclatura,x1.descripcion,x4.descripcion,e.descripcion,
|
||||
b.descrip_esp,b.unidad_med, x3.descripcion,
|
||||
x.descrip,y.nombre_provincia,c.tipo_negocio,h.descripcion,
|
||||
f.cantidad,f.cantidad*f.precio,'0','0',f.bonificacion*i.cantidad,
|
||||
f.bonificacion*i.cantidad*f.precio,
|
||||
'0','0','0','0','0','0','0','0',(f.cantidad-(i.cantidad*f.bonificacion))*f.precio*f.cantidad_2/100,'0','0','0','0',
|
||||
p.ano,p.mes,'0','0','0','0','0','0','0','0','0','0','0'
|
||||
FROM iptb00022 a,iptb00021 e,intb00001 b,vetb00002 d,vetb00003 f,
|
||||
cctb00012 c,cctb00013 h ,vetb00014 i,vetb00004 j,prdtable p,adtb00003 m,vetb00008 x,vetb00020 y,vetb00009 z,
|
||||
iptb00028 x1,iptb00002 x2,vetb00059 x3,cotb00051 x4
|
||||
WHERE
|
||||
(a.cod_n = f.cod_n and a.cod_grupo = f.cod_grupo and a.cod_tipo = f.cod_tipo and
|
||||
a.cod_sec = f.cod_sec) AND
|
||||
(a.cod_n = i.cod_n and a.cod_grupo = i.cod_grupo and a.cod_tipo = i.cod_tipo and
|
||||
a.cod_sec = i.cod_sec) AND
|
||||
(a.cod_n = x2.cod_n and a.cod_grupo = x2.cod_grupo and a.cod_tipo = x2.cod_tipo and
|
||||
a.cod_sec = x2.cod_sec) AND
|
||||
x2.codigo = x4.codigo AND
|
||||
a.cod_tamano = e.cod_tamano AND
|
||||
a.pcod_grupo = x1.cod_grupo AND
|
||||
p.ano = pano AND d.fecha_factura = TODAY AND
|
||||
j.cod_zona = x.cod_zona AND
|
||||
j.cod_provincia = y.cod_provincia AND
|
||||
j.cod_zona = z.cod_zona AND
|
||||
j.cod_provincia = z.cod_provincia AND
|
||||
d.sec_vend = m.num_emp AND
|
||||
d.fecha_factura between p.fecha_inicio AND p.fecha_corte AND d.factura = f.factura AND
|
||||
d.tipo_cliente = c.tipo_cliente and
|
||||
d.sec_cliente = c.sec_cliente and
|
||||
d.tipo_cliente = j.tipo_cliente and
|
||||
d.sec_cliente = j.sec_cliente and
|
||||
c.tipo_negocio = h.tipo_negocio and
|
||||
d.ventas = x3.ventas AND
|
||||
f.status_t IS NULL AND
|
||||
h.status_t IS NULL AND
|
||||
(b.cod_n = f.cod_n and b.cod_grupo = f.cod_grupo and b.cod_tipo = f.cod_tipo and
|
||||
b.cod_sec = f.cod_sec) AND
|
||||
d.status_t IS NULL AND d.us_crea = f.us_crea and
|
||||
b.status_t is NULL AND f.fech_crea > datetime (2005-09-30 08:00) year to minute
|
||||
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Insertando Devoluciones ... Espere Por Favor" AT 19,14
|
||||
ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
|
||||
INSERT INTO analisis
|
||||
SELECT k.factura,f.fecha,m.nom1_emp,f.tipo_cliente,f.sec_cliente,j.nombre,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
|
||||
x2.nomenclatura,x1.descripcion,x4.descripcion,e.descripcion,
|
||||
b.descrip_esp,b.unidad_med, 'DOMINICANA',
|
||||
x.descrip,y.nombre_provincia,c.tipo_negocio,h.descripcion, '0','0',
|
||||
f.cantidad,f.cantidad*k.precio,'0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',
|
||||
n.ano,n.mes,'0','0','0','0','0','0','0','0','0','0','0'
|
||||
FROM iptb00022 a,iptb00021 e,intb00001 b,iptb00023 f,
|
||||
cctb00012 c,cctb00013 h ,vetb00003 k,vetb00004 j,prdtable n,adtb00003 m,vetb00008 x,vetb00020 y,vetb00009 z,
|
||||
iptb00028 x1,iptb00002 x2,cotb00051 x4
|
||||
WHERE
|
||||
(a.cod_n = f.cod_n and a.cod_grupo = f.cod_grupo and a.cod_tipo = f.cod_tipo and
|
||||
a.cod_sec = f.cod_sec) AND
|
||||
(a.cod_n = x2.cod_n and a.cod_grupo = x2.cod_grupo and a.cod_tipo = x2.cod_tipo and
|
||||
a.cod_sec = x2.cod_sec) AND
|
||||
a.cod_tamano = e.cod_tamano AND
|
||||
a.pcod_grupo = x1.cod_grupo AND
|
||||
x2.codigo = x4.codigo AND
|
||||
f.fecha between n.fecha_inicio AND n.fecha_corte AND
|
||||
n.ano = pano AND f.fecha = TODAY AND
|
||||
f.tipo_cliente = c.tipo_cliente and
|
||||
f.sec_cliente = c.sec_cliente and
|
||||
f.tipo_cliente = j.tipo_cliente and
|
||||
f.sec_cliente = j.sec_cliente and
|
||||
c.tipo_negocio = h.tipo_negocio and
|
||||
f.sec_vend = m.num_emp AND
|
||||
x.cod_zona = j.cod_zona AND
|
||||
y.cod_provincia = j.cod_provincia AND
|
||||
x.cod_zona = z.cod_zona AND
|
||||
y.cod_provincia = z.cod_provincia AND
|
||||
f.status_t IS NULL AND
|
||||
h.status_t IS NULL AND
|
||||
(a.cod_n = k.cod_n and a.cod_grupo = k.cod_grupo and a.cod_tipo = k.cod_tipo and
|
||||
a.cod_sec = k.cod_sec) AND
|
||||
(f.factura = k.factura) and
|
||||
(b.cod_n = f.cod_n and b.cod_grupo = f.cod_grupo and b.cod_tipo = f.cod_tipo and
|
||||
b.cod_sec = f.cod_sec) AND
|
||||
b.status_t is NULL
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
|
||||
DISPLAY "Insertando Ventas EXTERIOR... Espere Por Favor" AT 19,14
|
||||
ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
|
||||
|
||||
# VENTAS EXTERIOR
|
||||
|
||||
INSERT INTO analisis
|
||||
SELECT k.factura,k.fecha_factura,m.nom1_emp,k.tipo_cliente,k.sec_cliente,j.nombre,'0','0','0','0',
|
||||
a.codigo,X1.descripcion,b.descripcion,g.descripcion,a.descripcion,d.unidad_med,'CARIBBEAN',x.descrip,
|
||||
y.nombre_provincia,c.tipo_negocio,
|
||||
h.descripcion,f.cant_emb,f.cant_emb*f.precio, '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',
|
||||
n.ano,n.mes,'0','0','0','0','0','0','0','0','0','0','0'
|
||||
FROM cotb00052 a,cotb00051 b,cotb00073 d,cotb00056 f,cotb00057 k,
|
||||
cctb00012 c,cctb00013 h, iptb00002 p,vetb00004 j,prdtable n,adtb00003 m,vetb00008 x,vetb00020 y,vetb00009 z,
|
||||
iptb00022 e, iptb00021 g,IPTB00028 X1
|
||||
WHERE
|
||||
a.codigo = f.codigo and f.factura = k.factura AND
|
||||
a.tipo = b.codigo AND k.num_emp = m.num_emp AND
|
||||
k.fecha_factura between n.fecha_inicio AND n.fecha_corte AND
|
||||
n.ano = pano AND k.fecha_factura = TODAY AND
|
||||
f.codigo = p.nomenclatura AND
|
||||
a.codigo = p.nomenclatura AND
|
||||
d.codigo = p.nomenclatura AND
|
||||
p.cod_n = e.cod_n AND
|
||||
p.cod_grupo = e.cod_grupo AND
|
||||
p.cod_tipo = e.cod_tipo AND
|
||||
p.cod_sec = e.cod_sec AND
|
||||
e.cod_tamano = g.cod_tamano AND
|
||||
e.pcod_grupo = x1.cod_grupo AND
|
||||
x.cod_zona = j.cod_zona AND
|
||||
y.cod_provincia = j.cod_provincia AND
|
||||
x.cod_zona = z.cod_zona AND x.cod_zona !=100 AND
|
||||
y.cod_provincia = z.cod_provincia AND
|
||||
k.tipo_cliente = c.tipo_cliente and
|
||||
k.sec_cliente = c.sec_cliente and
|
||||
k.tipo_cliente = j.tipo_cliente and
|
||||
k.sec_cliente = j.sec_cliente and
|
||||
c.tipo_negocio = h.tipo_negocio and
|
||||
f.status_t IS NULL AND
|
||||
h.status_t IS NULL
|
||||
|
||||
# VENTAS HAITI
|
||||
|
||||
|
||||
INSERT INTO analisis
|
||||
SELECT k.factura,k.fecha_factura,m.nom1_emp,k.tipo_cliente,k.sec_cliente,j.nombre,'0','0','0','0',
|
||||
a.codigo,X1.descripcion,b.descripcion,g.descripcion,a.descripcion,d.unidad_med,'HAITI',x.descrip,
|
||||
y.nombre_provincia,c.tipo_negocio,
|
||||
h.descripcion,f.cant_emb,f.cant_emb*f.precio, '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',
|
||||
n.ano,n.mes,'0','0','0','0','0','0','0','0','0','0','0'
|
||||
FROM cotb00052 a,cotb00051 b,cotb00073 d,cotb00056 f,cotb00057 k,
|
||||
cctb00012 c,cctb00013 h, iptb00002 p,vetb00004 j,prdtable n,adtb00003 m,vetb00008 x,vetb00020 y,vetb00009 z,
|
||||
iptb00022 e, iptb00021 g,IPTB00028 X1
|
||||
WHERE
|
||||
a.codigo = f.codigo and f.factura = k.factura AND
|
||||
a.tipo = b.codigo AND k.num_emp = m.num_emp AND
|
||||
k.fecha_factura between n.fecha_inicio AND n.fecha_corte AND
|
||||
n.ano = pano AND k.fecha_factura = TODAY AND
|
||||
f.codigo = p.nomenclatura AND
|
||||
a.codigo = p.nomenclatura AND
|
||||
d.codigo = p.nomenclatura AND
|
||||
p.cod_n = e.cod_n AND
|
||||
p.cod_grupo = e.cod_grupo AND
|
||||
p.cod_tipo = e.cod_tipo AND
|
||||
p.cod_sec = e.cod_sec AND
|
||||
e.cod_tamano = g.cod_tamano AND
|
||||
e.pcod_grupo = x1.cod_grupo AND
|
||||
x.cod_zona = j.cod_zona AND
|
||||
y.cod_provincia = j.cod_provincia AND
|
||||
x.cod_zona = z.cod_zona AND x.cod_zona = 100 AND # PARA IDENTIFICAR HAITI
|
||||
y.cod_provincia = z.cod_provincia AND
|
||||
k.tipo_cliente = c.tipo_cliente and
|
||||
k.sec_cliente = c.sec_cliente and
|
||||
k.tipo_cliente = j.tipo_cliente and
|
||||
k.sec_cliente = j.sec_cliente and
|
||||
c.tipo_negocio = h.tipo_negocio and
|
||||
f.status_t IS NULL AND
|
||||
h.status_t IS NULL
|
||||
|
||||
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
}
|
||||
# BUSCA EL MONTO DEL TP GLOBAL
|
||||
|
||||
DISPLAY "Buscando informacion para costo ... Espere Por Favor" AT 19,14
|
||||
ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
|
||||
LET seleccion =
|
||||
# "SELECT a.*,a.rowid FROM analisis a WHERE a.ano = ? AND a.mes = ? "
|
||||
"SELECT a.*,a.rowid FROM analisis a WHERE a.ano = ? "
|
||||
|
||||
PREPARE comando FROM seleccion
|
||||
DECLARE accion SCROLL CURSOR FOR comando
|
||||
OPEN accion USING pano
|
||||
# OPEN accion USING pano,pmes
|
||||
|
||||
LET cnt = 9
|
||||
LET mesant = 0
|
||||
FOREACH accion INTO producto.*,pidentifica
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
LET codigo = producto.cod_n USING "&","-",
|
||||
producto.cod_grupo using "&","-",
|
||||
producto.cod_tipo using "&&","-",
|
||||
producto.cod_sec using "&&&"
|
||||
|
||||
# BUSCA COSTO REAL
|
||||
LET producto.costo_real = 0
|
||||
LET fecha_lq1 = NULL
|
||||
SELECT MAX(fecha_lq) INTO fecha_lq1
|
||||
FROM cttb00013 a,prdtable b
|
||||
WHERE a.cod_n = producto.cod_n AND
|
||||
a.cod_grupo = producto.cod_grupo AND
|
||||
a.cod_tipo = producto.cod_tipo AND
|
||||
a.cod_sec = producto.cod_sec AND
|
||||
b.ano = pano AND
|
||||
b.mes = producto.mes AND
|
||||
a.tipo_lq != "T" AND
|
||||
a.fecha_lq <= b.fecha_corte
|
||||
|
||||
|
||||
SELECT AVG(a.costo_lq) INTO producto.costo_real
|
||||
FROM cttb00013 a
|
||||
WHERE a.cod_n = producto.cod_n AND
|
||||
a.cod_grupo = producto.cod_grupo AND
|
||||
a.cod_tipo = producto.cod_tipo AND
|
||||
a.cod_sec = producto.cod_sec AND
|
||||
a.tipo_lq != "T" AND
|
||||
a.fecha_lq = fecha_lq1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# COSTO STANDARD
|
||||
#-------------------------------------------------------------------------------------------
|
||||
IF producto.ventas = "LOCAL RD$" THEN
|
||||
LET producto.costo_std = 0
|
||||
SELECT AVG(a.material+a.labor+a.gastos) INTO producto.costo_std
|
||||
FROM iptb00004 a
|
||||
WHERE a.mes_fin = 12 AND
|
||||
a.cod_n = producto.cod_n AND
|
||||
a.cod_grupo = producto.cod_grupo AND
|
||||
a.cod_tipo = producto.cod_tipo AND
|
||||
a.cod_sec = producto.cod_sec AND
|
||||
a.ventas = 1 AND
|
||||
a.ano = pano AND a.status_t is null
|
||||
END IF
|
||||
|
||||
IF producto.ventas = "LOCAL USD$" THEN
|
||||
LET producto.costo_std = 0
|
||||
SELECT AVG(a.material+a.labor+a.gastos) INTO producto.costo_std
|
||||
FROM iptb00004 a
|
||||
WHERE a.mes_fin = 12 AND
|
||||
a.cod_n = producto.cod_n AND
|
||||
a.cod_grupo = producto.cod_grupo AND
|
||||
a.cod_tipo = producto.cod_tipo AND
|
||||
a.cod_sec = producto.cod_sec AND
|
||||
a.ventas = 3 AND
|
||||
a.ano = pano AND a.status_t is null
|
||||
END IF
|
||||
|
||||
IF producto.ventas = "EXTERIOR USD$" THEN
|
||||
LET producto.costo_std = 0
|
||||
SELECT AVG(a.material+a.labor+a.gastos) INTO producto.costo_std
|
||||
FROM iptb00004 a
|
||||
WHERE a.mes_fin = 12 AND
|
||||
a.cod_n = producto.cod_n AND
|
||||
a.cod_grupo = producto.cod_grupo AND
|
||||
a.cod_tipo = producto.cod_tipo AND
|
||||
a.cod_sec = producto.cod_sec AND
|
||||
a.ventas = 2 AND
|
||||
a.ano = pano AND a.status_t is null
|
||||
END IF
|
||||
|
||||
IF producto.costo_std IS NULL THEN
|
||||
LET producto.costo_std = 0
|
||||
END IF
|
||||
|
||||
# BUSCA TRANSFER PRICE
|
||||
|
||||
IF producto.costo_real is null THEN
|
||||
LET producto.costo_real = 0
|
||||
END IF
|
||||
|
||||
LET producto.ventas_netas = producto.valor_bruto - producto.valor_devuelto - producto.valor_bonfica - producto.descuento
|
||||
display "VENTAS ",producto.valor_bruto," Dev ",producto.valor_devuelto," Boni ",producto.valor_bonfica," Des ",producto.descuento
|
||||
IF producto.cod_cia = 1 THEN
|
||||
LET producto.origen_producto = "LOCAL"
|
||||
ELSE
|
||||
LET producto.origen_producto = "EXPORTACION"
|
||||
END IF
|
||||
UPDATE analisis set analisis.costo_real = producto.costo_real,
|
||||
analisis.costo_unid_b = producto.costo_real*producto.unidades_brutas,
|
||||
analisis.costo_std = producto.costo_std,
|
||||
analisis.costo_std_b = producto.costo_std*producto.unidades_brutas,
|
||||
analisis.costo_std_n = producto.costo_std*producto.unidades_brutas,
|
||||
analisis.ventas_netas = producto.ventas_netas - producto.descuento
|
||||
WHERE rowid = pidentifica
|
||||
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
Reference in New Issue
Block a user