Re: Check existence of data area in ILE C

Zvi Kave <[email protected]>
Newsgroups gmane.comp.lang.as400.c
Message-ID <[email protected]>
   Hi Jevgeni,

   I realized that every call to Check_DTAARA when data area not exists,
   creates error lines in job log like this (which almost fired me out):
    Cannot resolve to object DTANAME. Type and Subtype X'190A' Authority
      X'0000'.

   Do you have quick solution to avoid of message in job log ?

   Regards,

   Zvi

   On 16/12/2014 11:18, Zvi Kave wrote:

     I tried this function and it works fine!
     I only added these 2 includes:
     #include <except.h>
     #include <mih/rslvsp.h>

     Thank you all,

     Zvi

     On 15/12/2014 20:14, Jevgeni Astanovski wrote:

 I use a function Check_DAARA before calling RTVDTAARA:

 int Check_DTAARA(char *dtaname, char *dtalib)
 {
   _SYSPTR p;
   volatile _INTRPT_Hndlr_Parms_T ca; /* communications area */

   #pragma exception_handler(ERROR_OCCURED, ca, 0, _C2_MH_ESCAPE, \
                             _CTLA_HANDLE, "MCH3401")

   p = rslvsp(WLI_DTAARA, dtaname, dtalib, 0x0190);
   return 0;

   ERROR_OCCURED:
   return -1;
 }

 Returns 0 if data area exists, otherwise -1.
 Requires some includes.
 Can be used as a generic exception handler.
 It is actually made of an example in one of the manuals (ILE/C
 programmers's guide or alike).

 Jevgeni.


 On Mon, Dec 15, 2014 at 6:52 PM, Zvi Kave [1]<[email protected]> wrote:

    My ILE C program crashes in the line of QXXRTVDA if data does not exist.
    Is there a way to avoid this crash ?
    Someone has an example code for this?

    The line is like this:
    QXXRTVDA(dta, 41, 5, user_dta);
    and I got program crash with the message:
     "Data area DTA in QGPL not found."

    If data area dta exists, it works fine.

    Regards,

    Zvi
 --
 This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list
 To post a message email: [2]C400-L-Zwy7GipZuJhWk0Htik3J/[email protected]
 To subscribe, unsubscribe, or change list options,
 visit: [3]http://lists.midrange.com/mailman/listinfo/c400-l
 or email: [4]C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected]
 Before posting, please take a moment to review the archives
 at [5]http://archive.midrange.com/c400-l.

References

   Visible links
   1. mailto:[email protected]
   2. mailto:C400-L-Zwy7GipZuJhWk0Htik3J/[email protected]
   3. http://lists.midrange.com/mailman/listinfo/c400-l
   4. mailto:C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected]
   5. http://archive.midrange.com/c400-l
-- 
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list
To post a message email: C400-L-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.