57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
IMPORT util
|
|
|
|
TYPE t_sync_cmd RECORD
|
|
oper STRING,
|
|
data STRING
|
|
END RECORD
|
|
|
|
FUNCTION filas_download(url,xusuario,xclave)
|
|
DEFINE url,cmd,res,msg STRING,
|
|
ret INT,
|
|
i SMALLINT,
|
|
xusuario,xclave VARCHAR(50),
|
|
p RECORD
|
|
credenciales RECORD
|
|
usuario,clave VARCHAR(50)
|
|
END RECORD,
|
|
pfilas DYNAMIC ARRAY OF RECORD
|
|
cod_bodega SMALLINT,
|
|
cod_seccion SMALLINT,
|
|
cod_tramo SMALLINT,
|
|
cod_fila INT,
|
|
descripcion VARCHAR(60)
|
|
END RECORD,
|
|
mensajes RECORD
|
|
cod_msg INT,
|
|
descripcion STRING
|
|
END RECORD
|
|
END RECORD
|
|
|
|
DEFINE r_cmd t_sync_cmd
|
|
LET p.credenciales.usuario=xusuario
|
|
LET p.credenciales.clave = xclave
|
|
LET r_cmd.data = util.JSON.stringify(p)
|
|
LET r_cmd.oper='ip_filas'
|
|
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)
|
|
ELSE
|
|
LET msg=SFMT(%"Connection '%1' failed",r_cmd.oper),"\n",url,"\n",res
|
|
CALL show_sync_err(msg)
|
|
RETURN
|
|
END IF
|
|
BEGIN WORK
|
|
DELETE FROM filas
|
|
FOR i = 1 TO p.pfilas.getLength()
|
|
IF p.pfilas[i].cod_fila IS NOT NULL then
|
|
INSERT INTO filas(cod_bodega,cod_seccion,cod_tramo,cod_fila,descripcion)
|
|
VALUES (p.pfilas[i].cod_bodega,p.pfilas[i].cod_seccion,p.pfilas[i].cod_tramo,
|
|
p.pfilas[i].cod_fila,p.pfilas[i].descripcion)
|
|
END IF
|
|
END FOR
|
|
COMMIT WORK
|
|
|
|
END FUNCTION
|