How I can reread the physical file in CL program once the
end of file reached in same CL program.
Answers were Sorted based on User's Feedback
Answer / naga srinivas.kattula
Why u need POSDBF? whether u are checking the record in
first file is in second file?
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / ravikumar
Hi,
we can read this file from end of file now.
but once the cursor reached at the end of file then we can not read it again.
DCLF FILE(FILE NAME) OPNID(E)
POSDBF OPNID(File Name) POSITION(*END)
READ: RCVF OPNID(E)
MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END))
OPERATIONS
GOTO CMDLBL(READ)
END: ENDPGM
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / tthomas
Once the file reaches EOF the file is close.POSDBF wont
work in this case. To be clear no file operations can be
done on the file.
Upto 5 files can be declared in V5R3 with different OPEN
ID's.So u can declare the same file 5 times if u want and
perform different operations until the file reaches EOF.
Hope this info will be sufficient.
| Is This Answer Correct ? | 4 Yes | 5 No |
In V5R4M0 , we can declare 5 files in CL-ILE pgm
DCLF (FILE1) OPENID(OP1_)
DCLF (FILE2) OPENID(OP2_)
DCLF (FILE3) OPENID(OP3_)
DCLF (FILE4) OPENID(OP4_)
DCLF (FILE5) OPENID(OP5_)
DCL &LGL *LGL VALUE('1')
DOWHILE (&LGL = '1')
RCVF (RCDFMT_FILE1)
MONMSG MSGID(CPF0864) EXEC(LEAVE)
OPERATIONS
ENDDO
SIMILAR TO ALL 4 FILES....
| Is This Answer Correct ? | 4 Yes | 5 No |
Answer / jp
Answer no. #11 is correct. Thanks Abhishek. NOthing else
works.
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / abhishek bajpai
Hi All,
Please read the question first. It asks the method to re-
position/re-read the file again after it reached EOF in a
CL. Please dont post answers to prevent it from reaching
EOF :).
Also, u can use a single keyword CLOSE for the same as
described above by me.
Thanks
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / siddhartha
Use POSDBF OPNID(File Name) POSITION(*START) to position
the cursor to the beginning of the file.
| Is This Answer Correct ? | 11 Yes | 20 No |
Answer / skma
I think it can be done by using OVRDBF
Like
OVRDBF FILE(FILE1) POSITION(*START)
Thanks
| Is This Answer Correct ? | 1 Yes | 12 No |
can anybody help me that what is the procedure of debugging the service program?
1.Are there any errors in the following statement?If so then list them.DTAARA is a data area having a field EMP # and EMPNO is a field in the file EMPPF.Which has one record. READ EMPPF IF %FOUND(EMPPF) IN DTAARA EVAL EMP#=EMPNO OUT DTAARA ENDIF
I have one cl program which calls two rpg programs named a & b. I am loading a run time array in Pgm A and the control comes back to cl pgm. i call pgmb and I want to read the runtime array in pgmb which was loaded in pgma. How it can be acheived. I should not use any intermediate file or dataarea to store the loaded values.
are there any useful c runtime apis that I can call from rpg iv?
Suppose we have one database file and it is used by 5 programs and in 3 program we have to add some records in datbase file s what is the impact on other program?
Suppose i am having 3 programs PgmA,pgmB,pgmC and using source debugger. At debugging time i found that pgmC having some code error..then in debug mode directly how can i debug pgmC
What hapens when we use CPYF command to copy a LF? On which PF will it be dependent???
A pgm subroutine calling child subroutine, that child subroutine again calling parent subroutine, u have 1000 lines of code, with out debugging , how can u find that error??? Is there any command to find errors in pgm???
what is the difference between the cpyf command crtdupobj command?
How to update only a field of a PF in an RPG program. I don't want to update the record, only one field.
RETRIVING DELETED RECORDS :- I'm frequently asked how to retrieve deleted records from an unjournaled physical file when the deleted records have not yet been removed from the file. Utility UNDEL lets you undelete records in a physical file. This public domain program is available in CISC and RISC versions, and the complete source code is available for download at: UNDEL for AS/400 Save File (RISC): http://www.as400network.com/sharewarefiles/undelris.zip UNDEL for AS/400 Save File (CISC): http://www.as400network.com/sharewarefiles/undel.zip UNDEL for AS/400 Save File (Source code): http://www.as400network.com/sharewarefiles/undelsrc.zip The utility takes advantage of the fact that deleted records in physical files are only flagged as deleted, and the record data still exists until it is overwritten or the file is reorganized with a utility such as RGZPFM. UNDEL simply reads the deleted record, then reuses the record by writing over it with the new record (thus eliminating the flag for the deleted record). Some homegrown and commercial utilities copy the file containing undeleted records to a save file, then use a program to read the save file, which contains live and undeleted records, to a file to undelete the records. The UNDEL utility is superior to the SAVF technique because there's no need to copy the file to a save file, which is especially important for really large files. When run, UNDEL displays the physical file records in their unformatted, raw text form. You can either position the display to a given relative record number or use F19 or F20 to find the previous and next deleted record, respectively. The utility also includes online help, which is almost unheard of for free utilities. Other utilities include the ability to undelete records. You can use the RTVDLTRCD command in the old QUSRTOOL (no longer supported by IBM). QUSRTOOL is now a commercial product called TAA Productivity Tools ( http://www.taatool.com ). The free file editor WRKDBF has a built-in undelete capability ( http://www.wrkdbf.com ), and several commercial file editors can undelete records. For a complete list of file editors, go to http://www.sourcebook400.com, select "Programmer Tools" under "Product Category," then select "File Editors."
What are different ways to pass data between programs and which one is the efficient way?