Cobol - ESTRUCTURA DISTINTA DE UN PROGRAMA COBOL

 
Vista:
Imágen de perfil de Jorge Antonio

ESTRUCTURA DISTINTA DE UN PROGRAMA COBOL

Publicado por Jorge Antonio (6 intervenciones) el 20/03/2023 15:46:07
Hola queridos Amigos y Colegas, estoy aquí nuevamente para compartir una inquietud muy especial en cuanto al tipo de escritura de un programa cobol, si, tipo de escritura, y pasare a explicar el tema.

En una escritura normal de un programa y dependiendo del dialecto cobol que se use como compilador, la forma estándar o básica o de reglamento si se puede decir así seria la siguiente (Ejemplo simple)

DATA DIVISION.
WORKING-STORE SECTION.
01 CAMPO1 PIC 9(01).
01 CAMPO2 PIC 9(01).
01 CAMPO3 PIC 9(01).
01 CAMPO4 PIC 9(01).
01 CAMPO5 PIC 9(01).


PROCEDURE DIVISION.
MOVE 1 TO CAMPO1.
MOVE 1 TO CAMPO2.
MOVE 1 TO CAMPO3.
MOVE 1 TO CAMPO4.
MOVE 1 TO CAMPO5.
DISPLAY CAMPO1.

EXIT PROGRAM.


Ahora, el tema es el siguiente, debido a que uno quiere ahorrar linea de programación, o achicar el programa cobol para tener menos lineas así pueda ser compilado con mas instrucciones y menos lineas se haría esto:

DATA DIVISION.
WORKING-STORE SECTION.
01 CAMPO1 PIC 9(01). 01 CAMPO2 PIC 9(01). 01 CAMPO3 PIC 9(01).
01 CAMPO4 PIC 9(01). 01 CAMPO5 PIC 9(01).


PROCEDURE DIVISION.
MOVE 1 TO CAMPO1. MOVE 1 TO CAMPO2. MOVE 1 TO CAMPO3.
MOVE 1 TO CAMPO4. MOVE 1 TO CAMPO5.
DISPLAY CAMPO1.

EXIT PROGRAM.


Que opinan de esto?, déjeme contarles que Yo, puedo hacer esto usando Micro Focus Cobol, creo que hay una instrucción o paramento o algo que le indica al lenguaje que interprete una linea conteniendo varias instrucciones y no solo una. Siempre aprendimos que en cada linea va una definición de variable o archivo o tabla y también un procedimiento por linea, pero como vemos aquí,
en una linea hay varias definiciones y procedimientos, como fije antes, En Micro Focus Funciona y muy bien, esto me ayudo a crear programas mas grandes, con mas contenido de definiciones y procedimientos y a la vez con menos lineas o renglones para compilar.

La pregunta iría dirigida a todos los demás lenguajes o mejor dicho a todos los dialectos de cobol, como AcuCobol, RmCobol, IbmCobol, etc, etc, etc.
Mas en particular me gustaría saber si en AcuCobol se puede indicar de algún modo mediante paramentos o condiciones al compilador o al entorno para que interprete esta forma de trabajo, actualmente dan error al compilar.

Seria bueno que hagan pruebas con sus lenguajes y comenten que descubrieron y si encuentran o saben como hacer que los demás dialectos interpreten esto comenten , es importante conocer este tema y compartir con los demas.
Atte Jorge.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de SuprIndio
Val: 32
Ha mantenido su posición en Cobol (en relación al último mes)
Gráfica de Cobol

ESTRUCTURA DISTINTA DE UN PROGRAMA COBOL

Publicado por SuprIndio (35 intervenciones) el 21/04/2023 20:59:37
Bueno yo no creo la cantidad de lineas de codigo se aun verdadero problema, mucho menos en working,
La mayoria de los problemas se dan cuando hay algoritmos rebuscados o codigo repetido o mal estructurado o desordenado
Eso no funciona en OpenCobol ni en RM ni DIGITAL, ni IBM, espero que no tengas que migrar nunca a esos compiladores porque ahi si que te veo en figuritas
Prefiero aplicar Buena Logica o la mas simple, Orden y ESTILO

En el viejo Ms-Cobol existia algo que era genial genial pero no recuerdo cual es la sentencia que funcionaba como una macro
y redefinia las palabras reservadas y se ponia en las primeras lineas con el signo $SET algo asi era no lo recuerdo bien pero con eso
se podia redefinir las palabras reservadas del lenguaje
la palabra PERFORM por PF
la palabra VARYING por VY
la palabra MOVE por MV
la palabra CORRESPONDING por CORRE
o cualquier palabra reservada, eso si era un golazo pero era solo de ese compilador

En opencobol y TinyCobol se puede usar el area A desde la columna 2 y la columna 1 se usa como columna 7 con solo definir:
1
DEFAULT-SOURCE-FORMAT=FREE
en el archivo HtCobolRc eso tambien es algo bueno porque algunos compiladores tambien la estan tomando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar