Files
MBS/WEBSERVICES/productos/testcliente.4gl
T

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