184 lines
5.4 KiB
Plaintext
184 lines
5.4 KiB
Plaintext
IMPORT util
|
|
|
|
FUNCTION parametros_generales()
|
|
|
|
DEFINE i INT
|
|
DEFINE p RECORD
|
|
|
|
|
|
Clase_productos DYNAMIC ARRAY OF RECORD
|
|
cod_n SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD,
|
|
grupo_productos DYNAMIC ARRAY OF RECORD
|
|
cod_grupo SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD,
|
|
tipo_productos DYNAMIC ARRAY OF RECORD
|
|
cod_tipo SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD,
|
|
medida_productos DYNAMIC ARRAY OF RECORD
|
|
cod_sec SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD,
|
|
|
|
precios DYNAMIC ARRAY OF RECORD
|
|
cod_lista SMALLINT,
|
|
ventas SMALLINT,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
precio DEC(12,2)
|
|
END RECORD,
|
|
parametros DYNAMIC ARRAY OF RECORD
|
|
prima_us DEC(12,2),
|
|
itbis DEC(12,2),
|
|
porc_desc DEC(12,2)
|
|
END RECORD,
|
|
|
|
condiciones DYNAMIC ARRAY OF RECORD
|
|
cond_pago SMALLINT,
|
|
descripcion VARCHAR(30),
|
|
dias SMALLINT ,
|
|
defecto VARCHAR(2)
|
|
|
|
END RECORD,
|
|
ventas DYNAMIC ARRAY OF RECORD
|
|
ventas SMALLINT,
|
|
descripcion VARCHAR(50),
|
|
defecto VARCHAR(2)
|
|
END RECORD,
|
|
monedas DYNAMIC ARRAY OF RECORD
|
|
tipo_cliente SMALLINT,
|
|
ventas CHAR(1)
|
|
|
|
END RECORD,
|
|
areas DYNAMIC ARRAY OF RECORD
|
|
area_num SMALLINT,
|
|
nombre_area CHAR(30)
|
|
END RECORD
|
|
END RECORD
|
|
DEFINE moneda RECORD
|
|
tipo_cliente SMALLINT,
|
|
ventas CHAR(1)
|
|
END RECORD
|
|
|
|
DEFINE clase_producto RECORD
|
|
cod_n SMALLINT,
|
|
descripcin VARCHAR(60)
|
|
END RECORD
|
|
|
|
DEFINE grupo_producto RECORD
|
|
cod_grupo SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD
|
|
|
|
DEFINE tipo_producto RECORD
|
|
cod_tipo SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD
|
|
|
|
DEFINE medida_producto RECORD
|
|
cod_sec SMALLINT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD
|
|
DEFINE precio RECORD
|
|
cod_lista SMALLINT,
|
|
ventas SMALLINT,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
precio DEC(12,2)
|
|
END RECORD
|
|
DEFINE venta RECORD
|
|
ventas SMALLINT,
|
|
descripcion VARCHAR(50),
|
|
defecto VARCHAR(2)
|
|
END RECORD
|
|
|
|
DEFINE condicion RECORD
|
|
cond_pago SMALLINT,
|
|
descripcion VARCHAR(30),
|
|
dias SMALLINT ,
|
|
defecto VARCHAR(2)
|
|
END RECORD,
|
|
area RECORD
|
|
area_num SMALLINT,
|
|
nombre_area CHAR(30)
|
|
END RECORD,
|
|
parametro RECORD
|
|
prima,itbis,porciento DEC(12,2)
|
|
END RECORD
|
|
|
|
DECLARE u2 CURSOR FOR SELECT a.cod_n,a.producto
|
|
INTO clase_producto.* FROM iptb00020 a
|
|
LET i=0 FOREACH u2 LET i=i+1 LET p.clase_productos[i].*=clase_producto.*
|
|
|
|
END FOREACH; FREE u2
|
|
DECLARE u3 CURSOR FOR SELECT a.cod_grupo,a.descripcion
|
|
INTO grupo_producto.* FROM iptb00029 a
|
|
LET i=0 FOREACH u3 LET i=i+1 LET p.grupo_productos[i].*=grupo_producto.*
|
|
|
|
END FOREACH; FREE u3
|
|
DECLARE u31 CURSOR FOR SELECT a.cod_tipo,a.descripcion
|
|
INTO tipo_producto.* FROM iptb00024 a
|
|
LET i=0 FOREACH u31 LET i=i+1 LET p.tipo_productos[i].*=tipo_producto.*
|
|
|
|
END FOREACH; FREE u31
|
|
DECLARE u21 CURSOR FOR SELECT a.cod_sec,a.descripcion
|
|
INTO medida_producto.* FROM iptb00030 a
|
|
LET i=0 FOREACH u21 LET i=i+1 LET p.medida_productos[i].*=medida_producto.*
|
|
|
|
END FOREACH; FREE u21
|
|
|
|
|
|
DECLARE u23 CURSOR FOR SELECT a.cod_lista,a.ventas,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,a.precio
|
|
|
|
INTO precio.* FROM vetb00025 a WHERE a.status_t IS NULL
|
|
LET i=0 FOREACH u23 LET i=i+1 LET p.precios[i].*=precio.*
|
|
|
|
END FOREACH; FREE u23
|
|
|
|
DECLARE u24 CURSOR FOR SELECT a.prima,a.itbi,a.porciento
|
|
|
|
INTO parametro.* FROM vetb00019 a WHERE a.disponible = 'S'
|
|
LET i=0 FOREACH u24 LET i=i+1 LET p.parametros[i].*=parametro.*
|
|
|
|
END FOREACH; FREE u24
|
|
|
|
|
|
DECLARE u25 CURSOR FOR SELECT a.cond_pago,a.descrip,a.dias,a.defecto
|
|
|
|
INTO condicion.* FROM vetb00012 a WHERE a.status_t IS null
|
|
LET i=0 FOREACH u25 LET i=i+1 LET p.condiciones[i].*=condicion.*
|
|
|
|
END FOREACH; FREE u25
|
|
|
|
DECLARE u26 CURSOR FOR SELECT a.ventas,a.descripcion,a.defecto
|
|
|
|
INTO venta.* FROM vetb00061 a
|
|
LET i=0 FOREACH u26 LET i=i+1 LET p.ventas[i].*=venta.*
|
|
|
|
END FOREACH; FREE u26
|
|
|
|
|
|
DECLARE u28 CURSOR FOR SELECT a.tipo_cliente,a.ventas
|
|
|
|
INTO moneda.* FROM vetb00060 a
|
|
LET i=0 FOREACH u28 LET i=i+1 LET p.monedas[i].*=moneda.*
|
|
|
|
END FOREACH; FREE u28
|
|
|
|
DECLARE u29 CURSOR FOR SELECT a.area_num,a.nombre_area
|
|
|
|
INTO area.* FROM prtb00016 a WHERE a.status_t IS NULL
|
|
LET i=0 FOREACH u29 LET i=i+1 LET p.areas[i].*=area.*
|
|
|
|
END FOREACH; FREE u29
|
|
|
|
RETURN util.JSON.stringify(p)
|
|
END FUNCTION
|