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 |
This is my Physical file 'EMPS' existing in library "TAMIL1" and its record format is 'EMPRCD" a)its source is R EMPRCD ENO 4 0 ENAME 10 EADD 10 b)The records present in EMPS are as follows ENO ENAME EADD 0001 tamil coimbatore 0002 kumar bangalore 0003 sunder bangalore 0004 arunkumar chennai 0005 pandi hyderabad 0006 santhosh hyderabad 0007 sasi salem 0008 kalai chennai 0009 suresh hyderabad 0010 vijay bangalore 0011 Arul chennai 0012 velu chennai 0013 khan bangalore 0014 praba chennai 0015 praba.p coimbatore 0016 anand ooty 0017 raja erode 0018 sankar erode 0019 vadivel namakkal 0020 anbu chennai 0021 Ajith mumabi c)now i want to select the 'ENAME' field records starting with 'S' for that i have created a RPG program its source code is PGM DCLF FILE(TAMIL1/EMPS) DCL VAR(&MYENO) TYPE(*CHAR) LEN(4) OVRDBF FILE(EMPS) SHARE(*YES) OPNQRYF FILE((TAMIL1/EMPS)) QRYSLT('ENAME *EQ %WLDCRD("S *")') READ: RCVF RCDFMT(EMPRCD) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END)) CHGVAR VAR(&MYENO) VALUE(&ENO) SNDUSRMSG MSG(&MYENO) SNDUSRMSG MSG(&ENAME) SNDUSRMSG MSG(&EADD) GOTO READ END: CLOF OPNID(EMPS) DLTOVR FILE(EMPS) ENDPGM Is this coding correct sir,the program gets compiled,and if i call it it says query running but records are not displayed.please help me out
You have a *USE authority on a Library and *All authority on a file in that Library.Can you change the data in that file?
How to read alternative records in a pf by using rpg?
How do you do indexing in a physical file?
What would be the effect on the field where reverse image, underline and high intensity?
suppose i i am changing / updating record of subfile and i want to change the record in reverse order . means i want to change the bottom record first and so on through readc . how i do it please any one explain .
I have a Physical File name 'File1', which is present in two libraries named 'LIB1' & 'LIB2'. These 2 libraries are listed in the library list. Would like to access data from this file from these two libraries using RPG program. How to do this, any idea?
Given the following code, what is the value of RESULT? DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++ D RESULT S 5 0 C EVAL RESULT = (2 + 3 * 2) ** 2 / 2
Im traying to get out put of this below mention simple logic code.But im geting out of different.(im trying with my laptop trhough my company server. DCL &FIELD1 *CHAR 10 VALUE('TCS AS/400') DCL &FIELD2 *CHAR 10 CHGVAR(%SST(&FIELD2 1 10))(%SST(&FIELD1 10 1) Can you tell me the value of field2 after excuted of CHGVAR command.
In RPG program one file using as a PRIMARY file while running program some of the records reading twice any body know why its happening
3 members in a databasefile .how to read records from all the members?????????
how can we can we the data decimal error?how can we open such file in support