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
