Files
MBS/WEBSERVICES/parametros_generales.4gl
T

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