[U2] Catalog copy error
Hi I finally got the chance to try to upgrade of the company's old UD/Solaris 5.2 system to 7.2. I got a separate machine with a later version of Solaris to play with. We installed UD7.2.5 and copied all the Avante directories from the old system to the new. Initially everything went quite smoothly, but when I try to log on to Avante 9.2 I get an error before the menu comes up. *SYSS4915.2 is not cataloged DELETE Error Fatal error And the system drops to TCL. The same happens if I type MM to get back into the menu structure. BTW SYSS4915.2 is a standard Avante DELETE trigger subroutine. When I try to catalog the program (or any other one) I get a COPY CATALOG ERROR message. I checked the permissions of the CTLGTB file and they ate rw-rw-rw just like the old system. Any suggestions? Thanks Mecki ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Catalog copy error
We are also using Avanté, but we do not have a program called SYSS4915.2. Nor do we have SYSS4915.1. I don't believe that TRUE UniData triggers are part of Avanté. We use them, but they have all been written in house. Epicor uses things that they CALL triggers, but they are not true triggers in the sense of what UniData calls them. Based on those statements, I am not sure where to point you. True UniData triggers must be globally cataloged. This can cause headaches if you have a LIVE and TEST (and possibly other) realms on your box. To get around this, a popular naming convention for triggers is to globally catalog the .1 program, but all it really does is call the .2 subroutine which is locally cataloged. I hope some of this points you towards something userful. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Tuesday, February 22, 2011 8:56 AM To: U2 Users List Subject: [U2] Catalog copy error Hi I finally got the chance to try to upgrade of the company's old UD/Solaris 5.2 system to 7.2. I got a separate machine with a later version of Solaris to play with. We installed UD7.2.5 and copied all the Avante directories from the old system to the new. Initially everything went quite smoothly, but when I try to log on to Avante 9.2 I get an error before the menu comes up. *SYSS4915.2 is not cataloged DELETE Error Fatal error And the system drops to TCL. The same happens if I type MM to get back into the menu structure. BTW SYSS4915.2 is a standard Avante DELETE trigger subroutine. When I try to catalog the program (or any other one) I get a COPY CATALOG ERROR message. I checked the permissions of the CTLGTB file and they ate rw-rw-rw just like the old system. Any suggestions? Thanks Mecki ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniSubroutineException: Unknown Error [30102] Occurred
Thanks for your responses everyone, this was very helpful and I can now retrieve the result with no issue. On FridayF/18/11 8:15 PM, Jeff Powell j...@powellclan.com wrote: 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 [j...@powellclan.com] Received: Friday, 18 Feb 2011, 6:43pm To: U2 Users List [u2-users@listserver.u2ug.org] 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, Daviddavid.h...@cba.com.au 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: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Stephen Jackson Sent: Thursday, 17 February 2011 1:28 AM To: u2-users@listserver.u2ug.org 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 U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains
Re: [U2] Catalog copy error
Thanks John, SYSS4915.2 is part of the Avante File Auditing module (I think it was actually retro-fitted onto our 5.2 system and the different processes can only be invoked using the slash-processor). In this module you can set files and attributes therein up to record any changes with time and date of the change, what was changed and who did it. This is sometimes helpful if nobody owns up to having changed the status of a Work Order Operation when it shouldn't have been for instance. There is even a process SYS4913 that generates a report on those audited files. Not very nice and half of the options don't work, but better than nothing. But maybe this is just an Epicor UK thing? I managed to delete the triggers on SYSCON and now at least I get the Avante menu up and it seems to prove that at least SB+ 5.2 is still working and that it was actually a trigger causing my initial problem. It doesn't solve my cataloging problem, though. I actually don't mind that trigger subroutines need to be globally cataloged. Triggers actually fall over if you catalog the subroutine locally. The only thing that puts me off a bit is that you have to own the file if you want to create or delete triggers. When installing UD 7.2 we used /usr/igi/ud72 as the UDTHOME directory, while on the old system this was /usr/igi/ud52. Of course there are file pointers in the VOC that were still pointing to /usr/igi/ud52/... like CTLGTB for instance. I changed CTLGTB and D_CTLGTB to the new location (CTLG is a local file anyway and the others are language files etc.) I also changed the group and gave all files 777 permissions and changed the group from root to infoflo, but that COPY CATALOG FILE ERROR still comes up when I try to catalog any programs. Maybe we should just start all over again and call the UDTHOME directory exactly the same as on the old system. Setting up logical file pointers in Solaris may have screwed things up. On 22/02/2011 14:07, Israel, John R. wrote: We are also using Avanté, but we do not have a program called SYSS4915.2. Nor do we have SYSS4915.1. I don't believe that TRUE UniData triggers are part of Avanté. We use them, but they have all been written in house. Epicor uses things that they CALL triggers, but they are not true triggers in the sense of what UniData calls them. Based on those statements, I am not sure where to point you. True UniData triggers must be globally cataloged. This can cause headaches if you have a LIVE and TEST (and possibly other) realms on your box. To get around this, a popular naming convention for triggers is to globally catalog the .1 program, but all it really does is call the .2 subroutine which is locally cataloged. I hope some of this points you towards something userful. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Tuesday, February 22, 2011 8:56 AM To: U2 Users List Subject: [U2] Catalog copy error Hi I finally got the chance to try to upgrade of the company's old UD/Solaris 5.2 system to 7.2. I got a separate machine with a later version of Solaris to play with. We installed UD7.2.5 and copied all the Avante directories from the old system to the new. Initially everything went quite smoothly, but when I try to log on to Avante 9.2 I get an error before the menu comes up. *SYSS4915.2 is not cataloged DELETE Error Fatal error And the system drops to TCL. The same happens if I type MM to get back into the menu structure. BTW SYSS4915.2 is a standard Avante DELETE trigger subroutine. When I try to catalog the program (or any other one) I get a COPY CATALOG ERROR message. I checked the permissions of the CTLGTB file and they ate rw-rw-rw just like the old system. Any suggestions? Thanks Mecki ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Catalog copy error
Mecki, When I have questionable catalogs stuff, I always type: DELETE.CATALOG xx several times until it states that there is nothing there. That ensures that if it was cataloged locally AND globally, there is no cataloging left for that program (at least in that account). I then re-catalog the way I know it should be (always directly unless it is the parent trigger program). I appreciate the value of audits. I can't tell you how many times a person used to show up angry that someone messed up THEIR DATA, and with the audit trail, I am able to prove that THEY DID IT THEMSELVES! Another thing to try if you have not already done so is to re-compile and re-catalog all programs. While this is a pain to do, it does ensure that you're code is taking advantage of the current compiler and that programs are cataloged correctly. All in all, it sounds like you are on the right path. Let me know if you still have trouble. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Tuesday, February 22, 2011 12:27 PM To: U2 Users List Subject: Re: [U2] Catalog copy error Thanks John, SYSS4915.2 is part of the Avante File Auditing module (I think it was actually retro-fitted onto our 5.2 system and the different processes can only be invoked using the slash-processor). In this module you can set files and attributes therein up to record any changes with time and date of the change, what was changed and who did it. This is sometimes helpful if nobody owns up to having changed the status of a Work Order Operation when it shouldn't have been for instance. There is even a process SYS4913 that generates a report on those audited files. Not very nice and half of the options don't work, but better than nothing. But maybe this is just an Epicor UK thing? I managed to delete the triggers on SYSCON and now at least I get the Avante menu up and it seems to prove that at least SB+ 5.2 is still working and that it was actually a trigger causing my initial problem. It doesn't solve my cataloging problem, though. I actually don't mind that trigger subroutines need to be globally cataloged. Triggers actually fall over if you catalog the subroutine locally. The only thing that puts me off a bit is that you have to own the file if you want to create or delete triggers. When installing UD 7.2 we used /usr/igi/ud72 as the UDTHOME directory, while on the old system this was /usr/igi/ud52. Of course there are file pointers in the VOC that were still pointing to /usr/igi/ud52/... like CTLGTB for instance. I changed CTLGTB and D_CTLGTB to the new location (CTLG is a local file anyway and the others are language files etc.) I also changed the group and gave all files 777 permissions and changed the group from root to infoflo, but that COPY CATALOG FILE ERROR still comes up when I try to catalog any programs. Maybe we should just start all over again and call the UDTHOME directory exactly the same as on the old system. Setting up logical file pointers in Solaris may have screwed things up. On 22/02/2011 14:07, Israel, John R. wrote: We are also using Avanté, but we do not have a program called SYSS4915.2. Nor do we have SYSS4915.1. I don't believe that TRUE UniData triggers are part of Avanté. We use them, but they have all been written in house. Epicor uses things that they CALL triggers, but they are not true triggers in the sense of what UniData calls them. Based on those statements, I am not sure where to point you. True UniData triggers must be globally cataloged. This can cause headaches if you have a LIVE and TEST (and possibly other) realms on your box. To get around this, a popular naming convention for triggers is to globally catalog the .1 program, but all it really does is call the .2 subroutine which is locally cataloged. I hope some of this points you towards something userful. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Tuesday, February 22, 2011 8:56 AM To: U2 Users List Subject: [U2] Catalog copy error Hi I finally got the chance to try to upgrade of the company's old UD/Solaris 5.2 system to 7.2. I got a separate machine with a later version of Solaris to play with. We installed UD7.2.5 and copied all the Avante directories from the old system to the new. Initially everything went quite smoothly, but when I try to log on to Avante 9.2 I get an error before the menu comes up. *SYSS4915.2 is not cataloged DELETE Error Fatal error And the system drops to TCL. The same happens if I type MM to get back into the menu structure. BTW