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] External data atribute error jmeza PowerCOBOL (ActiveX, v4 - v11) 3 15 de abril de 2020 01:33
[Sintaxis] Declaración de variable global Socavi PowerCOBOL (ActiveX, v4 - v11) 9 15 de marzo de 2020 11:24

Respuesta

  #1
Antiguo 6 de abril de 2022, 13:48
Socavi
Forero
Última Actividad 05.07.2022 17:01
Posts Posts: 78
Likes enviados Enviados: 49
Likes recibidos Recibidos: 18
Predeterminado respecto a GLOBAL EXTERNAL
0 Inactivo Inactivo

Tengo un problema al mover una variable declarada como GLOBAL EXTERNAL, con el mismo nombre y valor

En el programa A introduzco el valor " fecha" a la variable y llamo al programa B en el que al solicitar el valor de la veriable declarada en A, no me da ningun resultado.

Cómo hay que 'decíselo' ?
Socavi is offline   Responder Con Cita
  #2
Antiguo 6 de abril de 2022, 16:25
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

Ejemplo para compartir variables entre programas . Declarar las variables en WORKING del mainform.

Program A

Código COBOL:
  1. DATA-WORKING-STORAGE
  2.  01  PROCESO-FECHA  IS EXTERNAL GLOBAL.
  3.      03 FED-DD    PIC 99.
  4.      03 FED-MM  PIC 99.
  5.      03 FED.
  6.           05 FED-SG  PIC 99.
  7.           05 FED-AA  PIC 99.
  8. PROCEDURE       DIVISION.
  9.           MOVE  06 TO FED-DD.
  10.           MOVE  04 TO FED-MM.
  11.           MOVE  20 TO FED-SG.
  12.           MOVE  22 TO FED-AA.

Program B

Código COBOL:
  1. DATA-WORKING-STORAGE
  2.  01  PROCESO-FECHA  IS EXTERNAL GLOBAL.
  3.      03 FED-DD    PIC 99.
  4.      03 FED-MM  PIC 99.
  5.      03 FED.
  6.           05 FED-SG  PIC 99.
  7.           05 FED-AA  PIC 99.
Opened del mainform
Código COBOL:
  1.      display "Fecha Proceso" , FED-DD , FED-MM , FED.

Saludos....
fastpho is offline   Responder Con Cita
  #3
Antiguo 6 de abril de 2022, 17:05
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 02.09.2026 00:15
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

Yo en RM Cobol lo hago igual pero sin GLOBAL.

En los programas que declaro la variable external asi

Código COBOL:
  1.        01 codigo pic x(12) external.
tiene el mismo valor.
JCantero is offline   Responder Con Cita
  #4
Antiguo 6 de abril de 2022, 18:45
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 @JCantero, la declaración GLOBAL es para poder usar esa variable en cualquier section del programa
Saludos.....
fastpho is offline   Responder Con Cita
  #5
Antiguo 6 de abril de 2022, 19:51
Socavi
Forero
Última Actividad 05.07.2022 17:01
Posts Posts: 78
Likes enviados Enviados: 49
Likes recibidos Recibidos: 18

Muchas gracias, @fastpho y @JCantero, se pueden manejar estas variables con los tradicionales MOVE , para situarlas donde decidimos, o solo son visibles con el display ?

Mañana hare las pruebas necesarias para comprobar si las puedo manejar a mi necesidad o necesito un empujon mas.
Socavi is offline   Responder Con Cita
  #6
Antiguo 6 de abril de 2022, 19:55
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 @Socavi, podes darle el uso como a cualquier variable declarada y usar las instrucciones o verbos que quieras .
Saludos ...
fastpho is offline   Responder Con Cita
  #7
Antiguo 6 de abril de 2022, 21:56
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 02.09.2026 00:15
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

Citación del post de fastpho Ver Mensaje
Hola @Socavi, podes darle el uso como a cualquier variable declarada y usar las instrucciones o verbos que quieras .
Saludos ...
Al tener el mismo nombre y misma dimensión es la misma variable en todo el programa y puedes utilizarla en cualquier sitio.

Yo por ejemplo las utilizo mucho para pasar información de un programa a otro sin utilizar parámetros entre programas. De esta forma puedes simular la "sobrecarga de funciones" que tienen lenguajes de programación avanzados y base de datos (c++, c#, java, postgressql [estos son los que conozco y utilizo habitualmente])

---------- Post añadido el 6 de abril de 2022 a las 21:59 ----------

Citación del post de fastpho Ver Mensaje
Hola @JCantero, la declaración GLOBAL es para poder usar esa variable en cualquier section del programa
Saludos.....
Yo hace mucho tiempo que no utilizo secciones.

Antes lo utilizaba por el tema de memoria, pero ahora las he suprimido.
JCantero is offline   Responder Con Cita
  #8
Antiguo 6 de abril de 2022, 22:58
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de JCantero Ver Mensaje
Antes lo utilizaba por el tema de memoria
A ver a ver, interesante esto lo que dices. Cuenta cuenta



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
  #9
Antiguo 6 de abril de 2022, 23:08
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

@JCantero, en powercobol 5.0 que es el que utilizo no podes utilizar una variable que no fue declarada GLOBAL en cualquier parte del programa , en cambio si la declaro GLOBAL la puedo llamar o utilizar desde cualquier parte del programa un boton un procedure un label desde cualquier componente etc
Saludos......
fastpho is offline   Responder Con Cita
  #10
Antiguo 23 de abril de 2022, 22:30
Socavi
Forero
Última Actividad 05.07.2022 17:01
Posts Posts: 78
Likes enviados Enviados: 49
Likes recibidos Recibidos: 18

Amigos, he descubierto casuísticamente un problema, inédito, en este, probablemente último programa a realizar y que me ha tenido muy ocupado buscando y probando diferentes alternativas, total ha sido una constante en los programas que he realizado, el declarar las variables en grupo, me explico:, debajo de la declaraciión:
Código COBOL:
  1. 01 variables global. luego
  2.       02 tal    pic 9(2).
  3.       02 otra pic xx.
  4.       etc, etc

pues tengo un programa que funciona, asi en grupo, sin problema, pero con las variables global external y será casualidad, pero coincide con el cambio de sistema operativo a Windows 11, que por ése motivo, me daba el inexplicable error 22829.
Una vez modificada la declaración en la Working, he podido continuar sin problemas y en esto ando metido.

Gracias a todos los que han intentado ayudarme y aqui dejo mi testimonio, por si con ello puedo ayudar a alguien que se encuentre en una situación parecida.
Socavi 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 15:06.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.