How can i check the object existance in RPG program without
using QCMDEXC command.

Answers were Sorted based on User's Feedback



How can i check the object existance in RPG program without using QCMDEXC command...

Answer / syam

Without using QCMDEXC.
RPG Free format

/Free
MONITOR;
Open emp1;
ON-ERROR 1217;
Dsply ' File not found'
return;
ENDMON;
/END-FREE

Is This Answer Correct ?    13 Yes 1 No

How can i check the object existance in RPG program without using QCMDEXC command...

Answer / keshar jain

In addition to above answers with MONITOR we can check for mesage CPF9801. It will give clear idea about object existence.

Is This Answer Correct ?    3 Yes 0 No

How can i check the object existance in RPG program without using QCMDEXC command...

Answer / roshan.wankar

1. To check File object, you should defined file in User
open mode and by using %Open operation we can identify the
file object is present or not.

2. To check Program object,
Use MONITOR; opcode or in calling specify low indicator, if
Low indicator is On, means object is not present in library
list.

Is This Answer Correct ?    2 Yes 0 No

How can i check the object existance in RPG program without using QCMDEXC command...

Answer / naveen chandra joshi

The question is: 
How can i check the object existence in RPG program without 
using QCMDEXC command?

Answers posted by AS/400 experts:- use Monitor On error; what if file is not in user opened mode and already declared & opened in F specs...this solution will not work in this case and program will throw error when it tries to open the file in F specs itself...(This we can solve using File Information DS)
User wants to know the object existence, it (object)can be file object, program object or any other type of object.
Generally we check object existence by using CHKOBJ command but user said not to use QCMDEXC API...

The solution is(by using QUSROBJD API):
      *---------- Global variables:  ----------------------*
     D ObjNam          s             10a
     D ObjLib          s             10a
     D ObjTyp          s             10a
      *---------- Api error data structure:  --------------*
     D ApiError        Ds
     D  AeBytPro                     10i 0 Inz(          %Size(ApiError))
     D  AeBytAvl                     10i 0 Inz
     D  AeMsgId                       7a
     D                                1a
     D  AeMsgDta                    128a

*-- Retrieve object description:  -----------------------*
     D RtvObjD         Pr               ExtPgm('QUSROBJD')
     D  RoRcvVar         32767a         Options(*VarSize )
     D  RoRcvVarLen                  10i 0 Const
     D  RoFmtNam                      8a   Const
     D  RoObjNamQ                    20a   Const
     D  RoObjTyp                     10a   Const
     D  RoError                   32767a  Options(*VarSize)
     
     C                   Eval      ObjNam     =  '???'
     C                   Eval      ObjLib     =  '*LIBL'
     C                   Eval      ObjTyp     =  '*PGM'
      *
     C                   CallP     RtvObjD( RoData
     C                                    : %Size( RoData )
     C                                    : 'OBJD0100'
     C                                    : ObjNam + ObjLib
     C                                    : ObjTyp
     C                                    : ApiError
     C                                    )
      *
     C                   If        AeBytAvl   >  *Zero And
     C                             AeMsgId    =  'CPF9801' 
      *-- Object doesn't exist...
     C                   EndIf
      *
     C                   Return

Is This Answer Correct ?    1 Yes 3 No

How can i check the object existance in RPG program without using QCMDEXC command...

Answer / mithila

In RPG4, QusRtvObjd API can be used which has procedutrs
like ChkObj and ChkMbr. or a CL program can be called that
checks the existence of object and returns some indicator
to for found/not found.

Is This Answer Correct ?    3 Yes 7 No

How can i check the object existance in RPG program without using QCMDEXC command...

Answer / gagandeep kaur

I think using PSSR is also correct.

Is This Answer Correct ?    1 Yes 5 No

How can i check the object existance in RPG program without using QCMDEXC command...

Answer / syam

Using MONITOR...ON-ERROR...ENDMON

Is This Answer Correct ?    2 Yes 9 No

Post New Answer

More RPG400 Interview Questions

What is the compilation option that has to he specified while compiling an RPC program which uses a file having date data type field?

3 Answers   HSBC, IBM,


suppose we have 10 members in physical file and i have to use 4 out of 10 so how can we read this in RPG

3 Answers   TCS,


how do I preserve and clean the array?

0 Answers   IBM,


How to code Page up and Page down in RPG for Single page subfile without using ROLLUP/ROLLDOWN in DSPF ?

3 Answers   HCL,


WHAT IS MONMSG IDENTIFIER FOR STRTCPFTP command IN cl (as/400)?

3 Answers  






Hi,Please give me complete code with this logic. The question is how to read the records from a file with load an array of size with error condition? (The logic is Z-Add 0 IDX *LOVAL SETLL FILE READ FILE 99 *IN9 DOWEQ *OFF IDX ANDLT 99 ADD 1 IDX MOVE FIELD ARR,IDX READ FILE 99 ENDDO)please give me complete code with explanation?

1 Answers  


how to change the length of the field in a physicalfile?

12 Answers  


How do you code file / field renames in ILE RPG?

4 Answers   Accenture, IBM,


if there is a module object , how to find the program object for this module object.Assume the module object name and program object name is not same.

0 Answers  


How to read alternative records in a pf by using rpg?

8 Answers   IBM,


A pgm subroutine calling child subroutine, that child subroutine again calling parent subroutine, u have 1000 lines of code, with out debugging , how can u find that error??? Is there any command to find errors in pgm???

3 Answers   HSBC,


what is overlay? how can we pass parameters in cl or rpg programing? how can we get data area value in cl or rpg programming?

2 Answers   IBM, Patni,


Categories