Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Cocina Casera Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Leer dato en un archivo Json con Chilkat... Fito PowerCOBOL (ActiveX, v4 - v11) 12 7 de agosto de 2024 19:20
[PowerCOBOL] Código para crear archivo Json fastpho Cocina PowerCOBOL 11 16 de noviembre de 2021 20:24
[Duda] JSON en Cobol... Fito PowerCOBOL (ActiveX, v4 - v11) 20 2 de julio de 2021 22:07
[Compilador] Json & Powercobol Joseg PowerCOBOL (ActiveX, v4 - v11) 1 12 de abril de 2021 14:13
[Sintaxis] Enviar y Recibir Mail fastpho PowerCOBOL (ActiveX, v4 - v11) 1 14 de octubre de 2017 09:07

Respuesta
 
Herramientas

  #21
Antiguo 11 de octubre de 2022, 17:28
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Hola @Fito, probe tu ejemplo solamente cambiando la coma por punto y funciona perfecto , modifique el valor de 1000.02 por 21000.02 y tambien lo toma
Código COBOL:
  1. 01  wdatos.
  2.      02 wtipo                pic 999.
  3.      02 wperiodo            pic x(7).
  4.      02 wimporte            pic 9(9)v99.
  5.      02 l-importe            pic z(9).zz.   *> Cambia la coma por punto y funciona perfecto
Me parece que el problema es la configuracion regional.....
te mando un pantalllazo
Saludos ...

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  fito.png
Vistas: 140
Tamaño:  9,3 KB  
fastpho is offline   Responder Con Cita
  #22
Antiguo 11 de octubre de 2022, 20:53
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola @fastpho

Si Sr., el problema es la configuración regional. La tengo con coma decimal y el ocx me pide con puntos. Ahora que recuerdo, en algún otro post se habló de ese tema.

Le agregué para que cambia a punto al comienzo y después que trabajo el json lo vuelvo a coma y anduvo a la perfección.

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  
  5. *... variables para verificar la configuración regional...
  6.  01  caracter        pic x(255).
  7.  01  buffer          pic s9(9) comp-5.
  8.  01  retcode         pic s9(9) comp-5.
  9.  01  estilo          pic s9(9) comp-5.
  10.  77  wsep-dec        pic x.
  11.  77  wsep-mil        pic x.
  12.  
  13.  01  wcobranza.
  14.      02 pic x(50)    value '{'.
  15.      02 pic x(50)    value '  "ALUMNO": "Chiavazza Adolfo Carlos",'.
  16.      02 pic x(50)    value '  "DNI": "22222222",'.
  17.      02 pic x(50)    value '  "FECHA": "10-03-2022",'.
  18.      02 pic x(50)    value '  "COBRANZA": ['.
  19.      02 pic x(50)    value '    {'.
  20.      02 pic x(50)    value '      "TIPO": 1,'.
  21.      02 pic x(50)    value '      "PERIODO": "03-2022",'.
  22.      02 pic x(50)    value '      "IMPORTE": 5000'.
  23.      02 pic x(50)    value '    },'.
  24.      02 pic x(50)    value '    {'.
  25.      02 pic x(50)    value '      "TIPO": 2,'.
  26.      02 pic x(50)    value '      "PERIODO": "03-2022",'.
  27.      02 pic x(50)    value '      "IMPORTE": 1000.02'.
  28.      02 pic x(50)    value '    }'.
  29.      02 pic x(50)    value '  ]'.
  30.      02 pic x(50)    value '}'.
  31.      
  32.  01  jfecha                 pic x(10).
  33.  01  redefines jfecha.
  34.      02 jfecha-dd           pic 99.
  35.      02                     pic x.
  36.      02 jfecha-mm           pic 99.
  37.      02                     pic x.
  38.      02 jfecha-aa           pic 9999.
  39.      
  40.  01  wfecha                 pic 9(8).
  41.  01  redefines wfecha.
  42.      02 wfecha-aa           pic 9999.
  43.      02 wfecha-mm           pic 99.
  44.      02 wfecha-dd           pic 99.
  45.  
  46.  01  indA                   pic s9(9) comp-5 value zeros.
  47.  01  w--ii                  pic 9(8).
  48.  01  dato                   pic x(200).
  49.  
  50.  01  wdatos.
  51.      02 wtipo               pic 999.
  52.      02 wperiodo            pic x(7).
  53.      02 wimporte            pic 9(12)v99.
  54.      02 l-importe           pic z(12),zz.
  55.  
  56.  PROCEDURE       DIVISION.
  57.  
  58.  comienzo.
  59.      perform pone-punto.
  60.      
  61.      invoke json "Clear".
  62.  
  63.      invoke json "Load" using wcobranza.
  64.      
  65.      invoke json "StringOf" using "FECHA" returning jfecha.
  66.  
  67.      display jfecha.
  68.          
  69.      invoke json "SizeOfArray" using "COBRANZA" returning indA.
  70.          
  71.      perform varying w--ii from zeros by 1 until w--ii = indA
  72.         move spaces      to dato
  73.         string "COBRANZA["    delimited by size
  74.                   w--ii       delimited by size
  75.                   "]"         delimited by size
  76.                   "."         delimited by size
  77.                   "TIPO"      delimited by size              
  78.                   into dato
  79.         end-string
  80.         invoke Json "StringOf" using dato  returning wtipo
  81.  
  82.         move spaces      to dato
  83.         string "COBRANZA["    delimited by size
  84.                   w--ii       delimited by size
  85.                   "]"         delimited by size
  86.                   "."         delimited by size
  87.                   "PERIODO"   delimited by size              
  88.                   into dato
  89.         end-string
  90.         invoke Json "StringOf" using dato  returning wperiodo
  91.      
  92.         move spaces      to dato
  93.         string "COBRANZA["    delimited by size
  94.                   w--ii       delimited by size
  95.                   "]"         delimited by size
  96.                   "."         delimited by size
  97.                   "IMPORTE"   delimited by size              
  98.                   into dato
  99.         end-string
  100.         invoke Json "StringOf" using dato  returning wimporte
  101.         move wimporte    to l-importe
  102.        
  103.         display wtipo, "   ", wperiodo, "   ", l-importe
  104.      
  105.      end-perform.
  106.      
  107.      perform pone-coma.
  108.  
  109.      exit program.
  110.      
  111.      
  112.  pone-coma.    
  113.      *>... Seteo en Windows el separador decimal
  114.      move spaces        to caracter.
  115.      move ","           to caracter(1:1).
  116.      move X"00"         to caracter(2:1).  
  117.      call "SetLocaleInfoA" with stdcall linkage
  118.         using by value 1024
  119.               by value 14
  120.               by reference caracter
  121.         returning retcode.
  122.      cancel "SetLocaleInfoA".          
  123.    
  124.       *>... Seteo en Windows el separador de miles
  125.      move spaces        to caracter.
  126.      move "."           to caracter(1:1).
  127.      move X"00"         to caracter(2:1).  
  128.      call "SetLocaleInfoA" with stdcall linkage
  129.         using by value 1024
  130.               by value 15
  131.               by reference caracter
  132.         returning retcode.
  133.      cancel "SetLocaleInfoA".          
  134.  
  135.  pone-punto.    
  136.      *>... Seteo en Windows el separador decimal
  137.      move spaces        to caracter.
  138.      move "."           to caracter(1:1).
  139.      move X"00"         to caracter(2:1).  
  140.      call "SetLocaleInfoA" with stdcall linkage
  141.         using by value 1024
  142.               by value 14
  143.               by reference caracter
  144.         returning retcode.
  145.      cancel "SetLocaleInfoA".          
  146.    
  147.       *>... Seteo en Windows el separador de miles
  148.      move spaces        to caracter.
  149.      move ","           to caracter(1:1).
  150.      move X"00"         to caracter(2:1).  
  151.      call "SetLocaleInfoA" with stdcall linkage
  152.         using by value 1024
  153.               by value 15
  154.               by reference caracter
  155.         returning retcode.
  156.      cancel "SetLocaleInfoA".          

Pensando un poco, trabajando con un servidor con escritorio remoto, desde un usuario cambio la configuración regional, se le cambia automáticamente a todos los usuarios, o solamente a este?

Si bien el proceso es rápido, y enseguida vuelve todo a la normalidad, no sea cosa que este cambio afecte a otro usuario que esté haciendo otra cosa, como un excel o listado.

Muchas gracias

Saludos...

Fito...
Fito is offline   Responder Con Cita
  #23
Antiguo 13 de octubre de 2022, 16:05
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Fito, según dicen, el Locale se cambia a nivel sistema y no a nivel del usuario: Set language per user Solved - Windows 10 Forums



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #24
Antiguo 13 de octubre de 2022, 17:14
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Hola @Kuk, @Fito, la configuracion regional , el idioma , el escritorio etc es a nivel usuario de windows , NO a nivel sistema
el cambio si puede afectar al usuario que por ejemplo este realizando algun proceso al mismo tiempo que tu programa , como pusiste de ejemplo Excel
Saludos ....
fastpho is offline   Responder Con Cita
  #25
Antiguo 13 de octubre de 2022, 21:35
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola Amigos.

Excelente, entonces no voy a tener ningún problema. Aunque en este caso tampoco lo hubiera tenido porque en este servidor solamente corre el programa para servidor web, no se loguea ningún usuario

Saludos..

Fito,,,,
Fito is offline   Responder Con Cita
Respuesta



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

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:55.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.