1⟩ Can we concatenate fields in physical file? If yes how can we do?
No, we cannot concat fields in Physical File. However, in
logical file, we can concat 2 or more fields together into 1
field. format is..
name concat(fname mname lname)
“IBM DB400 frequently Asked Questions by expert members with experience in IBM DB400. So get preparation for the IBM DB400 job interview”
No, we cannot concat fields in Physical File. However, in
logical file, we can concat 2 or more fields together into 1
field. format is..
name concat(fname mname lname)
By using dspfd command you can find out total on record.
dspfd (libname/filename)
here u can find out total no of records.
1. Through the RPG program, Open Feedback Information of
File Information data structure (INFSR) will give the count
of records in the physical file.
2. Through CL command, Retrieve Member Description (RTVMBRD)
will give the no.of non-deleted records through NBRCURRCD
variable.
We can positioned to nth record in file in CL with the help of OVRDBF command.
Synatax:
OVRDBF FILE(file-name) POSITION(*RRN 11)
This will positioned file on 11th record so RCVF command will read 11th record in file.
If you want to read with key conditioned then we can specify *KEY,*KEYA,KEYAE etc to positioned with key specified in command.
by the use of the cmd UPDDTA Pfname use can enter the data
into the physical file. Note: dn't compile the pf after
entering the data into the pf.
Access Path Maint parameter use *IMMED.
Access path is updated each time a record is
changed, added, or deleted from a member.
If there is any selection criteria in LF then it may be
displaying accordingly. If there is no "Select" or "Omit"
it should display 100 records. Have a look at LF once again.
you'll come to know
whether the record is found. that's all.
but not what(value) is in the record.
if you do a DSPDBR on a
logical file it wont show you the name of the physical file
that it is based on. Rather you need to use DSPFD on the
logical file. DSPDBR on a physical file will show the names
of all the LF files based on that PF.
An access path describes the order in which the rows are
retrieved from a database file. If the rows in the file are
accessed in a physical sequence, that is known as an
arrival sequence access path. If the rows need to be
processed in an ordered manner, then a keyed access path is
needed to sort the data in the specified order. With DB2
for iSeries, keyed access paths are supplied to DB2 by
creating a keyed logical file, keyed physical file, or SQL
index.
An access path and an open data path are used together to
process the rows in a database file.
The open data path (ODP) is the path through which all
input and output operations are performed on a database
file. The ODP is used to connect the requesting program
with the data in the file. As data is retrieved from or
inserted into the file, the ODP will use an access path to
navigate to a row within in the file. If the rows need to
be processed in a sorted owner, then someone will need to
supply a keyed access path by creating a keyed physical
file, keyed logical file or SQL index.
An ODP is created and used each time that a file is opened
or when an SQL statement is executed. There are ways to
have an ODP shared or reused instead of creating the ODP
each time.
Declare the logical file in update mode in the RPG program.
Chain at the record needed to be updated and afer changing
the field value use UPDATE opcode with the record format
name of the LF.The record gets updated
A member is like an Individual file.It is possible to Have
32767 such members within the same PF.Each member added to
the file will exactly get the same record format(
fields,types and KWDS) on the file.This facility is
provided to meet the requirement when many files are needed
to be created with same structure.Here just Create file
once with MAXMBRS(as many reqd) and ADDPFM will do it.Easy
to create and maintain as a single object.Each member is
identified by unique name within file.
Examples : A School has attendance register per class. Each
Class has 4 sections and in all10 classes. Instead of
Creating and maintaining 40 files and scaterred in a
library, one can create a PF and add 40 members in one
object.
Secondly All Physical files created need not necessarily
have members. Some files are created to store field
definitons only and are called field refrence files. They
need not have members.
To Update physical file in RPG use opcode UPDATE.
example
FLF1 IF E k DISK
key1 Setll LF1
READ LF1
UPDATE LF1
Note: Logical file should be simeple logical file. We can't
update physical file with help of Join logical file.
Commitment ctrl is use to save /rollback the group of
chages and Journalling is use to save the changed records
in Jorunal reciver.
Yes, Just put the user library in which you want to create
on top and followed by other library in which physical file
is located.
provided the first library should not have physical file.
Then try to create the logical.
First Add the fields whatever you want
then use CHGPF command
Physical file . . . . . . . . . > MyPf
Library . . . . . . . . . . . MyLib
System . . . . . . . . . . . . . *LCL
Source file . . . . . . . . . . MYSourceFile
Library . . . . . . . . . . . MyLib
Update the Physical file.No need to compile again.
Firstly a Constant cannot be a part of a File field list.
There is no meaning in having a Constant in the Key field.
CHAIN is used for random retrieval from a File. In other
words, whatever value used by programmer in Factor 1/Key
against CHAIN opcode will be used as search/find criteria in
database file. NO VALUE RETRIEVED IN NO CRITERIA MATCH. It
can be well understand, in case of using composite keys.
But in case of SETLL and SETGT, program will return some
value, if any value present in the database/physical file.
CHAIN = Sets pointer on exact value
SETLL = Sets pointer on Lower Limit of the value
SETGT = Sets pointer on Greater Limit of the value
==========================================================
It is recommended, use CHAIN only, if record exist in
database file, instead of SETLL and SETGT, which can be used
otherwise.
one physical file can have more than one logical files.
priamary file is used in rpg program cycle to automatically
read records in a cycle
WRKOBJPDM LIB(KCS) OBJ(*ALL) OBJTYPE(*FILE) OBJATR('PF-SRC')
When you sign-on an AS/400 system, you are interacting with
interactive jobs(e.g.QINTER). The System-jobs which are
presubmitted are called batch jobs(e.g.QBATCH, QSPL, QCMN etc.,)
If u want to know whether a job is in Interactive or Batch,
u can use RTVJOBA command with attribute JOB-TYPE on that job.
if it has a value '1' = Interative; '0' = Batch.
you can change a Batch-job to Interactive-job as long as it
is in JOBQ(by changing the environment on CHGJOB(opt-2)
command to QINTER or QPGMR); once it's active we cannot
change the type.