You are on page 1of 64

Frequently asked Questions in AS/400

1. Define a shared access path?


To share the open data path by various programs in a same job.

2. What is the difference between array and a multiple occurrence data structure?
The values stored in array don’t vary. In the other hand, we can store the
Different values in same variables at various stages.

3. What is *INZSR used for?


It is special type of RPG/400 subroutine, which is executed automatically
at beginning of the program. It is a good place to code initializes the variables.

4. How can you execute a command from within an RPG program without calling a CLP program?
By calling QCMDEXC application program interface we can execute a CL command with in an
RPG program.

5. What is the purpose of the "N" in the following calculation specification?


C KEY CHAIN FILE N 99

If you specify 'N' in 53rd position, the record will not be locked if you try to read the locked
record. It is a way of avoiding the record lock.

6. Which of the following operations does NOT zero the field FLDA defined as 4,0?

C MOVE *ZEROS FLDA


C Z-ADD *ZEROS FLDA
C Z-ADD 0 FLDA
C MOVE *ALL'0' FLDA
C SUB FLDA FLDA
C MOVE '0000' FLDA
C CLEAR FLDA
C MOVE *BLANKS FLDA

The last instruction does NOT zero the field FLDA.

7. How can you check for a records existence without causing and I/O (CHAIN/READ)?

With the help of File Information Data Structure, we can check existence of records in a physical
file. The code is described below:
In File description continuation line (IPFK),

KINFDS RCDS

IRCDS DS
I *RECORD #RCDS

with the above code we can check the existence of records in a file without causing I/O
operation.

8. Define what a data area is along with a brief example of what it may be used for?

Data area is a storage area to store limited information.


Example: a new and unique customer number is generated whenever a new customer is added
to customer master file. Data area keeps track of last record added and add 1 to it. Through
program we can access new customer number.

Frequently Asked Questions in AS/400 Page 1


9. Define what a data queue is along with a brief example of what it may be used for?

Data queues provides communication between programs by calling API's QSNDDTAQ and
QRCVDTAQ along with parameters like data queue name, library in which data queue exists,
variable to store the number of characters to be sent. We can send the same data queue to the
many programs.

10.What is the purpose of the following?

I 'CLOSED' C STAT01
I 'OPEN' C STAT02

It is a type of initializing the variables in I-spec. and these are further used in C-spec.

11.What is the difference between UDATE and the system date?

UDATE supports two-digit year. The format is *MDY (MMDDYY).


*DATE (system date) supports four digit year. The format is *MDYY (MMDDYYYY).

12.List some of the commonly used commands for debugging

STRDBG(for batch jobs), STRISDB.

13.Define the RCVF command?

RCVF command used to receive the records either from the data base file or device file.

14.Define the purpose of the %SST function?


To extract the information from the specified string.

15.Define the purpose of the *CAT function?


To concatenate the two strings into a one string.

16.Define the purpose of the *BCAT function?


To concatenate the two strings by placing a single blank in a resultant.

17.Describe the difference between the DOWxx and DOUxx operations?

DOWxx : If the condition becomes true, then only the group of instructions allowed executing.
DOUxx : Irrespective of condition, it will execute at least one time.

18.Define the purpose of the LEAVE operation?

If you specify LEAVE, the control transfers to the statement below the ENDDO.

19.Define the purpose of the ITER operation?

If you specify the ITER, the groups of statements are allowed to execute repeatedly.

20.List the steps/commands necessary to accomplish the following:

Frequently Asked Questions in AS/400 Page 2


a. Copy data from the file ORDHDR into file ORDHIST
b. The file ORDHIST may or may not exist
c. If the file ORDHDR does exist, it may or may not contain data
d. The file ORDHIST may or may not contain data, if the file does
contain data the old data should be erased

Commands: a. CPYF FILE(ORDHDR) TOFILE(ORDHIST)


b. CPYF FILE (ORDHDR) TOFILE (ORDHIST) CRTFILE (*YES)
c. CPYF FILE (ORDHDR) TOFILE (ORDHIST) *ADD
d. CPYF FILE (ORDHDR) TOFILE (ORDHIST) *REPLACE

21.What is the purpose of the following?

FORDHDR1 IF E K DISK
ORDHDRF KRENAMEORDHDRF1

In order to rename the record format of a data base file in a program,


we can use the above steps. Purpose of renaming is: If the record format name is similar in
two files and if both are used in a same program, the program will not compile. Hence we have
to rename either of the file.

22.What is the purpose of the following

C/COPY QRPGSRC,ORDERR

During the compilation the source code of ORDERR copy book is copied into the
existing program. Where as /COPY is compiler directive statement.

23.What is the purpose of the following

FORDHDR1 CF E WORKSTN
$2SFN SFILE FMT2

The above line indicates that, $2SFN is a relative record number and FMT2 is name of the
subfile record format.

24.What is the purpose of the following

I UDS
I 1 60ORDER#
I 7 90LINE#

The purpose is to define the variables in I-Spec and these are further used in C-spec. Where as
‘U’ indicates data area data structure? The above code is used to update the data area
value through the program. The letter "U" indicates that the defined data structure is a data
area data structure.

25.What is the purpose of the following?

A CSRLOC (F1ROW F1COL)

Using this record level keyword, you can specify cursor location on an output operation to the
record format you are defining. The program sends output after setting the cursor
location.

Frequently Asked Questions in AS/400 Page 3


26.What is the difference between SFLCLR and SFLINZ?

SFLCLR : It clears the subfile.


SFLINZ : First it clears the subfile and initiliazing the numeric variables with zeros and
alphanumeric variables with characters.

27.Define the purpose/use for SFLRNA?

Using this, we can make specified subfile record format inactive.

28.Define what the operation will do, the purpose of the result field and the purpose of *IN66?
HI LO EQ
C CALL 'CVTDAT' DTPRM 66

The above statement causes, call the program and pass the parameter.

29.Define each of the following operation codes

a. READ To read the records sequentially.


b. READE To read the equal key records
c. READP To read the previous records
d. READC To read the records from the workstation file (Subfile).
e. REDEP To read the equal key previous records.

30.Define the purpose of the following code (If you know, how would this be written in RPG ILE)
HI LO EQ
C *IN66 DOUEQ *OFF
C KEY1 CHAIN FILEA 90 66
C 66 CALL PGM1 PRM
C ENDDO

Whenever the indicator *IN66 becomes *OFF, the control transfers after ENDDO statement.
Otherwise, it reads the records from the data base file based on indicator specified on HI
position. If the specified indicator on LO position becomes *OFF, then only CALL statement will
execute.

31.How do you set the keywords SFLSIZ and SFLPAG if you want the subfile to dynamically expand?

SFLSIZ > SFLPAG.

32.When would you use or not use this approach?

It is the most desirable method in building a real time applications. We can use at all the
times.

33.How can you detect and handle a record lock situation?

If you try to read the locked record, we can get system defined message i. e. , the program
will ended abnormally. With the help of File Information Data Structure we can handle record
lock situation. Generally it will happen, when the same file of type " U" used in different
programs.

34.How can you detect overflow for a print program that prints multiple lines per cycle?

Frequently Asked Questions in AS/400 Page 4


You specify the indicators OA through OG and OV in 33 - 34 columns in a printer file. This
indicator automatically set on whenever overflow occurs on a type of page.

35.How would you design the process for a nightly, high volume check producing process that needs to
select only records that are flagged to be processed?

With the help of OPNQRYF Clp command, we can select the records from the data base file. The
process involves following steps:

Steps: 1. OVRDBF with SHARE (*YES)


2. OPNQRYF
3. CALL the program
4. DLTOVR
5. CLOF

36.How would you join 3 separate fields, a first name, middle initial and last name together as 1 field
with proper spacing? You can describe in either RPG and/or RPG ILE (Integrated Language
Environment)

MOVE 'Dr. ' FNAME 3


MOVE 'JOHN' MNAME 4
MOVE 'WATSON' LNAME 6
FNAME CAT MNAME: 1 VAR1 8
VAR1 CAT LNAME:1 VAR2 15
DSPLY VAR2
MOVE *ON *INLR

37. When PGMA calls PGMB for the first time PGMB executes the *INZSR. PGMB uses the
RETRN operation to return to PGMA. When PGMA call PGMB the second time is the *INZSR
executed?

If you specify RETRN in called program, the *INZSR will not execute again.

38. Show 2 ways to convert a date from YYMMDD to MMDDYY (MULT operation not acceptable)

1) CVTDAT DATE() RTNVAR( ) FROMFMT( ) TOFMT( )


Source code is required to convert from one date format to another date format.
The source code in CLP is given below:

PGM
DCL VAR(&VAR1) LENGTH(6) TYPE(*CHAR) VALUE('YYMMDD')
DCL VAR(&RCVD) LENGTH(6) TYPE(*CHAR)
DCL VAR(&VAR2) LENGTH(4) TYPE(*CHAR)
DCL VAR(&VAR3) LENGTH(2) TYPE(*CHAR)
CHGVAR VAR(&VAR2) VALUE(%SST(&VAR1 3 4))
CHGVAR VAR(&VAR3) VALUE(%SST(&VAR1 1 2))
CHGVAR VAR(&RCVD) VALUE(&VAR2 *CAT &VAR3)
SNDMSG MSG(&RCVD) TOUSR(*USRPRF)
ENDPGM

39. Determine the value of the result field

a. Cost = $110. 00
b. Tax = 20%

Frequently Asked Questions in AS/400 Page 5


c. MarkUp= 05%
d. Sale = 10%

C Eval TotalCost = ((Cost * MarkUp) * Tax)) - Sale


= 1. 0$

40. Define the purpose of Factor 1 the Operation Code and *IN15 in following code
HI LO EQ
C *YMD Test(D) yymmddDate 15

If the factor 1 value matches with factor2 value, the indicator specified in EQ comes *ON.

41. Describe the function of SETLL operation in RPG language?

The SETLL operation positions a file at the next record with a key or relative record
number that is greater than or equal to key or relative record number specified in factor1.

42. Describe the function of SETGT operation in RPG language?

The SETGT operation positions a file at the next record with a key or relative record number that
is greater than key or relative record number specified in factor 1.

43. What is the purpose of Level Check parameter in a Physical file?

Specifies whether the level identifiers of the record formats in the physical file are checked
when the file is opened by the program.

44. Define a Job Queue?


Job queues are queues of batch jobs waiting to be processed.

45. Define a Output Queue?


Output queues are queues of jobs waiting to be printed.

46. What is the function of CPYSPLF command?


It copies the spooled file to the data base file.

47. What is the function of CPYF command?


To copy the data from the one file to another.

48. What is the function of CRTDUPOBJ command?


To create the replica from the original object.

49. Define Subsystem?


Subsystem is nothing but it provides specialized environment to complete the execution of jobs.

50. What are different types of Substems?


QBATCH, QINTER, QSPL, QCMN, QCTL, QBASE.

51. Define a Batch Job?


* A user request the job.
* The job is created (job name is assigned, job attributes are allocated)
* The job is placed on a job queue

Frequently Asked Questions in AS/400 Page 6


* The sub system QBATCH takes the job from job queue and starts it.
* Output generated by the batch job is placed on an output queue.
* The spool sub system prints the output on the output queue.

52. Describe about Query/400?


Query/400 is a licensed program that uses a query to analyze and select the information
contained in the data base files and create a query report.
A query report can be:
* displayed on a workstation (screen)
* printed
* stored in another database file.

53. What is the CLP command to access a Query/400?


WRKQRY

54. Purpose of Overrides?


The basic purpose of Overrides is to temporarily change the attributes of a file. So you don't
have to create permanent files for every combination of attributes your application might need.
Overrides gives you the flexibility to use existing model files and dynamically change their
attributes.

55. Define Data Structure?


Data structures are specified in the Input specifications of an RPG/400 program to define an area
in storage and layouts of related sub fields.

56. What is the purpose of Data structure?


* Divide a field in to sub fields
* Change the format of a field
* Group non-contiguous data in a contiguous format
* Define an area of storage in more than one format
* Define Multiple occurrences of data structures.

57. List and explain the different type of data structures?


* Data area data structure
When the data area is defined in an RPG/400 program as a data area data structure, its data is
implicitly retrieved for processing and written back at the end of the program. In the data area
data structure, letter "U" must be entered to define the data structure as a data area data
structure.

* File information data structure


A file information data structure provides exception/error information that may be occurred
when processing a file during program execution. This type of data structure contains pre
defined sub fields that identify
* The name of the file for which the error occurred
* The record processed when the error occurred
* The operation being processed when the error occurred
* The status code number

* The RPG/400 routine in which the error occurred.


Exception errors may be controlled by testing for an error code in the *STATUS field which is
included in a file information data structure. Specifically, keywords including *FILE, *RECORD,
*OPCODE, *STATUS, *ROUTINE provide the previously named information.

Frequently Asked Questions in AS/400 Page 7


* Program status data structure
Program status data structure however identity exception/errors that are generated in the
program by RPG/400 operations and not by a file. Note that any code greater than 00099 is
flagged as an exception/error. Four keywords - *STATUS, *ROUTINE, *PROGRAM, *PARMS are
supported by a program status data structure.

58. What is the purpose of DYNSLT keyword?


This is a file level keyword used in a logical file. If you specify this in a file level, the system
doesn't perform record selection until the program reads file. Then on the Select/Omit criteria, it
selects the records from the specified file.

59. What is the difference between access path and Dynamic select?
Dynamic select occurs whenever the program reads file. But access path occurs before the file is
read (but not necessarily). Because access path maintenance performed on the file.

60. Why would you prefer OPNQRYF than logical file?


The main difference is : Logical file creates permanent object on the system. OPNQRYF creates
temporary access path.

61. When would you prefer logical file than OPNQRYF?


The physical file you are working with very large, creating and using a logical file will allow an
application to perform faster than using an open query file. Since access paths created by open
query files are temporary, applications that use an access path frequently will be more efficient
using a logical file, since the access path will not have to be rebuilt every time the file is open.

62. What the purpose of the keywords FIFO, LIFO, FCFO?


