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
[Compilador] Modificar limitación PERFORM Figu COBOL - General 4 4 de abril de 2020 11:51
[Sintaxis] Equivalente al comando System de RM Cobol apetro PowerCOBOL (ActiveX, v4 - v11) 1 21 de julio de 2016 07:58
[Sintaxis] Ejecutar comando DOS Ciro PowerCOBOL (ActiveX, v4 - v11) 6 6 de febrero de 2016 06:56
[Noticia] Comando Impresion serial Roger PowerCOBOL (ActiveX, v4 - v11) 3 20 de enero de 2016 18:01
[Sintaxis] Falta paréntesis en PERFORM ¿?¿? Josber PowerCOBOL (ActiveX, v4 - v11) 4 9 de junio de 2015 10:15

Respuesta

  #1
Antiguo 5 de enero de 2023, 15:50
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243
Pregunta Comando Perform...
0 Inactivo Inactivo

Hola Amigos:

En otros coboles he visto que hay una instruccion EXIT PERFORM CYCLE. Esto hace que un bucle siga iterando salteando las instrucciones siguientes.

En PowerCobol tendremos algo parecido?

Saludos


Fito....
Fito is offline   Responder Con Cita
  #2
Antiguo 5 de enero de 2023, 16:21
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

@Fito, esto funciona en opencobol, acucobol y rmcobol

No tengo el compilador de powercobol, pruebalo.

Código COBOL:
  1.      ******************************************************************
  2.      * Author:
  3.      * Date:
  4.      * Purpose:
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. YOUR-PROGRAM-NAME.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        01 i pic 99.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             DISPLAY "Hello world"
  16.             perform varying i from 1 by 1 until i = 10
  17.                display i
  18.                if i = 5 THEN
  19.                      exit perform
  20.                end-if                
  21.             end-perform.
  22.             STOP RUN.
  23.        END PROGRAM YOUR-PROGRAM-NAME.
  24.  
JCantero is offline   Responder Con Cita
  #3
Antiguo 5 de enero de 2023, 16:27
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

@Fito, Te refieres a que no se ejecutan las instrucciones del perform, pero éste continúa, ¿no?, o ¿te refieres a salir de un perform?
Josber is offline   Responder Con Cita
  #4
Antiguo 5 de enero de 2023, 16:45
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

@Fito, incluso en el caso de que tengas perform anidados "exit perform" sale del perform que lo contiene

Código COBOL:
  1.      ******************************************************************
  2.      * Author:
  3.      * Date:
  4.      * Purpose:
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. YOUR-PROGRAM-NAME.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        01 i pic 99.
  13.        01 j pic 99.
  14.        PROCEDURE DIVISION.
  15.        MAIN-PROCEDURE.
  16.             DISPLAY "Hello world"
  17.             perform varying i from 1 by 1 until i = 10
  18.                display i
  19.                if i = 5 THEN
  20.                      exit perform
  21.                end-if                
  22.                perform varying j from 1 by 1 until j = 10
  23.                   display '--'
  24.                   if j = 3 THEN
  25.                      exit perform
  26.                   end-if                
  27.                end-perform  
  28.             end-perform.
  29.             STOP RUN.
  30.        END PROGRAM YOUR-PROGRAM-NAME.
  31.  
JCantero is offline   Responder Con Cita
  #5
Antiguo 6 de enero de 2023, 14:21
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola Amigos:

Me refiero a que siga con el otro elemento del bucle, que salte las instrucciones de abajo, no quiero que salga del perform. El EXIT PERFORM en power está.

Saludos....

Fito...
Fito is offline   Responder Con Cita
  #6
Antiguo 6 de enero de 2023, 15:01
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Fito, el compilador de Fujitsu no lo tiene. Debes hacerlo mediante IFs y ELSEs.



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 6 de enero de 2023, 18:05
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Fito, también puedes hacerlo con párrafos y simular el Break del lenguaje C, que es lo que querías en principio:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  idx   pic 9(4) comp-5.
  5.  PROCEDURE       DIVISION.
  6.      
  7.      move 1 to idx
  8.      
  9.      perform loop
  10.         thru loop-exit
  11.        until idx > 10
  12.      
  13.      goback
  14.      .
  15.      
  16.  loop.
  17.      
  18.      if  idx = 5
  19.          add 1 to idx
  20.          
  21.          go to loop-exit
  22.      end-if
  23.      
  24.      display idx
  25.      
  26.      add 1 to idx
  27.      .
  28.  
  29.  loop-exit.
  30.      exit.



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
  #8
Antiguo 6 de enero de 2023, 18:09
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola @Kuk, de forma "casera" lo hago así, pero era por si había una instrucción que me podía clarificar el código, nada más.

De esa manera como decís, es como lo vengo haciendo desde siempre

Saludos

Fito...
Fito is offline   Responder Con Cita
  #9
Antiguo 6 de enero de 2023, 22:57
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Fito, PowerCOBOL no acepta lo que mencionas en tu primer post, esto es seguro. Así que no queda otra que hacerlo como lo hacías siempre.



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