Vous êtes sur la page 1sur 15

AS400

1). Diff. between Packed & Zoned, explain me the scenario where in we can go for Zoned.
In general, arithmetic operations are performed using the packed-decimal format.
This means that the fields are first converted to packed-decimal format prior to performing
the arithmetic operation, and then converted back to their specified format (if necessary) prior to
placing the result in the result field.
The input and output fields of an RPG/400 program can be in character, zoned-decimal, packed-decimal,
or binary format. A leading or trailing sign can be specified with zoned-decimal format only. All numeric
input fields (unless they are in a data structure) are converted by the compiler to packed-decimal format
for internal processing. The program runs in the same way whether numeric data is in packed-decimal
format, zoned-decimal format, or binary format. However, the system processes arithmetic
calculations more efficiently if the data is in packed-decimal format.
Subfields within a data structure are always carried in the format specified by the subfield specification.
2). a)Pgm A is calling Pgm B and Pgm B is calling Pgm C , what will be the Call stack .
b)Pgm A is calling Pgm B and Pgm B is transferring the control to Pgm C , what will be the Call stack .
a) Pgm A, Pgm B and Pgm C.
b)Pgm A and Pgm C
3). After submittng a Batch Job, how can we know that the program is abended.
Using WRKSBMJOB we can check the status of BatchJob. If the status contains MSGQ then it will show a
Notification message if it is abended.
4). Diff. between DTAARA & DTAQ
Data Queues are a cross between data areas, and message queues. They are a method for
asynchronous communication between programs. A typical use for a data queue is to have a job
sitting in a batch subsystem waiting for a data queue entry to be created, and multiple programs
dropping entries into the data queue.
5). Can we move a physical file without moving file.
6). Types of Messages
7). Diff between SETON RT & SETON LR
8). Where do we use COMIT keyword in an RPG program.
9). After updating a record, if we say Comit what will happen.
10). After updating 6 records, if we say comit what happens, incase if any of the Updates fails in between
then what happens to earlier updated records
whether they will be committed or Rollbacked.
11). How to view dependent logicals over a Physical file.
DSPDBR
12). Explain the process of Journalling Steps invloved in Journalling :
Create a Journal Receiver
CRTJRNRCV
Create a Journal
CRTJRNPF and attach the Journal receiver to the
journal
Start Journalling the file
STRJRNPF
Start commit control with *ALL STRCMTCTL LCKLEVEL(*ALL)
at Lock Level Column
End the Commit control
ENDCMTCTL
13). Is it necessary to Override the data base file before giving a open query file.if so why?
14). What can be used Instead of Unlock opcode in an RPG program.
15). What is MSGQ.
16). What are the API interfaces used.
17). Explain XFOOT, XLATE, READC,ADDDUR, SUBDUR, CONCAT
18). With out using Read, how can we know that there are no records in the file.
19). Diff. between Information message & Inquiry message.
20). How can we select records dynamically.
21). Types of Logical files ? explain the diff. between Simple L.F, Join L.F & Multi Format L.F.?
22). Diff. between Logical file & Join Logical file
23). Diff. between *LOVAL SETGT and *HIVAL SETGT
24). What is a Activation Group? Explain how is Subsystem related to Activation group.
25). What is the significance of defining /Title, /Eject, /Space
26). How to display the page header on each and every page while generating the Report.

27). What is QSYSOPR


