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] Mostrar 2 variables de un archivo JonathanDemons_123 COBOL - General 1 20 de enero de 2024 11:33
[Compilador] Longitud de variables al compilar Begoguay COBOL - General 4 19 de enero de 2023 13:59
[Sintaxis] Leer nombre de archivo y separarlo en variables GAbo248 AcuCobol 3 26 de julio de 2020 19:27
[Sintaxis] Longitud Variables Recato53 Fujitsu COBOL 3 13 de junio de 2020 21:54
[Sintaxis] Variables SET en ficha SYSIN Kuk JCL y utilidades 0 26 de febrero de 2015 14:12

Respuesta

  #1
Antiguo 31 de agosto de 2017, 19:40
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179
Configuración Leer variables en fichero COBOL85.CBR
0 Inactivo Inactivo

Tenho varias variáveis de ambiente no cobol85.cbr do tipo

Código:
MYFILE1=C:\DATA\FILE001.DAT
MYFILE2=C:\DATA\FILE002.DAT
MYFILE3=C:\DATA\FILE003.DAT
...
é possível no cobol ler o conteúdo do que esta em MYFILE1, MYFILE2... ?

Gracias
Jose
Joseg is offline   Responder Con Cita
  #2
Antiguo 1 de septiembre de 2017, 09:10
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, si he entendido bien, quieres leer el contenido de los ficheros MYFILE1, MYFILE2 etc. ¿Qué formato tienen?



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 1 de septiembre de 2017, 10:13
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Kuk Ver Mensaje
Joseg, si he entendido bien, quieres leer el contenido de los ficheros MYFILE1, MYFILE2 etc. ¿Qué formato tienen?
En un programa / form tener acceso al contenido de las variables que se definen en el archivo cobol85.cbr.

Exemplo:
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  Wmyfile1         PIC X(100).
  5.  PROCEDURE DIVISION.
  6.  
  7.     MOVE MYFILE1 TO Wmyfile1        
Ver en Wmyfile1: "C:\DATA\FILE001.DAT"

¿Esto es posible?

Yo sé que el cobol85.cbr es un archivo de texto y podría leer en "LINE SEQUENTIAL", pero tenía que estar siempre abriendo un archivo y cerrar siempre que fuera necesario .


Muitas gracias
Joseg is offline   Responder Con Cita
  #4
Antiguo 1 de septiembre de 2017, 11:49
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, yo no veo ningún problema.

En la WORKING del Form defines:
Código COBOL:
  1.  01  GLB-FILE001   IS GLOBAL PIC X(256).
  2.  01  GLB-FILE002   IS GLOBAL PIC X(256).
  3.  01  GLB-FILE003   IS GLOBAL PIC X(256).

En el evento "Opened" lees tu fichero COBOL85.CBR y alimentas los campos GLB-*. Así durante la ejecución del Form siempre tendrás disponibles los Path hacía tus ficheros de configuración.

Si quieres recuperar el contenido de estos ficheros, después de recuperar sus Path, léelos también en el mismo evento "Opened" y guarda su contenido en variables globales, que deberás definir en el mismo sitio (WORKING del Form).



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
  #5
Antiguo 1 de septiembre de 2017, 12:59
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Kuk Ver Mensaje
Joseg, yo no veo ningún problema.

En la WORKING del Form defines:
Código COBOL:
  1.  01  GLB-FILE001   IS GLOBAL PIC X(256).
  2.  01  GLB-FILE002   IS GLOBAL PIC X(256).
  3.  01  GLB-FILE003   IS GLOBAL PIC X(256).

En el evento "Opened" lees tu fichero COBOL85.CBR y alimentas los campos GLB-*. Así durante la ejecución del Form siempre tendrás disponibles los Path hacía tus ficheros de configuración.

Si quieres recuperar el contenido de estos ficheros, después de recuperar sus Path, léelos también en el mismo evento "Opened" y guarda su contenido en variables globales, que deberás definir en el mismo sitio (WORKING del Form).


Creo que no esta a entender.
El archivo cobol85.cbr es el archivo de configuración del tiempo de ejecución de FujitsuCobol (runtime).
Me gustaría tener acceso al valor de las Variables de este archivo sin tener que hacer:

Código COBOL:
  1. select xpto assign to "cobol85.cbr"
  2.   organization is line sequencial
  3.   access sequential
  4.   status sss
  5. ...
  6. fd xpto.
  7. 01 registo pic x(100).
  8. ...
  9. procedure division.
  10.  
  11. open input xpto
  12.  
  13. read xpto at end ...
  14.  
  15. move registo to xxxxxxxxx
  16.  
  17. *>Procesar aquí el registro...

No sé si conoce todas las potencialidades de este archivo, pero podemos entre muchas otras cosas definir el nombre de los archivos de forma dinámica sin tener que compilar la aplicación.
Por ejemplo:

Código COBOL:
  1. Select myfile assing to infile.

En el archivo cobol85.cbr
Código:
Infile = c: \ data \ mydata.dat
por ejemplo.
Quiero sólo en tiempo de ejecución ver lo que está registrado en "infile".


Gracias
Joseg is offline   Responder Con Cita
  #6
Antiguo 1 de septiembre de 2017, 13:37
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, entonces ¿lo que quieres es evitar hacer lectura por COBOL?

Si es eso, puedes usar un TextBox mulilínea desmarcando "Visible", y hacerle:

Código COBOL:
  1.      INVOKE CmEdit1 "LoadFile" USING "COBOL85.CBR"

Y luego moverlo a una variable WORKING y hacer un bucle para buscar la(s) línea(s) que necesitas.

Puedes sacarlo a una rutina.



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
  #7
Antiguo 1 de septiembre de 2017, 19:01
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Joseg,
Penso que percebi o que pretendes.

Tens que definir em Special Names:
Código COBOL:
  1.          ENVIRONMENT-NAME IS ENV-NAME
  2.          ENVIRONMENT-VALUE IS ENV-VALUE.

Em seguida, na Procedure Division fazes:

Código COBOL:
  1.     MOVE "MyFILE1"  TO VARNAME.
  2.     DISPLAY VARNAME UPON ENV-NAME.
  3.     ACCEPT  TEXTO FROM ENV-VALUE.
  4.     MOVE TEXTO TO "CAPTION" OF CMSTATIC1.

Espero que ajude
Um abraço,
Rui Pinto
Rapinto is offline   Responder Con Cita
  #8
Antiguo 1 de septiembre de 2017, 19:44
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Rapinto Ver Mensaje
Joseg,
Penso que percebi o que pretendes.

Tens que definir em Special Names:
Código COBOL:
  1.          ENVIRONMENT-NAME IS ENV-NAME
  2.          ENVIRONMENT-VALUE IS ENV-VALUE.

Em seguida, na Procedure Division fazes:

Código COBOL:
  1.     MOVE "MyFILE1"  TO VARNAME.
  2.     DISPLAY VARNAME UPON ENV-NAME.
  3.     ACCEPT  TEXTO FROM ENV-VALUE.
  4.     MOVE TEXTO TO "CAPTION" OF CMSTATIC1.

Espero que ajude
Um abraço,
Rui Pinto
É exactamente isso que estava procurando. Eu já usava essa técnica para ler variaveis de ambiente do sistema operativo, não sabia que para o cobol85.cbr era igual.

Muito obrigado a todos os que tentaram ajudar
Joseg 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:28.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.