how we retrieve records without using key field (ex:name)
from Physical File through RPG in as/400?
Answers were Sorted based on User's Feedback
Answer / kumar vikas
Ffile1 I F E DISK (no keyfield is given)
C
C *start setll file1
OR
C 1 setll file1
C
C read file1
C dow not %eof
C id dsply
C name dsply
C read file1
C enddo
| Is This Answer Correct ? | 15 Yes | 1 No |
Answer / ttom
Read the file till EOF and check field values using a
condition in a the loop.
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / anand
but atleast there should be a keyfield to perform setll right ?
| Is This Answer Correct ? | 5 Yes | 5 No |
Answer / sujit kumar biswal.
Witout key u can use either SETGT or SETLL.And witought key
these two opcodes work only folloing conditions.
1.U can spesify any sequence no in factor1
2.Also *hival is work with it.
3.Field name work but only for intiger.
so code ur programe as answer4,but just change the *loval
to any sequence no or *hival then readp or any int field
one ex.
F PF/LFNAME IF E DISK
C *HIVAL SETLL RECORDFORMATNAME/PROG.NAME
C DOW %EOF
C READP RECORDFORMATNAME/PROG.NAME
C FIELDNAME1 DSPLY
C FIELDNAME DSPLY
C ENDDO
C EVAL *INLR=*ON
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ak
use chain and put factr1=rrn number (line number)
and u hit the dirct
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / gk
We can read the records from the file directly without any
key field.
*LOVAL SETLL XXXX
READ XXXX
Put it in the DO loop and check for the EOF.
Hope you have got the answer.
| Is This Answer Correct ? | 9 Yes | 11 No |
Answer / ld123q44
The question is how you retrieve records from externally
defined files without using a key.
You can do this by designating the file as a primary file in
the program.
| Is This Answer Correct ? | 0 Yes | 4 No |
Answer / syam
Yes, You can retrieve records from External Physical File
with key.
1.Specify PF as a program described file in RPG Program.
FFilNam IF F 80 6AIDISK KEYLOC(7)
(80=Record Lenght, 6=Key Lenght, (7)=Key starting
position)
2. IFilNam KD 01 1 C0 2 C1
I 7 12 NAME
(KD=Sequence,01=Record Id,1&2=Starting position,C=Any
Character,0=Value. Means In my file each record is having 1
and 2 posion = 01 to identify record, 7 to 12 =Name)
3.C MOVE 'SYAM' NAME
C 'SYAM' CHAIN FilNam
C N41 MOVEL NAME CUSNME
C 41 MOVEL *BLANK CUSNME
Try this code.
| Is This Answer Correct ? | 4 Yes | 10 No |
HOW TO DEBUG A BATCH JOB WHEN IT IS IN MESSAGEWAIT(MSWG) STATUS.I KNOW THE STEPS FOR BATCH DEBUGGING,BUT IM CONFUSING WITH WHEN WE SUBMIT ANY JOB FOR BATCH DEBUG WE PUT IN HELD STATE.SO HERE ALSO DO SAME THING OR ANY OTHER WAY,PLEASE HELP ME....
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.
1.What is referential Integrity? 2.What is Foreign Key? 3.What is Transfer Control? 4.What is Free format?
can I touch the array during treatments?
I have learnt through Net that Debugging a Batch job involves 1. Submit the job with the HOLD (*YES) parameter: SBMJOB HOLD(*YES) or Hold the job queue that before submitting the job by using the HLDJOBQ command. 2. Determine the job name, user, and number of the submitted job by using the WRKSBMJOB command. 3. Type the Start Service Job command on your screen: STRSRVJOB JOB(job name/user/number) 4. Type the Start Debug command on your screen: STRDBG 5. Release the job in the jobq. Type WRKSBMJOB and then put a 6 beside the job to be released and press enter, or, if the job queue was put on hold, release the job queue with the RLSJOBQ command. 6. A display appears when the job is ready to start, saying that you can now begin debugging the job. Press F10 to show the Command Entry display. 7. Now you can start debugging by entering an Add Break Point command: ADDBKP 8.ENDDBG 9.ENDSRVJOB I tried this for RPG/400 Program and up to six steps of the above it's ok,but for me no source is displayed and i typed DSPMODSRC in Command line but still i can't see the sourceif i press F.10 and enter command ADDBKP i don't know how to add break points through it,usually i add break points using F.6 for Interactive job debugs,but since this is batch i don't know sir,Please help me out. I was asked this question in a interview,i know only RPG/400 and i’m asking for debugging of RPG/400 program only sir. or is it only possible to debug BATCH RPG ILE JOB and it is not possible to debug BATCH RPG/400 JOB kindly help me out sir
Can any one plz explain the concept of INFSR, *PSSR, INFDS AND PSDS, I' confusing about PSDS and *PSSR, Wat is the difference btw them, wat PSDS will do????
I am reading a file in CL program. and MONMSG CPF0864 has arrived means EOF has arrived. Now i want to read this file again. How i can do this?
5 Answers CitiGroup, Symphony,
What is the difference between RPG/400 and RPG4
I have two sessions S1 & S2 under this 3 jobs(say j1,j2,j3 under session S1) And 2 jobs(Say j4, j5 Under session S2)is running. How many QTEMP & how many LDA will create for the same.
When will DUMP & DEBUG be ignored?
Mr.Sidc sirfor my question{how to convert date format from one format to another i think in CL/400 its CVTDAT,Please tell in RPG/400 sir not in RPGILE} you have answered using MOVE opcode,can you illustrate me with a small example sir very kind of you.
Why we cannot call a service program? If I add a PEP can i call the service program?