Académique Documents
Professionnel Documents
Culture Documents
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.
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
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
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