91 lines
2.5 KiB
Plaintext
91 lines
2.5 KiB
Plaintext
IMPORT util
|
|
|
|
TYPE t_sync_cmd RECORD
|
|
oper STRING,
|
|
data STRING
|
|
END RECORD
|
|
MAIN
|
|
|
|
CALL productos_download('https://ws.marmotech.com.do/gas/ws/r/restserver','PRODUCTOS TERMINADOS','jsoto','lmmjvsd2014')
|
|
END MAIN
|
|
FUNCTION productos_download(url,xtipo_inventario,xusuario,xclave)
|
|
DEFINE url,cmd,res,msg STRING,
|
|
xusuario,xclave VARCHAR(50),
|
|
ret INT,
|
|
xtipo_inventario VARCHAR(100),
|
|
i SMALLINT
|
|
DEFINE p RECORD
|
|
credenciales RECORD
|
|
usuario,clave,tipo_inventario VARCHAR(50),
|
|
codn INT
|
|
END RECORD,
|
|
productos DYNAMIC ARRAY OF RECORD
|
|
codid INT,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
descripcion VARCHAR(100),
|
|
unidad_med VARCHAR(4),
|
|
factor_conv FLOAT,
|
|
despiece STRING,
|
|
existencia DEC(12,5),
|
|
consumo DEC(12,5),
|
|
costo DEC(12,5),
|
|
precio DEC(12,2),
|
|
ordenes DEC(12,5),
|
|
despachado DEC(12,5),
|
|
reservada DEC(12,5),
|
|
disponible DEC(12,5),
|
|
transito DEC(12,5),
|
|
dias SMALLINT,
|
|
fecha CHAR(10),
|
|
fecha_conteo CHAR(10)
|
|
|
|
END RECORD ,
|
|
existencia DYNAMIC ARRAY OF RECORD
|
|
codid INT,
|
|
bodega SMALLINT,
|
|
descripcion_bodega VARCHAR(100),
|
|
cantidad FLOAT,
|
|
fecha DATE
|
|
END RECORD,
|
|
mensajes RECORD
|
|
cod_msg INT,
|
|
descripcion STRING
|
|
END RECORD
|
|
END RECORD,
|
|
r_foto DYNAMIC ARRAY OF RECORD
|
|
foto STRING
|
|
|
|
END RECORD
|
|
|
|
DEFINE r_cmd t_sync_cmd
|
|
LET p.credenciales.usuario=xusuario
|
|
LET p.credenciales.clave = xclave
|
|
LET p.credenciales.codn=30
|
|
LET r_cmd.data = util.JSON.stringify(p)
|
|
IF xtipo_inventario = "PRODUCTOS TERMINADOS" THEN
|
|
LET p.credenciales.tipo_inventario = 'productos'
|
|
END IF
|
|
LET r_cmd.oper='productos'
|
|
LET r_cmd.data = util.JSON.stringify(p)
|
|
LET cmd = util.JSON.stringify(r_cmd)
|
|
|
|
CALL sync_send_command(url, cmd) RETURNING ret, res
|
|
IF ret == 0 THEN
|
|
CALL util.JSON.parse(res,p)
|
|
FOR i=1 TO p.productos.getLength()
|
|
|
|
# DISPLAY "data ",i USING "&&&&&"," ",p.productos[i].codid USING "<<<<<<"," ",p.productos[i].descripcion,
|
|
# " despiece ",P.productos[I].despiece
|
|
END FOR
|
|
ELSE
|
|
LET msg=SFMT(%"Connection '%1' failed",r_cmd.oper),"\n",url,"\n",res
|
|
CALL show_sync_err(msg)
|
|
RETURN
|
|
END IF
|
|
DISPLAY "info ",res
|
|
|
|
END FUNCTION
|