|
On 16/12/2014 11:18, Zvi Kave wrote:
On 15/12/2014 20:14, Jevgeni Astanovski wrote:
On Mon, Dec 15, 2014 at 6:52 PM, Zvi Kave 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.
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).
I tried this function and it works fine!
I only added these 2 includes:
#include<except.h>
#include<mih/rslvsp.h>
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):
msg MCH3401: "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 ?
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.