How can read PF in reverse order (end to start) in CL pgm..
Answers were Sorted based on User's Feedback
Answer / shyam
Use OVRDBF Share(*yes)
Use the Openqry file by specified the values on opnqry file
Key field . . . . . . . . . . *NONE
Key field order . . . . . . . *DESCEND
now read file using RCVF command.
| Is This Answer Correct ? | 26 Yes | 11 No |
Answer / kavitha
POSDBF (*END) points to last record, wont the RCVF command sets on EOF indicator?
| Is This Answer Correct ? | 11 Yes | 7 No |
Answer / harkesh
you can read a physical file in DESENDING ORDER. You can
first sort the physical file in decending order through
OPNQRYF using KEYFLD. This will sort your PF in decending
order based on your key field and then do the RCVF on this
file.
But for this you first need to do OVRDBF on the file.
THIS IS ONLY THE WAY ON THE WE CAN READ PF IN REVERSE ORDER
BUT FOR THIS FILE SHOULD BE KEYED FILE.
ANOTHER WAY FOR THIS ON THE BASIS OF RRN. FIRST FIND OUT
TOTAL NO OF RECORD USING RTVMBRDSC COMMMAND IN CL PROGRAM.
THEN MOVE TOTAL NO TO RRN. THEN BY USING OVRDBF COMMAND SET
POINTER ON THE BASIS OF RRN. AND IN LOOP ON THE BASIS OF
RRN. LIKE
LOOP: OVERDBF FILENAME POINTER = &RRN
IF RRN NOT = 0
RCVF RCDFMTNAME.
RRN= RRN-1.
ELSE
ENDPGM
END-IF.
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / sumit gupta
We can not read a pf in reverse order in CL/CLLE. As POSDBF
only set the pointer to *START or *END and once you set it
to *END and then do the read operation, end of file will
reach and there is not such condition(MONMSG) through which
you can read the pf in reverse order.
you can read a physical file in DESENDING ORDER. You can
first sort the physical file in decending order through
OPNQRYF using KEYFLD. This will sort your PF in decending
order based on your key field and then do the RCVF on this
file.
But for this you first need to do OVRDBF on the file.
| Is This Answer Correct ? | 9 Yes | 7 No |
Answer / suresh
Since the requirement is to Read from end to start, the
parameter *END should be provided to Position.
The statement should look like:
POSDBF OPNID(file name) position(*END)
| Is This Answer Correct ? | 16 Yes | 15 No |
Answer / amit
See Opnqryf is the right answer. Use the keyfield as told
by others. But it is not necessary to overide the file.
| Is This Answer Correct ? | 0 Yes | 0 No |
How to declare the more than one file in cl/400.
What you have to do in the display file when you are using message subfile?
wat is meant by hidden field , why it is used?
1. If my rpg program has a date field, What extra care I have to take while compiling that RPG program? 2. If the file is keyed and I have declared the file as well as Key list properly in my program. Still am getting an error message like "Chain/reade operation is not allowed" What may be the case?
How to index LF by relative record no (RRN)
what are the array operations?
how to display all the members records in a physical file without using ovrdbf?
Can more than one subfile record be displayed on one line?
3 members in a databasefile .how to read records from all the members?????????
How to update only a field of a PF in an RPG program. I don't want to update the record, only one field.
2. Which of the following statement(s) explains the difference(s) between the /INCLUDE and ICOPY directives? a.) No difference, they function the same b.) ACOPY cannot be used as a conditional directive c.) IINCLUDE files cannot contain embedded SQL d.) Nesting /TNCLUDE directives is not allowed
What are the values of NUM1 and NUM2 after executing the following code? CLONO1NO2NO3 Factorl÷÷+OpcdeFactor2+÷+ResultLenDHHiLoEq C MOVE *LOVAL NUM1 50 C MOVE *J-fIVAL NtJM2 52