28). Types of Data Areas & Data Structures.
29). What is the difference between CopyBook and a Binding Directory.
30). What is a Procedure?.
A procedure is a set of self-contained high-level language statements that
performs a particular task and then returns to the caller. For example, an
ILE C/400 function is an ILE procedure.
31). Explain the steps involved in Debugging a Batch Program.
32). What is SFLNXTCHG
33). What is Optimization level.
Specifies the level of optimization, if any, of the module.
*None : Generated code is not optimized. This is the fastest in terms of translation time. It allows
variables to be displayed and modified while in debug
mode.
*Basic : Some optimization is performed on the generated code. This allows user variables to be
displayed but not modified while in debug mode.
*Full : Optimization which generates the most efficient code. Translation time is the longest. User
variables may not be modified but may be displayed,
although the presented values may not
be the current values.
34).
35). what are the Opcodes used to Read and write a Data Area.
36). What is a Result Set.
37). What is a multiple Occurence Data Structure. (Very Important)
38). Explain the concept of Primary files and Secondary files.? how many primary files can we have in
program?
39). How many subroutines- 252, Files can be defined in a program - 99.
40). What are the specs defined in RPG & RPGLE.
41). What is Diff. between SETON LR & SETON RT
42). How can we Delete already deleted Records. (Reorganize Physical File Member - RGZPFM)
43). How to Copy Message files from one library to another Library. (MRGMSGF)
44). The number of bytes occupied by a pointer ? 16 Bytes
45). What is the difference between CallB and CallP? Can we use CallB in FreeFormat
46). What is the diff. between Array's & Tables.
47). What is the Diff. between DoW & DoU.
48). How do you find whether a job is a batch job or interactive?
49). What will be your approach in going either for OPNQRYF or Logical files? Which one to go for?
50). What is the default data type for the numeric fields and Data Structures in PF & RPG?
51). What are the different types of access paths maintained on the file?
52). What is Static Call & Dynamic Call?
There are two types of procedure calls:
a. a. Static Call: A static procedure call is a call to an ILE procedure where the name of the
procedure is resolved to an address during binding, and hence it is termed as static.
b. b. Dynamic Call: Procedure pointer calls provide a way to call a procedure dynamically. For
example, you can pass a procedure pointer as a parameter to another procedure, which would then
run the procedure that is specified in the passed parameter. Here in Dynamic call, the called
programs name is resolved to an address at runtime, just before the calling program passes control
to the called program.
53). Multi member concepts: In your RPG how can you read from a particular member of a file? How can
you find out which member is being read? How can you read all the members of your PF in your RPG
program? By default which member is read?
1.) To read the particular member use either override or read a LF, which is created, based on that PF
with DTAMBRS option.
2.) INFDS
3.) *ALL in DTAMBRS

4.) By default first member is selected.


54). ILE concepts: modules, Procedures, Service programs, binding directories, activation groups etc.
Did you ever use these concepts?
Modules: Modules are the basic building blocks for ILE runnable objects and the object is represented
as *module.
Procedure : A procedure is a set of self-contained high-level language statements that performs a
particular task and then returns to the caller. For
example, an ILE C/400 function is an
ILE procedure.
Service program: A service program is a bound program consisting of a set of procedures that can be
called by procedures in other bound programs.
Binding Directory: It contains the names of modules and service programs that you may need when
creating an ILE program or service program.
Activation Group: A substructure of a job in which all ILE programs and service programs are activated.
When an OS/400 job is started, the system creates two activation groups to be used
by OPM programs. One activation group is
reserved for OS/400 system code. The
other activation group is used for all other OPM programs. You cannot delete the OPM
default activation groups. They are deleted by the system when your job ends.
55). If a batch job is consuming lot of process time and you want to find out the reasons why it is
taking such a long time, how would you proceed?
56). When you have used an open query with share *YES and you read the file in RPG program, call
another RPG program and if you read the same file again which record will be read? Is it the first
record or the next record from the previous read?
57). Types of subfiles and when each one of them is used? If there are 10000 records what type of
loading do you go for?
Types of Subfiles 1) Load - All method 2) Expanding 3) Single Page Subfiles
Load- All method is used when we want to load all the records that we want to display into the subfile
at one time. Expanding method is used when we want to load a specific number of records into the
subfile. Single-Page method is used when we want to load the number of subfile records that can be
displayed on the screen at one time. If there are 10000 records then the best method to choose is
Single-Page load method.
58). How do you detect unused spool storage? RCLSPLSTG
59). What is Group job?
Jobs can be grouped together into what is called a job group. Job groups consist of jobs that run
consecutively in the order specified in the Group sequence field.
60). What is folder?
A folder is a named object that is used to manage other objects. Folders are document library objects
(DLO) that are directories to documents and other folders. A folder is similar to a library in that it is
a directory.
61). What is the purpose of PUTOVR keyword?
To send only some of the data and attributes of a record to the display, use the following keywords:
Put with explicit override (PUTOVR)
Override data (OVRDTA)
Override attribute (OVRATR) when the PUTOVR keyword is specified, the following occurs:
The display attributes are overridden for those fields with the OVRATR keyword in effect. The data
content is overridden for those fields with the OVRDTA keyword in effect.
62). What is INFDS ?
63). How to change file attributes such as file size, file wait time, record wait time etc., permanently?
64). How can you distinguish access path & dynamic select?
An access path is a path that describes the order in which records are to be retrieved. In dynamic

selection, the access path is not defined before. The access path is defined at runtime. If we give
DYNSLT in LF the select/omit conditions are considered just before the file is available for the
program.
65). Why would you prefer OPNQRYF to LF? When would u prefer LF?
66). In program B there is a submitjob, which is a call to program C. There is also a CALL to program D
from B. How would u check the program C has been executed in D?
67). How can you test batch program using interactive source debugger or how do you Debug Batch
Jobs Submitted to a Job Queue? (Incase if u want to know some more details while deubgging type
HELP on the Evaluation line, where in user says Eval a = 'XYZ')
Using a separate job to debug another batch job submitted to the job queue allows you to put the batch
job into debug mode and to set breakpoints and traces before the job starts to process. Use the
following steps to debug batch jobs to be submitted to a job queue:

