Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

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

Answer Posted / 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



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Q:HI friends accually ihave one problem plesase let me know the alternate code of this code. Related field description of code: Add a field, CALvsPRD, "Calendar Day Starts Before/After Production Day" to the parameter set WRKORDER which accepts values 'A' or 'B' o B = Calendar Day Starts Before Production Day o A = Calendar Day Starts After Production Day o Any other value indicates the production and calendar dates are always the same. code: Automatic Execution Of *INZSR Subroutine /Z01 * retrieves WRKORDER field values. /Z01 * Calculate default Production Date and return it to caller. /Z01 * Production date defaults to system date /Z01 C Eval P@Pdate = %DATE() /Z01 * unless Calendar date starts Before PDN(production) date and /Z01 * system time is before PDN Start Time then /Z01 * PDN date is yesterday. /Z01 C If W@CALvsPRD = 'B' and /Z01 C %TIME() < %TIME (W@Strtime) /Z01 C Eval P@Pdate -= %Day(1) /Z01 * unless Calendar date starts After PDN date and /Z01 * system time is *GE PDN(production) Start Time then /Z01 * PDN date is tomorrow. /Z01 C ElseIf W@CALvsPRD = 'A' and W@Strtime > *Zero and /Z01 C %TIME() >= %TIME (W@STrtime) /Z01 C Eval P@Pdate += %Day(1) /Z01 C EndIf /Z01 C Eval *InLr = *On

2460


what is kids-rpg?

1058


What is the difference between copybooks and subprocedures in as400?

1305


How to write record if no field or the field are different in physical file in rpgle ?

898


What is file identifier where we can use?

1069


What is the diff bw PF/LF Name and their Record format name? what is restriction in record format then file name?

2941


what is the difference between do while and do until?

1184


explain sflclr, sflend, sfldlt, and sflcsrrrn?

1297


what do you mean by an input subfile, what are the keywords required?

1194


write an RPG program to calculate the marks of 5 students (A,B, C, D, E)in 3 different subjects (eng, math, sci) an display on the screen

1246


is this a rpg channel?

1118


can you debug ile rpg program using isdb?

1183


How do u design a physical file, when you have 2 Unique fields like for eg in A student file student ID and student examination no both are unique

948


What is the purpose of record level identifier?

1074


What is ment by record level identifier?

1081