Try putting your input data into arg[1].
On 02/18/2011 06:25 PM, Stephen Jackson wrote:
My issue is that what ever I use as my input args is what prints out as my
return args along with the args number. Can that be caused by the routine not
returning anything?
Stephen Jackson
-----Original Message-----
From: Jeff Powell [[email protected]]
Received: Friday, 18 Feb 2011, 6:43pm
To: U2 Users List [[email protected]]
Subject: Re: [U2] UniSubroutineException: Unknown Error [30102] Occurred
The arg count going in needs to be n+1. Arg 0 will be the return data.
public ArrayList callSub(String sRoutine, ArrayList args)
{
Iterator it = args.iterator();
ArrayList oArgs = new ArrayList();
int iArgs = args.size();
System.out.println("Args: " + iArgs);
try
{
UniSubroutine uoSub = ses.subroutine(sRoutine, iArgs + 1);
int iArg = 0;
uoSub.setArg(iArg++, ""); // dummy argument - this
will become the return value
// Set user arguments
while (it.hasNext())
{
Object arg=it.next();
// System.out.println("InputArg["+iArg+"]="+arg);
uoSub.setArg(iArg++, arg);
}
// call
uoSub.call();
// get returned parameters
iArgs = uoSub.getNumArgs();
for (int i = 0; i< iArgs; i++)
{
String arg=uoSub.getArg(i);
// System.out.println("OutputArg["+i+"]="+arg);
oArgs.add(arg);
}
} catch (Exception ex)
{
System.err.println("Call to " + sRoutine + " failed.");
ex.printStackTrace(System.err);
}
return oArgs;
}
On 02/18/2011 01:16 PM, Stephen Jackson wrote:
So we created a basic program to call so we are getting closer, thanks for
all your input it is putting us on the correct path. I do seem to have
some issues when trying to get the results. What is happening is it is
just spitting out the input parameters ..
//System.err.println(command.response());
UniSubroutine sub = session.subroutine("S.XTMS.TEST.BASIC", 1);
sub.setArg(0, "0491865");
sub.call();
sub.resetArgs();
System.err.println(sub.getNumArgs());
System.err.println(sub);
System.err.println(sub.getArg(0));
//session.disconnect();
//String r = sub.getArg(0);
//String r1 = sub.getArg(1);
Logging statements:
Version Number :4.1.3
Max Open Files :32
Account Path :/datatel/test/10day/development
Locking Strategy :0
Release Strategy :12
Calling S.XTMS.TEST.LOOKUP...
1
asjava.uniobjects.UniSubroutine@6791d8c1
0491865 ->>>> same as input, not the result from the routine.
On WednesdayF/16/11 5:45 PM, "Hona, David"<[email protected]> wrote:
Does this subroutine do file I/O? Does it explicitly open the file or
assume some other program or subroutine opens it and stores the file
variable in labelled common...? Sometimes it can even be a call
subroutine call that is called using a labelled common variable (CALL
@MYSUB)...
Easiest thing to do is look how the subroutine is used now...if you don't
emulate the same initialisation sequence it requires from UV native
runtime environment in Java runtime environment...it more than likely
will not work.
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Stephen Jackson
Sent: Thursday, 17 February 2011 1:28 AM
To: [email protected]
Subject: [U2] UniSubroutineException: Unknown Error [30102] Occurred
I am new to the U2 java api. I am trying to make a subroutine call but
get the following Exception. It is not in the documentation and I have
not had a lot of luck tracking it down. I am able to make a simple query
so not sure if there is some configuration or something I am not aware of
which is causing the error.
Version Number :4.1.3
Max Open Files :32
Account Path :/mypath
Locking Strategy :0
Release Strategy :12
Calling S.XTMS.TEST.LOOKUP...
[IBM U2][UniObjects for Java][UniSubroutine Exception][ErrorCode:
30102]Unknown Error [30102] Occurred
asjava.uniobjects.UniSubroutineException: Unknown Error [30102] Occurred
at asjava.uniobjects.UniSubroutine.call(UniSubroutine.java:150)
Any help would be much appreciated.
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
************** IMPORTANT MESSAGE *****************************
This e-mail message is intended only for the addressee(s) and contains
information which may be
confidential.
If you are not the intended recipient please advise the sender by return
email, do not use or
disclose the contents, and delete the message and any attachments from
your system. Unless
specifically indicated, this email does not constitute formal advice or
commitment by the sender
or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its
subsidiaries.
We can be contacted through our web site: commbank.com.au.
If you no longer wish to receive commercial electronic messages from us,
please reply to this
e-mail by typing Unsubscribe in the subject line.
**************************************************************
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users