Cobol - Imrimir por llave alterna

 
Vista:

Imrimir por llave alterna

Publicado por JP (4 intervenciones) el 18/10/2002 01:34:53
Hola todos

Tengo un archivo clientes indexado, y con acceso dinamico, el cual tiene como llave principal la cedula del cliente y como llave alterna el apellido del cliente.

Necesito imprimir este archivo pero no por la llave principal si no por la llave alterna, alguien sabe como se hace esto?.
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

RE:Imrimir por llave alterna

Publicado por Rodolfo Levet (23 intervenciones) el 18/10/2002 14:31:17
Hola, antes de empezar a leer el archivo e imprimirlo debes hacer un start del archivo asi:
start archivo key not less than apellido invalid key stop "clavel erronea".
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

RE:Imrimir por llave alterna

Publicado por Ronny (49 intervenciones) el 20/10/2002 14:15:17
Para imprimir por la llave alterna debes leer el archivo por dicha llave haciendo un Start, lo que debes hacer es:
1.- Mover SPACES o LOW-VALUES al campo o llave por el que quieres leer el archivo.
2.- Haces el START del archivo por el campo de llave que quieres leer.
Esto te poseciona en el primer registro del archivo
3.- Lees el archivo con next record.
Las instrucciones serian:
Suponemos que tu llave alterna se denomina APELLIDO
WORKING-STORAGE SECTION.
77 W-EOF PIC 9.
88 FIN-ARCHIVO VALUE 1.
PROCEDURE DIVISION.
000-MAIN.
PERFORM 001-START.
PERFORM 002-CONTINUAR UNTIL FIN-ARCHIVO.
PERFORM 003-END.
STOP-RUN. (o EXIT PROGRAM).
001-START.
OPEN.........
............
MOVE 0 TO W-EOF.
MOVE LOW-VALUES TO APELLIDO.
START TU-ARCHIVO KEY IS GREATER APELLIDO
INVALID KEY MOVE 1 TO FIN-ARCHIVO.
IF NOT FIN-ARCHIVO
READ TU-ARCHIVO NEXT RECORD AT END
MOVE 1 TO W-EOF.
002-CONTINUE.
ARMAR LA LINEA DE IMPRESION.
IMPRIMIR LINEA.
003-END.
IMPRIMIR TOTALES.. ETC.
CLOSE .........
...............
*
Saludos
Ronny

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