Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Darle la vuelta a un campo CHITOBLA GnuCOBOL (OpenCOBOL) 19 24 de octubre de 2022 21:10
[Sintaxis] SqlServer Campo DateTime y Date Hrmcobol PowerCOBOL (ActiveX, v4 - v11) 2 26 de mayo de 2021 11:45
[Sintaxis] Nombre de campo dentro de variable. Alberto IBM Enterprise COBOL 10 11 de junio de 2020 17:04
[Duda] Reducir tamaño campo Gatomalo RM/COBOL 4 24 de noviembre de 2017 04:30
[Duda] Tamaño de campo Josber PowerFORM 2 16 de diciembre de 2015 19:47

Respuesta

  #1
Antiguo 3 de mayo de 2015, 19:34
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8
Predeterminado Campo numerico como texto en Excell Conection
0 Inactivo Inactivo

Hola amigos , de vuelta con los campos de edicion.

Os explico, intento leer datos de una hoja de excell y modificar algun campo.
El caso es que lo intento hacer como en el ejemplo del power.
Leo el campo en la hoja de texto y lo muevo hacia una tabla.

Código COBOL:
  1.  01 setdata   pic x(50).
  2. PROCEDURE DIVISION.
  3.       MOVE "Text" OF "TableCells"(ROW-NUM 5) OF CmTable1 TO SET-DATA.
  4.               MOVE SET-DATA TO "Text"(ROW-NUM 5) OF CmExcel1.

Si introduzco un numero entero, lo graba con formato numerico y calcula correctamente. En cambio si introduzco un numero decimal con coma, la hoja lo interpreta como texto y no calcula.
Si lo introduzco con punto decimal, lo graba como numero y funciona.
En cambio cuando vuelvo a importar el dato al programa y lo salvo sin modificar, en la hoja aparece como texto y no lo calcula.

He probado dejarlo en un pow-numeric antes de pasarlo a la hoja de excell , pero se comporta de la misma manera.

Alguna sugerencia ?

Saludos .
Breew is offline   Responder Con Cita
  #2
Antiguo 4 de mayo de 2015, 09:19
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Breew, prueba con float, es decir:

Código COBOL:
  1.  01  WS-NUMERO    COMP-1.
  2.  PROCEDURE DIVISION.
  3.  
  4.       MOVE "Text" OF "TableCells"(ROW-NUM 5) OF CmTable1 TO WS-NUMERO.
  5.       MOVE WS-NUMERO TO "Text"(ROW-NUM 5) OF CmExcel1.

No he usado nunca este control, pero comprueba tambien si tiene propiedad "Numeric":

Código COBOL:
  1.      MOVE "Numeric" OF "TableCells"(ROW-NUM 5) OF CmTable1 TO SET-DATA.
  2.      MOVE SET-DATA TO "Numeric"(ROW-NUM 5) OF CmExcel1.

Pero si la tiene, sono haz MOVE de/a variables WORKING numericas.



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
  #3
Antiguo 4 de mayo de 2015, 14:15
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Y sobre todo, asegúrate que en ese control, o en todo el proyecto, tienes definido

Código COBOL:
  1. SPECIAL-NAMES.
  2.          DECIMAL-POINT IS COMMA.

Un saludo.-
Josber is offline   Responder Con Cita
  #4
Antiguo 4 de mayo de 2015, 16:03
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8

Hola.

Estupendo, he probado con float y funciona perfecto, aunque no entiendo el motivo ;-).

Tambien he hecho pruebas con la propiedad numeric y tambien funciona, eso si , como dices de numeric a numeric, ya que si no mete ceros en todos los campos .

Deberia investigar las propiedades de cada comando, pero no se por donde comenzar. Muchas gracias por vuestra ayuda.


Saludos .
Breew is offline   Responder Con Cita
  #5
Antiguo 4 de mayo de 2015, 16:54
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

A ver Brew, POW-NUMERIC y POW-TEXT, existen sobre todo por retrocompatibilidad con versiones anteriores, en las versiones nuevas, pusieron el "Text" para facilitar el movimiento de variables, pero más de una vez, cuando mueves una variable numérica con MOVE "Text" OF ..., te mueve también basura. Si quieres que lo que se mueva sea de verdad números y no tener problemas, hazlo con MOVE POW-NUMERIC OF ..., también está su versión para texto que es POW-TEXT, con un máximo de X(256), POW-MULTITEXT que es X(4092) y POW-MULTITEXT8 que es X(8192)

Y la mejor manera de saber que hace cada propiedad es probando y, ante la duda, consultar por aquí

Un saludo.-
Josber is offline   Responder Con Cita
  #6
Antiguo 4 de mayo de 2015, 21:14
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8

Hola Josber.

Tomo nota de estas propiedades, que poco a poco me vais descubriendo. Hace poco que Roger me aconsejo el Power (la verdad es que estoy encantado), anteriormente cuando hacia alguna cosa lo hacia con Rmcobol y el cambio es bastante brusco.

Gracias a vosotros voy prosperando , pero por desgracia, cada avance es un mar de incognitas.
Paciencia conmigo.

Saludos .
Breew is offline   Responder Con Cita
  #7
Antiguo 4 de mayo de 2015, 21:59
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Breew, no te preocupes. Parece dificil al principio pero cuanto mas aprendas mas facil sera y realmente es un entorno muy comodo.

En cuanto a tu pregunta del por que sobre el campo de tipo Float: los campos propios de COBOL no son "nativos" Win32, sino arrays de Char. Entre ellos los campos decimales (incluso los empaquetados COMP-3). Los tipos "nativos" serian, nombres dependiendo del lenguaje:
  • Short = SmallInt : 2 bytes = S9(4) COMP-5
  • Int = Integer = LongInt : 4 bytes = S9(9) COMP-5
  • Long Long : 8 bytes = S9(18) COMP-5
  • Float (Floating point single precision) : 4 bytes = COMP-1
  • Double (Floating point double precision) : 8 bytes = COMP-2

Hay byte tambien pero no nos interesa. PowerCOBOL tiene equivalentes a esos campos estandar Win32, y siempre que tratemos controles Win32, hay que usar campos estandar.



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
  #8
Antiguo 5 de mayo de 2015, 08:43
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Citación del post de Breew Ver Mensaje
Hace poco que Roger me aconsejo el Power (la verdad es que estoy encantado), anteriormente cuando hacia alguna cosa lo hacia con Rmcobol y el cambio es bastante brusco.
Todos hemos pasado por ahí Brew, creo que la mayoría hemos aprendido con el manual que hay por internet y que se llamaba algo así como Un proyecto con Fujitsu Power Cobol, preguntando y la más común de prueba/fallo. Por suerte el PWC es el que más se parece al COBOL ANSI y al RM/Cobol.

Que tiempos aquellos en los que programaba con RM, hacías lo que querías con el programa y, lo más importante, el programa hacía lo que querías, no serían tan bonitos como los de ahora, pero eran robustos como ellos solos ...

Ya sabes, mientras podamos, estamos aquí para lo que necesites

Un saludo.-
Josber is offline   Responder Con Cita
Respuesta


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

Saltar a Foro


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