RE: [U2] Unidata shared memory and catalogs
Original Message- From: Tony Gravagno [mailto:[EMAIL PROTECTED] [snip] >The doc does indicate that the user must be Administrator, I noted that it >did not say "an administrator user" or something more forgiving. My docs only had 'root' - for which an administrative user on NT is usually good enough. The note was more for the archives in case anyone saerched for it. However, unless you are Administrator you get a permisson denied message. I've seen enough of your postings to be pretty sure you figured that one out. [snip] >Colin, thanks for trying but I have already been through the above with no >joy. I've given up on this specific endeavor and took another approach, >indicated below. Not a problem. I figured it was the path that got you. I know I'm not used to treating the path and file as case-sensitive in windows. However, it did cause me grief previously with the ODBC setup. Once I changed the "path" in the newversion statement it started working for me. It would be nice if there was some sort of message indicating success or failure. [snip] >Feel free to contact me about DesignBais. If you're in southern California >I'm giving a presentation on it soon, see http://www.cdbma.org. It does look pretty cool. Unfortunately, I won't be in L.A. until October. [snip] >The !cmd works fine in D3NT. Like all other functions, !cmd executes from >the server, not the client. I suspect this is the direction that UD 6.0 >went as well. Sorry, poor choice of words. In UD the !cmd actually puts you on a command line where you can run any of the non-gui commands: dir, net, copy, etc. GUI commands do start on the server. You have the same permissions as you would at the command prompt logged on (as your user) at the console. In fact, you have to make sure the user has the logon locally permission on the server in order to telnet into the database. [snip] In any case, I'm glad you found a solution that works for you. FYI - the source code in UniData is actually kept in ascii files that you can edit with any editor that will save the file as ascii (like notepad). You will still need to compile/catalog the code - but just in case you don't like the web-based editor... Colin Alfke Calgary, Alberta [demime 1.01d removed an attachment of type application/ms-tnef which had a name of winmail.dat] --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
So many responses, I'll put them all in this one note: Alfke, Colin wrote: > First: login to the session that you are running !NEWVERSION from as > ADMINISTRATOR (a user in the administrators group won't do it). The doc does indicate that the user must be Administrator, I noted that it did not say "an administrator user" or something more forgiving. > Second: the path is case-sensitive. To get the correct casing you can > to a !CMD at the ECL prompt and CD to the correct directory. If you > used the PE default it will be: C:\IBM\ud60\sys\CTLG\t\ (assuming the > subroutine starts with a T). Colin, thanks for trying but I have already been through the above with no joy. I've given up on this specific endeavor and took another approach, indicated below. If someone else wants to report this to IBM as an issue, feel free. As a PE user I don't consider myself entitled to consume IBM Support resources. For the record: If I want the most current version of code to run it should be a lot easier - obviously I have authorization to modify, compile, and catalog the code - for better or worse this level of access should also allow the same developer to manage shared memory related to this process. My current solution: I'm working with DesignBais which allows BASIC business rules to run in back of a web UI. When the UI is sitting in its designer mode it is still attached as a process through UniObjects. I was trying to modify the rules in another window with AccuTerm or UDT, compile/catalog them, and immediately execute them from the web process. (That doesn't appear to be easy for me but some colleagues in a non-PE environment weren't having a problem. I wasn't about to spend time with them to analyze their environment to find a solution.) My solution, however was to use the browser-based editor which is a part of DesignBais. A single user can spawn as many windows as desired and they all run from the same process, so I had my web UI _and_ an editor window up (two actually), compiled my programs in one window and ran them in another - no problem. I use my other port of my 2 port Unidata PE license to do simple ECL/TCL stuff like sort, copy, listdict, ae, clear.file, etc... Feel free to contact me about DesignBais. If you're in southern California I'm giving a presentation on it soon, see http://www.cdbma.org. > FYI: the !cmd works in UD - unlike D3NT. Although as of version 6.0 > we lost the ability to pipe output to more and do interactive FTP > sessions. The !cmd works fine in D3NT. Like all other functions, !cmd executes from the server, not the client. I suspect this is the direction that UD 6.0 went as well. If you do a !notepad on a client, you won't see notepad popping up on your screen, it will appear on the server, and will need to be closed there before the process is released back to your client. This is by design in D3 anyway. If you want processes executed on the client there are other ways to do it, though that can be a security issue if not performed properly. From: Allen E. Elwood (CA) > > You know..right after I wrote this, it occurred to me that Tony > G. could put a call to NEWPCODE inside of the processes that are > running, so that at THE APPROPRIATE POINT the code could actually > check to see if there was a new version of the subroutine (via a > flag in a file) and if so, force a NEWPCODE of a subroutine. [snip] If I absolutely needed to accomplish this task I would have tried to do it like that. As indicated above, DesignBais is the "parent" process which calls to my rules that I want to modify. I would need to have DesignBais call to a temporary child process that did a NEWPCODE on the real child process right before executing it - and then hope that there would be no timing issues with shared memory being released as I immediately jumped into the new code - I know, I could then insert a sleep if necessary, too much hassle for my taste, but it is nevertheless a solution for those who want it. Thanks Allen. Thanks to Simon and other respondants as well. Tony [EMAIL PROTECTED] --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
I've been trying to get it to work on UD6.0PE on Windows. I haven't been able to get newpcode to work. I think I tried almost every possible permutation of basictype, path, and method of cataloging. However, I did figure out the secrets to !NEWVERSION. First: login to the session that you are running !NEWVERSION from as ADMINISTRATOR (a user in the administrators group won't do it). Second: the path is case-sensitive. To get the correct casing you can to a !CMD at the ECL prompt and CD to the correct directory. If you used the PE default it will be: C:\IBM\ud60\sys\CTLG\t\ (assuming the subroutine starts with a T). FYI: the !cmd works in UD - unlike D3NT. Although as of version 6.0 we lost the ability to pipe output to more and do interactive FTP sessions. hth Colin Alfke Calgary, Canada -Original Message- From: Allen E. Elwood (CA) [mailto:[EMAIL PROTECTED] Sent: Fri 03/09/2004 2:35 PM To: [EMAIL PROTECTED] Cc: Subject: RE: [U2] Unidata shared memory and catalogs You know..right after I wrote this, it occurred to me that Tony G. could put a call to NEWPCODE inside of the processes that are running, so that at THE APPROPRIATE POINT the code could actually check to see if there was a new version of the subroutine (via a flag in a file) and if so, force a NEWPCODE of a subroutine. This would need to be done from the MAIN program that called the subroutine, not the subroutine itself. Each process could post to the flag, it's port number so that each process would only do this once. This way, when the calling program called the subroutine, it would be the new version, instead of the old version. Gosh, that's a bit of an inspiration, eh? I would not try this in a production env until I had tested the heck out of it! [demime 1.01d removed an attachment of type application/ms-tnef which had a name of winmail.dat] --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
You know..right after I wrote this, it occurred to me that Tony G. could put a call to NEWPCODE inside of the processes that are running, so that at THE APPROPRIATE POINT the code could actually check to see if there was a new version of the subroutine (via a flag in a file) and if so, force a NEWPCODE of a subroutine. This would need to be done from the MAIN program that called the subroutine, not the subroutine itself. Each process could post to the flag, it's port number so that each process would only do this once. This way, when the calling program called the subroutine, it would be the new version, instead of the old version. Gosh, that's a bit of an inspiration, eh? I would not try this in a production env until I had tested the heck out of it! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Allen E. Elwood (CA) Sent: Friday, September 03, 2004 12:08 To: [EMAIL PROTECTED] Subject: RE: [U2] Unidata shared memory and catalogs Yep, I got NEWPCODE on my TCL manager as well. Works great for current process, without shoving new code into everyone else's memory space. So, if you ask me, this is a FEATURE not a bug! I would never even think about trying to force new code into a currently running process. Just the thought of what could go wrong boggles the mind! At what point would this occur? What if the program was currently in the middle of a loop and got overwritten with new code that didn't even have that loop? What if it was in the middle of a FILE I/O statement and had priority control of the system and never released it? The permutations are too many to even try to ponder. Us old farts have the battle scars to prove that taking a chance is not a wise choice, and the fact that U2 won't do this no matter what you try says something as well ! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Ian McGowan Sent: Friday, September 03, 2004 10:13 To: '[EMAIL PROTECTED]' Subject: RE: [U2] Unidata shared memory and catalogs > From: Richard Sammartino [mailto:[EMAIL PROTECTED] > Tony, I have experienced the same issues and I don't think there is a > solution. Our menu is a cataloged program which chains or > executes other cataloged programs. I don't know about the performance impact, but a TCL stacker program has the same problem. I do an EXECUTE 'NEWPCODE' after compiling a program to get the 'refreshed' version available immedidately. As others have noted, this works only for the process executing the command. As for the wisdom of the Unidata developers, I have to say it's better than working on old PICK systems where compiling a new version of a program or subroutine would cause anyone running that routine to bomb out to the debugger. I have vivid memories of an error routine that used TIME() as part of the key, and therefore had to loop doing READU's to make sure the key was not in use. I.e it could only write one error log per second. One inventory weekend, at 10pm on Saturday, calculating how long it was going to take to finish returned 5 days! Changing the routine to use a sequential key was quick, but recompiling it live, knowing that if the timing was wrong we'd have to restore to Friday's backup and start over was nerve wracking to say the least :-) This was Ultimate on an IBM 3090. Is today old fart's memorial day or something? --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Yep, I got NEWPCODE on my TCL manager as well. Works great for current process, without shoving new code into everyone else's memory space. So, if you ask me, this is a FEATURE not a bug! I would never even think about trying to force new code into a currently running process. Just the thought of what could go wrong boggles the mind! At what point would this occur? What if the program was currently in the middle of a loop and got overwritten with new code that didn't even have that loop? What if it was in the middle of a FILE I/O statement and had priority control of the system and never released it? The permutations are too many to even try to ponder. Us old farts have the battle scars to prove that taking a chance is not a wise choice, and the fact that U2 won't do this no matter what you try says something as well ! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Ian McGowan Sent: Friday, September 03, 2004 10:13 To: '[EMAIL PROTECTED]' Subject: RE: [U2] Unidata shared memory and catalogs > From: Richard Sammartino [mailto:[EMAIL PROTECTED] > Tony, I have experienced the same issues and I don't think there is a > solution. Our menu is a cataloged program which chains or > executes other cataloged programs. I don't know about the performance impact, but a TCL stacker program has the same problem. I do an EXECUTE 'NEWPCODE' after compiling a program to get the 'refreshed' version available immedidately. As others have noted, this works only for the process executing the command. As for the wisdom of the Unidata developers, I have to say it's better than working on old PICK systems where compiling a new version of a program or subroutine would cause anyone running that routine to bomb out to the debugger. I have vivid memories of an error routine that used TIME() as part of the key, and therefore had to loop doing READU's to make sure the key was not in use. I.e it could only write one error log per second. One inventory weekend, at 10pm on Saturday, calculating how long it was going to take to finish returned 5 days! Changing the routine to use a sequential key was quick, but recompiling it live, knowing that if the timing was wrong we'd have to restore to Friday's backup and start over was nerve wracking to say the least :-) This was Ultimate on an IBM 3090. Is today old fart's memorial day or something? --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
> From: Richard Sammartino [mailto:[EMAIL PROTECTED] > Tony, I have experienced the same issues and I don't think there is a > solution. Our menu is a cataloged program which chains or > executes other cataloged programs. I don't know about the performance impact, but a TCL stacker program has the same problem. I do an EXECUTE 'NEWPCODE' after compiling a program to get the 'refreshed' version available immedidately. As others have noted, this works only for the process executing the command. As for the wisdom of the Unidata developers, I have to say it's better than working on old PICK systems where compiling a new version of a program or subroutine would cause anyone running that routine to bomb out to the debugger. I have vivid memories of an error routine that used TIME() as part of the key, and therefore had to loop doing READU's to make sure the key was not in use. I.e it could only write one error log per second. One inventory weekend, at 10pm on Saturday, calculating how long it was going to take to finish returned 5 days! Changing the routine to use a sequential key was quick, but recompiling it live, knowing that if the timing was wrong we'd have to restore to Friday's backup and start over was nerve wracking to say the least :-) This was Ultimate on an IBM 3090. Is today old fart's memorial day or something? --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Unidata shared memory and catalogs
Simon, Thanks I will give it a try. Rich At 03:34 PM 9/3/2004 +0100, you wrote: Tony For non-Uniobjects sessions... You need to PCPERFORM 'newversion n' where 'n' is the pid of the running process to get that pid to pick up any changed s/w. This works whether the s/w is locally or globally cataloged as far as I can see - so I don't know what the shared memory reference in the manual means. The manual says a number of things about NEWPCODE and its effect - the true bit is where it says the NEWPCODE only effects the session that runs it. ie both newversion and NEWPCODE are equivalent to dropping to ECL and re-starting a program - newversion for other sessions, and NEWPCODE for your own session. I've just checked this with a uniobjects session for UD 6.0.12 on Windows and newversion doesn't seem to work. You might want to log this with IBM support to confirm that this is indeed the case. However, executing NEWPCODE from the uniobjects session does make it pick up new code. While developing can you put an EXECUTE 'NEWPCODE' in a uniobjects sub that will get called regularly (perhaps your session load/save; a logging sub etc)? Note to Richard Sammartino: Putting EXECUTE 'NEWPCODE' in your menu program loop should solve your issue. Simon --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ Richard Sammartino Systems Analyst Information Technology School District of Philadelphia 734 Schuylkill Avenue Philadelphia, PA 19146-2397 Phone: (215) 875-4734 Fax: (215) 893-4243 --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Unidata shared memory and catalogs
Tony For non-Uniobjects sessions... You need to PCPERFORM 'newversion n' where 'n' is the pid of the running process to get that pid to pick up any changed s/w. This works whether the s/w is locally or globally cataloged as far as I can see - so I don't know what the shared memory reference in the manual means. The manual says a number of things about NEWPCODE and its effect - the true bit is where it says the NEWPCODE only effects the session that runs it. ie both newversion and NEWPCODE are equivalent to dropping to ECL and re-starting a program - newversion for other sessions, and NEWPCODE for your own session. I've just checked this with a uniobjects session for UD 6.0.12 on Windows and newversion doesn't seem to work. You might want to log this with IBM support to confirm that this is indeed the case. However, executing NEWPCODE from the uniobjects session does make it pick up new code. While developing can you put an EXECUTE 'NEWPCODE' in a uniobjects sub that will get called regularly (perhaps your session load/save; a logging sub etc)? Note to Richard Sammartino: Putting EXECUTE 'NEWPCODE' in your menu program loop should solve your issue. Simon "Tony Gravagno" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Platform is Unidata 6.0 PE over WinXP. > > I've been having a hard time doing development on subroutines when the main > calling programs are running on active processes. This isn't live code, > it's all development, but I'm trying to avoid stop/restarting the main code > every time I change a subroutine. For some reason the main code is always > executing the shared/cached object. I've tried cataloging globally and > locally, using various combinations of DIRECT, LOCAL, FORCE, and NEWVERSION. > I've made sure to DELETE.CATALOG/DECATALOG twice to clear the CTLG and I've > watched the catalog files disappear through the Windows Explorer, so I know > the object is going away, and that points to shared memory. I've tried the > !NEWPCODE and !NEWVERSION commands to force a refresh with no joy. I've > made sure that the NEWVERSION_USERS=ALL (or whatever that param is) was > filed in the config record, because even my Administrator user was flagged > as lacking the privs to use !NEWVERSION. > > The main routine is a client running through UniObjects. If that process > itself does a recompile and recatalog, everything works. The problem is > getting another process to refresh shared memory for the running (main) > process. > > Can I just turn off smm while I'm in development? How? > > Thanks!! > Tony > --- > u2-users mailing list > [EMAIL PROTECTED] > To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Ouch, glad Universe doesn't do that. Being able to deploy code at any time is our major advantage over the other development teams. Does it do that even if you have the program catalogued only as a voc pointer (ie not in the "real" catalog space at all)? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Sammartino Sent: 03 September 2004 13:47 To: [EMAIL PROTECTED] Subject: RE: [U2] Unidata shared memory and catalogs Tony, I have experienced the same issues and I don't think there is a solution. Our menu is a cataloged program which chains or executes other cataloged programs. The only way I have found to implement the new version of a program or subroutine is to have the users log out and log in again. It is as if the menu program has a link to the old code and nothing seems to force a replacement of that code other than having the user reload it by logging out and logging in. Exiting the menu program and going to TCL / ECL and rerunig the menu program works but we don't let our users get to this level. I have accepted the fact that this is the way it is and there isn't a real solution to this issue. Rich Sammartino At 04:45 AM 9/3/2004 -0700, you wrote: >Thanks Colin and others for suggestions here and via e-mail, but as >indicated in my original post, I did read and follow the docs for NEWPCODE >and NEWVERSION, DECATLOG and DELETE.CATALOG, and CATALOG with DIRECT, LOCAL, >NEWVERSION, and/or FORCE - all with no success. It seems weird that there >is so much material dedicated to this topic but nothing works. Maybe it's a >PE thing. If a solution is found I'll make sure it's published. > >Thanks again. >Tony >--- >u2-users mailing list >[EMAIL PROTECTED] >To unsubscribe please visit http://listserver.u2ug.org/ Richard Sammartino Systems Analyst Information Technology School District of Philadelphia 734 Schuylkill Avenue Philadelphia, PA 19146-2397 Phone: (215) 875-4734 Fax: (215) 893-4243 --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ The information contained in this email is strictly confidential and for the use of the addressee only, unless otherwise indicated. If you are not the intended recipient, please do not read, copy, use or disclose to others this message or any attachment. Please also notify the sender by replying to this email or by telephone +44 (0)20 7896 0011 and then delete the email and any copies of it. Opinions, conclusions (etc.) that do not relate to the official business of this company shall be understood as neither given nor endorsed by it. IG Markets Limited and IG Index Plc are authorised and regulated by the Financial Services Authority and, in Australia, by the Australian Securities and Investments Commission. --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Yes, I did see you said you read the docs (you likely had to as these aren't concepts in D3). The cataloguing process in UniData is a lot different than that in D3. Initial testing here seemed to indicate the newversion would work when you had it globally catalogued, of course, I didn't have full permissions for newversion and I didn't try it on the PE version. It looked like you may have had some syntax problems with newpcode and newversion (perhaps OK in code and not in e-mail). Also the on-line help seemed to have some better descriptions and even a code example. I'll try some more testing tonight on the PE version. Good luck in the meantime. Colin Alfke Support Specialist Thomson Elite 450, 800 - 6th Ave. S.W. Calgary, AB T2P 3G3 Tel: 403-237-7095 Fax: 403-237-7080 Email: [EMAIL PROTECTED] >-Original Message- >From: Tony Gravagno [mailto:[EMAIL PROTECTED] >Sent: Friday, September 03, 2004 5:45 AM >To: [EMAIL PROTECTED] >Subject: RE: [U2] Unidata shared memory and catalogs > > >Thanks Colin and others for suggestions here and via e-mail, but as >indicated in my original post, I did read and follow the docs >for NEWPCODE >and NEWVERSION, DECATLOG and DELETE.CATALOG, and CATALOG with >DIRECT, LOCAL, >NEWVERSION, and/or FORCE - all with no success. It seems >weird that there >is so much material dedicated to this topic but nothing works. > Maybe it's a >PE thing. If a solution is found I'll make sure it's published. > >Thanks again. >Tony >--- >u2-users mailing list >[EMAIL PROTECTED] >To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Tony, I have experienced the same issues and I don't think there is a solution. Our menu is a cataloged program which chains or executes other cataloged programs. The only way I have found to implement the new version of a program or subroutine is to have the users log out and log in again. It is as if the menu program has a link to the old code and nothing seems to force a replacement of that code other than having the user reload it by logging out and logging in. Exiting the menu program and going to TCL / ECL and rerunig the menu program works but we don't let our users get to this level. I have accepted the fact that this is the way it is and there isn't a real solution to this issue. Rich Sammartino At 04:45 AM 9/3/2004 -0700, you wrote: Thanks Colin and others for suggestions here and via e-mail, but as indicated in my original post, I did read and follow the docs for NEWPCODE and NEWVERSION, DECATLOG and DELETE.CATALOG, and CATALOG with DIRECT, LOCAL, NEWVERSION, and/or FORCE - all with no success. It seems weird that there is so much material dedicated to this topic but nothing works. Maybe it's a PE thing. If a solution is found I'll make sure it's published. Thanks again. Tony --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ Richard Sammartino Systems Analyst Information Technology School District of Philadelphia 734 Schuylkill Avenue Philadelphia, PA 19146-2397 Phone: (215) 875-4734 Fax: (215) 893-4243 --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs (On Vacation)
I am out of the office today (September 3rd) taking a vacation day. If you need assistance, please contact the help desk at X. Thanks, >>> u2-users 09/03/04 07:45 >>> Thanks Colin and others for suggestions here and via e-mail, but as indicated in my original post, I did read and follow the docs for NEWPCODE and NEWVERSION, DECATLOG and DELETE.CATALOG, and CATALOG with DIRECT, LOCAL, NEWVERSION, and/or FORCE - all with no success. It seems weird that there is so much material dedicated to this topic but nothing works. Maybe it's a PE thing. If a solution is found I'll make sure it's published. Thanks again. Tony --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Thanks Colin and others for suggestions here and via e-mail, but as indicated in my original post, I did read and follow the docs for NEWPCODE and NEWVERSION, DECATLOG and DELETE.CATALOG, and CATALOG with DIRECT, LOCAL, NEWVERSION, and/or FORCE - all with no success. It seems weird that there is so much material dedicated to this topic but nothing works. Maybe it's a PE thing. If a solution is found I'll make sure it's published. Thanks again. Tony --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
See HELP NEWPCODE for an explanation. You could make sure any local ctlg and voc items are removed and catalog the subroutines globally. Then you can re-catalog new versions and use the NEWVERSION parameter to update the Global shared memory. hth Colin Alfke >-Original Message- >From: Tony Gravagno [mailto:[EMAIL PROTECTED] >Sent: Wednesday, September 01, 2004 9:10 PM >To: [EMAIL PROTECTED] >Subject: [U2] Unidata shared memory and catalogs > > >Platform is Unidata 6.0 PE over WinXP. > >I've been having a hard time doing development on subroutines >when the main >calling programs are running on active processes. This isn't >live code, >it's all development, but I'm trying to avoid stop/restarting >the main code >every time I change a subroutine. For some reason the main >code is always >executing the shared/cached object. I've tried cataloging globally and >locally, using various combinations of DIRECT, LOCAL, FORCE, >and NEWVERSION. >I've made sure to DELETE.CATALOG/DECATALOG twice to clear the >CTLG and I've >watched the catalog files disappear through the Windows >Explorer, so I know >the object is going away, and that points to shared memory. >I've tried the >!NEWPCODE and !NEWVERSION commands to force a refresh with no >joy. I've >made sure that the NEWVERSION_USERS=ALL (or whatever that param is) was >filed in the config record, because even my Administrator user >was flagged >as lacking the privs to use !NEWVERSION. > >The main routine is a client running through UniObjects. If >that process >itself does a recompile and recatalog, everything works. The >problem is >getting another process to refresh shared memory for the running (main) >process. > >Can I just turn off smm while I'm in development? How? > >Thanks!! >Tony >--- >u2-users mailing list >[EMAIL PROTECTED] >To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Tony Gravagno wrote: > Can I just turn off smm while I'm in development? How? No, you can't I'm afraid. Have you tried CATALOGing everything LOCAL DIRECT while you are in development? Or will that just not work with UniObjects? Cheers, Ken --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony Gravagno >I've tried the !NEWPCODE and !NEWVERSION ... Sorry, I missed that detail in my previous response. The problem I usually have w/ NEWPCODE is the syntax. You might try using FIBCDFN in the AE editor and see if that causes any difference. At least then you know NEWPCODE is executed with the right syntax. -Kevin [EMAIL PROTECTED] http://www.PrecisOnline.com --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata shared memory and catalogs
Have you checked out NEWPCODE instead of NEWVERSION? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony Gravagno Sent: Wednesday, September 01, 2004 9:10 PM To: [EMAIL PROTECTED] Subject: [U2] Unidata shared memory and catalogs Platform is Unidata 6.0 PE over WinXP. I've been having a hard time doing development on subroutines when the main calling programs are running on active processes. This isn't live code, it's all development, but I'm trying to avoid stop/restarting the main code every time I change a subroutine. For some reason the main code is always executing the shared/cached object. I've tried cataloging globally and locally, using various combinations of DIRECT, LOCAL, FORCE, and NEWVERSION. I've made sure to DELETE.CATALOG/DECATALOG twice to clear the CTLG and I've watched the catalog files disappear through the Windows Explorer, so I know the object is going away, and that points to shared memory. I've tried the !NEWPCODE and !NEWVERSION commands to force a refresh with no joy. I've made sure that the NEWVERSION_USERS=ALL (or whatever that param is) was filed in the config record, because even my Administrator user was flagged as lacking the privs to use !NEWVERSION. The main routine is a client running through UniObjects. If that process itself does a recompile and recatalog, everything works. The problem is getting another process to refresh shared memory for the running (main) process. Can I just turn off smm while I'm in development? How? Thanks!! Tony --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/