76 lines
2.9 KiB
Plaintext
76 lines
2.9 KiB
Plaintext
IMPORT util
|
|
|
|
MAIN
|
|
|
|
DEFINE jstr STRING
|
|
|
|
DISPLAY "Testing the server from a Genero client ..."
|
|
|
|
-- esta le da error, y para mi es correcto que de error ya que la estructura del record destino es distinta
|
|
LET jstr='{"oper":"respuesta","data":{"usuario":"conecta","clave":"conecta","respuesta":{"num_emp":4489,"nombre":"ADRIAN ANDERSON MENDEZ GONZALEZ","id_pregunta":"ENC001","departamento":"CANTERA VICENTE NOBLE","respuesta":"10","pregunta":"CUAN SATISFECHO USTED SE SIENTE CON EL NIVEL DE SERVICIO DE SU SUPLIDOR INTERNO?"}}}'
|
|
CALL propose_type(jstr)
|
|
|
|
-- este no da error pero al armar el string desde Genero manualmente, hay que poner el doble backslash
|
|
LET jstr='{"oper":"respuesta","data":"{\\"credenciales\\":{\\"usuario\\":\\"conecta\\",\\"clave\\":\\"conecta\\"},\\"repuesta\\":{\\"num_emp\\":3355,\\"cedula\\":\\"00104581939\\",\\"nombre\\":\\"JUAN FRANCISCO SOTO CONCEPCION\\",\\"id_pregunta\\":\\"ENC001\\",\\"pregunta\\":\\"CUAN SATISFECHO USTED SE SIENTE CON EL NIVEL DE SERVICIO DE SU SUPLIDOR INTERNO?\\",\\"repuesta\\":\\"1\\",\\"departamento\\":\\"TECNOLOGIA\\"},\\"mensajes\\":{\\"cod_msg\\":0}}"}'
|
|
CALL propose_type(jstr)
|
|
|
|
-- este obviamente no da error ya que arma el string desde los records
|
|
CALL arma_jstr() RETURNING jstr
|
|
CALL propose_type(jstr)
|
|
|
|
END MAIN
|
|
|
|
FUNCTION propose_type(str_in)
|
|
DEFINE str_in STRING
|
|
DISPLAY "JSON String for the Request: \n", str_in
|
|
DISPLAY "Proposed type: \n",util.JSON.proposeType(str_in)
|
|
END FUNCTION
|
|
|
|
FUNCTION arma_jstr()
|
|
|
|
DEFINE jstr STRING
|
|
TYPE t_sync_cmd RECORD -- el formato que espera recibir el server
|
|
oper STRING,
|
|
data STRING
|
|
END RECORD
|
|
DEFINE r_cmd t_sync_cmd
|
|
DEFINE p RECORD
|
|
credenciales RECORD
|
|
usuario,clave VARCHAR(50)
|
|
END RECORD,
|
|
repuesta RECORD
|
|
num_emp INT,
|
|
cedula,
|
|
nombre,
|
|
id_pregunta,pregunta,repuesta,departamento STRING
|
|
END RECORD,
|
|
mensajes RECORD
|
|
cod_msg INT,
|
|
descripcion STRING
|
|
END RECORD
|
|
END RECORD
|
|
|
|
-- arma el record que va a ir a "data"
|
|
LET p.credenciales.usuario="conecta"
|
|
LET p.credenciales.clave="conecta"
|
|
|
|
LET p.repuesta.num_emp="3355"
|
|
LET p.repuesta.cedula="00104581939"
|
|
LET p.repuesta.nombre="JUAN FRANCISCO SOTO CONCEPCION"
|
|
LET p.repuesta.id_pregunta="ENC001"
|
|
LET p.repuesta.pregunta="CUAN SATISFECHO USTED SE SIENTE CON EL NIVEL DE SERVICIO DE SU SUPLIDOR INTERNO?"
|
|
LET p.repuesta.departamento="TECNOLOGIA"
|
|
LET p.repuesta.repuesta="1"
|
|
|
|
LET p.mensajes.cod_msg=0
|
|
|
|
-- arma el record del request
|
|
LET r_cmd.oper="respuesta"
|
|
LET r_cmd.data=util.JSON.stringify(p)
|
|
|
|
CALL util.JSON.stringify(r_cmd) RETURNING jstr
|
|
|
|
RETURN jstr
|
|
|
|
END FUNCTION
|