Submit the batch job using the Submit Job (SBMJOB) command or a program that
automatically submits the job with HOLD(*YES).

Determine the qualified job name (number/user/name) that is assigned to the job using the
Work with Submitted Jobs (WRKSBMJOB) command or the Work with Job Queues (WRKJOBQ)
command. The SBMJOB command also displays the name in a completion message when the command
finishes processing.

The WRKJOBQ (Work With Job Queue) command displays all the jobs waiting to start in a
particular job queue. You can show the job name from this display by selecting option 5 for the job.

Enter the Start Service Job (STRSRVJOB) command from the display you plan to use to debug
the batch job as follows:

Enter the STRDBG command and provide the names of all programs to be debugged. No other
debug commands can be entered while the job is waiting on the job queue.

Use the Release Job Queue (RLSJOBQ) command to release the job queue. A display appears
when the job is ready to start, indicating that you may begin debugging the job. Press F10 to show
the Command Entry display.

Use the Command Entry display to enter any debug commands, such as the Add Breakpoint
(ADDBKP) or Add Trace (ADDTRC) commands.

When the job stops at a breakpoint, you see the normal breakpoint display. When the job
finishes, you cannot add breakpoints and traces, or display or change variables. However, you can
display any trace data using the Display Trace Data (DSPTRCDTA) command.

SBMJOB HOLD(*YES)

STRSRVJOB JOB(qualified-job-name)

Press F3 to leave the Command Entry display, and then press Enter to start the batch job.


If you wish to debug another batch job, first end debugging using the End Debug (ENDDBG)
command and then end servicing the job using the End Servicing Job (ENDSRVJOB) command.
68). Explain Formatted Dump, System Dump, Full Formatted Dump,
69). What are the different ways to pass data between programs? Which is the efficient way?

Parameters

Data area

Data queue

Message queues

Files
Data queues are the most efficient way of data transfer.
70). What is the difference between data area & data queue?
Data area is an object, to hold data for access by any job running on the system, while data queue is a
type of system object you can create, to which a program or procedure can send data, and from which
another program or procedure can receive data. There is a limit in the size of data area 1024
characters, while data queue can hold about 64,512 characters.
71). What is the diff. between RPG & RPGLE?
OPM
ILE
Program
Program Service program
Compilation results in a
Compilation results in a nonrunnable
runnable program
module object
Compile, run
Compile, bind, run
Run units simulated for each
Activation groups
language

Dynamic program call


Single-language focus
Language-specific error
handling
OPM debuggers

Dynamic program call Static procedure


call
Mixed-language focus
Common error handling Language-specific
error handling
Source-level debugger

72). What is the difference between non-display attribute & hidden fields?

Non-display - Causes the data in the field to be invisible to the operator. The display positions
for the fields appear to be blank. Use this attribute for passwords or other security-sensitive
data. Non-display fields do not print.

Hidden - Type H to indicate a hidden field (one that is used for both input and output but not
displayed).
73). What would be the effect on the field where reverse image, underline, and high intensity?

The field will not be displayed i.e. becomes non-display.
74). Can more than one subfile record be displayed on one line?

Yes, using SFLLIN (Subfile line).
75). Do you use message subfiles? What are the necessary keywords required coding a message subfile?

Specifying the SFLMSGRCD (24) keyword on the subfile record format identifies this subfile
as a message subfile. The parameter value specified causes the subfile to appear on line 24 of the
display.


The fields MSGKEY and PGMQ are user-defined names given to the two fields required for the
subfile record format for a message subfile. The only specifications allowed for them are their
names and the SFLMSGKEY and SFLPGMQ keywords.

This subfile is built by a series of output operations to SFL that place messages in the subfile
as subfile records. Messages are truncated to fit single lines (76 characters or 128 characters,
depending on display size), and second-level help is available. This subfile is displayed by an output
operation to SFLCTL.

The OS/400 program when the display station user presses a Page Up or a Page Down key pages
this subfile. The SFLEND keyword allows the OS/400 program to display a plus sign whenever the
subfile can be paged up.
76). What are the key words you must use when using a subfile?

SFL - Record level - specifies subfile record format, consists of variable data items.

SFLCTL - Record level - specifies subfile control record format in which display, clearing, and
initialization functions are controlled.

