Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Fujitsu COBOL > PowerCOBOL (ActiveX)
PowerCOBOL (ActiveX) Versiones del IDE basadas en ActiveX
Noticias y Avisos
Respuesta
 
Herramientas

  #1
Antiguo 7 de diciembre de 2017, 18:44
IDENTIFICATION DIVISION
Fito
Novato Senior
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónCórdoba, Villa María
Edad48 años
Última Actividad20.03.2019 16:10
PROCEDURE DIVISION
PostsPosts: 171
Ha dicho GraciasEnviado: 66
Ha recibido agradecimientosRecibido: 51
ReputaciónReputación: 9
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Tableta JSON en Cobol...

Hola Amigos:

Un cliente contrató un servicio web y para enviar y recibir datos (articulos, clientes, pedidos), tengo que utilizar una API que tienen y pasale y recibir parámetros en JSON. Adjunto un pdf con la explicación.

Mis conocimientos web son mínimos. Quisiera saber si alguien me puede ayudar como hacer esto.

Muchas Gracias.

Fito...
Archivos Adjuntos
Tipo de Archivo: pdf Doc_API_CLOUDHH.pdf (130,9 KB, 13 descargas)
Fito no ha iniciado sesión   Responder Con Cita
  #2
Antiguo 8 de diciembre de 2017, 20:30
IDENTIFICATION DIVISION
Fito
Novato Senior
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónCórdoba, Villa María
Edad48 años
Última Actividad20.03.2019 16:10
PROCEDURE DIVISION
PostsPosts: 171
Ha dicho GraciasEnviado: 66
Ha recibido agradecimientosRecibido: 51
ReputaciónReputación: 9
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado

Hola:

Buscando encontré este aporte de Rapinto, me parece que acá está la forma o me equivoco.

[Aporte] Ligar ao Site da União Europeia VAT Number - COBOL Foro
Fito no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 9 de diciembre de 2017, 11:15
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad20.03.2019 20:47
PROCEDURE DIVISION
PostsPosts: 1.357
Ha dicho GraciasEnviado: 291
Ha recibido agradecimientosRecibido: 500
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

Fito, el JSON no es otra cosa que un formato definido. Sigue tratándose de datos en texto plano. En cuanto a la POST request, efectivamente, se puede adaptar los ejemplos que hay en el foro y hacerlas vía COM/OLE2. Así que, no te será fácil al principio, pero es, según yo, perfectamente realizable.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 14 de diciembre de 2017, 15:26
IDENTIFICATION DIVISION
Fito
Novato Senior
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónCórdoba, Villa María
Edad48 años
Última Actividad20.03.2019 16:10
PROCEDURE DIVISION
PostsPosts: 171
Ha dicho GraciasEnviado: 66
Ha recibido agradecimientosRecibido: 51
ReputaciónReputación: 9
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado

Hola Amigos:

Les cuento que gracias al ejemplo de Rapinto y un poco de google, logré comunicarme con la api. Ahora estoy esperando que me envíen un token valido para empezar a probar a full.

Cuando tenga todo listo, voy a subir un ejemplo.

Saludos.

Fito...

---------- Post añadido : 11:26 ---------- Post anterior : 21:14 ----------

Hola Amigos:

Ya logré comunicarme con el webservice, enviarle parámetros y recibir la respuesta.

Esa respuesta está en un json, ahora la tarea es "entender" ese json. Hacerlo en Cobol me parece muy complicado.

Buscando, buscando y buscando, me topé con esto.

[Aporte] Google Maps localización - COBOL Foro

Pregunto a lo mejor una burrada, porque estos temas todavía escapan a mi cerebro.

De acuerdo a este ejemplo, yo podría trabajar el json en javascript, donde tengo buen manejo de este tipo de dato, pasarlo a un txt tipo tabla, y esa funcion llamarla desde cobol. Estoy muy errado? después leería ese txt desde cobol y santo remedio.

Diagn que si, jajajajaja.

Saludos.

Fito...
Fito no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Kuk (12 de diciembre de 2017)
  #5
Antiguo 15 de diciembre de 2017, 01:00
IDENTIFICATION DIVISION
Rapinto
Gran amigo del Foro y Guru de COBOL
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
Forero desde (Registrado)febrero 2015
Portugal
UbicaciónPorto
Última Actividad29.01.2018 20:23
PROCEDURE DIVISION
PostsPosts: 246
Ha dicho GraciasEnviado: 19
Ha recibido agradecimientosRecibido: 215
Medallas recibidas: 2Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ReputaciónReputación: 13
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado

Fito,

Não me parece muito complicado fazer uma rotina para abrir o ficheiro de texto
e tentar interpretar :
"PH_CODIGO": "02220160513111442",
"CL_CODIGO": "01554",
"PH_FECINI": "2016-05-13", .......

Se usares o unstring ou o perform varying ... talvez seja fácil, leres a informação que precisas.

Un Saludo,
Rui Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
  #6
Antiguo 15 de diciembre de 2017, 15:54
IDENTIFICATION DIVISION
Fito
Novato Senior
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónCórdoba, Villa María
Edad48 años
Última Actividad20.03.2019 16:10
PROCEDURE DIVISION
PostsPosts: 171
Ha dicho GraciasEnviado: 66
Ha recibido agradecimientosRecibido: 51
ReputaciónReputación: 9
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado

Hola Rui:

Sé que se puede hacer con cobol, el tema es el tiempo. Hacer y probar una rutina para interpretar el JSON me va a llevar mucho tiempo, que no tengo. Hay que tener en cuenta niveles, arrays y todas esas cosas. Cuando otros lenguajes lo tienen solucionado de manera sencilla.

En windev, por medio de una función (JSONtoVariant()) lo pasas a un array tipo variant y después con bucles anidados vas sacando todo. Por eso hice un exe en windev, que me lea el JOSN que lo grabo en un archivo, lo proceso y lo meto en otro archivo ya con el formato tipo tabla para leerlo desde cobol, trabajarlo así tipo batch.

Te pego un ejemplo (esto es una pequeña prueba, tengo que desarrollarlo para darle formato de tabla al txt de salida).
Código WinDev:
  1. VP is Variant = JSONToVariant(sJson)
  2.  
  3. FileId = fCreate("d:\yeison\verpedidos.txt",foReadWrite)
  4.  
  5. FOR EACH m OF VP..Member
  6.     LineRead = m..Name
  7.     fWriteLine(FileId, LineRead)   
  8.     FOR EACH m2 OF m..Member
  9.         LineRead = "   --1--   " + m2..Name
  10.         fWriteLine(FileId, LineRead)
  11.         IF m2..Name = "cabecera" THEN
  12.             FOR EACH m3 OF m2..Member
  13.                 LineRead = "   --2--    "+m3..Name +":"+ m3..Value
  14.                 fWriteLine(FileId, LineRead)   
  15.             END
  16.         ELSE
  17.             FOR i = 1 TO m2..Occurrence
  18.                 FOR EACH m3 OF m2[i]..Member
  19.                     LineRead = "   --3--    "+m3..Name +":"+ m3..Value
  20.                     fWriteLine(FileId, LineRead)   
  21.                    
  22.                 END
  23.             END
  24.         END
  25.     END
  26. END
  27.  
  28. fClose(FileId)

Muchas gracias por los aportes. Sigo probando y cuando tenga todo listo posteo el resultado.

Saludos.

Fito...
Fito no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
fastpho (15 de diciembre de 2017)
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 20:59.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.