Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol COBOL - General
COBOL - General Discusiones de temática general sobre el lenguaje COBOL y todo lo relacionado con él.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
Obtener la longitud del contenido de una variable Kuk Cocina Casera 12 19 de marzo de 2021 19:49
[Sintaxis] Longitud Variables Recato53 Fujitsu COBOL 3 13 de junio de 2020 21:54
[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 18 de enero de 2023, 10:26
Begoguay
Forero
Última Actividad 21.08.2025 16:34
Posts Posts: 69
Likes enviados Enviados: 93
Likes recibidos Recibidos: 10
Predeterminado Longitud de variables al compilar
0 Inactivo Inactivo

Buenos dias.

Tengo la siguiente duda.
En RMCOBOL, puedo ver la longitud de las variables que utilizo en un programa compilando de la siguiente forma:

RMCOBOL Programa.CBL S L A

De esta forma, me genera un archivo Programa.LST, donde yo puedo ver la longitud de todas las variables que utilizo en Programa.CBL

Mi pregunta es: ¿Existe esta posibilidad de ver la longitud de las variables, al compilar en POWERCOBOL?

Un saludo.
Begoguay is offline   Responder Con Cita
  #2
Antiguo 18 de enero de 2023, 11:58
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 Begoguay Ver Mensaje

Mi pregunta es: ¿Existe esta posibilidad de ver la longitud de las variables, al compilar en POWERCOBOL?

Un saludo.
Hola @Begoguay, cuanto tiempo sin verte por estos lares,

Código COBOL:
  1. COMPUTE I = FUNCTION LENGTH (variable).

En I, se te almacena el tamaño de la variable.

Si lo que quieres es saber cuánto tiene ocupado de su tamaño total una variable

Código COBOL:
  1. COMPUTE I = FUNCTION STORED-CHAR-LENGTH (variable).

Un saludo.-
Josber is offline   Responder Con Cita
  #3
Antiguo 18 de enero de 2023, 12:32
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Begoguay, hola, es verdad que llevamos tiempo sin verte. A ver si nos visitas de vez en cuando

Lo que tu quieres normalmente se genera a la hora de compilar. Y es efectivamente también posible en Fujitsu COBOL, añadiendo al directiva de compilación LIST. Puedes ver más detalles aquí: A.1.22 LIST compile option

RM como no es compilado sino interpretado, te lo hace cuando quieras, pero todo código compilado genera el fichero "listing" a la hora de compilarlo y no después, porque es información estática.

P.D. Tienes que ponerle LIST en el mismo sitio done pones ALPHAL(WORD) por ejemplo, separado por coma.



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
  #4
Antiguo 19 de enero de 2023, 12:38
Begoguay
Forero
Última Actividad 21.08.2025 16:34
Posts Posts: 69
Likes enviados Enviados: 93
Likes recibidos Recibidos: 10

No consigo que me haga nada.
¿Se supone que me genera un fichero con esos datos? ¿Y si es así donde lo genera?
Yo pongo lo de LIST en las propiedades del SCRIPT del formulario, ¿es ahi?
¿El programa lo tengo que compilar desde fuera o desde el 'editor' de POWERCOBOL?
Begoguay is offline   Responder Con Cita
  #5
Antiguo 19 de enero de 2023, 13:59
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Begoguay, le acabo de echar un ojo y parece ser que para que haya salida hay poner otra directiva adicional que es PRINT: A.1.32 PRINT compile option
Es lo que dice el comentario (note) de la directiva LIST:

Citación del post de Fujitsu
If the PRINT compile option is not specified, no object program list is output regardless of the specification of this option.
Es decir PRINT,LIST

Te genera el fichero [nombre_form].LST en MainDebug.

Lo que pasa es que el contenido no es el que te esperas. Así que he investigado un poco y la directiva que tú necesitas no es LIST sino que es MAP.


Conclusión: lo que tienes que poner es esto: debe ser PRINT,MAP y así sí que salen las variables, su longitud etc. El resultado es así:

Código:
NetCOBOL V10.1.0  MAINFORM                        THU JAN 19 13:55:58 2023  0001                                        


       LINE     ADDR         OFFSET REC-OFFSET LVL NAME                              LENGTH ATTRIBUTE  BASE       DIM


**MAINFORM**
         28  GWA+00000110                    0 01 IDX-V                                   4 COMP-5     BGW.000000    
         29  GWA+00000118                    0 01 GLB-VENTANAS                           48 GROUP-V    BGW.000000    
         30  GWA+00000118                    0 05 GLB-VENTANA                            24 GROUP-F    BGW.000000   1
         31  GWA+00000118                    0 10 GLB-HWND                                4 COMP-5     BGW.000000   1
         32  GWA+0000011C                    4 10 GLB-NOMBRE                             20 ALPHANUM   BGW.000000   1
         35  GWA+00000148                    0 01 DESTINO                                46 GROUP-F    BGW.000000    
         36  GWA+00000148                    0 03 FILLER                                  6 ALPHANUM   BGW.000000    
         37  GWA+0000014E                    6 03 LLEGAR                                 40 ALPHANUM   BGW.000000    
         39  GWA+00000178                    0 01 ORIGEN                                 46 GROUP-F    BGW.000000    
         40  GWA+00000178                    0 03 FILLER                                  6 ALPHANUM   BGW.000000    
         41  GWA+0000017E                    6 03 SALIR                                  40 ALPHANUM   BGW.000000    
         43  GWA+000001A8                    0 01 TOOLTIP                                10 ALPHANUM   BGW.000000    
         47 [EBP+FFFFFF48]+00000000          0 01 POW-FORM                               44 GROUP-F    BVA.000001    
         48 [EBP+FFFFFF48]+00000000          0 02 POW-SELF                                4 COMP-5     BVA.000001    
         49 [EBP+FFFFFF48]+00000004          4 02 POW-SUPER                               4 ALPHANUM   BVA.000001    
         50 [EBP+FFFFFF48]+00000008          8 02 POW-THIS                                4 COMP-5     BVA.000001



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