Files
MBS/WEBSERVICES/test/productoonline.4gl
T

82 lines
2.4 KiB
Plaintext

SCHEMA mbs
MAIN
CONNECT TO "smarmotech" USER 'jsoto' USING 'lmmjvsd2014'
CALL actproducto()
END MAIN
FUNCTION actproducto()
DEFINE producto RECORD LIKE iptb00002.*,
pfactor,cantidad_orden,pcantidadConduce,transito,existencia,reservado,pexistencia DEC(12,5),
pprecio,ppreciord,ptasa DEC(12,2),
pfecha DATE
DECLARE buscar CURSOR FOR
SELECT a.*,b.factor_conv,c.precio FROM iptb00002 a,iptb00001 b,vetb00025 c
WHERE a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec
AND a.status_t IS NULL AND
a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec
AND c.ventas = 3
AND
a.codid NOT IN (SELECT codid FROM iptb00016)
LET pfecha = TODAY
LET ptasa = 0
SELECT prima INTO ptasa FROM vetb00019 WHERE disponible = 'S'
LOCATE producto.imagen IN MEMORY
FOREACH buscar INTO producto.*,pfactor,pprecio
CALL disponibles(producto.cod_n,producto.cod_grupo,producto.cod_tipo,producto.cod_sec,pfecha)
RETURNING cantidad_orden,pcantidadConduce,transito,existencia,reservado
LET pexistencia = 0
LET pexistencia = existencia - (cantidad_orden-pcantidadConduce)-reservado
IF pexistencia> 3 THEN
LET ppreciord = pprecio * ptasa
INSERT INTO iptb00016
(codid
,cod_n
,cod_grupo
,cod_tipo
,cod_sec
,descripcion
,unidad_med
,precio
,fech_crea
,fech_mod
,us_crea
,us_mod
,existencia_minima
,precio_usd
,descripcion_user
,tasa
,factor_conv
)
VALUES
(producto.codid
,producto.cod_n
,producto.cod_grupo
,producto.cod_tipo
,producto.cod_sec
,producto.descrip_esp
,producto.unidad_med
,ppreciord
,GETDATE()
,GETDATE()
,'JSOTO'
,'JSOTO'
,pexistencia
,pprecio
,producto.descrip_esp
,ptasa
,pfactor
)
DISPLAY "INSERTE: ",producto.descrip_esp," CODID ",producto.codid," EXISTENCIA ",pexistencia
END IF
END FOREACH
END FUNCTION