Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
  COBOL Foro > IDE-s y compiladores COBOL > Cocina Casera > Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Información] JSON en Cobol... Fito PowerCOBOL (ActiveX, v4 - v11) 20 2 de julio de 2021 21:07
[Compilador] Json & Powercobol Joseg PowerCOBOL (ActiveX, v4 - v11) 1 12 de abril de 2021 13:13
[Componente] Generador código QR atncasiello PowerFORM 1 29 de diciembre de 2020 22:49
[Componente] Imprimir código QR Armando PowerCOBOL (ActiveX, v4 - v11) 12 18 de junio de 2019 22:53
[Sintaxis] Enviar y Recibir Mail fastpho PowerCOBOL (ActiveX, v4 - v11) 1 14 de octubre de 2017 08:07
Respuesta
 
Herramientas

  #11
Antiguo 26 de julio de 2021, 22:23
IDENTIFICATION DIVISION
AHidalgo
 Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de AHidalgo
DATA DIVISION
enero 2021
Buenos Aires
22.09.2021 15:42
PROCEDURE DIVISION
Posts: 13
Enviado: 4
Recibido: 0
Soluiones: 0
Reputación: 0
AHidalgo is an unknown quantity at this point
Predeterminado Ayuda: parsear un Json en PowerCobol

@fastpho, Hola, buenas tardes!, me podrás ayudar haciendo una prueba para ver si tenes el mismo error? (así descarto error humano). De los 4 campos que quiero recuperar solo me trae 2.

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 FILA                      PIC 9(8).
  5.  01 WFEC-AMD         PIC X(10).
  6.  01 TIMPTOT             PIC X(9).
  7.  01 WS.
  8.    02 WS-NRO             PIC X(7).
  9.    02 WS-NRO-ORD    REDEFINES WS-NRO PIC 9(7).
  10.    02 WS-ID                  PIC X(3).
  11.    02 WS-IDMPAGO    REDEFINES WS-ID  PIC 9(3).
  12.  01 WGET-VTA-FEC    PIC X(20) IS GLOBAL VALUE "C:\APi\APIRFech1.TXT".
  13.  PROCEDURE       DIVISION.
  14.  INICIO.
  15.      INVOKE ChilkatJsonObject1 "LoadFile" USING WGET-VTA-FEC RETURNING ReturnValue.
  16.      IF ReturnValue NOT = 1 THEN
  17.         INVOKE pow-self "DisplayMessage" USING "error"
  18.         EXIT PROGRAM
  19.      END-IF.
  20. *
  21.      INVOKE ChilkatJsonObject1 "SizeOfArray" USING "Objeto" RETURNING IndiceArray.
  22.      MOVE ZEROS TO FILA FI-LA.
  23.      PERFORM VARYING FILA FROM FILA BY 1 UNTIL FILA = IndiceArray OR FILA > 10
  24. *
  25.            MOVE SPACES TO ObJsolicitar
  26.            STRING "Objeto["     delimited by size
  27.                   FILA          delimited by size
  28.                   "]"           delimited by size
  29.                   "."           delimited by size
  30.                   "concretado"  delimited by size
  31.                   into ObJsolicitar
  32.            END-STRING
  33.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WFEC-AMD
  34. *
  35.            MOVE SPACES TO ObJsolicitar
  36.            STRING "Objeto["     delimited by size
  37.                   FILA          delimited by size
  38.                   "]"           delimited by size
  39.                   "."           delimited by size
  40.                   "idModoDePago" delimited by size
  41.                   into ObJsolicitar
  42.            END-STRING
  43.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WS-ID
  44. *
  45.            INITIALIZE TIMPTOT WS-NRO WS-ID WFEC-AMD
  46.            MOVE SPACES TO ObJsolicitar
  47.            STRING "Objeto["     delimited by size
  48.                   FILA          delimited by size
  49.                   "]"           delimited by size
  50.                   "."           delimited by size
  51.                   "idVenta"     delimited by size
  52.                   into ObJsolicitar
  53.            END-STRING
  54.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar  RETURNING WS-NRO
  55.  
  56.            MOVE SPACES TO ObJsolicitar
  57.            STRING "Objeto["     delimited by size
  58.                   FILA          delimited by size
  59.                   "]"           delimited by size
  60.                   "."           delimited by size
  61.                   "total"       delimited by size
  62.                   into ObJsolicitar
  63.            END-STRING
  64.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING TIMPTOT
  65. *
  66.            DISPLAY WFEC-AMD " , " WS-ID " , " TIMPTOT " , " WS-NRO " , fila " fila
  67.      END-PERFORM.
  68.      EXIT PROGRAM.

Si podes probar te lo voy a agradecer.
Cualquier ayuda es bienvenida!!
Saludos
Ana
Archivos Adjuntos
Tipo de Archivo: txt APIRFech1.txt (537,3 KB, 11 descargas Quién descargó)
AHidalgo no ha iniciado sesión   Responder Con Cita
  #12
Antiguo 27 de julio de 2021, 15:42
IDENTIFICATION DIVISION
fastpho
 Forero
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
diciembre 2016
Mendoza
51 años
27.10.2021 12:53
PROCEDURE DIVISION
Posts: 175
Enviado: 119
Recibido: 109
Soluiones: 19
Reputación: 15
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Predeterminado

Hola @AHidalgo, corri tu ejemplo y el unico valor que no me da es el total , para que te lo lea te
paso un ejemplo leyendo los dos primeros registros
Código COBOL:
  1.  INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.moneda" RETURNING string-total
  2.           display "total moneda :" , string-total
  3.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.valor" RETURNING string-total
  4.           display "total valor :" , string-total
  5.  
  6.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.idComercio" RETURNING string-total
  7.           display "total idComercio :" , string-total
  8.  
  9.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.moneda" RETURNING string-total
  10.           display "total moneda :" , string-total
  11.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.valor" RETURNING string-total
  12.           display "total valor :" , string-total
  13.  
  14.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.idComercio" RETURNING string-total
  15.           display "total idComercio :" , string-total
de tu ejemplo la linea
Código COBOL:
  1.  INITIALIZE TIMPTOT WS-NRO WS-ID WFEC-AMD
esta mal ubicada
Saludos
fastpho no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
AHidalgo (28 de julio de 2021)
  #13
Antiguo 28 de julio de 2021, 00:11
IDENTIFICATION DIVISION
AHidalgo
 Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de AHidalgo
DATA DIVISION
enero 2021
Buenos Aires
22.09.2021 15:42
PROCEDURE DIVISION
Posts: 13
Enviado: 4
Recibido: 0
Soluiones: 0
Reputación: 0
AHidalgo is an unknown quantity at this point
Predeterminado

@fastpho, Gracias!!, también he comprobado ejecutar con un control un VBScript con el parseo y funciona bien, pero intentaba hacerlo en cobol puro.
Saludos
Ana
AHidalgo no ha iniciado sesión   Responder Con Cita
Respuesta

Tags
cobol , json , parse


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 13:47.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2021, Jelsoft Enterprises Ltd.