How can i check the object existance in RPG program without
using QCMDEXC command.
Answers were Sorted based on User's Feedback
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 |
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 |
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 |
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 |
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 to declare the pull button in AS/400..
How do you find out whether a record is present in the physical file without reading the file? for Example Employee No: 100 in an Employee master.How do we find out whther 100 is present in Employee master without reading the file?
11 Answers Bank Of America, CSC, IBM,
i hav 2 logical files(L1,L2) both r derived from one physical file(P1). how can i use both the logical files in one RPG program? if yes what i have to d.
Hi guys. Im in AS/400(RPGLE,CLP) from last 1 year.Now i wan to upgrade my Knowledge in AS/400. Suggest me some new fields & courses which falls under AS/400. Waiting for your quick Response.
1) How to declare a file? 2) How to define a display file? 3) How to monitor error messages in RPG? 4) How to find the attributes for subfiles? and what is the DDS for subfiles?
is this a rpg channel?
i have 1000 records in pf.what are all the ways to read a particular name records in rpg?? ie.. in pf i have a name called demo appeared around 52 times hw will we read this particular records in rpg/400?.
2. Which of the following statement(s) explains the difference(s) between the /INCLUDE and ICOPY directives? a.) No difference, they function the same b.) ACOPY cannot be used as a conditional directive c.) IINCLUDE files cannot contain embedded SQL d.) Nesting /TNCLUDE directives is not allowed
Can someone tell me tell me what is meant by message wait...?
How would display prime numbers using CL program?
Hi friends, Can you give the solution for the below mention simple code.and explain.what is output D CHR1 S 4A INZ('PEN') D CHR2 S 10A INZ('MYGET') D CHR3 S 8A INZ('GOOD') D CHR4 S 22A INZ C MOVEL CHR1 CHR4 C MOVE CHR2 CHR4 C EVAL CHR4=CHR3 C MOVE CHR1 CHR4
Are all these RPG/400 Interviewed Questions being asked recently? are current?