Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL
Fujitsu COBOL Sub-Foro dedicado a Compiladores e IDE-s de Fujitsu.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Compilador] Longitud de variables al compilar Begoguay COBOL - General 4 19 de enero de 2023 13:59
Obtener la longitud del contenido de una variable Kuk Cocina Casera 12 19 de marzo de 2021 19:49
[Noticia] Límites de longitud para ComboBox Nitzer PowerCOBOL (ActiveX, v4 - v11) 2 28 de diciembre de 2019 21:30
Tablas bidimensionales de longitud variable Kuk Cocina MicroFocus 2 23 de mayo de 2018 11:13
[Noticia] Longitud máxima soportada por CBL_COPY_FILE Roger PowerCOBOL (ActiveX, v4 - v11) 3 27 de agosto de 2015 17:37

Respuesta

  #1
Antiguo 13 de junio de 2020, 11:33
Recato53
Patrocinador del Foro
Última Actividad 19.07.2025 12:10
Posts Posts: 79
Likes enviados Enviados: 72
Likes recibidos Recibidos: 11
Predeterminado Longitud Variables
0 Inactivo Inactivo

Buenos días.

Como saber la longitud real de una variable COMP-?? en un fichero.

Código COBOL:
  1. 01 VAR-1   PIC S9(9) COMP-5.
  2. 01 VAR-2   PIC S9(9)V99 COMP-5.

Algún forero tiene una tabla con los valores máximos que se pueden usar en variables
tipo COMP- , no encuentro documentación en los manuales de PowerCobol.


Muchas gracias.
Recato53 is offline   Responder Con Cita
  #2
Antiguo 13 de junio de 2020, 12:10
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Recato53, esto depende del compilador. Siendo Fujitsu, si no recuerdo mal, sigue las directivas de campos nativos de la arquitectura. O sea que, los COMP/COMP-4/COMP-5 todos físicamente son 2, 4 u 8 bytes.

En cuanto al contenido, el COMP-5 es binario nativo y sigue las reglas de la máquina. Equivale a tipos que vemos en C:
Código:
PIC S9(2)  COMP-5   short           2 bytes  -32,768 to 32,767
PIC  9(2)  COMP-5   unsigned short  2 bytes  0 to 65,535
PIC S9(9)  COMP-5   int             4 bytes  -2,147,483,648 to 2,147,483,647
PIC  9(9)  COMP-5   unsigned int    4 bytes  0 to 4,294,967,295
PIC S9(18) COMP-5   long            8 bytes  -9223372036854775808 to 9223372036854775807
PIC  9(18) COMP-5   unsigned long   8 bytes  0 to 18446744073709551615
18 es el máximo. Todo lo que supere la cantidad de 9-s en PIC automáticamente se toma el tipo siguiente de tamaño superior. Es decid, si defines S9(5) COMP-5 se va a alocar como S9(9) COMP-5.



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 13 de junio de 2020, 12:46
Recato53
Patrocinador del Foro
Última Actividad 19.07.2025 12:10
Posts Posts: 79
Likes enviados Enviados: 72
Likes recibidos Recibidos: 11

Citación del post de Kuk Ver Mensaje
@Recato53, esto depende del compilador. Siendo Fujitsu, si no recuerdo mal, sigue las directivas de campos nativos de la arquitectura. O sea que, los COMP/COMP-4/COMP-5 todos físicamente son 2, 4 u 8 bytes.

En cuanto al contenido, el COMP-5 es binario nativo y sigue las reglas de la máquina. Equivale a tipos que vemos en C:
Código:
PIC S9(2)  COMP-5   short           2 bytes  -32,768 to 32,767
PIC  9(2)  COMP-5   unsigned short  2 bytes  0 to 65,535
PIC S9(9)  COMP-5   int             4 bytes  -2,147,483,648 to 2,147,483,647
PIC  9(9)  COMP-5   unsigned int    4 bytes  0 to 4,294,967,295
PIC S9(18) COMP-5   long            8 bytes  -9223372036854775808 to 9223372036854775807
PIC  9(18) COMP-5   unsigned long   8 bytes  0 to 18446744073709551615
18 es el máximo. Todo lo que supere la cantidad de 9-s en PIC automáticamente se toma el tipo siguiente de tamaño superior. Es decid, si defines S9(5) COMP-5 se va a alocar como S9(9) COMP-5.
Entiendo que si defino:
Código COBOL:
  1. PIC S9(6) COMP-5         La longitud será 4
  2. PIC S9(6)V99  COMP-5  La longitud será 4
Recato53 is offline   Responder Con Cita
  #4
Antiguo 13 de junio de 2020, 21:54
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Recato53, correcto



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