SFLSIZ - Record level control record keyword - specifies the number of records that may be
loaded in the subfile. Max. (9999)

SFLPAG - Record level control record keyword - specifies the number of records that may be
displayed on CRT at the same time.

SFLDSP - Record level control record keyword - displays the subfile when program issues an
output operation to the control record format.
77). What do you mean by an input subfile, what are the keywords required?

The input data is first loaded to subfile and after doing interactive data validation they are
added to physical file. The new keywords required include SFLNXTCHG, SFLINZ, and SFLRNA.

SFLNXTCHG - It enables a READC instruction to process all of the subfile records as changed.
To enable READC on the same record, which was already read by READC, set on SFLNZTCHG and
update subfile.

SFLINZ - Initializes alphanumeric fields to blanks and numeric fields to zeros. When input
records are added to a subfile initialized by an SFLINZ operation, they are flagged as changed.

SFLRNA - Initializes the subfile with no active records.
78). Explain SFLCLR, SFLEND, SFLDLT, and SFLCSRRRN.

SFLCLR - Clears subfile area before the subfile is created.

SFLEND - Displays + sign to the right of the last subfile record on the current page, indicating
that more records are available.

SFLDLT - Deletes a subfile. Used when the program controls more than one subfile. Max.
Active subfiles (24)

SFLCSRRRN - RRN of the subfile record where the cursor was positioned, is returned.
79). How can you display specific subfile page on the screen in unequal subfile?

If CURSOR is specified for the SFLRCDNBR the cursor is placed in the subfile record whose
relative record number is identified by the contents of this field.

SFLRCDNBR (Subfile Record Number) - Displays the page of the subfile containing the record
whose relative record number is in this field.
80). When do you go for USROPN keyword and in which case is this key word mandatory in file spec?
When u don't know to which member it writes, e.t.c.,
81). What do u mean by SFLRCDNBR(CURSOR), CSRINPONLY
82). When do u encounter a
Session/Device Error?
83). What is MSGCON?
Use this field-level keyword to indicate that the text for a constant field is contained in a message
description. If the message description does

not exist at DDS compile time, the file is not created. If you change the message description, you
must create the file again. Option indicators
are not valid for this keyword.
84). Is it possible to list two binding directories in the H specs?
85). What is difference between LeaveSr & Leave.
86). Can we update database files using OPNQRYF?
87). How can we come to know by looking at the DDS of SFL that it is Loading all or expanding loading
SFL?(IS keyword SFLCLR the answer?)
88). Label PGM and ENDPGM is not mandatory in the CL pgm.In which situation it becomes mandatory?(I
think if the CL pgm requires parameter then label PGM becomes mandatory.Am I right? Is there any
other situation for it? what about ENDPGM? Is there any case when it becomes mandatory?
89). can you convert a constant into a variable without deleting? Answered by JMH in the Mail box.
90). what is the monitory message for the end of file? Answered by JMH in the Mail box.
91). Writing source file information of a program to a file? Answered by John Reeve in the Mail box.
92). How do you specify the record length in a RLU report? Answered by Kaushik Das in the Mail box.
93). How to get a text in mixed case (Capitalize the fist letter of each word, rest in, lower case).
Ans : %Xlate(Lc:Uc:Text:2).
94). What is the use of RTNCSRLOC ?
Returns the name of the record and field in which the cursor is currently positioned.
Returns the row and column position of the cursor relative to the display.
95). Whalevel keyword on the subfile control record format to return an indication of whether the
subfile was in folded or truncated mode on input. (i.e., SFLDROP or SFLFOLD)
96). How can we know whether the coded subfile is a Expanded or Load All?
97). How many parameters can we declare in CLP program?
98). How many variables can be declare in CLP program?
99). Write psuedo code for Load All, Expanded & Single page subfile?
100). How many parameters does a CL have? 40 params.
101). What will SNDF, RCVF, SNDRCVF,WAIT & ENDRCV do? SNDF - Write, RCVF - Read, SNDRCVF EXFMT, WAIT - Waits for Data to be received
from Display file, ENDRCV - Cancels the request by RCVF, SNDF,SNDRCVF.
102). What are the sections invloved in a CLP/CLLE program?
Program Information Section, Program Linkage Section, Program Declaration Section & Program
Processing Section.
103). To view the number of members in a particular Source file.
WRKOBJPDM LIB(LIBRARY NAME) OBJ(SOURCE PHYSICAL FILE NAME) OBJATR('PF-SRC')
104). If we want to shift the cursor position in Vertical/Horizontal manner then we need to give
FLDCSRPRG(Next field name) t is the use of SFLMODE? Use this record105). To find a Source of a Program
DSPOBJD OBJ(Obj. Name) OBJTYPE(*PGM) then option 8 to view the source
used for object.
106). In OS/400 Version 5, Release 2 RPG IV was enhanced such that the %DEC and %INT built-in
functions now support a character value on their first parameter. Simply specify the character
field or literal value as the first parameter for %DEC, then indicate the length and decimal
positions and the built-in function converts the character field to numeric. The %INT function
works similar, except no length attributes are required since it only works with whole numbers.
D szWebFVal
S
7A Inz('123.45')
C
Eval
AmtDue = %DEC(szWebVal : 5:2)
106). How to Bind the Program?
Steps invloved in Binding the Program :
Type DSPPGM (Pgm Name) to know the Service Program.

CRTPGM + F4, press F10 for Additional Parameters, then Press Pg. Dn. to where you will find a Side
heading
Bind service program: give the Service program to be binded along with Library name in which the
Service Pgm. is present. Now
you compile the Program.
107). Tracking for the Existence of any Data Base information related to either Library, Files, Fields
anything can be retrieved by using the below
command:
SELECT DBIFIL, DBIFLD FROM QADBIATR WHERE DBIFLD = E@ACCT AND DBILIB =
LIBRARY NAME.
108). check for a character field is all numeric value
If you only want the character field to contain 0-9, then TESTN won't work since values like '12345J' and
'12345}' will pass. Use CHECK opcode instead.
( %Check('0123456789':CharField) = 0 ) ;
109). Date Format Initialisation
I am using L format (Date Field) in PF, But it always displays date as 01.01.0001(when date field
doesn't contain any balanks),
How can we omit this numbers and display only blank field.?
You can display blanks field by doing this:
A
USA_DATE
L B 2 10
DATFMT(*USA)
A
MAPVAL(('01/01/0001' *BLANK))
110). TFRSECJOB - The Transfer Secondary Job (TFRSECJOB) command creates a secondary interactive job
at your work station, then transfers control between the primary and secondary jobs.
111). What is the difference between User & Current User
112). What is Single Level Storage?
All portions of main and auxiliary storage are addressed as if they arewithin a single area known as the
Virtual Address Space which is an area of 264 bytes
113). What is Job?
Each piece of work that run on AS/400.
114). What do u mean by UserProfile?
An Object with a unique name that contains the User's password, list of special authorities assigned to a
user and the objects the user owns.
115). What is a Subsystem?
An Operating Environment for handling a certain type of work or Function.
A subsystem is a single, predefined operating environment through which the system coordinates the work
flow and resource use. The system can contain several subsystems, all operating independently of each
other.Subsystems manage resources.The run-time characteristics of a subsystem are defined in an object
called a subsystem description.
Each subsystem can run unique operations. For instance, you can set up one subsystem to handle only
interactive jobs, while another subsystem handles only batch jobs. Subsystems can also be designed to
handle many types of work. The system allows you to decide the number of subsystems and what
types of work each subsystem will handle.The system relies on subsystem descriptions when starting
subsystems. Therefore, if you want to change the amount of work (number of jobs) coming from a job
queue, for example, you only need to change the job queue entry in the subsystem description.
116). What is POOL?
A Logical area of main memory in which jobs are run.
117). Explain AS/400 architecture?
118). How many types of files are there and what are they?
Physical File, Logical File, Device File & Message File
119). What is a CL?
CL is a primary interface to Operating system.
120). What is the diff. between Program-Level MONMSG & Command-Level Monmsg commands in CLP?
Program-Level Monmsg : Traps any exceptions generated by any CL command used in the CL program.
Command-Level Monmsg : Traps exception for a specific command for which it is coded.
121). What is diff. between *CAT, *TCAT & *BCAT?
*CAT - concatenate with out Editing.
Ex: Welbbb *CAT comebbb = Welbbbcomebbb
*TCAT - All Trailing blanks of first string is truncated. Ex: Welbbb *TCAT comebbb =
Welcomebbb

