171 lines
5.3 KiB
Plaintext
171 lines
5.3 KiB
Plaintext
IMPORT com
|
|
IMPORT util
|
|
|
|
TYPE t_sync_cmd RECORD
|
|
oper STRING,
|
|
data STRING
|
|
END RECORD
|
|
|
|
|
|
DEFINE url STRING
|
|
MAIN
|
|
|
|
|
|
|
|
CALL testcliente()
|
|
|
|
END MAIN
|
|
FUNCTION testcliente()
|
|
DEFINE s,xrnc STRING,
|
|
r_cmd t_sync_cmd
|
|
|
|
DEFINE p RECORD
|
|
data RECORD
|
|
tipo_cliente SMALLINT,
|
|
sec_cliente INT,
|
|
nombre varchar(100) ,
|
|
codigo VARCHAR(10),
|
|
cod_zona SMALLINT ,
|
|
cod_provincia SMALLINT,
|
|
telefono char(25),
|
|
fax char(25),
|
|
telex char(25),
|
|
patente varchar(80),
|
|
limite_credito dec(10, 2),
|
|
tipo_documento char(10),
|
|
num_rnc char(25) ,
|
|
contactoPrincipal char(80),
|
|
Puesto_laboral varchar(50),
|
|
telefono_casa varchar(25),
|
|
tipo_negocio SMALLINT,
|
|
cond_pago SMALLINT,
|
|
id_ciudad SMALLINT ,
|
|
url VARCHAR(100),
|
|
casa_num VARCHAR(50),
|
|
direccion VARCHAR(100),
|
|
sector VARCHAR(100),
|
|
urbanizacion VARCHAR(100),
|
|
usuario VARCHAR(50),
|
|
clave VARCHAR(50),
|
|
id_crm VARCHAR(200),
|
|
sec_vend INT
|
|
END RECORD,
|
|
contactos DYNAMIC ARRAY OF RECORD
|
|
contacto VARCHAR(60),
|
|
tipo_negocio_contacto INT,
|
|
puesto VARCHAR(60),
|
|
puesto1 VARCHAR(60),
|
|
email VARCHAR(60),
|
|
celular VARCHAR(20),
|
|
telefono_of VARCHAR(20),
|
|
telefono_casa VARCHAR(20)
|
|
END RECORD,
|
|
vendedor_aux DYNAMIC ARRAY OF RECORD
|
|
sec_vend_aux INT,
|
|
nombre_vend_aux VARCHAR(100)
|
|
END RECORD
|
|
END RECORD,
|
|
ret INTEGER,
|
|
res STRING
|
|
LET url = "http://192.168.40.9/gas/ws/r/restserver"
|
|
LET p.data.tipo_cliente=21
|
|
|
|
LET p.data.sec_cliente=0
|
|
LET p.data.nombre ='CLIENTE DE PRUEBA X11'
|
|
LET P.data.codigo = 'DO'
|
|
LET p.data.cod_zona =1
|
|
LET p.data.cod_provincia =1
|
|
LET p.data.telefono ='829-847-3878'
|
|
LET p.data.fax ='809-528-0650'
|
|
LET p.data.telex ='809-227-1322'
|
|
LET p.data.patente ='patente'
|
|
LET p.data.limite_credito = 1000000
|
|
LET p.data.tipo_documento = '01'
|
|
LET p.data.num_rnc ='130337391'
|
|
LET p.data.contactoPrincipal ='JHONNY SOTO'
|
|
LET p.data.Puesto_laboral = 'GERENTE TECNOLOGIA'
|
|
LET p.data.telefono_casa = '809-620-2924'
|
|
LET p.data.tipo_negocio = 01
|
|
LET p.data.cond_pago = 4
|
|
LET p.data.id_ciudad = 1000
|
|
LET p.data.url = 'http://nace.com'
|
|
LET p.data.casa_num = '# 01'
|
|
LET p.data.direccion = 'CALLE PRIMERA, RES. SOL CRECIENTE'
|
|
LET p.data.sector = 'ARROYO HONDO II'
|
|
LET p.data.urbanizacion = 'SOL CRECIENTE'
|
|
LET p.data.usuario = 'jusoto'
|
|
LET p.data.clave = 'lmmjvsd2014'
|
|
LET p.data.id_crm = 'string id cuenta en crm'
|
|
LET p.data.sec_vend = 3355
|
|
|
|
LET p.contactos[1].contacto = 'ALBERTO SOTO'
|
|
LET p.contactos[1].celular = '809-555-5555'
|
|
LET p.contactos[1].email = 'albereto@hotmail.com'
|
|
LET p.contactos[1].puesto = 'CONTADOR'
|
|
LET p.contactos[1].telefono_casa = '829-555-5555'
|
|
LET p.contactos[1].telefono_of = '849-555-5555'
|
|
LET p.contactos[1].tipo_negocio_contacto = 1
|
|
|
|
LET p.contactos[2].contacto = 'NATALIE ACEVEDO'
|
|
LET p.contactos[2].celular = '809-666-6666'
|
|
LET p.contactos[2].email = 'na@hotmail.com'
|
|
LET p.contactos[2].puesto = 'PINTORA'
|
|
LET p.contactos[2].telefono_casa = '829-666-6666'
|
|
LET p.contactos[2].telefono_of = '849-777-7777'
|
|
LET p.contactos[2].tipo_negocio_contacto = 2
|
|
|
|
LET p.vendedor_aux[1].nombre_vend_aux='VENDEDOR PRUEBA 1'
|
|
LET p.vendedor_aux[1].sec_vend_aux=1
|
|
|
|
LET p.vendedor_aux[2].nombre_vend_aux='VENDEDOR AUX PRUEBA 2'
|
|
LET p.vendedor_aux[2].sec_vend_aux=2
|
|
|
|
LET r_cmd.oper = 'clientes_insert'
|
|
LET r_cmd.data = util.JSON.stringify(p)
|
|
LET s = util.JSON.stringify(r_cmd)
|
|
|
|
DISPLAY "s-",s
|
|
CALL sync_send_command(url, s) RETURNING ret, res
|
|
DISPLAY "DATOS ",res
|
|
END FUNCTION
|
|
|
|
FUNCTION sync_send_command(url, cmd)
|
|
|
|
DEFINE url, cmd STRING
|
|
DEFINE result, tmp STRING
|
|
DEFINE http_req com.HTTPRequest
|
|
DEFINE http_resp com.HTTPResponse
|
|
|
|
|
|
TRY
|
|
LET http_req = com.HTTPRequest.Create(url)
|
|
CALL http_req.setConnectionTimeout(40)
|
|
CALL http_req.setTimeout(40)
|
|
CALL http_req.setMethod("POST")
|
|
CALL http_req.setCharset("UTF-8")
|
|
CALL http_req.setHeader("DBSync-Client","mbs")
|
|
CALL http_req.setHeader("Content-Type","dbsync/json")
|
|
|
|
CALL http_req.doTextRequest(cmd)
|
|
LET http_resp=http_req.getResponse()
|
|
IF http_resp.getStatusCode() != 200 THEN
|
|
RETURN http_resp.getStatusCode(), http_resp.getStatusDescription()
|
|
END IF
|
|
LET tmp = http_resp.getStatusDescription()
|
|
IF (tmp == "OK" || tmp == "no error" ) THEN
|
|
RETURN -1, SFMT("HTTP request status description: %1 ",tmp)
|
|
END IF
|
|
LET result = http_resp.getTextResponse()
|
|
CATCH
|
|
RETURN -2, SFMT("HTTP request error: STATUS=%1 (%2)",STATUS,SQLCA.SQLERRM)
|
|
END TRY
|
|
|
|
RETURN 0, result
|
|
|
|
END FUNCTION
|
|
|
|
FUNCTION show_sync_err(msg)
|
|
DEFINE msg STRING
|
|
CALL fgl_winmessage(%"ERROR", msg, "exclamation")
|
|
END FUNCTION
|