How to read the last 100 records from a COBOL file. The file
contains N number of records.
Answers were Sorted based on User's Feedback
Answer / santy
let consider,
First declear 2 count variables A,B.
first count all the records i.e. N and put it into A
varialbe.
compute statement B=A-100, i.e. B=N-100
now again use the read-para untill condition B=A
and in read para incrased the value of B=B+1 after each
read.
| Is This Answer Correct ? | 19 Yes | 3 No |
Answer / mobi and remya
PROCEDURE DIVISION.
PARA.
OPEN INPUT STUDFILE.
PERFORM PARA1 UNTIL EOF = 1.
DISPLAY 'TOTAL NO:OF RECORDS ' A.
COMPUTE B = A - 100.
MOVE 0 TO EOF.
CLOSE STUDFILE.
OPEN INPUT STUDFILE.
PERFORM PARA2 UNTIL EOF = 1.
CLOSE STUDFILE.
STOP RUN.
PARA1.
READ STUDFILE AT END MOVE 1 TO EOF.
COMPUTE A = A + 1.
PARA2.
READ STUDFILE AT END MOVE 1 TO EOF.
COMPUTE C = C + 1.
IF C >= B AND EOF NOT = 1
DISPLAY STUD-REC.
| Is This Answer Correct ? | 16 Yes | 0 No |
Answer / bibhuti swain
PROCEDURE DIVISION.
PARA.
OPEN INPUT STUDFILE.
PERFORM PARA1 UNTIL EOF = 1.
DISPLAY 'TOTAL NO:OF RECORDS ' A.
COMPUTE B = A - 100.
MOVE 0 TO EOF.
CLOSE STUDFILE.
OPEN INPUT STUDFILE.
PERFORM PARA2 UNTIL EOF = 1.
CLOSE STUDFILE.
STOP RUN.
PARA1.
READ STUDFILE AT END MOVE 1 TO EOF.
COMPUTE A = A + 1.
PARA2.
READ STUDFILE AT END MOVE 1 TO EOF.
COMPUTE C = C + 1.
IF C >= B AND EOF NOT = 1
DISPLAY STUD-REC.
If anybody doesn't understand this logic i can explain..
In PARA2 the file is read from the beginning and the moment
the value of C reaches the value of B i.e value of C = B
and then it will satisfy the condition IF C >= B and from
there it will start displaying the records till end.
| Is This Answer Correct ? | 14 Yes | 1 No |
Answer / m.rajasekaran
Hi Mobi and Remya,
logic is correct
But in PARA2 u have coded that COMPUTE C = C + 1, How it
will work?
You should have moved B to C after calculating the value
of B in PARA1.Then only this code will work.
Let me know if any mistake in my answer.
| Is This Answer Correct ? | 6 Yes | 2 No |
Answer / giri12
Hi Santy in ur answer u mentioned that..
read-para untill condition B=A
Can you please explain it. Coz B=900 and A=1000(assume)
then how will be 900=1000?
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / venkat
in my view if it is a ksds cluster file use organization as
dynamic and accept the related value start reading the file
and write it..i think this will display the last hundred
records..
correct me..
venkat
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / guest
First move HIGH-VALUES to the key field and then read the
file.It will read the last record then put READ PREV in
loop 100 times to get the last 100 records.
| Is This Answer Correct ? | 4 Yes | 4 No |
Answer / heeraj r
Pls post the correct question. I am not sure what you mean
by COBOL file, is it PS or VSAM or Tape etc etc? If you
want last 100 records of a file use below SORT JCL, and if
required that output file can be read in your COBOL.
//S1 EXEC
PGM=ICETOOL
//TOOLMSG DD
SYSOUT=*
//DFSMSG DD
SYSOUT=*
//IN DD DSN=... input
file
//OUT DD DSN=... output file
//TOOLIN DD
*
SUBSET FROM(IN) TO(OUT) KEEP INPUT LAST(100)
/*
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / kingmanish
question is ambiguous.
Could you please explain what do u mean by cobol file?
PLease specify what type of file??? Flat file? VSAM ??
| Is This Answer Correct ? | 0 Yes | 0 No |
how do u indetify files succesfully executed or not ?
How to convert bunch of words in a line to relvant ASCII values?
what is the use of filler in cobol programing?
How do you sort in a COBOL program? Give sort file definition, sort statement syntax and meaning.
Name the sections present in data division.
Explain how to differentiate call by context by comparing it to other calls?
HOw can I get the negative sign while deduct high value from low value
hi dudes.....can any one help me..... what is SET TO TRUE all about,anyway?
study the following code 01 A1 05 B PIC 99 05 C PIC X(4) 01 A2 05 B PIC 99V99 05 C PIC A(4) pick out the valid statement from the following a.A1 and A2 can not have sub-ordinates b.A1 and A2 can have the same sub-ordinates but must have same PIC clause c.there is nothing wrong d.A1 and A2 can have same sub-ordinates provided they are not at 01 level
how do you reference the rrds file formats from cobol programs
how to create temporary data set in jcl? what is the use?
3 Answers Cap Gemini, Temenos,
What are subroutines ? and how do we pass data to the sub routines?