*BCAT - All Trailing blanks of first string is truncated and one blank is inserted. Ex: Welbbb *BCAT
comebbb = Welbcomebbb
122). Important Commands frequently used in CLP?
RTVMBRD - To Retrieve Member Description
RTVJOBA - To Retrieve Job Attributes
RTVSYSVAL - To Retrieve System Values
RTVOBJD - To Retrieve Job Description
CVTDAT - To change the format of Date
CHGVAR - To change the values of a Variable
123). What is the Diff. between Database files & Data Areas?
Database Files
Data Area
One or more Records
only one Record.
used for permanent Data storage
used for permanent or temporary Data storage
Can use various data types
can use only one data type
Greater Overhead
Lesser Overhead
124). What is the Diff. between Message subfiles & Subfiles?
Message Subfiles
Subfiles
Displays multiple messages
Display multiple Records
Clear and Load routines are not required
Clear and Load routines are required
Enables to display multiple Errors at a time
125). What are the types of Arrays in RPG?
Run-Time Arrays : Loaded by the program while it's running
Compile-Time Arrays : Loaded when the program is created (i.e., at the time of compilation.)
Prerun-time Arrays : Loaded from Array file when program begins running before any input,
Calculation or output operations are processed.
126). What is the use of OCCUR in Multiple Occurence Data structure?
OCCUR is the opcode to access a specific occurence of multiple occurenece data structure which is
nothing but repetition of a data structure for 'n' number of times.
127). What is the diff. between USER & CURUSER ?
USER : Specifies, if the user name is returned, the name of the CL variable that receives the name of the
user profile associated with the job when the job was started.The User name is the second part of the
qualified job name. The variable must be a character variable with a minimum length of 10 characters.
In SDS length starts from 254 - 263.
CURUSER : Specifies, if the user name is returned, the name of the CL variable that receives the name of
the current user profile. The variable must be a character variable with a minimum length of 10 characters.
In SDS length starts from 358 - 367.
128). What is the Diff. between Tables & Arrays?
Tables : You cannot refer to specific Table elements by their position.
A Table name always refers to the element found in the last "LOOKUP" operation.
Arrays : You cann refer to a specific array element by its position.
An Array name by itself refer s to all elements in the Array.
129). What is Diff. between Bin by Copy & Bind by Reference?
Bind by Copy : The modules specified on the module parameter, Any modules selected from the binding
directory that provide an export for an unresolved import.Physical addresses of the needed procedures and
data items used within the copied modules are established when the ILE program or service program is
created.
Bind by Reference : Symbolic links to the service programs that provide exports for unresolved import
requests are saved in the created program or service program. The symbolic links refer to the service
programs providing the exports. The links are converted to physical addresses when the program object to
which the service program is bound is activated.
At run time, with physical links established to the procedures and data items being used, there is little
performance difference between the following:
_ Accessing a local procedure or data item
_ Accessing a procedure or data item in a different module or service program bound to the same program
130). How to handle such situations : You have a Batch program containing 1000 records and an error occurs at

Record number 101, actually this program abends abnormally, but instead of getting it abnormal end we
have to ignore this error, how to achieve it?
Use *DETC in *PSSR subroutine as mentioned below:
C *PSSR
BEGSR
C
IF
Err = 102
C
ADD
1
Divisor
C
MOVE '*DETC'
ReturnPt
6
*DETL Continue at the beginning of detail lines.
*GETIN Continue at the get input record routine.
*TOTC Continue at the beginning of total calculations.
*TOTL Continue at the beginning of total lines.
*OFL
Continue at the beginning of overflow lines.
*DETC Continue at the beginning of detail calculations.
*CANCL Cancel the processing of the program.
Blanks Return control to the RPG IV default error handler. This applies when factor 2 is a value of
blanks and when factor 2 is not specified. If the subroutine was called by the EXSR operation and
factor 2 is blank, control returns to the next sequential instruction. Blanks are only valid at runtime.
131). What will be the retrieval order for a file in RPG program and through STRSQL
In RPGLE, it will be displayed in Keyed order (If it's keyed)
In STRSQL, it will be displayed in Arrival order even when it's keyed.
132). What is Autostart ? What is the benefit of using Autostart jobs?
An autostart job is a batch job doing repetitive work or one-time initialization work that is associated
with a particular subsystem. The autostart jobs associated with a subsystem are automatically
started each time the subsystem is started. This job type supports multi-threaded applications.
Using autostart jobs, you can automatically start jobs that perform repetitive work, initialize
functions for an application, or provide centralized service functions for other jobs in the same
subsystem. An autostart job in the controlling subsystem can be used to bring up other
subsystems (as does the IBM-supplied controlling subsystem).
133). How many files are supported in a CL program?
Two files are supported in a CL pgm. They are : Display Files & Database Files.
134). If a file has 10 members say and you want to process all the members, then how you are going to
achieve this?
a). Give OVRDBF filename mbr (*ALL)
b). Use the Keyword EXTMBR('*ALL') in F-Specs.
135). Error Codes List :
/If Defined ( CpyOnErr_Work )
//On-error status codes
// 0000 No error.
D StsNoError
C
00000
// 0001 Called program return with *Inlr on.
D StsPgmRetLR C
00001
// 0002 Function key pressed.
D StsFKeyPressed C
00002
// 0011 End of file on.
D StsEOF
C
00011
// 0012 Record not found (%Found = *Off).
D StsRecNotFound C
00012
// 0013 Write to full subfile.
D StsWrtSflFull C
00013
// 0050 Conversion resulted in substitution.
D StsCvtSubst C
00050