These keywords are used at file level. The purpose of each one is described below:
FIFO: The duplicate key records will retrieved in first in first out order.
LIFO: The duplicate key records will retrieved in last in first out order.
FCFO: The duplicate key records will retrieved in first changed first out order.

63. What is the difference between regular logical file and join logical file?
Regular logical file contains more than one record format.
Record format name in regular logical file should be same based on the physical file.
Join logical file contains only one record format.
Record format name in join logical file should be different.
Through logical file we can made changes in physical file.
Through join logical file we can't made changes in physical file.

64. Distinguish between logical file and physical file?


Physical file contains only one record format.
Logical file contains more than one record format.
Physical file contains actual data.
Logical file doesn't contains data but it provides view from the physical file.

65. What is field reference file?


Field reference file is a file, which contains field definitions and descriptions, and it doesn't have
member. Physical contains data derived by the field reference file.

66. What is the necessary keyword used in a physical file to refer field definitions from the field
reference file?
REF which is a file level keyword is necessary to define at file level in a physical file. The syntax
is as follows: REF(library name/name of the field reference file)

Frequently Asked Questions in AS/400 Page 8


67. What is the purpose of reorganizing the physical file i. e. , RGZPFM?
Even if you delete the records in a physical file through the program, still the space used by the
deleted records not used by the other purpose. Hence using RGZPFM command we can
compress the deleted records space.

68. What is the purpose of CHGPF (Change physical file) command?


CHGPF command is used to change the attributes of a physical file. Attributes like
* Maximum number of members
* Member size
* Level check enforced
* Open data path is shared

69. What is purpose of declarative statement DEFN?


Depends on the factor 1 value it will do two things:
* If the factor1is *LIKE then DEFN opcode defines the new field based on the attributes old field.
* If the factor 1 is *NAMVAR then DEFN opcodes defines the field as a data area.

70. What is the purpose of SFLNXTCHG keyword in a subfile?


Which is a subfile record format keyword. If you perform read on the subfile, the
internal indicator MDT (modified data tag) is automatically set off by the system. If you again
perform read on the
same records, records won't be read. Because internal indicator MDT would be off. Hence you
should be explicitly set
on the MDT by SFLNXTCHG keyword.

71. What is the difference between Array and Table?


Array: Array is stored any where in the body of the input records.
Table: Table is stored at the begining of the input records.
Array: We can access all the elements in array by specifying the array name.
Table: Only one table element can be accessed at a time.
Array: Array can be searched randomly.
Table: Table can be searched consecutively.

72. What are the different types of access paths maintained on the file?
Immediate: All the access paths (open and close) associated with a file will be updated whenever
changes made to a file.
Rebuild- only open access paths will update whenever changes made to the file. Rebuild takes
place whenever remaining access paths will be open.
Delay : Rebuild will not takes place.

73. How can you identify End of file in CLP program?


With the help of MONMSG MSGID(CPF0864) we can identify end of file in clp program.

74. What is the difference between production library and test library ?
In debug mode, the files exists in production library not allowed to update.
In the other hand, the files exists in test library allowed to update.

75. What is message subfile?


Message subfile is special file contains multiple messages taken from program message queue
and placed in message sub file for display on the screen.

76. What are necessary keywords to code message subfile?


SFLMSGRCD, SFLMSGKEY, SFLPGMQ

Frequently Asked Questions in AS/400 Page 9


77. What is the difference between SETON LR and RETRN?
If you specify SETON LR, all the files used in program will be closed.
If you specify RETRN, all the files used in program will remain open.

78. When will you use OPEN and CLOSE opcodes in RPG program?
If you specify the letter "U" at columns 73 - 74 in a file description specification indicating that
user control on a file. Hence we have to explicitly open and close the file in a program.

79. What is difference between fully procedural file and primary file?
In primary file the records will be read and processed from begining to end. This order is not
changed.
In fully procedural file the records will be read and processed in any order. The logic flow is
controlled by the opcodes in RPG program.

80. What is the difference between externally described file and program described file?
The field definitions and descriptions are defined out side of the program in a externally
described file. The field definitions and descriptions are defined in side the program in a
program described file.

81. How many primary files allowed in a program?


Only one primary file is allowed in program.

82. How many secondary files allowed in a program?


More than one secondary files are allowed in a program.

83. What is the purpose of RTVMBRD command?


In order to access the information related to member, we can RTVMBRD command.

84. Define an Interactive Job?


* A user requests a job.
* Job is created and job name, job attributes are assigned.
* Job is placed on a job queue.
* The sub system QINTER takes the job from the job queue and starts processing.
* The output generated by the interactive job is placed on the output queue
* The spool sub system QSPL prints the output.

85. How can you check the existence of object in a system?


