As 400 Interview Questions
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.
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),
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.
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, variable to store the information 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:
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