Ver Mensaje Individual
  #4
Antiguo 7 de mayo de 2015, 16:34
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 02.10.2026 11:51
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

No sé si es ésto lo que necesitas, pero si es así, es más fácil de lo que parece Breew:

Defines en cada una de las WORKING, la tabla en tamaño variable y EXTERNAL

Código COBOL:
  1. 01  TABLA1   EXTERNAL GLOBAL.
  2.      03  TAB1  OCCURS 1 TO 2000 DEPENDING ON IND.
  3.           05  T1                       PIC 9(4).
  4.           05  T2                       PIC X(30).
  5. 01  IND                                PIC 9999 COMP-5 EXTERNAL GLOBAL.
  6. 01  IND1                               PIC 9999 COMP-5.

Pasas los datos a la tabla con un bucle, vamos a suponer que el objeto se llama CMTABLE.

Código COBOL:
  1. INICIO.
  2.      MOVE POW-ROWS OF CMTABLE TO IND1.
  3.      PERFORM VARYING IND FROM 1 BY 1
  4.                   UNTIL IND > IND1 OR IND > 2000
  5.                            MOVE "Text" OF "TableCells" (IND 1) OF CMTABLE TO T1 (IND)
  6.                            MOVE "Text" OF "TableCells" (IND 2) OF CMTABLE TO T2 (IND)
  7.       END-PERFORM.

Y en el otro programa cargas la tabla

Código COBOL:
  1. CARGAR.
  2.       PERFORM VARYING IND1 FROM 1 BY 1
  3.                     UNTIL IND1 > IND OR IND1 > 2000
  4.                              MOVE IND1 TO POW-ROWS OF CMTABLE
  5.                              MOVE T1 (IND1) TO "Text" OF "TableCells" (IND1 1) OF CMTABLE
  6.                              MOVE T2 (IND1) TO "Text" OF "TableCells" (IND1 2) OF CMTABLE
  7.       END-PERFORM.

Lo de ponerle 2000, es porque el objeto TABLE en PWC, no puede tener más de 2000 filas y que TABLA1 lleve un DEPENDING, es para hacer la tabla de tamaño dinámico y que ocupe en memoria lo que tenga que ocupar, ni más ni menos, además que de esa manera nunca te quedarás corto, (ni largo), en OCCURS.

Yo lo veo bastante claro, pero si tienes algún problema para entenderlo, pregunta.

Un saludo.-
Josber is offline   Responder Con Cita