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, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Información] Definir Valores TableControl Recato53 PowerCOBOL (ActiveX, v4 - v11) 1 12 de agosto de 2017 18:04
[Sintaxis] Como descifrar valores de COM-EXCEPTION Kuk PowerCOBOL y COM/OLE 5 20 de abril de 2015 17:36
[Sintaxis] Valores ASCII Recato53 PowerCOBOL (ActiveX, v4 - v11) 3 3 de abril de 2015 09:43
Respuesta
 
Herramientas

  #1
Antiguo 23 de marzo de 2015, 08:13
IDENTIFICATION DIVISION
Breew
Novato Senior
ENVIRONMENT DIVISION
Avatar de Breew
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónBarcelona
Edad55 años
Última Actividad03.05.2019 13:37
PROCEDURE DIVISION
PostsPosts: 100
Ha dicho GraciasEnviado: 94
Ha recibido agradecimientosRecibido: 1
Mejores respuestasSoluiones: 0
ReputaciónReputación: 5
Breew is on a distinguished road
Predeterminado Valores numericos y editados

Hola amigos.


Tengo un reporte en un fichero con campos numericos que debo efectuar calculos.
al leerlo del fichero lo coloco en una tabla y me da el valor correcto.

por ejemplo:
Código COBOL:
  1. 01 tarifa1  pic x(7)  value "123,48".
  2. 01 tarifa redefines  tarifa1 pic 9(4)v99.

Pero a la hora de efectuar calculos con tarifa1, me da un valor erroneo.

He hecho multiples combinaciones, pero no hay manera, siempre me calcula mal.
Como deberia hacerlo ?

POWER COBOL 9.0
Breew no ha iniciado sesión   Responder Con Cita
Mejores respuestas Soluciones: 1
  #2
Antiguo 23 de marzo de 2015, 09:11
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
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

Breew, nunca he usado campos alfanumericos para guardar numeros pero de todos modos por que le haces un REDEFINES, con MOVE no funciona? Deberia funcionar. Pero si no, yo lo que probaria es primero moverlo a un PIC ZZZZ9,99 y luego desde aqui ya a un campo numerico.
Pero MOVE, no REDEFINES. En este caso yo diria que el REDEFINES no sirve de nada.


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
Ha dicho Gracias : 1
Breew (23 de marzo de 2015)
  #3
Antiguo 23 de marzo de 2015, 12:30
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad17.10.2019 20:19
PROCEDURE DIVISION
PostsPosts: 466
Ha dicho GraciasEnviado: 187
Ha recibido agradecimientosRecibido: 202
Mejores respuestasSoluiones: 31
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 18
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

Yo empezaría por mirar la alineación del campo alfanumérico, ésta es a la izquierda y los numéricos, es a la derecha, y en lo que has puesto, cuando pasas los números de un campo a otro, como son seis números y el tamaño es 7, se debe de hacer la picha un lío y en el primero o en el último, quizas te meta un null, si es éste el caso, pon un JUSTIFIED RIGHT al alfanumérico y prueba a ver, sino, la solución de Kuk puede funcioar también.

Un saliudo.-
Josber no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Breew (23 de marzo de 2015)
  #4
Antiguo 23 de marzo de 2015, 14:15
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad10.10.2019 00:12
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 91
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

Yo haria lo siguiente:
Código COBOL:
  1. 01 Tarifa.
  2.      02  cpo-1    pic 999.
  3.      02  cpo-2    pic x
  4.      02  cpo-3    pic 99.
  5.  01 valor1   pic 9(5).
  6.  01 valor2   pic 999v99.
  7.      move cpo-1 to valor1(01:03)
  8.      move cpo-3 to valor1(04:02)
  9.      move valor1 to valor2

En valor dos es un campo numero que sirve para hacer cualquier tipo de cuenta.

Saludos y espero que sirva.
Hrmcobol no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Breew (23 de marzo de 2015)
  #5
Antiguo 23 de marzo de 2015, 14:51
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad17.10.2019 15:47
PROCEDURE DIVISION
PostsPosts: 1.417
Ha dicho GraciasEnviado: 318
Ha recibido agradecimientosRecibido: 540
Mejores respuestasSoluiones: 87
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

Hrmcobol, esto es en caso de que la coma decimal sea siempre fija. Si en algun caso hay 1 solo decimal o 3 ya no serviria y habria que montar un buscle para buscar la coma.

Por cierto, amigo Hrm, usa el TAG [ COBOL ] para codigo fuente


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
Ha dicho Gracias : 1
Breew (23 de marzo de 2015)
  #6
Antiguo 23 de marzo de 2015, 18:51
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad10.10.2019 00:12
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 91
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

Si hay qu hacer un blucle para ubicar la coma,
Se me ocurre Otra, que pasa si defines un CmText con el RenderText de 999999,9999, le mueves el texto al "text" y luego el POW-NUMERIC a un campo pic 999999v9999 eso funciona, y no hay que hacer nada.



Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01  campo pic x(7) value "123,48".
  3.  01  numer pic 9(6)v9(4).
  4.  01  zetas pic 999999,9999.
  5.  PROCEDURE       DIVISION.
  6.       move campo to "Text" OF cmtext1
  7.       MOVE POW-NUMERIC OF cmtext1  TO numer.
  8.       move numer to zetas.
  9.       display zetas
Hrmcobol no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Breew (23 de marzo de 2015)
  #7
Antiguo 25 de marzo de 2015, 23:06
IDENTIFICATION DIVISION
Breew
Novato Senior
ENVIRONMENT DIVISION
Avatar de Breew
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónBarcelona
Edad55 años
Última Actividad03.05.2019 13:37
PROCEDURE DIVISION
PostsPosts: 100
Ha dicho GraciasEnviado: 94
Ha recibido agradecimientosRecibido: 1
Mejores respuestasSoluiones: 0
ReputaciónReputación: 5
Breew is on a distinguished road
Predeterminado Valores numericos

Hola Amigos.
Tengo el torpe subido , no lo consigo. Os detallo mas el tema.
Tengo un fichero plano con los valores.
ej .
Articulo1 18,36

Leo el fichero y defino el campo del valor como ZZZ9,99 o bien pic X(7).
Con dicho valor me gustaria operar con el , por ejemplo multiplicarlo por 4, y poder visualizar el resultado con formato de edicion Z.ZZ9,99.

El render text cuando le pongo un campo 9999v99 o bien ZZZ9,99 me da error:
---------------------------
RenderTexts
---------------------------
RenderText properties cannot be set.

There is a possibility that the text adjustment made will not take effect.
---------------------------
Lo siento, estoy cabezon, cabezon.

Añadido despues de 9 minutos
Perdonar, he conseguido que opere bien, pero no consigo visualizar el resultado en un formato con coma decimal.
1836 en lugar de 18,36

Última edición por Breew fecha: 25 de marzo de 2015 a las 23:15. Razón: Post añadido
Breew no ha iniciado sesión   Responder Con Cita
  #8
Antiguo 26 de marzo de 2015, 09:23
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad17.10.2019 20:19
PROCEDURE DIVISION
PostsPosts: 466
Ha dicho GraciasEnviado: 187
Ha recibido agradecimientosRecibido: 202
Mejores respuestasSoluiones: 31
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 18
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

¿Has definido en SPECIAL-NAMES?

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

Un saludo.-
Josber no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Breew (27 de marzo de 2015)
  #9
Antiguo 27 de marzo de 2015, 15:13
IDENTIFICATION DIVISION
Breew
Novato Senior
ENVIRONMENT DIVISION
Avatar de Breew
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónBarcelona
Edad55 años
Última Actividad03.05.2019 13:37
PROCEDURE DIVISION
PostsPosts: 100
Ha dicho GraciasEnviado: 94
Ha recibido agradecimientosRecibido: 1
Mejores respuestasSoluiones: 0
ReputaciónReputación: 5
Breew is on a distinguished road
Predeterminado

Ostras, pues no.

Una vez definido, calcula bien, por fin. Pero tengo el problema de que no me deja modificar el Render.

El render text, cuando le pongo un campo 9999v99 o ZZZ9,99 me da error:
---------------------------
RenderTexts
---------------------------
RenderText properties cannot be set.

There is a possibility that the text adjustment made will not take effect.
---------------------------

Cita del post de Josber Ver Mensaje
¿Has definido en SPECIAL-NAMES?

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

Un saludo.-
Breew no ha iniciado sesión   Responder Con Cita
  #10
Antiguo 27 de marzo de 2015, 16:16
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
Mejores respuestasSoluiones: 47
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

Breew,

Antes de mudar o RenderText poe espaços na Caption.
A Caption tem by default texto e não deixa colocar "pic 9" ou "pic Z" enquanto não limpar.

Saludos,
Rui Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Breew (30 de marzo de 2015)
Respuesta

Tags
campo , cobol , editado , numerico


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