// 0100 String operation, value out of range.


D ErrInvString C
00100
// 0101 Negative squere root.
D ErrNegSqrT
C
00101
// 0102 Divide by zero.
D ErrDivZero
C
00102
// 0103 Intermediate result too small to contain result.
D ErrResultOvfl C
00103
// 0104 Float underflow.
D ErrFltUndflow C
00104
// 0112 Invalid date, time or timestamp value.
D ErrInvalDate C
00112
// 0113 Date overflow or underflow.
D ErrDateOvflow C
00113
// 0114 Date mapping error.
D ErrDateMap
C
00114
// 0115 Invalid length for variable-length field.
D ErrInvalVarLen C
00115
// 0120 Table or array out of sequence.
D ErrArrSeq
C
00120
// 0121 Invalid array indexe.
D ErrArrIndx
C
00121
// 0122 Ocurr value out range.
D ErrInvalOccur C
00122
// 0123 Reset attemped during initialization.
D ErrInzReset C
00123
// 0202 Call to program or procedure ended in error.
D ErrCallFail C
00202
// 0211 Error ocurred while calling program or procedure.
D ErrCall
C
00211
// 0221 Called program tried to used unpassed parameter.
D ErrParmNoPass C
00221
// 0222 Pointer or parameter error.
D ErrPtrParm
C
00222
// 0231 Called program returned with halt indicator on.
D ErrCallHalt C
00231
// 0232 Halt indicator on in this program.
D ErrHalt
C
00232
// 0233 Halt indicator on when RETURN operation run.
D ErrHaltRtn
C
00233
// 0299 RPG dump failed.
D ErrDumpFail C
00299
// 0301 Error in method call.
D ErrMthCall
C
00301
// 0302 Error converting Java array to RPG parm entring java native method.
D ErrCvtJavArrEnt...
D
C
00302
// 0303 Error converting RPG parm to Java array exiting RPG native method.
D ErrCvtRpgPrmOut...
D
C
00303
// 0304 Error converting RPG parm to Java array preparing Java method call.
D ErrCvtRpgPrmPrp...
D
C
00304
// 0305 Error converting Java array to RPG parm/return value after method call.
D ErrCvtJavArrAft...
D
C
00305
// 0306 Error converting RPG return value to Java array.
D ErrCvtRpgRtnVal...
D
C
00306

// 0333 Error on display operation.


D ErrDisplay...
D
C
00333
// 0401 Data area not found.
D ErrDtaaraNotFound...
D
C
00401
// 0402 *PDA not valid for non-prestart job.
D ErrInvalPsjPDA...
D
C
00402
// 0411 Data area types/lengths do not match.
D ErrInvalDtaara...
D
C
00411
// 0412 Data area not allocated for output.
D ErrDtaaraNotOut...
D
C
00412
// 0413 I/O error while processing data area.
D ErrDtaaraIO...
D
C
00413
// 0414 Not authorized to use data ara.
D ErrDtaaraUseAut...
D
C
00414
// 0415 Not authorized to change data ara.
D ErrDtaaraChgAut...
D
C
00415
// 0421 Error while unlocking data ara.
D ErrDtaaraUnlFail...
D
C
00421
// 0425 Requested storage allocation length out range.
D ErrInvalAlloc...
D
C
00425
// 0426 Error during storage management operation.
D ErrStorFail...
D
C
00426
// 0431 Data area previously allocated to another process.
D ErrDataraAlloc...
D
C
00431
// 0432 *LOCK for data area not granted.
D ErrDataraLock...
D
C
00432
// 0450 Character field not enclosed by SO and SI.
D ErrInvalSOSI...
D
C
00450
// 0451 Cannot convert between two CCSIDs.
D ErrCvtCcsid...
D
C
00451
// 0502 Sort suequence not converted.
D ErrSortCvt...
D
C
00502
// 0802 Commitment control not active.
D ErrCmtNact...
D
C
00802
// 0803 Rollback fail.
D ErrRolbckFail...
D
C
00803
// 0804 Commit error.
D ErrCommit...
D
C
00804
// 0805 Rollback error.
D ErrRolbck...