With the help of CHKOBJ clp command, we can find existence of object on the system.
The usage of command in clp is as follows:
CHKOBJ OBJ(JBA001DT) OBJTYPE(*DTAARA)
MONMSG MSGID(CPF9801) EXEC(DO)
CRTDTAARA DTAARA(QGPL/JBA001DT) TYPE(*CHAR) LEN(6) +
VALUE('010196') TEXT('The last day that had job acct.+
data extracted')
ENDDO
RTVDTAARA DTAARA(JBA001DT *ALL) RTNVAR (&FROMDATE)

The execution of above steps is listed below:


steps
1: First it checks the data area object on the system.
2: If the data area object not found, the MONMSG command executes with
the help of message identifier, next we can dynamically create the data area.
3. If the data area object found, control transfers to statement below ENDDO.

Frequently Asked Questions in AS/400 Page 10


It is always good CLP programming approach to check the object before you
rename, delete the objects on the system.

86. What is the purpose of FRCDTA (Force Data) keyword?


Use this record-level keyword to immediately display a record format, without waiting for the
next input or output/input operation.

87. What is the purpose of SFLFOLD and SFLDROP keywords?


SFLFOLD: To fold the second line of multiple line subfile.
SFLDROP: To drop the second line of multiple line subfile.

88. What is the function of DSPATR (display attributes) keyword?


Use this field level keyword in display file to specify one or more display attributes for the field
you are defining. You can specify the DSPATR keyword more than once for the same field, and
you can specify more than one attribute for the same keyword. The following are valid
attributes:

For All Fields

Display
Attribute Meaning

BL Blinking field
HI High Intensity
RI Reverse Image
CS Column separator
ND Non Display
PC Position cursor
UL Underline

For Input-Capable Fields Only

PR Protect contents of field from input keying


MDT Set modified data tag when displayed
OID Operator identification
SP Select by light pen

89. What is the purpose of PUTOVR (Put with explicit override) keyword?
Use this record-level keyword to permit the override of either display file attributes or data
contents of specific fields within a record displayed on the work station device.

90. What is the purpose of OVRDTA (Override Data) keyword?


Use this field level keyword with PUTOVR keyword to override the existing the data contents of
a field already on the display.

91. What is the maximum number of record formats in DSPF?


1024 (One thousand and twenty four)

92. What is the maximum number of fields under a record format of physical file?
8000 (eight thousand)

93. What is the maximum number of parameters allowed in RPG?


255 (Two hundred and fifty five)

Frequently Asked Questions in AS/400 Page 11


94. What is the maximum number of parameters allowed in CLP?
43 (Forty three)

95. What is the maximum number of subroutines allowed in RPG?


254 (Two hundred and fifty four)

96. What is the maximum number of files allowed in RPG?


50 (Fifty including eight printer file)

97. What is maximum number of Arrays allowed in RPG?


250 (Two hundred and Fifty )

98. Where can you specify an indicator in LOKUP operation?


In 'EQ' position.

99. What is a Member?


It is a subset of data records of a physical file.

100. What is a Physical file?


Physical file nothing but a table contains a only one record format in which we can describe the
field definitions and descriptions.

101. What is a Logical file?


It is nothing but a logical view provided by the physical file.

102. What is Join Logical file?


Join logical file joins more than one file. The maximum of number of files allowed to join is 32
(thirty two).

103. What are the necessary keywords for the Join Logical file?
JDFTVAL, JFILE, JOIN, JFLD, JREF.

104. What is a Non-join logical file?


It only provides logical view based on the physical file. This is also called as regular logical file.

105. What is the necessary keyword for Non-join logical file?


PFILE (which is record level keyword)

106. How many levels are there in a Physical file?


Four levels. They are File level, Record level, Field level, Key field level.

107. What is the use of UNIQUE keyword and what level it is defined?
It will avoid to enter duplicate key values. We have to define it in a file level.

108. At what level S,O are defined and what they will do?
S, O are to defined at key field level. The purpose Select/Omit logic is depends on the criteria
(condition) given at the key field level (At function entry) it selects and omits the records. The
S/O is allowed in Logical file only.

109. What is the difference between Packed decimal and Zoned decimal?
Packed decimal : One digit occupies 1 byte.
Zoned decimal : One digit occupies 2 bytes.

110. What is default data type (if you define decimals '0') in Physical file?

Frequently Asked Questions in AS/400 Page 12


Packed decimal

111. What is default data type for the fields(sub fields) defined in data structures in RPG?
Zoned decimal

112. What is the use of JDFTVAL in join logical file?


If you specify JDFTVAL at file level, even the primary file record does not match with secondary file
record, the join takes place.

113. Is it possible to create a physical file without DDS?


Yes. With the help of CRTPF we can achieve this. But we have to give record length.

114. What is a Keyed physical file?


Defining a field as a key in physical file. Hence we can access records through the key field.

115. What is a composite key?


Defining more than one key as a key field in physical file.

116. What is arrival sequence?


The records will be accessed the way in which records are added to physical file.

117. What is the maximum number of key fields allowed defining in a physical file?
120

118. What is acronym of RPG?


Report Program Generator

119. What is the native language of AS/400?


RPG/400

120. Why RPG/400 is famous?


* Easy to code and analyze.
* Supports externally described files.

121. How many specifications are there in RPG/400? What are they?
There are seven specifications are exits in RPG/400. They are listed below:

* Header Specification
* File Description specification
* Extension specification
* Line counter specification
* Input specification
* Calculation specification
* Output specification

122. When do you use F-spec. continuation line ?


* In order to refer the named record format as a subfile record format in the program.
* In order to rename the record format of a database file in a program.
* In order to define a named data structure as a file information data structure.

123. What are the various types of device files?


Display files, printer files, discket files, tape files etc. ,

124. When do you explicitly open files and close files in an RPG program?

Frequently Asked Questions in AS/400 Page 13


If you specify the letter ' U ' at column 73-74, you need to be open and close files explicitly in a
RPG program.

125. How do you know that records are locked?


By using a command WRKOBJLCK.

126. What is the purpose of Indicators in RPG?


In order to control the logic flow, we can use indicators in RPG.

127. How do you read data area in an RPG program?


With the help of 'IN' opcode, we can access the data area record in to the program.

128. What are the different types of Data Areas?


The different types of Data Areas are general data area, local data area, group data area, pip
(program initialization parameter data area) data area.
*General Data Area - It can be created by user implicitely or explicitly
It can be referred by any other jobs.
It can be associated with a library.
It can be created, deleted by the user.

* Local Data Area - It can not be referred by any other job.


It is automatically created and deleted by the system.
It is not associated with any library.

*Group Data Area - It is automatically created and deleted by the system


We can access the group data area value through clp.
It is meant for group jobs.
*Pip Data Area - It is meant for pre start jobs.

129. What are various techniques to pass parameters from one program to another?
PLIST, CALL, TFRCTL

130. Which single RPG opcode performs both SETLL and READE?
CHAIN

131. What is term CUA , SAA?


Common User Access
System Application Architecture

132. Why is AS/400 called Object Oriented Machine?


Everything on the AS/400 System that can be stored and retrieved is contained in the object.

133. What is the version of OS/400 that we have?


V4R2 (Version 4. 0 Release 2. 0)

134. What is DDM ?


Distribution Data Management is a function of the OS/400 that allows an application program or user
on one system to use database files stored on remote system.

135. What is an Object?


An object is any thing that exists in and occupies space in storage and on which operation can
be performed.

Frequently Asked Questions in AS/400 Page 14


136. How are the objects stored on AS/400?
All objects are stored on AS/400 in a single level storage. In this method all objects are
referenced by one virtual address which is translated in to a physical address whether it is an
auxiliary storage or main memory.

137. What is a Library in AS/400?


A library in AS/400 is an object that serve(acts) as a repository for other objects.

138. Name few IBM supplied libraries?


QGPL, QTEMP, QSYS, QUSRTOOL, QCBL, QRPG

139. What is library list ?


A list that indicates libraries used for the process and the order in which it has to be searched
System identifies it in *LIBL.

140. How many libraries can be there in library list ?


Total 40 (15 system and 25 application)

141. What is Folder?


A Folder is a named object that is used as a directory for documents and other folders.
Folders can be filed with in another folder.

142. What is Spool file, Why is it required?


A file that holds output data to be processed, such as information waiting to be printed.

143. What is Job, What are the attributes of a Job?


A Job is a basic unit of work on AS/400.
The attributes are:
Job Number Unique system generated sequential number
Job Name Any user defined name (Max 10 char)
User Name Who initiated the job.

144. What is Job description?


A Job description defines an environment in which a batch job or an interactive job to be
executed.

145. What is the difference between Interactive & Batch Job?


Interactive Job: A Job started for a person who signon to a workstation.
Batch Job : A predefined group of processing actions submitted to the system to be performed.

146. What is Group Job?


A Group Job is attached to one workstation and a user. There should be an initial group job and
it can be branched to many other group jobs. The group jobs can have different library lists
and different output, message queues. Group Job is useful in enhancing the programmers
productivity. It is as though logging into the same user-id many times.

147. What are the two main attributes, which govern the execution of a job?
Run time priority and Time slice

148. What is Sub-System?


Sub-Systems are specific user defined partitions of the CPU where various jobs may be
executed. One subsystem can have more than one active job at a time.

149. What is a Device file?

Frequently Asked Questions in AS/400 Page 15


A device file contains the description of how data is to be presented to a program from a device
or vice versa. Device file can be Printer, Disk, Tape and Remote system.

150. What is an ICF file?


A device file that allows a program on the system to communicate with program in other system.

151. What is a message file?


It is a file which contains the messages of an application. For example all RPG/400 messages
are stored in a file, all COBOL/400 messages are stored in a file.

152. What is a job log?


A record of request submitted to system be a job. The message related to the requests, and
action performed by the system on the log. The system program maintains it.

153. What is the purpose of OPNQRYF (Open Query File)?


OPNQRYF is used to select certain records of the database file based on the QRYSLT (Query
select ) condition.

154. How to create files dynamically without DDS?


Through OPNQRYF

155. What command must be executed before executing OPNQRYF command?


OVRDBF (Override Data base file)

156. What is Data Area?


Data area is an object used to hold data for access by any job running on the system. A data
area can be locked to a single user, thus preventing other users from processing at the same
time.

157. What are the types of data areas?


User defined Data Area, Local Data Area (LDA), Group Data Area (GDA), Program Initialization
Parameter (PIP) Data Area.

158. What is LDA?


LDA is created by the system for each job in the system, including auto-start jobs, jobs started
on the system by a reader, and subsystem monitor jobs.

159. What is the type, length of a LDA?


*CHAR, 1024 bytes

160. What is GDA?


The system creates a GDA when an interactive job becomes group jobs. Only one GDA can
exists for group.

161. How to create a user defined (general) data area?


Using CRTDTAARA command

162. What are the different ways to input data into data area?
CHGDTAARA (using CL)
Using OUT opcode in RPG

163. How to retrieve data from data area?


Using RTVDTAARA command in CL.
Using IN opcode in RPG

Frequently Asked Questions in AS/400 Page 16


164. What are the valid user defined data area types?
CHAR, NUMERIC and LOGICAL

165. How can a data area be locked after being updated?


Using OUT *LOCK

166. What is the use of Data Queues?


Data queue is a type of system object that you can create. Data Queues are used in Program
to program communication.

167. How to create a data queues?


Using CRTDTAQ command.

168. What are the valid data types in Data Queue?


Char, Numeric, and Logical

169. What are the two types of read performed on data queues?
Read with lock, and read without lock.

170. How do you use DEBUG utility?


STRDBG program-name UPDPROD(*YES)

171. What is an authorization list?


A lists of two or more user Ids & their authorities for system resources. The system identifies it
an object type *AUTL

172. How do you grant authority?


Using GRTOBJAUT command

173. What are the types of object authorities?


*USE, *CHANGE, *ADD, *DLT, *READ, *UPD, *ALL, *EXCLUDE, *OBJEXIST, *OBJMGT,
*OBJOPR

174. How do you put jobs in batch mode?


SBMJOB

175. What is the use of OVRDBF ?


You can use the Override with Database file (OVRDBF) command to replace the database file
named in a CL program or to change certain parameters of the existing database file.

176. What is the use of OVRPRTF ?


Override with Printer file (OVRPRTF) command is used to override certain parameters of the
printer files used in the program or to replace the printer file.

177. How to change file attributes such as size, file wait time, record wait time etc. , permanently?
Using CHGPF command

178. What is the use purpose of CRTCMD?


To create user defined command.

179. What is class of service ?


A set of link and node characteristics associated with a session.

180. How to see active jobs of the system.


Using WRKACTJOB command

Frequently Asked Questions in AS/400 Page 17


181. How do you detect unused spool storage?
Using Reclaim Spool Storage.

182. What are the functions of Remote Job Entry (RJE) ?


Allows user of AS/400 system to submit jobs and receive jobs from a host system.

183. What is the function of RJE Conversion Utility?


It converts compressed data written to an AS/400 database file to decompressed data written to
another AS/400 database, diskette, or device file.

184. What process the command SBMRJEJOB does?


Sends RJE input stream to host system

185. What is journaling & Commitment Control?


Journaling is a function which records the changes in a file in a journal. These record images
are used to recover the changes in the file should the system ends abnormally. Commitment
control is a function that allows you to define and process a number of changes to database files
as a single unit (transaction).

186. What is the purpose of STRCMTCTL command?


Starts commitment control for files that are being journalled.

187. What are the system objects required for journalling?


Journal receiver, journal and PFs to be journalled.

188. What are the different definition levels in Data Description Specifications?
File level, Record level, Field level, Join level, Keyfield level, Select/Omit level.

189. What the difference between Source Physical File and Physical File?
A Source Physical File contains the source for the various objects created this file has specific
structure.
A Physical File contains data, and the record format can be different for different physical files.

190. What is an access path?


The order in which the database fields are organized for processing in the program.

191. What are all the different types of access path?


Arrival sequence access path. Keyed sequence access path.

192. What is the default value for the number of increment for the physical file?
Three

193. When does the DFT keyword in PF be used?


To specify the default value it a field.

194. What is Multi-format logical file?


Logical which uses fields from two or more physical files.

195. What is the Select and Omit criteria in logical file?


This is used to specify rules for the Selection/Omission of records from a Physical File.

196. Can fields be concatenated INa logical file level?


Yes. by using CONCAT keyword

Frequently Asked Questions in AS/400 Page 18


197. When would the ALL keyword be used?
Use with Select or Omit, to select/omit records.

199. What are the different types of keywords in display files?


File level, Record format level, Field level

200. What is the maximum number of records you can specify in a display file?
1024

201. How can a screen field that has changed since the last output operation be detected ?
Attach the MDT (modified data tag) attribute to the field, to detect whether field has been
changed as a result of user input.

202. What would be the effect on the field where reverse image, underline and highlight display
attributes were active?
The result is same as if you had specified ND.

203. What is the use of DSPATR(MDT) keyword?


Sets on the modified Data Tag of the field. The Data Tag detect whether the field has been
changed as a result of user input.

204. If DSPATR(PC) and CSRLOC were specified for a format, which keyword would have priority?
CSRLOC gains priority.

205. Can error messages as a result of a COMP, RANGE or VALUES keyword be overridden?
Yes, through CHKMSGID keyword.

206. What the purpose of OVRDTA, OVRATA keywords?


OVRDTA keyword (field or record level) can be used to override the existing data contents of a
field or record already on the display.
OVRATA keyword (field or record level) can be used to override the existing display attributes of
a field or record already on the display.

207. How can a message from a message file appear as a constant on the screen?
By using MSGCON (message constant) keyword.

208. In conjunction with what other keyword must OVRDTA and OVRATA be used?
PUTOVR keyword must used.

209. What is the purpose of the INDARA keyword?


This File-level keyword is used to remove option and response indicators from the buffer and places
them in 99-byte separate indicator area.

210. Explain the purpose of KEEP and ASSUME keywords?


KEEP: Keep the display from being deleted when the display file is closed.
ASSUME: It is used to specify that the OS/400 program is to assume that this record is already
shown on the display when this file is opened.

211. Explain the use of DFTWRT display keyword?


No records will be displayed until there is any I/O operation.

212. What is the purpose of FRCDTA keyword?


Immediately display a record format without waiting for the next I/O operation.

213. What keyword must be used with PROTECT keyword?

Frequently Asked Questions in AS/400 Page 19


OVERLAY

214. What is Subfile?


Subfile is group of records of same record format and can be read from or write to the display in
a single operation.

215. What are all the contents of subfile?


Subfile Record Format, Subfile Control Record Format, Relative Record Number, Subfile Record
Number, Associated Subfile Keywords.

216. What are the two record formats a subfile contain ?


Subfile record forma (SFL), and subfile control record forma (SFLCTL).

217. What is SFLPAG and SFLSIZ ?


SFLPAG : it is an attribute which specifies the number of records that can be displayed in a
screen.
SFLSIZ : it is an attribute which specifies the number of records can be stored in subfile.

218. What is the maximum number of subfiles that can be specified in a display file,
512

219. Maximum number of subfiles that can Defined in a RPG program for one display file is
24

220. Maximum number of subfiles that can be active for a single file is?
12

221. Can more than one subfile record be displayed on one line?
Yes, by using SFLLIN keyword.

222. How do you specify the number of records to roll in a subfile?


Use SFLROLVAL keyword in DDS along with number, which specifies the number of records to
scroll at a time.

223. How will you display a particular page in subfile?


Move a valid relative record number (RRN) in the field specified using SFLRCDNBR keyword in
DDS.

224. How to pick up the changed records every time in a subfile after the first change made?
Seton SFLNXTCHG keyword indicator and update the subfile record.

225. What is the use of SFLEND keyword?


By specifying this keyword, the Bottom/More message could be displayed at end of screen.

226. How to toggle between single line and Multi - line display of a particular record in a subfile?
Using SFLDROP keyword.

227. Explain the difference between defining Subfile and Message-subfile?


Subfile record is defined by SFL keyword, where as Message subfile is defined by SFLMSG
keyword.

228. What are the different types of variables available in CL?


DEC, CHAR, LGL

229. How do you pass parameters in CL?

Frequently Asked Questions in AS/400 Page 20


Using PARM keyword.

230. What is difference between CAT, TCAT, BCAT?


CAT Concatenate two variables or constants into one continuous string.
BCAT Truncates all trailing blanks in the first character string, one blank is inserted, then the
two character strings are concatenated.
TCAT Truncates all trailing blanks in the first character string, the two character strings
are concatenated.

231. What are the different types of messages in CL?


Immediate message, Break message, Program message, User message

232. How to trap errors in CL?


By using Monitor Message Command (MONMSG)

233. What is the maximum length of a variable name in CL?


Maximum 11 characters (including '&')

234. What are the limitations of CL (compare to RPG) ?


you can not use CL program to ADD or UPDATE records in database files.
Use Printer or ICF files.
Use Program described files.
Use the concept of subfile (to display more than one record), but a single output message subfile
is a special type of subfile that is supported well in CL.
Use subroutines.
You cannot declare more than one object (file) in a CL programme.

235. What is the use of Header Specification in RPG/400?


It identifies by H in column 6, provides informaion about generating and running programs.

236. When will DUMP and DEBUG opcodes be ignored?


If blank is specified in position 15 of H specs.

237. Specify different indicators used in RPG?


Overflow indicators
Record Identifying Indicators
Field Indicators
Resulting Indicators
Control Level Indicators

237. What are Control level indicators?


L1 to L9 used to identify certain fields on control fields and then used to condition which
Operations are to be processed at detail or total calculation or output time.

238. What is the use of E specification in RPG?


Extension Specs describes all record address files, arrays and tables.

239. What is the use of L specs in RPG?


Line counter specification can be used to describe printer file to indicate the length of the form and
number of lines per page.

240. In which specification the report layout can be defined?


O Specification.

241. How many files can be defined in F specs?

Frequently Asked Questions in AS/400 Page 21


50

242. How many printer files can be defined in F specs ?


8

243. Give three main purposes of File specification ?


To define files, to describe the files, to assign the files to specified devices.

244. How do you specify page overflow indicator for printer files in RPG?
Specify an indicator in position 33-34 of F specification.

245. What is a Primary File?


It is used in RPG Program Cycle to automatically read records in a cycle.

246. Can a indexed file be accessed in arrival sequence in RPG program?


Yes.

247. What is a Program Described file in RPG?


The field name and length of the fields are defined with in the RPG program.

248. What is externally described file ?


All information about the fields is specified in DDS and the RPG program can use them with in the
program.

249. Can you specify a display file to be used in the following modes Input, Output, or Combined
modes ?
Yes.

250. What is match field indicator?


Matching record indicator is seton when all the matching fields in the record of a secondary file matches
with all the matching fields of a record in a primary file.

251. What is the length of a variable in RPG?


6 Characters.

252. When is a TAG statement used in RPG?


It is used as Label.

253. What opcode could be used to test an alphanumeric field for all numeric values?
TESTN

254. What opcode will be used to test the zone of a character field?
TESTZ

255. How to read database records without locking them?


Put 'N' in position 53 of C specs.

256. What does CHECK opcode is used?


The check operation verifies that each character in the base string (factor 2) is among the
character indicated in the comparator string (factor 1).

257. What does 'SR' in columns 7-8 of C specs mean?


Calculation operation is a part of RPG subroutine.

258. What is SCAN and XLATE?

Frequently Asked Questions in AS/400 Page 22


SCAN operation scans a character string (base string) contained in factor 2 for a substring
(compare string ) contained in factor 1.
XLATE operation translates characters in source string (factor 2 ) to the from and to strings
(factor 1 ) and put into the result field.

259. How do you use commitment control in RPG program ?


Using COMIT operation. Makes all changes to the files that have been specified in output
operation since the previous COMIT or the begining of operations under commitment control(if
there has been no previous COMIT or ROLBK operation).

260. How do you use exceptional write in C specs?


Using EXCPT opcode.

261. What does the opcode FREE do?


The FREE operation removes a program from the list of activated programs, frees static storage
and ensures program initialization (first cycle processing) the next time program is called. It
does not close file or unlock data area.

262. What does opcode POST do?


Puts information in INFDS.

263. What is the maximum number of elements in an array?


9999

264. Can we define Multi-dimensional arrays in RPG?


No.

265. What is XFOOT opcode?


Adds all the elements in a numeric array, and places the sum in the result field.

266. How can we sort an array?


By using SORTA opcode.

267. How can the user implicitly open and close the files in RPG program ?
Enter UC in position 71-72 of F specs.
Use OPEN and CLOSE opcodes in RPG program to open and close files.

268 How many parameters can be defined in a RPG program. ?


255

269. What is File Information Data Structure?


File Information Data structure (INFDS) can be defined for each file to make file exception/error
information available to the program. A file information data structure contains predefined
subfields that identify: the name of the file for which the exception/error occurred. the record
being processed when the exception/error occurred or the record that caused the
exception/error. The last operation being processed when the exception/error occurred.
The status code. The RPG routine in which the exception/error occurred.

270. What is Program Status Data Structure?


A Program status DS can defined to make program exception/error information available to an
RPG program.
DS is defined as program status DS by an S in position 18 of the DS statement.
*STATUS contains status code.
*ROUTINE : contains name of routine in which the exception/error occurred
*PARMS : contains the number parameters passed to this program from the calling program.

Frequently Asked Questions in AS/400 Page 23


271. What is the maximum number of times Multiple Occurrences DS can occur in a program?
9999

272. What are all the compiler directive statements?


/TITLE, /SPACE, /EJECT, /COPY

273. What is SAA?


Systems Application Architecture (SAA) is a collection of selected software interfaces,
conventions, and protocols that will provide a consistent framework across the System/370,
AS/400 and PS/2.

274. During execution, an RPG/400 program automatically follows a sequence of operations for each
record that is processed. The built-in program cycle includes the following logical steps.
1. reading input (READ)
2. processing calculations (PROCESS)
3. writing output (WRITE)

******************************************************************************

Frequently Asked Questions in AS/400 Page 24


275. What is the Function of PDM?
Productivity tool for copying, deleting, scanning, changing & creating source files.

276. What is the function of SEU ?


A utility for editing programming language source code.

277. What is the use of SDA ?


Screen Design Aid is used to create display files interactively.

278. What is a library in AS/400 ?


Library in AS/400 is an object that serves as a repository for other objects.

279. Name few IBM supplied libraries ?


QGPL, QTEMP, QUSRTOOL, QSYS, QRPG & QCBL.

280. What is a library list ?


Library list that indicates libraries used for the process and the order in which it has to be
searched. System identifies it in *LIBL.

281. How many libraries can be there in a library list ?


Total 40 (15 system and 25 application).

DDS - Data Description Specification.


Source Physical File contains the source for the various objects created. This file has a specific
structure.
RPG, CLP, DSPF, PRTF, etc.
A-spec
UNIQUE, PFILE, REFFLD

282. What is the difference between Physical and Logical files ?


Physical file contains data, where as Logical file serves as a access path to database.

283. What does the keyword UNIQUE mean ?


Records with duplicate key values are not allowed.

284. What is FCFO, FIFO, LIFO in Database environment ?


These are file level keywords which are used to access the records in the order
FCFO : First Changed First Out
FIFO : First In First Out
LIFO : Last In Fist Out

285. How many record formats can you have in a Physical file and in a Logical file ?
Physical file can contain only one record format, Logical file can contain more than one record
format.

286. What is Multi-format logical file ?


Logical which uses fields from two or more physical files.

287. What is keyword PFILE specifies ?


PFILE is used define the Physical file being referenced.

288. What is a Join Logical File, Can it be used for Update ?


Logical file that combines more than one physical file.
Update is not possible through JLF.

Frequently Asked Questions in AS/400 Page 25


289. Is it possible to join the same file to itself ?
Yes.
290. What does SDA stands for ?
Screen Design Aid.
291. What is the symbol used for defining a new field in SDA?
'+'.
292. What is the symbol used for shifting fields in SDA?
'<' , '>'.
293. What is the symbol used for copying & moving new field in SDA?
Copying : '-' & '=='.
Moving : '-' & '='.
294. What is the symbol used to get name & length of a field in SDA?
'?' .
*DATE, *TIME.
295. How can a screen field that has changed since the last output operation be detected ?
Attach the MDT attribute to the field, to detect whether field has been changed as a result of
user input.
296. What would be the effect on the field where reverse image, underline and highlight display
attributes are active ?
The result is same as if you had specified ND.
297. What is the purpose of OVRDTA and OVRATA keywords ?
OVRDTA keyword (field or record level) can be used to override the existing data contents of a
field or record already on the display.
OVRATA keyword (field or record level) can be used to override the existing display attributes
of a field or record already on the display.
298. What keyword must be used with PROTECT keyword ?
OVERLAY
299. What is RPG ?
Report Program Generator.
300. What are the different types of specification available in RPG/400 ?
Control Spec.( H )
File Spec.( F )
Extension Spec.( E )
Line counter Spec.( L )
Input Spec.( I )
Calculation Spec.( C )
Output Spec.( O )
301. Is it necessary to define all formats ? Which are mandatory and which are Optional ?
No, all are Optional.
302. What is the use of E specification in RPG ?
Extension Specs describes all record address files, arrays and tables.
303. In which specification can a report layout be defined ?
O Specification.
304. How many files can be defined in F specs ?
A maximum of 50 files.
305. Can an indexed file be accessed in arrival seQuence in RPG program ?
Yes.
306. In which specification Data Structures can be defined?
I - Spec.

307. When is a TAG statement used in RPG ?


It is used as a Label.

Frequently Asked Questions in AS/400 Page 26


308. What are the different Opcodes available in RPG for Database access ?
READ, CHAIN, WRITE, UPDAT, DELET, SETLL, SETGT, READE, READP, REDPE, OPEN, CLOSE,
FORCE, NEXT, UNLCK.
309. How can database records be read without lock ?
Put 'N' in position 53 of C specs.

310. What does CHECK opcode do ?


The check operation verifies that each character in the base string (factor 2) is among the `
character indicated in the comparator string(factor 1).
311. In conjunction with which statements can ORxx and ANDxx conditions be used ?
DOUxx, DOWxx, IFxx, and WHxx.
312. What does opcode POST do ?
Puts information in INFDS.
313. Can you have multiple key lists for a single file ?
Yes.
314. What are the different types of arrays available in RPG ?
Pre-execution time array.
Compile time array.
Execution time array.
315. Can we define Multi-dimensional arrays in RPG ?
No.
316. What is XFOOT opcode ?
Adds all the elements in a numeric array, and places the sum in the result field.
317. During input operation which indicator position is seton if there is a record lock?
LO indicator position is seton.
318. What is the difference between *LIKE and *NAMVAR ?
*LIKE defines the variables as in database.
*NAMVAR is used to define variables as data area.
319. Where will control be passed after the execution of the *PSSR subroutine if the factor2 of the
ENDSR is blank ?
Control will return to the next sequential instruction.
320. What is the maximum number of subfiles that can specified in a display file ?
512
The maximum number of subfiles that can defined in a RPG program for one display file is ___ .
24
321. The maximum number of subfiles that can be active for a single file is ____ .
12
322. What are the different opcodes used for file operation on a subfile in a RPG pgm?
READ, READC, CHAIN,UPDAT and WRITE
323. How will you display a particular page in subfile ?
Move a valid relative record number(RRN) in the field specified using SFLRCDNBR keyword in
DDS.
324. Can a single screen format occupy a screen area above and below a subfile format ?
Not possible.
325. What is SFLPAG and SFLSIZ ?
SFLPAG : it is an attribute which specifies the number of records that can be displayed in a
screen.
SFLSIZ : it is an attribute which specifies the number of records can be stored in the subfile.
326. How to pick up the changed records every time in a subfile after the first change made ?
Seton SFLNXTCHG keyword indicator and update the subfile record.
327. How do you specify the number of records to roll in a subfile ?
Use SFLROLVAL keyword in DDS along with the number, which specifies the number of records
to scroll at a time.
328. What are the three line types in RLU ?
Report line, Filler line & Sample line.

Frequently Asked Questions in AS/400 Page 27


329. What is the function of RLU ?
To design & prototype a report.
330. What are the three types of keywords associated with printer file ?
File level, Record level & Field level.
331. How do you combine two record formats in RLU ?
Using CLC.
19.
332. What are the different commands used in RLU ?
DR - Define Record, CLC - Change Line for Continuation, CLR - Change Line for Record, SD -
Create Sample Data, VF - View Fields, NP - New Page, DC - Define Constants, DF - Define Fields,
CF - Centre Fields & SP - Space Fields evenly.
333. What is the command used to invoke RLU ?
STRRLU.
334. What are different record spacing keywords in RLU ?
SKIPA, SKIPB, SPACEA & SPACEB.

Frequently Asked Questions in AS/400 Page 28


335. Mandatory keywords of sub file
SFL, SFLCTL, SFLDSP, SFLSIZ, SFLPAG are the mandatory key words

336. Difference between SFLRCDNBR and SFLNXTCHG


SFLRCDNBR will give the RRN of the First record displayed on the screen at a given time.
Whenever a record is changed on display file. An MDT is set ON. If an indicator is associated
with SLFNXTCHG and it is SETON then READC will read only the changed record. And if the
indicator is not associated and it is seton it READC reads all the records from sub-file
337. How can see logical file based on which physical file and vice versa
DSPDBR

338. How can u check no of records in a file


DSPFD
339. How do u compile RPGLE program
Either thru 15 or crtrpgmod

340. Is module executable


No You need to create an RPG prog to run the module

341. What is procedure?


A procedure is the set of self-contained high level language statements that can perform a
particular task and then returns to a caller

342. What is service program?


A Service Program is a collection of runnable procedures and available data items easily
accessible by other ILE programs. In many respects it is similar to a subroutine library and
procedure library.
A service program differs from a program in two ways:
It does not contain a program entry procedure. This means that you cannot call a service
program using the CALL operation.
A service program is bound into a program or other service programs using binding by reference

343. What is LOKUP opcode?


Look’s for a particular element of an array
344. How many files, printer files you can describe in a RPG
50 files and 8 printers
345. How do handle file exception/error
*INFDS ,*PSSR defining it in F spec

346. What is OPNQRYF, MONMSG commands


It is Dynamically creation of access path, and it can have resultant fields i.e. if the expression is
A = B + C then B and C are from the file while A is defined in OPNQRYF. We can divert the
output of command to an OUTFILE. Command associated with OPNQRYF is CPYFRMQRYF to
save the output permanently

It is a CL command to monitor and error/exception message so that in case of an error a dump


is avoided and the control is in program. It is also used to monitor user message.

347. How do you set pointers to values 55 or next higher or greater?


SETGT.
348. How will I explicitly open a file in an RPG program?
By defining UC in file condition and to opening the file mention OPEN opcode and closing the
file by mentioning CLOSE in opcode of C spec.

Frequently Asked Questions in AS/400 Page 29


349. Distinguish between terminating a program through SETON LR and RETURN?
LR closes all the files used in the program and RETURN is used to return the control to the
parent program.

350. How will you add a field to physical file already containing data?
With CPYF command and *NOCHK & *DROP

351. What are the uses of FACTOR1, FACTOR2 and RESULT field for the RPG operation code PARM?
It is add value of FACTOR1 to FACTOR2 or compare the value of FACTOR 2 with FACTOR1.

352. How will you find a string using PDM?


By using FNDSTRPDM.

353. How will you search an array?


LOKUP

354. What are the different types of arrays?


Preruntime gets populated at the time input.
Runtime gets populated at the time execution.
Compile time gets populated at the time of compilation.

355. What is message file?


It is file which contain messages created by the user through which a user can display own
message while validating.

356. What does DEFN do?


It is used to define a field based on the value specified in FACTOR 1.

357. What are two types of record are used in subfile?


SUBFILE RECORD FORMAT and SUBFILE CONTROL RECORD FORMAT.

358. What are DDS required for SUBFILE?


SUBFILE DISPLAY (SFLDSP)
SUBFILE DISPLAY CONTROL (SFLDSPCTL)
SUBFILE CLEAR (SFLCLR)
SUBFILE SIZE (SFLSIZE)
SUBFILE PAGE (SFLPAGE).

359. What is ELASTIC and NON ELASTIC SUBRILE?


When subfile size is greater then subfile page size it is called elastic subfile and when subfile
size is equal to subfile page size it is called non-elastic subfile.

360. What is SFLINZ and SFLRNA?


SFLINZ stands for subfile initialize. It initialized all the character field as blanks and numeric
fields as
zeros. SFLRNA stands for subfile record not active (It means records are there in the
subfile but
active).

361. Can you display a empty subfile?


Yes by using the keyword SFLINZ and SFLRNA.

362. Why do we use READC? What is SFLNXTCHG?


READC is to read those records which have changed in the subfile. If you validate a record in
subfile on some condition all the invalid records can display in reverse image. The first which
have changed and made valid and released still displaying in reverse image. The records have

Frequently Asked Questions in AS/400 Page 30


read even it has not been changed due to SFLNXTCHG.

363. How do you read changed records backward in subfile?


NOT POSSIBLE.

364. How you will find an error which is not in the first page of the subfile without using ROLLDOWN
key?
By using keyword SFLRCDNBR.

365. What is SFLROLVAL?


By using this keyword you can tell system to roll on of records when the user presses
ROLLDOWN key (For this you define a hidden of 4 byte).

366. How you will know whether you are in SFLDROP or SFLFOLD mode?
Bu using the keyword SFLMODE.

367. How you get the relative record in a subfile in which cursor is located?
By using the keyword SFLCUSRRN (Subfile cursor relative record number).

368. What is QCMDEXC?


It is used to execute a single CL command within the RPG program.

369. What is maximum size of data area?


9999.

370. How to fire a JOB?


SBMJOB.

371. How many levels of security are there on AS/400?


There are 10 to 50 level of security on AS/400.

372. How to translate field values form lower case to Upper case?
By using opcode XLATE.

373. What are the maximum parameters can be passed from one RPG program to another RPG
program?
255

374. How many maximum parameters can be passed from on RPG program to another CL program?
40

375. How many maximum arrays can be used in a single RPG program?
200.

376. How many maximum loops can be used in a single RPG program?
100

377. How many maximum printer files can be used in a single RPG program?
8

378. What is the maximum length of an OCCUR?


9999.

379. What is a subfile?


Subfile is a group of records which can be used for (Displaying, Adding new record, Modifying

Frequently Asked Questions in AS/400 Page 31


the existing record, and Deleting the existing records).

380. What is maximum size of a subfile?


9999.

381. How do you write and read a value (similarly as EXFMT of RPG) using a display file in CL?
SNDRCVF.

382. How do you display a screen in CL?


SNDF.

383. How to check end of file in CL?


Monitor the message ID (CPF0864).

384. Can you update a file in CL?


NO.

385. Can you add a record to a physical file through CL?


NO

386. What opcode is used for submit job? Why it is used?


SBMJOB opcode is used and it is used for background processing.

387. How do you monitor message in CL?


By using monitor message ID: (MONMSG MSGID (CPF0000)

388. Except report design what else can be done by O spec?


We can write a Physical File from O spec.

389. What is the full for of CA and CF?


Command Attention and Command Function.

390. Difference between WRKUSRJOB and WRKACTJOB?


All the jobs in WRKUSRJOB are seen including Active jobs where as in WRKACTJOB only active
jobs are seen.

391. What are the three levels of SDA?


File level, Record level, Field level.

392. What is *PSSR?


It is a system subroutine which is executed by default when any error occurs in a program.

393. Why do we define MOVE *ON *INLR?


It frees the memory. All the fields and parameters in the memory will become blank.

394. How do you shutdown your IBM server?


PWRDWNSYS.

395. If your workstation does not show login screen what might be the problem?
Problem with some subsystem.

396. You have given a job for printing and you are not getting the printout what might be the
reason?
Some more pending jobs might be there in Job Queue.

Frequently Asked Questions in AS/400 Page 32


397. There are multiple jobs for printing in job queue and you want to print a important document
then what will you do?
Change the priority or change the job queue name.

398. How to see the CPU usage?


WRKACTJOB or WRKSYSSTS

399. Which Function key should be pressed to define hidden field while you are working with SDA?
F4

400. Which function key should be pressed to watch all strings defined on the SDA screen?
F20

401. While designing the screen using SDA, which function key should be pressed to get the field
from the field reference file?
F10

402. From work with member using PDM screen you have to modify existing member using SDA,
which option do you select?
17

403. Write system defined function used to place system name on the screen
*SYSNAME

404. While designing the screen, F3 function key is kept common for all record formats. On which
level should it be defined?
File Level

405. Write down any two mandatory keywords used when defining a subfile?
SFLDSP, SFLDSPCTL, SFLCTL, SFLSIZ, SFLPAG.

406. While designing the screen user wants to add file level keywords, then which function key
should be pressed?
F14.

407. SFLRCDNBR is a FIELD LEVEL keyword

408. While designing the report using RLU, user wants to add record level keyword then which
function key should be pressed?
F18.

409. If user wants to add one field on the report then which function key should be pressed?
F11.

410. SDA: After getting field reference from reference file selected files will appear at the bottom of
the screen and then which command function will be used to get it on screen with its label to be
left aligned?
&3L

411. If user wants to center the company name on his report then which line command will be
used?
CF.

Frequently Asked Questions in AS/400 Page 33


412. If user wants to change the length of the numeric field defined in report then which combination
of keys will be used?
F23 & F10.

413. What is difference between SKIPB (2) & SPACEB (2).

414. RLU: If user wants to define new numeric field on record format then which line command will
be used?
VF.

415. Maximum report length is 132, if user is designing a report using RLU?
FALSE (378 Max).

416. To change constant field defined on RLU screen which field level keyword should be used?
DFT

417. RLU: Which field level keyword should be used to change any numeric field of length 8 to
99.99.9999 format?
EDTWRD (‘ . . ‘)
418. SPACE and SKIP are FIELD & RECORD LEVEL keywords.

419. SEU shows prompt/syntax checking according to MEMBER TYPE.

420. Using Query, its also possible to create level break reports.
TRUE.
421. Using DFU, user will be able to ___________ from Physical File?
Add/Update/Selected or all fields.

422. What is the difference between normal UPDDTA to PF and updating using DFU program?
Both are same only difference is DFU allows you to add or change selected fields.

423. What is Library?


A library is a system object that serves as a directory to other objects or collection of object

424. What is Library List?


A job’s library list defines the path of libraries that the job follows when trying to locate
programs, files or other As/400 objects.

425. Difference between Source Physical File & Physical File?


Source Physical File contains members who contain source statements & Physical File contains
members, which contain data.

426. Types of Libraries on As/400?


There are 3 types of libraries on As/400 they are System (*sys), User (*test) & Product
(*prod).

427. Type of Source File & Physical File?


Source File: - *PF/SRC
Physical File: - *PF/DTA

428. What’s the use of STRPDM?


To work with Libraries, Objects, Members & User Options.

Frequently Asked Questions in AS/400 Page 34


429. In which Specs can PF be made internally?
In I Specs.

430. What is the format of As/400 Commands?


Verb Object Qualifier
Verb: - action
Object: - on which action is performed
Qualifier: - identifies your job

431. What is externally described file?


A file, which is created externally & described in the program, is called as external described
file.

432. What is Qualified & Unqualified path?


Qualified path means mentioning object name along with library name while Unqualified path
means directly writing the object name.

433. Which path a good programmer should use?


Unqualified path.

434. How many types of files are available on As/400?


There are 2 types of files on As/400 they are Databases files & Device files.

435. What is Logical File?


A Logical file is an Access path to the Physical File.

436. How can you specify no duplicate key?


By defining the unique key.

437. What is the command to know how many LF are related to a PF?
DSPDBR (Display Database Relationship)

438. What is the command to know key fields of file?


DSPFD (F4) *ACCPTH(Access Path).

439. What is a Join Logical File?


A join Logical File can be built over the two PF’s, with the PF’s ‘joined’ by a common key value.
It is available for read access.

440. Can a Join Logical File be updated?


No.

441. What is the object type of PF, LF, Printer file & Display file?
*File

442. How many types of display are available on As/400 for user interaction?
4 Types they are Entry, Menu, Information & List Display.

443. Which is the Primary Editor of As/400?


Source Entry Utility (SEU).

444. What are the basic features of SEU?


Prompt depending upon type, shows right hand side date & left hand side the line number.

445. What are the different methods to access SEU?


Use the Start Source Entry Utility command (STRSEU)

Frequently Asked Questions in AS/400 Page 35


Option 8 from STRPGMMNU
Through Program Development Manager (PDM)

446. Which are the member types which SEU supports?


RPG, CL, PF, LF, PRTF & DSPF.

447. In which Specs Arrays, Tables & Constants are defined?


In I Specs.

448. What is a Spool File?


Printed output items placed in an output queue are known as spooled files.

449. How many Specs are there in RPG & Which are they?
There are 7 Specs in RPG they are H, F, E, L, I, C & O.

450. Difference between GOTO & EXSR?


EXSR is a conditional branching while a GOTO is an unconditional branching.

451. Difference between CA & CF?


CA: - It does not retains the value into the buffer memory.
CF: - It retains the value into the buffer memory.

452. What does EXFMT does?


Write & Read.

453. What does the OVRDBF command do?


It overrides the PF temporarily for a job.

454. How does the RUNQRY show the output?


RUNQRY shows the output always in RRN (Relative Record Number) & not in keyed sequence.

455. How many printer files maximum can be used in single RPG program?
8 because of the overflow indicators OA-OG & OV.

456. When you are defining a flat file in your program in F Specs which format will you specify?
Flat File: - F (Fixed Length)
Other File: - E (Externally Described)

457. Difference between skip before & space before?


Skip before leaves the specified no. of lines moving to the next page while Space before leaves
the specified no. of lines on that page.

458. Which indicator is used for Read?


EQ (Equal to)

459. Which are the figurative constants used in RPG?


*ZERO,*BLANK, *ZEROS, *BLANKS, *HIVAL, *LOVAL, *OFF, *ON & *ALL.

460. What is the syntax for PLIST?


*ENTRY PLIST
PARM

Frequently Asked Questions in AS/400 Page 36


461. What are indicators?
Indicators are inbuilt class of variables for RPG.

462. What is CAB?


It compares Factor1 with Factor2 & if condition is true, control is transferred to label
designated in the result field. The label specified must appear as the Factor1 of a TAG
operation somewhere in the program.

463. Which are the Relational Operators in RPG?


GT, GE, LT, LE & EQ.

464. In ‘O’ Specs what is the opcode for write?


EXCPT.

465. What is Subroutine in RPG?


A subroutine is a group of statements in a program that can be processed several times in that
program.

466. Do we have to Execute the *INZSR compulsory?


No, it is a system-defined subroutine it is executed automatically.

467. What is the use of *PSSR in the program?


Whenever there is any type error in the program the control straight away passes onto this
subroutine.

468. Types of Tables in RPG?


There are 2 types of tables in RPG they are: - Compile Time Tables
Pre-Runtime Tables

469. What does LOKUP does in Tables & Arrays?


The LOKUP opcode searches the Factor1 entry in table or array.

470. File Access Opcodes?


READ, SETLL, SETGT, READE, READP, READPE CHAIN, KLIST, KFLD, EXCPT & WRITE.

471. What is RPG Fixed Logic Cycle?


A logic the compiler supplies is called RPG Fixed Logic Cycle.

472. Difference between Interactive & Batch Job?


Batch job begins, runs & continues to execute instructions without human intervention or
control while
Interactive job are user driven.

473. How can we run a Batch Job?


SBMJOB Command.

474. Difference between CALL & SBMJOB?


CALL performs interactively job while SBMJOB performs batch job.

475. Maximum number of Records in Display File?


1024

Frequently Asked Questions in AS/400 Page 37


476. What does VLDCMDKEY means?
Valid Command Key.

477. What is the error if we don’t get login screen?


There is some problem with subsystem.

478. How to run other job when one job is active?


Change the priority or rename the job.

479. Use of Data Structures?

• Dividing a field into sub fields.


• Changing the format of a field.
• Grouping non-contiguous data in a contiguous format.
• Defining an area of storage in more than 1 format.

480. Types of Data Structures?

a. File Information Data Structure.


b. Program Status Data Structure.
c. User Defined Data Structure.
d. Multiple Occurrence Data Structure.
e. Date Area Data Structure.

481. What is Subfile?


A Subfile is a temporary area in memory which records may written to & read from a display
file device.

482. Which is the subsystem that is always on till the main power switch is off?
QCTL

483. What is the command to shutdown the As/400 Server?


PWRDWNSYS & Parameter *IMMED.

484. How can we know the CPU utilization of the server?


WRKACTJOB (Work with active job)
WRKSYSSTS (Work with system status)

485. Which are the libraries (system) always present in the library list?
QTEMP & QGPL

486. Which users are allowed to manipulate system libraries?


QSECOFR & QSYSOPR

487. Can the objects stored in the product library be modified?


No.

488. How many types of objects are there on As/400?


80

489. How is data stored in PF’s?


In fixed length records.

490. Give an example of DEFN opcode?


*LIKE DEFN ENAME$ENAME

Frequently Asked Questions in AS/400 Page 38


(Now the $ENAME has all the attributes same like ENAME)

491. What is DBMS?


A DBMS is a software system that controls the creation, organization & modification of a
database & access to the date stored within it.

492. What is a Join Logical File?


A Join Logical File combines information from two or more physical files into one record format.
Join Logical Files have always one record format.

493. Types of Object Locks & what they do?


There are mainly 3 types of locks they are as follow: -
*EXCL : Only the routing step holding the lock can use the object
*EXCLRD : Routing step can read/update the file other jobs can only read.
*SHRUPD : All jobs can read/update the object.

494. How do you place or remove locks on the objects?


*AACOBJ & *DLCOBJ

495. Some of the object types on which locks can be allocated?


Data Area, Data Queue, File, Library, Message Queue, Menu &Program.

496. What is the opcode to release all the locks on a particular PF?
UNLCK

497. What is a trigger?


A trigger is an action that automatically occurs whenever a change Is made to a physical file.

498. How many triggers can be associated with a single PF?


6 (max)

499. How can we know the triggers associated with the PF?
DSPFD with parameter TYPE (*TRG)

500. How can we add & remove trigger to a PF?


ADDPFTRG & RMVPFTRG

501. F is the type of file desg. Used for externally described files given when file types are?
I&U

502. What is an Output Queue?


They are the holding areas that store printed output generated from Batch programs or
Interactive
applications.

503. What does print writer do?


It is a system job that selects files from the output queue & prints Them on a printer. It
provides the
interface between output queue’s Spooled files & the printer.

504. What are the 2 types of lines on O Specs?


Record Identification Line & Field Identification Line.

505. Can a Subroutine contain another Subroutine?


No.

Frequently Asked Questions in AS/400 Page 39


506. Does the SETLL & SETGT retrieve the record?
No, they simply position to the record.

507. What is a table?


A table is collection of data elements in one column, data elements Must be of same type and
same
length.

508. What is a Compile Time Table?


We can hard code data within the program is said to be Compile Time Table.

509. What is a Run Time Table?


Data from a separate disk file is loaded into a table each time the Program runs.

510. Give the Table definition?


TABMT 1 12 2 A
Where1 = Number of entries per record
12 = Total number of entries
2 = Length of each entry
A = Ascending Sequene

511. If the data is likely to change over a period of time & Moreover data is large than which type of
table is preferred?
Compile Time Table.

512. What is Alternate Table?


RPG tables stores information in 1 column. To store information in multiple columns, it uses the

concept of Alternate Table.

513. What is an Array?


Array is a collection of data, the data elements must be of same Length and same type.

514. The Qualified name for an object ORDPF residing in a library TRAINING is?
TRAINING/ORDPF

515. The members in a Source Physical File contain?


Source statements for a program.

516. The members in LF contain?


Access Path.

517. The members in a PF contain data? (True/False)


True

518. What is the command to view the library list?


DSPLIBL

519. What is the command to create PF?


CRTPF

520. The LF is associated with how many PF’s?


At least one PF at a time.

Frequently Asked Questions in AS/400 Page 40


521. The function key to start SEU session through program development manager is?
F6

522. The Member type for an RPG & CL program which SEU supports is?
RPG & CLP

523. Printed output items placed in an output queue are known as?
Spool Files.

524. When a spooled file is created, it is placed into an?


OUTQUEUE

525. The command to display a list of spooled files?


WRKSPLF

526. Change in the externally described file does not require recompilation of the program?
(True/False)
False

527. Command to display current library is?


DSPCURLIB

528. A PF can have how many record formats?


Only one

529. Which one of the following has the highest priority Library on top of the library list, Library
QGPL, Library on the bottom of the library list & Current library?
Current library

530. Consider the following command: WRKOBJ OBJ (*ALLUSR/DBTMEF)


Object DBTMEF in all libraries except system libraries.

531. While designing the screen user wants to add file level keywords then which function key is
pressed?
F14

532. While designing the report using RLU user wants to add record level keywords which function
key is pressed?
F18

533. If user wants to add one field on the report then which function key is pressed?
F11

534. If user wants to center the company name on his report then which command will be used?
CF (Center Field)

535. SEU shows prompt/syntax checking according to?


Member Type

536. It is possible to run Query using RUNQRY command?


YES

537. Using Query it is possible to create level break report?


YES

Frequently Asked Questions in AS/400 Page 41


538. Using DFU user can do which operation?
Add, Update & Select fields

539. What is the difference between UPDDTA to PF & updating using DFU?
Both are same, only difference is DFU program allows you to add & update selected fields.

540. Which function key should be pressed to define hidden field while you are working with SDA?
F4

541. Which function key should be pressed to watch all string defined on SDA screen?
F20

542. While designing the screen using SDA, which function key should be pressed to get the field
from the FRF?
F10.

543. From WRKMBRPDM screen you have to modify existing member-using SDA which option do you
select?
17.

544. Write system defined function used to place system name on the screen?
*SYSNAME

545. While designing screen F3 function key is kept common for all record formats on which level
should it be defined?
File level
546. Write down mandatory keywords used when defining a subfile?
SFL, SFLDSP, SFLSIZ, SFLCTL & SFLPAG

547. If user wants to change the length of the numeric field defined in the report then which
combination of the keys will be used?
F23 & F10

548. What is the difference between SKIPB (2) & SPACEB (2)?
SKIPB (2) skips 1 page & on the next page after skipping 2 lines space print next while SPACEB
(2) skips 2 lines space before printing.

549. RLU: If user wants to define new numeric field on record format then which line command will
be used?
VF

550. Maximum report length is 132, if user is designing a report using RLU?
FALSE (Maximum is 378)

551. To change constant field defined on RLU screen which field level keyword should be used?
DFT (Default)

552. Space & Skip are which level keywords?


Field & Record

553. A Join Logical File has how many Record formats?


1

Frequently Asked Questions in AS/400 Page 42


554. A Multiple format Logical File is also known as?
Union File

555. How does Union file maintains Record formats?


1 Record format for each PF

556. What is full form for DDS?


Data Description Specification

557. What are members?


Members are separate entities within a database file & they are components of As/400 object.

558. What if RPG, when & who invented it?


Report Program Generator is IBM introduced a High Level Language in 1960.

559. For, which purpose is H Specs used?


Writing header information, date separator, currency symbol etc.

560. What is the size of the filename in RPG?


8 Characters (Max.)

561. Which are the different File Types in RPG?


I (Input), O (Output), U (Update) & C (Combine).

562. What are the different File Designation Types in RPG?


P (Primary) & F (Fully Procedural)

563. What’s the use of File Designation in RPG?


It refers to the way program will access or retrieve the data from the file.

564. What are the different File Format Types in RPG?


F (Fixed Length) & E (Externally Described)

565. What is the use of File Format in RPG?


It tells to the program that the records are within the program (F) or outside the program (E).

566. What is L Specs for?


To tell length of page & number of lines to be printed on a page.

567. What is I Specs for?


To describe the records within Program described file, fields, constants, divide fields into sub
fields & to form a group of fields.

568. How many maximum spaces could be given in O Specs?


3

569. Which are Control Break Logic indicators?


L1 – L9.

570. What are Data Structures?


Data Structures define an area of storage & layout of fields within the defined structure.

571. Which are the four keywords supported by Program Status Data Structure?
*STATUS, *PARM, *ROUTINE & *PROGRAM

Frequently Asked Questions in AS/400 Page 43


572. Which are the String Manipulation Opcodes?
TESTN, SCAN, CHECK, CHECKR, SUBST & CAT

573. DB2 is a type of Database?


It is an Integrated RDBMS.

574. An access path may be in which sequence?


It can be in Arrival & Keyed sequence

575. Records can be Read/Update/Deleted with which file?


Simple Logical File & Physical File.

576. Which type of object is used in DB2/400?


*FILE

577. What is SQL?


SQL is an interface for programming language.

578. File level entry for a PF can be?


UNIQUE & FIFO

579. Command to create FRF?


CRTPF

580. Join Logical File displays data from how many files?
2 or more PF’s

581. A Query can be displayed without saving it?


True

582. Which are the Query selection criteria, which can be given in a Query?
LIST

583. To add a file to the ‘File Selection’ option of a Query, the function key to be pressed is?
F9

584. A Query can be run in which mode?


Batch & Interactive

585. What does DFU program you to do on a record?


Insert, Update Delete & File Enquiry.

586. When are the Unique Constraints executed?


During Insert.

587. When are the Referential Constraints executed?


Insert, Update & Delete.

588. How many triggers can be associated with a file?


6(Maximum)

589. Why is the Declare cursor statement is used for?


To define & name the cursor & specify rows to be fetched.

Frequently Asked Questions in AS/400 Page 44


590. What do we can do with the Embedded SQL statements?
We can Insert/Update/Delete records, fetch records, fetch values from records into variables.

591. What is the values SQLCOD when there is an error in fetching the records specified in the select
statement?
-ve value

592. A file cannot have more than 1 unique key?


False

593. DLCOBJ command is mandatory for removing lock on any object?


False

594. What is a Journal?


A Journal is an object used primarily to record changes to data in a PF.

595. Which are the DB2 tools to protect Integrity of the database?
Journaling & Commitment Control, Referential Integrity Embedded SQL & Object/Record Locks.

596. A program variable coded in an Embedded SQL statement is referred to as?


Host Variable

597. Which of the CL command can be used to determine which logical files are dependent on a
specific file?
DSPDBR

598. Which CL command is used to trap error messages during program execution?
MONMSG

599. Which CL command can be used at program execution to redirect the file named in an RPG
program?
OVRDBF

600. What is the length of the variable in the given example? DCL VAR (&Name) TYPE (*Char)?
Default 32 & for Decimal 15,5

601. Which of the following CL command us used to display a screen & wait for the user to press
enter or a function key?
SNDRCVF

602. A CL program, EMPCL1 calls the RPG program EMP001 & the calls the RPG program
EMP002.RPg program EMP001 & EMP002 were both written to process the file, In order to test
changes in EMP001 a test file called TESTEMP is library TESTLIB needs to be used EMP002
should process EMPMAST as it normally would.
Add the following CL statement directly before the call to EMP002 DLTOVR FILE (EMPMAST)

603. What is command to convert the date format in CL?


CVTDAT

604. What is command to write or update to a database file in CL?


No command

605. What is the command for retrieving user profile attributes?


RTVUSRPRF

Frequently Asked Questions in AS/400 Page 45


606. What is the command to display the Data Area “Name”?
DSPDTAARA “Name”

607. What is the command to submit the Batch Job?


SBMJOB

608. Submitting a job using numeric parameters, the length of the parameter should be?
15,5

609. What will be the attributes of the output report.


OVRPRTF FILE (Output) SPLFNAME (Reports)
OVRPRTF FILE (Output) COPIES (3)
CALL PGM (Rpg001)
Copies = 3

610. Command to retrieve attributes of a job?


RTVJOBA

611. Only 1 file can be declared in CL program?


True

612. Command in CL to copy a Query to a database file?


CPYFRMQRYF

613. Command CLOF stands for?


Closes the database file.

614. Command OPNQRYF stands for?


Opens a database file to a set of database records that satisfies a database Query request.

615. Command OVRDBF stands for?


Override (replace) the file named in the program & Override certain parameters of a file that
are used
by the program.

616. Can you debug RPG III program with STRDBG?


YES & Vice versa NO

617. Which of the following options describes the result of using the USROPN keyword?
This file must be opened with an explicit OPEN operation prior to accessing this file.

618. What is the type of the Array in the following code?


D Arr S 30A Dim (30) PerRcd (1) CTADTA
Compile Time Array

619. Given the following code segment.


D PGMNAME S 20A Inz (‘THX1138’)
C CALL PGMNAME
C PARM P1 5
The CALL to the program name stored in the PGMNAME field ends in an error, the program is
not found.

620. Which of the following methods will make externally describe file fields available to a program?
A Data Structure definition specification that names the file on the EXTNAME keyword.

Frequently Asked Questions in AS/400 Page 46


621. In the following code %SUBST is a
Eval Result = %SUBST (Flda: Str: Len)
Built in function

622. What ILE RPG/400 code procedures the same results as the RPG/400 code shown below?
C A Add B Sum1
Sum1 Mult X Rslt
Rslt Div Tot Answ
C Eval Answ = (A+B)*X/Tot

623. The DATFMT keyword allows you to specify which of the following date format?
*USA

624. What is the command invoked when we give option 14 to RPGLE program?
CRTBNDRPG

625. What will happen, if we use STRISDB command for RPGLE program?
Error: Program type not valid

626. If we want to define a new variable $Aprid with same attributes as field Crpid, the RPGLE code
look like this:
D $Aprid S Like (Crprid)

627. The keyword used to define number of entries per record for Tables/Arrays in RPGLE is?
PerRcd (n)
628. What will be the output of the following ILE code?
D Loandate SD DATFMT (*USA) Inz (D’12 31 92’)
UBDUR -30: *D Loandate

629. Which will be the output of the following ILE Code?


D Answer S T
C T’12:00PM’ ADDDUR 12: *Hours Answer
00.00 AM

630. Which of the following Specs. Is not used in ILE?


E Specs.

631. Which is the Built in function to convert numeric field to Alpha field?
%EDITC, %EDITW, %CHAR

632. If user wants to retrieve the time in microseconds, what Would be data type of the field?
Z

633. Subprocedures can use RPG cycle?


False

634. RPGLE supports which calls?


Static & Bound

635. State whether the following code is correct?


@Arr is an array. No of elements = 5, & Length of each element = 3A.
C Movel ‘ABC’ @Arr, X
False

Frequently Asked Questions in AS/400 Page 47


636. How many files can be opened in RPG IV program?
No Limit

637. For CHAIN, SETLL, SETGT, READE, READPE & READE where indicators are given & their
success?
Opcode Success Indicator
CHAIN OFF HI
READ, READE, READP, READPE OFF EQ
SETLL ON EQ
SETGT ON HI

638. What does XFOOT, MOVEA & SORTA does?


XFOOT: - Sums the elements of an array
SORTA: - Sorts the array in ascending order but if while declaring the array Sequence is
defined as D
it arranges in descending order.
MOVEA: - Transfers valued from Factor2 to the Result field of the Operation but one of
them must be
an array

Frequently Asked Questions in AS/400 Page 48


639. Advantages of ILE or RPG?
1) In RPG it is one step compilation (we will get *PGM object) while in ILE-RPG it is two step
compilation (we have to create a *MODULE and then bind that module to a program.
In RPG we cannot call a program i.e. recursive call is not supported. While in ILE RPG it is
supported.
Extended Factor 2
Length of Factor 1 & 2 is increased to 14 as well as Length of OP-CODE is 10
Free format is allowed
Built-in-functions are available.
In case of ILE we have the concept of ACTIVATION GROUP.
In ILE EPM (Extended Program Model) is implemented while in RPG OPM (original program
model)

640. What is sub-file?


It is group of records read from or written to display file in a column format. It is always a
subset of records from physical file hence the name subfile.

641. SFL and SFLCTL ?


There are the two mandatory key words for subfile program /design. While SFL is used to define
Subfile record format while SFLCTL is used to define Subfile Control Record format. And this two
are the different parts of sub-file.

642. What are the Sub file Types?


There are three types of sub file
Load All - In which all the records from the Physical file or at max. 9999 records are written to
subfile. Here sub file size should 9999 or the number of records form PF which ever is less. In
this case PAGEUP AND PAGEDOWN is taken care by system. SFLPAG should be less than SFLSIZ

Single Page/non-elastic – In this case sub file size (SFLSIZ) must be equal to sub file page
(SFLPAG). For example, if SFLSIZ = 10 and SFLPAG = 10, then 10 records from file are written
to subfile. In this case PAG

Expandable/elastic/growing – In this case SFLSIZ should be grater at least by 1 than SFLPAG.


(this is applicable to Load all type also). For example, SFLSIZ = 10 and SFLPAG=9, then 10
records from written the sub file from physical file but only 9 are displayed on screen.

643. what is SFLDROP and SFLFOLD


These are the two key-words used in sub-file for displaying additional information which cannot
fit one line. SFLFOLD will give view in folded form and SFLDROP will give view in truncated
form.

644. What is SFLCSRRRN and SFLRCDNBR ?


SFLCSRRRN will give the RRN of the record where the cursor is positioned.
SFLRCDNBR will give the RRN of the First record displayed on the screen at a given time.

645. What is SFLNXTCHG?


Whenever a record is changed on display file. An MDT is set ON. If an indicator is
associated with SLFNXTCHG and it is SETON then READC will read only the changed record. And
if the indicator is not associated and it is seton it READC reads all the records from sub-file

646. Reading records from a subfile using READC


With the help of READC op-code we can read only changed records from subfile.

Frequently Asked Questions in AS/400 Page 49


647. Required key words for subfile.
SFL, SFLCTL, SFLDSP, SFLSIZ, SFLPAG are the mandatory key words. SFLDSPCTL, SFLCLR,
SFLINZ, SFLEND are the optional key words used in subfile.

648. PLIST and KLIST


PLIST is a list of parameter and KLIST is the list of KEY fields.

649. Position to particular record?


With help of op-code SETLL from RPG/RPGLE, it will position the record pointer just before the
required record. Next READ will read that particular record.

650. LR indicator and RETURN operation?


LR indicator – It close all the open files, Frees the space and release ODP.
RETURN – It dose not close files and dose not release the ODP and passes the control to the
calling program / command prompt if the program is called from command prompt.

651. Different operations on indicator?


There are only two operations on indicator those are SETON and SETOFF.

652. What is the operation / op-code to change in file?


In RPG/RPGLE with the help of UPDAT / UPDATE op-code.

653. How do I insert a record into a database file?


In RPG / RPGLE with the help of WRITE op-code.
In CL/CLLE we can not insert a record into database file.

654. Two way of deleting records from file?


one is DELETE and other with the help of O-Specs ADD/DEL specify DEL.

655. How to define a subroutine ?


with help of two op-code BEGSR(Begin subroutine) ENDSR (End subroutine) and between these
two op-codes write the instruction. The whole construct is defined as subroutine.

656. In case of Load all sub-file, if we type options and then PGDN,PGUP , will options be there on
the display / in subfile.
Yes. It will retain all the options entered in the previous page.

657. How will you take care of multiple options in case sub-file?
We will have to handle it within the program using a READC in a loop.

658. If we type some options on screen out of which some are invalid and pressed enter, what
should happen?
It should process all the valid options before invalid options encounter. Once invalid options is
encountered program should stop processing and display error message at the bottom of the
scrreen.

659. How will you achieve POSITION TO in Load all subfile?


While loading subfile move RRN, KEYVALUE in to a two dimensional array. When a key value is
entered
into POSITION TO field, having a LOOKUP into a array we can get a corresponding RRN.
Assigning RRN
value to SFLRCDNBR and then displaying the sub-file.

Frequently Asked Questions in AS/400 Page 50


660. What are the built in function in RPGLE ?
%SIZE - Gives the size of the variable or literal
%PARM – Gives the number of parameter passed to parameter
%PADDR - Gives the address of the procedure
%ADDR - Gives address of the variable
%TRIM - Trims the right & left blanks of the string
%TRIMR - Trims the right blanks of the string
%TRIML - Trims the Left blanks of the string
%REPLACE - Replaces the specified number of characters from the specified position.
%SUBST - gives a sub string from a variable (%SUBST(X:Y:Z)
%ELEM - Gives number of elements or occurrences
%INDEX - Change the index of a table or multiple-occurrence data structure.
%LEN – Returns the length of value from a field.
%CHAR – Converts a Numeric filed to character.
%EOF – End of File.
%FOUND – If record is Found.

661. How to print HEADER if O-specs are used in program ?


With the help of op-code EXCEPT.

662. How to define array in D spec.


D ARR2 S 5 DIM(5) CTDATA PERRCD(1) It is a Compile time
array.
D ARR1 S 1 0 DIM(5) It is a Run time array
D ARR1 S 40 DIM(7) FROMFILE(File name) PERRCD(1) It is Pre Run time
array

663. What is *PSSR and INFSR?


It is an exception/error handling routine which is specified in F-Sepcs for a file. INFSR(*PSSR),
INFSR is an information subroutine to specify the routine name in F-specs.

664. How to go to *PSSR ?


Whenever an exception/error occurs and *PSSR is declared in F-specs, it is automatically goes
to *PSSR

665. Can we call *PSSR if no exception occurs? What happen it is called ?


Yes, Whether the statements specified are executed.

666. What is INFDS?


INFDS is a File Information Data Structure.

1 - 8 Character *FILE The first 8 characters of the file


9 - 9 Character Open indication (1 = open).
10 - 10 Character End of file (1 = end of file)
11 - 15 Zoned dec *STATUS Status code.
16 - 21 Character *OPCODE Operation code The first five posi
22 - 29 Character *ROUTINE First 8 characters of the procedure
30 - 37 Character RPG IV source listing line number

667. How to determine if the record is in used by another user ?


We can determine weather a record is in use bye another user with the help of status code
(*STATUS). If
*STATUS = 01218 i.e. record already locked.

Frequently Asked Questions in AS/400 Page 51


668. How to write *PSSR ?
It just similar to any other subroutine.
*PSSR BEGSR
………………
………………
…………….
ENDSR

669. What is Procedure ?


A procedure is the set of self contained high level language statements that can perform a
particular task and then returns to a caller.

670. How to define a procedure ?


First we have define Procedure Prototype along with all parameter. And PR.
D PROC1 PR
Then define Procedure with Begin/End
Procedure Name Begin/End
P PROC1 B Export
Then define Procedure Interface along with parameter and PI
D PROC1 PI 5 0
D PARMA 5 0
D PARMB 5 0
Define all the parameters as a variable to the procedure
D PARMA S 5 0
D PARMB S 5 0
In not returnable procedure, the procedure should end with
C PROC1 E
In returnable procedure, it should end with
C RETURN PARMA + PARMB

671. What is Procedure Prototype and Procedure Interface.


Procedure Prototype
In this section we specify the name of the procedure along with PR.
D PROC1 PR
Procedure Interface
It is section where we define all the parameter which are receiving or returning some values.
D PROC1 PI 5 0
D PARMA 5 0
D PARMB 5 0

672. How to define Global Parameter in ILE ?


Declare a variable with key word EXPORT and while using this variable in anther program
declare with
IMPORT keyword.

673. What is the disadvantage of using Global variable?


We can not trace out at which point the value of variable is changed.

674. What is Service Program?


A Service Program is a collection of runnable procedures and available data items easily
accessible by other ILE programs. In many respects it is similar to a subroutine library and
procedure library.

Frequently Asked Questions in AS/400 Page 52


A service program differs from a program in two ways:
It does not contain a program entry procedure. This means that you cannot call a service
program using the CALL operation.
A service program is bound into a program or other service programs using binding by
reference.

675. What is the structure of Service Program ? What is signature ?


?????????????????????????????

676. What is *ISO date format?


YYYY-MM-DD for other formats refer to IBM manual or ERIS document.

677. If we tried to move year part of *ISO date into a field of length 3, what will happen ?
Program crashes, as in case of *ISO format it required fields of 4,2,2.

678. How to avoid using indicators in ILE ?


By using the standard Built In Expressions like %FOUND,%EOF, NOT %EOF, %BOF, NOT
%BOF…etc.
Display / Printer File

679. EDTCDE & EDTWRD


EDTCDE & EDTWRD are key words used for formatting purpose. EDTCDE cannot be applied to
Character filed. And EDTCDE has some Codes pre-defined for example, EDTCDE(Z) – for
suppressing the leading zero Y – for date field.
EDTWRD can be used to define user defined formatting for a fields.

680. OVERLAY
It allows a record format to be displayed on screen retaining the previous displayed record
formats.

681. What key word is used when screen is re-display?


RSTDSP is a parameter to be specified at compile time for display file.

682. Command Attention key and Command Function Key ?


With the help of Command attention key we can pass only the indicator status to program not
the data from screen. While command function key passes indicator status as well as a data
from screen to program.

683. How to validate input values in Display file ?


with the help of Validity check key words VALUE, RANGE, COMP

684. Disadvantage of using Validity Check keyword? How to overcome these disadvantages ?
If invalid values are entered,
The option filed is displayed in reverse image.
System defined message is displayed which may not be user friendly.
Keyboard is locked, we have to reset it.
To overcome above disadvantage validations is done within program and user friendly/defined
message is displayed.

685. What are the important factors in Error message subfile ?


We must define error message record format (SFLMSG). And a Program Queue. (PGMQ) and
Record format is associated to a line number.

686. How to define to define a Hidden filed in DSPF ?


Define a filed in a DSPF of use HIDDEN.(H)

Frequently Asked Questions in AS/400 Page 53


687. How To get the cursor position?
With the help of RTNCSRLOC keyword, here we need to define a field to get row and column.
Length of variable should be 5,0 fixed We can specify *FILED for filed *REC for Record on which
a key is pressed.

SQL / 400 – Structured Query Language

688. What is the stored procedure and how do you define a stored procedure.
A stored procedure is a program that can be called to perform operations that can include both
host language statements and SQL statements. Procedures in SQL provide the same benefits as
procedures in a hot language. That is, a common piece of code need only be written and
maintained once and can be called from several programs. Stored procedures can be used in
both distributed and non-distributed applicaitons.

It is defined using DECLARE PROCEDURE statement, syntax is as below…


EXEC SQL
DELCARE P1 PROCEDURE
(:PARM1 INOUT CHAR(10))
(EXTERNAL NAME MYLIB/PROC1
LANGUAGE RPGLE
SIMPLE CALL WITH NULLS);
END-SQL

We can have parameters as IN , OUT , INOUT type. Language can be RPGLE, C, CL, etc..
MYLIB/PROC1 this PROC1 is a program written and compiled separately and it is of language
which you are specifying in section LANGUAGE.

689. Writing an SQL statement from selecting records from TWO files using single statement and
Nested select statement.
Using Single statement.
SELECT * FROM FILE1, FILE2
WHERE FILE1.FLD1 = FILE2.FLD1

Using Nested Select statement


SELECT * FROM FILE1
WHERE FILE1.FLD1 EQ (SELECT FILE2.FLD1 FROM FILE2)

690. How do you achieve referential integrity?


By adding Referential Integrity Constraints to a Physical file or Logical file. Constraints like
PRIMARY KEY, FOREGIN KEY, DELETE RULE, UPDATE RULE. ETC.
Commands are ADDPFCST for Physical file and ADDLFCST for Logical file.

Type of constraints
*REFCST - A referential constraint is being added
*UNQCST - A unique constraint is being added.
*PRIKEY - A primary key constraint is being added
*CHKCST - A check constraint is being added

Type of Delete rule (DLTRULE)


*NOACTION –
1. Deleting a record in parent file is permitted (not restricted) if data for a non-null parent key
does not match data for a foreign key.
Deleting a record in a parent file is restricted (does not occur) if data for a non-null parent key
matches data
for a foreign key.

Frequently Asked Questions in AS/400 Page 54


*RESTRICT –
Deleting a record in a parent file is permitted if data for a non-null parent key does not match
data for a foreign key.
Deleting a record in a parent file is restricted if data for a non-null parent key matches data for a
foreign key.

*CASCADE –
The cascade delete rule is used. Deleting a record in a parent file causes matching
records in the dependent file to be deleted when data for a non-null parent key matches data for
a foreign key.

Type of Update rule (UPDRULE)


*NOACTION – No Action

*RESTRICT –
Updating a record in a parent file is permitted if data for a non-null parent key does not match
data for a foreign key.
Updating a record in a parent file is restricted if data for a non-null parent key matches data for
a foreign key.

691. Where Stored procedure lies in the system.


If we want to have a look where the stored procedure, we can have a look through SQL.
Select * from ?????????????????????

692. Difference between View and Index ?


View will not any data.. It only shows a data from table while Index has a Indexing Data for a
sequence on which Index is created. View is similar to Logical file without having Key and Index
is similar to Logical File having Key (as keyed logical file has access path data) Table is similar
to PF.

693. Can we have records (with fields from more than one file) from multiple files and Nested / sub
query in SQL ?
Yes, we can have record from multiple file with join condition and we also can have nested
query or subquery like SELECT * FROM FILE1 WHERE FILE1.FLD1 IN (SELECT FILE2.FLD1 FROM
FILE2)

694. What is the sequence when using CURSOR?


Define Cursor
Declare Cursor
Open Cursor
Fetch record
Processing
Close Cursor

695. Different type of Cursor?


Two types of Cursor
Simple / Serial Cursor
A serial cursor is one defined without SCROLL key word
For serial cursor each row is fetched only once per OPEN
When it is opened it is positioned before the first row in the table.
To use serial cursor we have to re-issue OPEN

Scrollable Cursor which is defined with SCROLL key word.


Cursor defined with SCROLL key word
Rows of cursor can be fetched many times

Frequently Asked Questions in AS/400 Page 55


When it is opened it is positioned before the first row in the table.
When the FETCH is issued , the cursor is positioned to the row of the table that is specified by
the POSITION option. (FIRST, LAST, PREV, NEXT, RELATIVE)

696. How to call / invoke the stored procedure ?


Using CALL command .

697. What are the two important parameter while creating a SQLRPGLE program ?
1) CMTCTL - *NONE (Commitment Control)
CLOSQLCR - *ENDMOD (End of Module) by default is *ENDACTGRP

698. Can we update database file with the help SQL Cursor ?
While declaring the cursor if we specify FOR READ then we cannot update but if we specify FOR
UPDATE or nothing (by default is FOR UPDATE) then we can update database file.

699. Does Opening of cursor locks records ?


Yes, Records selected into cursor are locked when the cursor is opened.

700. What will happen if we call stored procedure again and again ?
It the creation of procedure is included in the called program, then we can have different set of
output depending upon the parameter passed to it. And If creation is outside the called program
then we will be available with only one set of output.
Miscellaneous

701. What is Library?


Library is an AS/400 object of type *LIB. It can contain all types of objects except another
object of
type *LIB

702. What is Library List?


It is sequence of objects of type *LIB, from which we would retrieve or save the required
object.

703. What is Sub-system in as/400?


It is Run-time environment, which provides all the resources required for the execution of
program along with necessary memory space required.

704. What is Trigger?


Trigger are the programs which are activated upon certain event. AS/400 triggers are file level
triggers.

???????????????????/ needs to elaborated more….?????????????????

705. What is difference between Interactive and Batch Job ?


job where user interaction is present is called an interactive job. A job where user interaction is
not required is called a batch job.

706. What is library list ?


list that indicate libraries used for the process and the order in which it has to be searched. For
example to find an object system will search in the in the ascending order of libraries mention in
library list.

707. What are JOBQ and PRINTQ?

Frequently Asked Questions in AS/400 Page 56


Jobs go into the job queue in order to run in a subsystem. Print queue where the printer files
(report) reside and wait for their turn to get printed.

708. How to handle run time error in CL Program?


By using command MONMSG with suitable message identifier

709. What is Data area and how it is used in RPG program?


Data area is a type of an object which is used for storing data. It is defined using opcode
*NAMVAR. The data is read by "IN" and written by "OUT" opcode.

710. Which program RPG or CL is efficient to update a transaction onto a database file and why ?
CL program cannot update/write onto a data base file and hence, choice is RPG program.

711. How QTEMP is different from other libraries?


It is associated to each job (Other Jobs can't access the other's QTEMP). QTEMP is created when
the Job is started and deleted when Job is closed.

712. What is OVRDBF and where it is used?


OVRDBF is a command to temporarily over rides the parameters of a Data base file. It is used in
association with OPNQRYF, to use different file with same record format in a program.

713. What kind of job is it --- you have signed on AS400 and then typed Call XYZ and pgm XYZ is
an RPG program which simply reads a database file and generates report.
It is not a job.

714. What is single level storage?


Main storage and disk storage appears contiguous. An object is stored and retrieved via a
device-independent addressing mechanism.

715. What is the difference between OPNQRYF & Logical file?


OPNQRYF is temporary Logical file. OPNQRYF is used for dynamic selection, situation where
frequency to run the programs is less & very large number of records are present in data base
file.

716. Why can't a database file be used in place of data area?


Using database file will reduce the performance of application.

717. What does STRSRVJOB command used for?


It is used to debug the batch programs or debug the interactive program of another job.

718. What is difference between Physical file and Logical File ?


Physical file contain data where as logical file serve as access path.

719. How many record formats can you have in a Physical & Logical file?
Physical file can contain only one record format where as Logical file can have more than one
record format.

720. Which is the better option to write a transaction (order header and detail transaction) using two
physical files or one join logical file(on those two physical files) in a program and why ?
Using two physical files is the better option because records can't be written through join logical
file.
721. Can we have a multi record format join and non join logical file based on one physical file ?
We can only have Join logical file based on one physical file.

722. What is difference between Journaling and commitment control ?

Frequently Asked Questions in AS/400 Page 57


Journaling record all transactions and is used for restoring or reverting back the transactions
onto the database file for a particular time span. Committment control ensures that a
transaction is updated successfully onto the data base (all relevant files).

723. What is difference between Multi record format Join and Non- Join logical file ?
Multi record format logical file contain more than one record format( based on one or more
physical file) With join logical file only read operation can be done whereas in non-join logical file
all operations can be done.

724. What is the difference between triggers and referential integrity ?


Triggers are programs (which carry out a particular business function) invoked either before or
after manipulation of the records in a database. Referential integrity maintain the integrity of a
database using key fields.

725. Can a file be journaled without using it under commitment control ?


Yes

726. Can a file be used under commitment control without being jorunaled ?
No

727. What is difference between module and program ?


Module is a non-runnable object where as program is runnable.

728. What is difference between ILE RPG and RPG/400 ?


Difference is in program development (specification), program creation (create module, bind
module to create program), program running (activation group, resource sharing).

729. What are different types of Arrays and what is the difference between them ?
There are 3 types of arrays Compile time, Pre-Run time and Run time. Compile time array gets
value at the time of compilation of the source of a program. Pre-run time array gets value from
a file at the beginning of a program execution (before any statement of a program is executed).
Run time array gets value during the program execution.

730. What is a data structure ? What are its uses ?


A data structure is a variable field which is partitioned by defining variable fields (call as Sub
fields). Various uses are converting character value into numeric, splitting date field into day,
month and year, combining various key fields to make one key field and so on.

731. What is Multi occurence data structure ?


It is an array of a Data structure.

732. Can an indexed file (File with key fields) be accessed in arrival sequence in an RPG program ?
Yes, don't specify "K" in F specification in the program for this file.
733. What is the difference between *LIKE and *NAMVAR opcode?
*LIKE defines program variable same as that of another pre defined variable. *NAMVAR is used
to define variable as Data area.

734. What is the difference between SKIPA & SPACEA ?


In a printer file the printing control goes to the line (of the page) mention in SKIPB where as it
leaves number of lines mention in SPACEB

735. How to handle run time error in RPG Program ?


by using indicator on statement, subroutine *PSSR

Frequently Asked Questions in AS/400 Page 58


736. How will you display a particular page (or record) in a Sub file?
Move a valid relative record number(RRN) in the field specified using SFLRCDNBR keyword in
DDS

737. What is difference between Command Function and Command Attention key?
Command function key returns variable value along with response indicator (associated with CF
key) where as Command attention returns only the response indicator value.

738. What are different type of Sub files ?


There are three types of Subfile (1) Load all Subfile (Page Size = 9999) (2) Extendable Sub file
(Sub file size > Sub file page), (3) Load by Page (Sub file size = Sub file page)

739. What is SFLNXTCHG keyword used for ?


To read the change records for 2nd, 3rd,...times from sub file after reading them once.

740. What is SFLROLVAL keyword used for ?


It specify the number of records to roll in a subfile.

741. What is difference between keyword SFLCSRRRN & RTNCSRLOC ?


RTNCSRLOC returns the location of cursor into the variable (associated with this keyword) and
SFLCSRRRN returns the relative record number where the cursor is positioned.

What's the difference between CHAIN and SETLL? Is there a performance advantage?
There are two important differences between CHAIN and SETLL.
1. The CHAIN operation applies a record lock to files that are open or update. The SETLL operation
does not apply the lock.

2. The CHAIN operation copies the record's data to the input buffer for the program. The SETLL
operation does not.

AN/OR lines (positions 7 and 8 of | Maximum of 7 per operation.


calculation specifications)
Arrays and tables | Maximum of 200 per program.
| Array/table input record length | Maximum length is 80.
for compile time
Character field length | Maximum length is 256.
Control fields (position 59 and 60 | Maximum length is 256.
of input specifications) length |
Data structure length | Maximum of 9999.
Data structure occurrences (number | Maximum of 9999 per data
of) | structure.
Edit Word | Maximum length of 24 for literals
| or 115 for named constants.

Elements in an array/table | Maximum of 9999 per array/table.


(positions 36 through 39 of |
extension specifications) |
File | Maximum of 50 per program.
Levels of nesting in structured | Maximum of 100.
groups |
Look-ahead | Can be specified only once for a

Frequently Asked Questions in AS/400 Page 59


file. Can be specified only for
primary and secondary files.
Named Constant | Maximum length of 256 for
character named constant, 512 for
hexadecimal named constant, and
|
| | 30 digits with 9 decimal
|
| | positions for numeric named
|
| | constant.
| Overflow indicator | Only 1 unique overflow indicator
| | can be specified per printer
| | file.
| Parameters | Maximum of 255
| Primary file (P in position 16 of | Maximum of 1 per program.
|
| file description specifications) |
| Printer file (PRINTER in positions | Maximum of 8 per program.
|
| 40 through 46 of file description |
|
| specifications) |
| Printing lines per page | Minimum of 2; maximum of 112.
| Program status data structure | Only 1 allowed per program.
| Record address file (R in position | Only 1 allowed per program.
|
| 16 of file description |
|
| specifications) |
| Record length for program | Maximum length is 9999. (1)
|
| described file (positions 24 |
Some ILE RPG Features:

Syntax: All non-external data definitions can now be specified in a D-specifications that are new to ILE
RPG. In addition you can define "named constants" that greatly simplify coding in the C-spec's. Also C-
spec formats have changed slightly to provide for variable names of up to 10 characters (up from 6 in
RPG/400) and longer operation codes.

New Operations: Several have been added. One that I like is EVAL which allows you to evaluate a
mathematical expression similar to Cobol and other mathematical programming languages such as
Basic, FORTRAN, PL/1, etc.

Modularity: This is a big plus. You can now write modules (non-executable) in several languages and
bind them together into a single ILE program. Thus you can use the best language (ILE C, ILE Cobol, ILE
RPG, ILE CLP) for a process or use existing modules to write a program. You can also write callable
procedures or procedures that function like built-in functions.

More: There is of course much more that is new in ILE RPG. For performance reasons, you should have a
good understanding of ILE. Bryan Meyers has written several very good articles in NEWS/400 that can
help you avoid some ILE traps. He is also one of the moderators

| through 27 of file description |


|
| specifications) |
| Structured groups (see levels of |
|

Frequently Asked Questions in AS/400 Page 60


| nesting) |
| Subroutines | Maximum of 254 per program.
| Tables (see arrays) |
| (1)Any device record size restraints override this value.

Download - Program Source


Submit Jobs - right click save as msdsbmjob.cl
Helps you manage your applications. It allows the user to control which printer the
reports will be printed on and how many copies will be printed. Just before a job is
submitted, a prompt will ask the user "outq" & "Copies". The benefit, it allows the user
to control their jobs. If you do not give the end user control, they will buy a PC and get
the control required. The data processing department does not own the computer,
they just provide a service to the rest of the company. Lighten up, quit hiding the
power of the AS400, and share it.

After installing you should execute


UPDDTA AMUS00
and add users authority to programmers so they can run interactive & control the jobq
and priority.

SBMJOBS Submit Job Example


The command to submit a job is SBMJOBS. Put this command in you CLP programs
instead of IBM's SBMJOB.

SBMJOBS JOBNAM(MSD04) COMMAND('DSPLIB LIB(MSD04) OUTPUT(*PRINT)')

You can prompt SBMJOBS just like you would SBMJOB. When the above command is
executed, the following will be displayed.
Report: Submit Job www.5-10.com 8/12/00 08:43:30
Outq.................. STEVE
Copies................ 1
Hold Y/N.............. N (Hold and not print until released)
Save Y/N.............. N (Save after printing)
Print Text............ *NONE
Out Schedule Priority. 5 (1-9)
Job:
Hold on Job Queue y/N. N (Run at night)
Schedule Date......... *CURRENT (*current, *mon...) F4=Calendar
Schedule Time......... *CURRENT (1300 is 1:00pm, *current)
Job Date.............. *SCHEDULE (No slashes, *schedule) F4=Calendar
Job Priority.......... 5 (1-9)
Jobq.................. *JOBD
For user.............. *CURRENT (*current)
Current Library....... *CURRENT
Job Description....... *USRPRF
Job Name.............. TEST
CPI...................
Command............... DSPLIB LIB(MSD04) OUTPUT(*PRINT)

F1=Help F3=Cancel,
OUTQ Output queue to put your report. Available outq's are

Frequently Asked Questions in AS/400 Page 61


COPIES Number of copies all reports will print
1 - 99 are valid entries
HOLD Hold report Y/N
Y - Hold the report on the out queue
N - Print the report
SAVE Save Y/N
Y = Save the report after printing.
N = delete the report from the out queue after printing
OUTPTY Report outq schedule priority
1 - 9, 1 will schedule before 9
JOBHLD Run at night
N = Submits to normal jobq.
Y = Submits to NITES jobq.
This allows users to run jobs after the nightly billing has finished. The NITES queue will
be on hold during the day. It is released by your billing job. Then it is reholds after all
jobs in the NITES queue is complete. You will need to create the NITES Queue, and put
the following commands at the end of your nightly billing job.
RLSJOBQ JOBQ(NITES)
SBMJOB CMD(HLDJOBQ JOBQ(NITES)) JOB(HLDJOBQ) JOBQ(NITES) JOBPTY(9)
SCHMDY Schedule Date
Use this field to specify when a job is to run. Example, you want to run something on
Sunday when the system is not busy.
*Current - eligible to run on today
010194 - eligible to run on 01/01/94
*mon *tue *wed *thu *fri *sat *sun -
Becomes eligible to run next Monday, Tuesday, Wednesday, Thursday, Friday,
Saturday or Sunday.
F4 will not work unless you have down loaded the calendar program. Use it to Popup a
calendar and select the date you wish the job to run on.
Saturday August 12, 2000
Sun Mon Tue Wed Thr Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Select 8/12/2000
F1=Help F3=Exit Rollup/down

SCHTIM Schedule time


The time of the day the job becomes eligible to run. The time is military, hour, minute,
second.
*current - Immediately eligible to run.
062993 - Eligible June 29th, 1993 to run.
JOBDATE Job Date
Most reports print the job date in the report heading Change this date if you want a
specific date to print.
*SCHEDULE The date the job started running.
*CURRENT The date the job was submitted. RPG uses the job date as the UDATE &

Frequently Asked Questions in AS/400 Page 62


*DATE.
F4 will not work unless you have down loaded the calendar program. Use it to Popup a
calendar and select the date you wish the job to run on.
JOBPTY Job schedule Priority
Valid range from 1 to 9, 1=high, 5=normal, 9=low priority.
Only authorized users can change this field. If you have the menu system, go to user
update and change the "Submit Job Change Priority" field. If you do not have the menu
system, you can UPDDTA AMUS00 and add users that you want to have this authority,
JOBQ Job Queue
Key in the job queue name.
Only authorized users can change this field. If you have the menu system, go to user
update and change the "Submit Job Change Priority" field. If you do not have the menu
system, you can UPDDTA AMUS00 and add users that you want to have this authority,
CURLIB Current Library
The current library is always at the top of your library list. The current library is
restored when the job terminates. Programmers are the only users would need to
change this field.
Only authorized users can change this field. If you have the menu system, go to user
update and change the "Submit Job Change Priority" field. If you do not have the menu
system, you can UPDDTA AMUS00 and add users that you want to have this authority.
CPI Character per inch
No longer used
F24 Run Interactive
Only authorized users see this message. It allows programmers to debug batch jobs
interactively. If you have the menu system, go to user update and change the "Submit
Job Run Interactive" field. If you do not have the menu system, you can UPDDTA
AMUS00 and add users that you want to have this authority.
How it works
The submitted job is ran under a shell (control program). The shell overrides the
printer file & calls then executes your command.
Limitations
Overides in to printer files in your commands must say SECURE(*YES). Parameters are
not passed well. Information that needs passed should be put in the local data area.
Example:
Cl prompting program.
chgvar %sst(*lda 101 6) &date
RPG print program.
I UDS
I 101 1060DATE

PCVTSAVPF AS/400 Command


Introduction
The PCVTSAVPF and PCVTPFSAV commands together provide a
simple low-level way of transferring all types of objects between two

Frequently Asked Questions in AS/400 Page 63


ISeries (AS/400, AS400) systems using intermediate save files and
physical files. This is one of the commands in our ISeries utilities
library (click this URL for full contact and pricing details).
This assumes the following steps:
1) Save object(s) on 1st ISeries to save file using SAVOBJ command
2) Convert save file to physical file also on 1st ISeries using
PCVTSAVPF command
3) Transmit the physical file to a 2nd ISeries e.g. via DDM or FTP
4) Convert the physical file on the 2nd ISeries back to a save file using
the PCVTPFSAV command
5) Restore the object(s) from the save file onto the 2nd ISeries using
the RSTOBJ command

Examples
PCVTSAVPF FROMFILE(TFRLIB/TFRSAV1)
TOFILE(TFRLIB/TFRPF1) MBR(*FIRST)
Command above converts the contents of the save file TFRSAV1 in
library TFRLIB to a physical file TFRPF1 in the same library.

Restrictions
1) The physical file must have a record length of exactly 528 bytes if the corresponding
PCVTPFSAV command is to process correctly. In other words, use the CRTPF
command with a RCDLEN(528) parameter to create the TOFILE physical file for the
PCVTSAVPF command.

IBM rebranded the AS/400 - some users called it AS400 - to ISeries


several years ago. All 3 names - ISeries, AS/400, AS400 - refer to
exactly the same system.

Frequently Asked Questions in AS/400 Page 64

You might also like