7 dic 2009

CURSO COBOL OS/390. SENTENCIA PERFORM

    LA SENTENCIA PERFORM SE UTILIZA PARA TRANSFERIR EL CONTROL A UNO O MAS PROCESOS PARA DESPUES REGRESAR EL CONTROL A LA SIGUIENTE INSTRUCCION A EJECUTAR.

    EXISTEN 4 FORMATOS PARA EL PERFORM LOS CUALES SON:

        PERFORM BASICO
        PERFORM FRASE TIMES
        PERFORM FRASE UNTIL
        PERFORM FRASE VARYING

    PERFORM BASICO: SE EJECUTA SOLO UNA VEZ PARA PASAR A LA SIGUIENTE INSTRUCCION EJECUTABLE.
        
        PROCEDURE DIVISION.
        000-CONTROL.
            PERFORM 010-INICIALIZAR-VAR.
        010-INICIALIZAR-VAR.
            MOVE ZEROES TO WS-VARIABLE.
         
        PROCEDURE DIVISION.
            PERFORM
                MOVE ZEROES TO WS-VARIABLE
            END-PERFORM.

    PERFORM TIMES: SE EJECUTA EL NUMERO DE VECES ESPECIFICADO.

        PROCEDURE DIVISION.
        000-CONTROL.
            PERFORM 010-CONTAR-DIEZ 10 TIMES.
        010-CONTAR DIEZ.
            COMPUTE CN-CONT = CN-CONT + 1.


        PROCEDURE DIVISION.
            PERFORM 10 TIMES
                COMPUTE CN-CONT = CN-CONT + 1
            END-PERFORM.

   PERFORM UNTIL: SE EJECUTA MIENTRAS LA CONDICION NO SEA CIERTA, PARA QUE SE EJECUTE POR LO MENOS UNA VEZ SE DEBE INCLUIR LA FRASE TEST AFTER ANTES DEL UNTIL.

        PROCEDURE DIVISION.
        000-CONTROL.
            PERFORM 010-LEE-ARCH UNTIL SW-FIN-ARCH
        010-LEE-ARCH.
            READ ARCH
            IF FS-ARCH = '10'
               SET SW-FIN-ARCH TO TRUE
            END-IF.


        PROCEDURE DIVISION.
            PERFORM UNTIL SW-FIN-ARCH
                READ ARCH
                IF FS-ARCH = '10'
                    SET SW-FIN-ARCH TO TRUE
                END-IF
            END-PERFORM.


   PERFORM VARYING: 


        PROCEDURE DIVISION.
        000-CONTROL.
            PERFORM 010-DESPLIEGA VARYING WI-NUM
                    FROM 1 BY 1 UNTIL WI-NUM  10

        010-DESPLIEGA.
            DISPLAY WI-NUM.       

1 comentarios:

J.Vasquez dijo...

Bien útil lo explicado en este blog.
La sentencia PERFORM es una de las mas usadas e importantes en este lenguaje de programación. No aplicarla bien nos ocasiona problemas de calculo, acceso, etc.

Solo quería aportar, mencionando lo referente al párrafo THRU del PERFORM
Es algo que me he encontrado, sobretodo, en programas muy “antiguos”.
Aquí les dejo un enlace al respecto.
Saludos y felicitaciones por el espacio, muy util.

http://www.escobol.com/modules.php?name=Sections&op=viewarticle&artid=20