D
C
00805
// 0907 Decimal data error.
D ErrDecimalDta...
D
C
00907
// 1011 Undefined record type.
D ErrUndefRecTyp...
D
C
01011
// 1021 Record already exists.
D ErrRecExists...
D
C
01021
// 1022 Referencial constraint error.
D ErrRefCst...
D
C
01022
// 1023 Trigger program error before operation.
D ErrTrgBefore...
D
C
01023
// 1024 Trigger program error after operation.
D ErrTrgAfter...
D
C
01024
// 1031 Match field sequence error.
D ErrMacthSeq...
D
C
01031
// 1041 Array/Table load sequence error.
D ErrLoadArrSeq...
D
C
01041
// 1042 Array/alter Table load sequence error.
D ErrArrAltSeq...
D
C
01042
// 1051 Excess entries in array/table file.
D ErrArrOvFlow...
D
C
01051
// 1071 Record out sequence.
D ErrInvalRecSeq...
D
C
01071
// 1121 No print key DDS keyword indicator.
D ErrDDSPrtKey...
D
C
01121
// 1122 No page down DDS keyword indicator.
D ErrDDSPgDn...
D
C
01122
// 1123 No page up DDS keyword indicator.
D ErrDDSPgUp...
D
C
01123
// 1124 No Clear key DDS keyword indicator.
D ErrDDSClrKey...
D
C
01124
// 1125 No Help key DDS keyword indicator.
D ErrDDSHlpKey...
D
C
01125
// 1201 Record mismatch detected on input.
D ErrInpMisMatch...
D
C
01201
// 1211 I/O operation to a closed file.
D ErrIOClosed...
D
C
01211
// 1215 Open issued to already open file.
D ErrAlreadyOpen...
D
C
01215
// 1216 error on implicit OPEN/CLOSE.

D ErrImplicOpnClo...
D
C
01216
// 1217 error on explicit OPEN/CLOSE.
D ErrExplicOpnClo...
D
C
01217
// 1218 Unable to allocate record.
D ErrRcdLocked...
D
C
01218
// 1221 Update/delete operation without a prior read.
D ErrUpdNoRead...
D
C
01221
// 1222 Referential constraint allocation error.
D ErrRefCstAlloc...
D
C
01222
// 1235 Error in PRTCTL space or skip entries.
D ErrPrtCtl...
D
C
01235
// 1241 Record number not found.
D ErrRecNbrNotFnd...
D
C
01241
// 1251 Permanet I/O error.
D ErrPermIO...
D
C
01251
// 1255 Session or device error.
D ErrSessDev...
D
C
01255
// 1261 Attempt to exceed maximum number of devices.
D ErrMaxDev...
D
C
01261
// 1271 Attempt to acquire unavailable devices.
D ErrDevUnavail...
D
C
01271
// 1281 Operation to unacquired device.
D ErrDevUnacq...
D
C
01281
// 1282 Job ending with controlled option.
D ErrJobEndCtl...
D
C
01282
// 1284 Unable to acquire second device.
D ErrAcqAddDev...
D
C
01284
// 1285 Attempt to acquire an allocated device.
D ErrDevAlloc...
D
C
01285
// 1286 Attempt to open shared file with SAVDS or SAVIND.
D ErrShrOpen...
D
C
01286
// 1287 Response indicators overlap SAVIND indicators.
D ErrRespInd...
D
C
01287
// 1299 I/O error detected.
D ErrIO...
D
C
01299
// 1331 Wait time exceeded for workstation file.
D ErrWait...
D
C
01331
// 09998 Internal failure in RPG compiler or in runtime subroutimes.
D ErrIntRPGFail...
D
C
09998

// 09999 Program exception in system routine.


D ErrPgmExc...
D
C
09999
/EndIf
General Questions:
1. How many batch programs have you coded?
2. How many Report programs have you coded?
3. whether u people only make changes to the existing programs or you also code new programs?
4. what do you want to become in future?
5. Are you interested to go Abroad or not?
6. What is the percentage of batch programs in the total number of programs you coded so far?
7. Have you at anytime interacted with the client directly and produced design specifications?
8. What is the process followed in the project you are currently working on? Who produces the design
specifications?
9. How many months you have worked in CHL-AMPS project?
10. What are all the questions that can be put to the user for designing a report based on his request?
11. If user asks for incorrect report how do you react?
12. What is the most critical project you have worked on and what are your roles and responsibilities in
that project?
13. How many new programs have you written? What is the most difficult task that you have faced
while coding and how did you resolve that?
14. Tell me about urself for 3 - 4mts.
15. Why did u changed ur profession from Civil to Computers.
16. What is SWOT? if you know it then explain me in detail?
17. Why do u want to leave ur previous Organization.
18. How do you react, if i won't select u.
19. How many Subfile programs have you coded, so far from scratch?

Vous aimerez peut-être aussi