Re: [U2] records with unprintable characters
Sometimes great minds think the same thought;-) -- mats Scott Ballinger wrote: Sorry Mats, I should read deeper into the stack before jumping in... Didn't notice that you had already suggested the same convert bad.chars to null solution. /Scott --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Fwd: [U2] Arev commands - Where's the original message?
Isn't the following the original message to this thread? (from the bottom up) snip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Jerry Banker Sent: Tuesday, December 13, 2005 1:51 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Arev commands Well there was this one command that looked something like this: start = 1 a = trim(rec[start,F,]) and I was wondering if it was using some kind of correlative to get the length or if the brackets are used differently in Arev. Also, I would just like to have a command reference for all of the various flavors of Pick so if I need to convert a program from one flavor to another I could. - Original Message - From: Richard A. Wilson [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Tuesday, December 13, 2005 12:50 PM Subject: Re: [U2] Arev commands I dont believe there really is one. Also it really depends on which revision level of arev you are running. is there any syntax/statement/function in particular you need Rich Jerry Banker wrote: Anybody know where I could get an on-line copy of the Advanced Revelations R/Basic commands? We don't have ARev but I was looking at a program and would like to see what some of the command syntax is compared to UV. Jerry Banker --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] pgsql and unidata basic
Is there a way to execute queries to a postgresql database from within a unibasic program? I want to have our pick ticket print routine insert records into a pgsql table. Our system is an IBM RS6000 running AIX 5.3, UniData 6.0, SystemBuilder 5.3.8 and Prelude ADS v18.1. Thanks in advance for any advice. Jeff --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Arev commands
I have a complete set of AREV manuals and disks for AREV OS/2. If your willing to pay the postage, I'm willing to put it in a box and send it to you. Thanks, --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Arev commands - Where's the original message?
It is but even I didn't receive my original message. - Original Message - From: Andy Pflueger [EMAIL PROTECTED] To: U2 User Group Mailing List u2-users@listserver.u2ug.org Sent: Wednesday, December 14, 2005 4:41 AM Subject: Fwd: [U2] Arev commands - Where's the original message? Isn't the following the original message to this thread? (from the bottom up) snip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Jerry Banker Sent: Tuesday, December 13, 2005 1:51 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Arev commands Well there was this one command that looked something like this: start = 1 a = trim(rec[start,F,]) and I was wondering if it was using some kind of correlative to get the length or if the brackets are used differently in Arev. Also, I would just like to have a command reference for all of the various flavors of Pick so if I need to convert a program from one flavor to another I could. - Original Message - From: Richard A. Wilson [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Tuesday, December 13, 2005 12:50 PM Subject: Re: [U2] Arev commands I dont believe there really is one. Also it really depends on which revision level of arev you are running. is there any syntax/statement/function in particular you need Rich Jerry Banker wrote: Anybody know where I could get an on-line copy of the Advanced Revelations R/Basic commands? We don't have ARev but I was looking at a program and would like to see what some of the command syntax is compared to UV. Jerry Banker --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] RE: [UV] uvdlockd command
When I do: uvdlockd -? I see the following options: uvdlockd [options] -- -t timerinterval timer to have daemon check for deadlocks -r res resolution to use(0=Random;1=Youngest;2=Fewest Locks) -l log location of the log file -query requests a report of current status -victim sig identifies the signature of the victim to be aborted -p performs a check on dead process cleanup -stop shutdown the daemon NOTE: The -query, -victim, and -stop options cannot be used in conjunction with the other options But when I check for processes using this program, I see the -z switch being used. For example: uvdlockd -z -p -22781 Anyone know what the -z option does ? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] RE: [UV] uvdlockd command
The -z options allows non-root users to start the daemon, though it will still require root to stop it. Regards, LeRoy F. Dreyfuss Product Manager IBM UniVerse and UniData (U2) Extended Relational Databases [cid:_2_131B3FDC131B3D8800627E36872570D7] Information Management Software Tel: 303-773-7783 Fax: 303-773-5915 Mobile: 720-341-4317 Tie-line: 656-7783 External email: [EMAIL PROTECTED] WWW: http://www.ibm.com/software/data/u2 Jacques G. [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 12/14/2005 10:00 AM Please respond to u2-users@listserver.u2ug.org To u2-users@listserver.u2ug.org cc Subject [U2] RE: [UV] uvdlockd command When I do: uvdlockd -? I see the following options: uvdlockd [options] -- -t timerinterval timer to have daemon check for deadlocks -r res resolution to use(0=Random;1=Youngest;2=Fewest Locks) -l log location of the log file -query requests a report of current status -victim sig identifies the signature of the victim to be aborted -p performs a check on dead process cleanup -stop shutdown the daemon NOTE: The -query, -victim, and -stop options cannot be used in conjunction with the other options But when I check for processes using this program, I see the -z switch being used. For example: uvdlockd -z -p -22781 Anyone know what the -z option does ? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ [demime 1.01d removed an attachment of type image/jpeg] --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Arev commands
Bob, IMHO, even for a Universe programmer, there'd still be a slight learning curve using the screen builder. The dictionary/file formats are almost identical too. AREV was/is a wonderful product. I'm hoping Revelation as they now have offered a character mode with Open Insight will allow in the future the ability to run AREV applications. Then slowly rebuild the screens in OI. Ralph Bob Woodward [EMAIL PROTECTED] wrote: For the most part, R/Basic commands are very similar to the Universe Basic commands. There are very subtle differences but nothing really major. If you can work in Universe, you'll do just find in AREV. BobW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jerry Banker Sent: Tuesday, December 13, 2005 9:19 AM To: u2-users@listserver.u2ug.org Subject: [U2] Arev commands Anybody know where I could get an on-line copy of the Advanced Revelations R/Basic commands? We don't have ARev but I was looking at a program and would like to see what some of the command syntax is compared to UV. Jerry Banker --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ - Yahoo! Shopping Find Great Deals on Holiday Gifts at Yahoo! Shopping --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] pgsql and unidata basic
Jeff Is postgres on the same box as udt? Brian -Original Message- From: Jeff Powell[EMAIL PROTECTED] Sent: 14/12/05 14:01:58 To: u2 users groupu2-users@listserver.u2ug.org Subject: [U2] pgsql and unidata basic Is there a way to execute queries to a postgresql database from within a unibasic program? I want to have our pick ticket print routine insert records into a pgsql table. Our system is an IBM RS6000 running AIX 5.3, UniData 6.0, SystemBuilder 5.3.8 and Prelude ADS v18.1. Thanks in advance for any advice. Jeff --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ [Message truncated. Tap Edit-Mark for Download to get remaining portion.] --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] MV Design
All I'm intending to put a series of articles together on Designing MultiValue solutions, starting from first principles and emphasizing best practice. These will be published in the knowledge base. Since this is a contentious subject, rather than impose my thoughts :) I would like to invite contributions and to form a small working party to discuss and formalize the material. Anyone interested please contact me off-list. I would like to get the first drafts published at end of Q1 next year. Brian U2UG board --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Arev commands
Since we don't use the program here and it's not a product that will be supported in the future I don't think I'll be interested. I was just looking to see if there is a repository of commands from the various flavors of PICK on the net. Obviously there is not. Maybe that could be a project for the U2UG to produce a book of commands. Sort of like a language translation dictionary. I noticed that Arev uses the OSREAD statement which is similar to what is used in Unidata but Universe doesn't have it, they use READSEQ. - Original Message - From: Don Kibbey [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Wednesday, December 14, 2005 8:19 AM Subject: Re: [U2] Arev commands I have a complete set of AREV manuals and disks for AREV OS/2. If your willing to pay the postage, I'm willing to put it in a box and send it to you. Thanks, --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] pgsql and unidata basic
Brian, No. It isn't. I think it is possible to install it there but I'm not sure. I have never tried to build pgsql on an AIX machine. Thanks, Jeff On Wed, 2005-12-14 at 18:50 +, Brian Leach wrote: Jeff Is postgres on the same box as udt? Brian -Original Message- From: Jeff Powell[EMAIL PROTECTED] Sent: 14/12/05 14:01:58 To: u2 users groupu2-users@listserver.u2ug.org Subject: [U2] pgsql and unidata basic Is there a way to execute queries to a postgresql database from within a unibasic program? I want to have our pick ticket print routine insert records into a pgsql table. Our system is an IBM RS6000 running AIX 5.3, UniData 6.0, SystemBuilder 5.3.8 and Prelude ADS v18.1. Thanks in advance for any advice. Jeff --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ [Message truncated. Tap Edit-Mark for Download to get remaining portion.] --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ Jeff Powell IT Manager Industrial Piping Specialists 606 N. 145th Ave. E. Tulsa, OK 74166 (918) 270-6311 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Arev commands
Hi Ralph, I came from AREV into Universe and you're right about the screen builder process. I miss that functionality A LOT, too. The original question was about R/Basic, specifically, which is what my comment was about. I use to work for RTI before they moved the development from Bellevue, WA. I agree with you, also, that AREV is wonderful. As a side note, OI is going to be able to run AREV apps, directly, and allow you to slowly modify the UI, piece by piece. In my opinion, it's long over due, but I'm excited they are coming out with this capability. I'm excited to test it, too, as soon as I can get my hands on it. You should be able to get some direct info from their web site. smile BobW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ralph Burton Sent: Wednesday, December 14, 2005 10:36 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Arev commands Bob, IMHO, even for a Universe programmer, there'd still be a slight learning curve using the screen builder. The dictionary/file formats are almost identical too. AREV was/is a wonderful product. I'm hoping Revelation as they now have offered a character mode with Open Insight will allow in the future the ability to run AREV applications. Then slowly rebuild the screens in OI. Ralph Bob Woodward [EMAIL PROTECTED] wrote: For the most part, R/Basic commands are very similar to the Universe Basic commands. There are very subtle differences but nothing really major. If you can work in Universe, you'll do just find in AREV. BobW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jerry Banker Sent: Tuesday, December 13, 2005 9:19 AM To: u2-users@listserver.u2ug.org Subject: [U2] Arev commands Anybody know where I could get an on-line copy of the Advanced Revelations R/Basic commands? We don't have ARev but I was looking at a program and would like to see what some of the command syntax is compared to UV. Jerry Banker --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ - Yahoo! Shopping Find Great Deals on Holiday Gifts at Yahoo! Shopping --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] pgsql and unidata basic
Hi Jeff, If you can't get ODBC to work and access directly that way, try running psql as a shell command. You could build up a little SQL to insert the data you need and then execute it as a shell eg. EXECUTE 'echo MYCMD | psql -h hostname other parameters'. I'm a universe person so not sure what the exact syntax is on Unidata but this will certainly work for you. Regards David Logan Database Administrator HP Managed Services 148 Frome Street, Adelaide 5000 Australia +61 8 8408 4273 - Work +61 417 268 665 - Mobile +61 8 8408 4259 - Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Powell Sent: Thursday, 15 December 2005 6:27 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] pgsql and unidata basic Brian, No. It isn't. I think it is possible to install it there but I'm not sure. I have never tried to build pgsql on an AIX machine. Thanks, Jeff On Wed, 2005-12-14 at 18:50 +, Brian Leach wrote: Jeff Is postgres on the same box as udt? Brian -Original Message- From: Jeff Powell[EMAIL PROTECTED] Sent: 14/12/05 14:01:58 To: u2 users groupu2-users@listserver.u2ug.org Subject: [U2] pgsql and unidata basic Is there a way to execute queries to a postgresql database from within a unibasic program? I want to have our pick ticket print routine insert records into a pgsql table. Our system is an IBM RS6000 running AIX 5.3, UniData 6.0, SystemBuilder 5.3.8 and Prelude ADS v18.1. Thanks in advance for any advice. Jeff --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ [Message truncated. Tap Edit-Mark for Download to get remaining portion.] --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ Jeff Powell IT Manager Industrial Piping Specialists 606 N. 145th Ave. E. Tulsa, OK 74166 (918) 270-6311 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Arev commands
Hi Bob, As a side note, OI is going to be able to run AREV apps, directly, and allow you to slowly modify the UI, piece by piece. In my opinion, it's long over due, but I'm excited they are coming out with this capability. Me too! Ralph - Yahoo! Shopping Find Great Deals on Holiday Gifts at Yahoo! Shopping --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] UniVerse server socket issues
I am trying to help a U2 VAR migrate their custom-developed socket interface that uses the GCI to a pure BASIC solution using the U2 socket functions. They realize that by doing this their customers will need to license additional U2 seats, but they hate the UV GCI support issue on UNIX as UV must be re-linked. Unfortunately, the initServerSocket() function has a few flaws that stopped this project. 1) The initServerSocket() function precludes using the standard socket behavior of letting the socket sub-system assign any available port number when the port number 0 is specified. The initServerSocket() function translates all port numbers less than 1 to port 40001. This behavior of forcing port 40001 breaks an important standard feature often used when a server process is spawned to provide a cooperative service for another process. As long as the two cooperative processes can agree and communicate the randomly assigned port number, there is no reason to hard-code the port for either process. In fact, when it is possible to have an indeterminate number of these cooperative processes, trying to assign and track which ports are available, raises to the application level something that is otherwise handled at the kernel layer. That is never a good thing. I can not imagine why U2 restricts a valuable server socket feature. This reminds me of a documentation error that made it into code. 2) The other issue with the initServerSocket() is that it does not recognize when another process already has a given port open for listening. The example program below demonstrates this issue. This flaw prevents the application level from randomly assigning the port number and knowing that the port is actually available. Of course, this would not have been an issue if number 1 above let the socket kernel assign random port numbers. This is an ugly flaw as a program could wait forever for a port, never knowing that another process already has the port in use. I am using UV 10.1.11 PE on Windows. I am hoping someone has developed a work-around (other than GCI) or knows when the fix is scheduled. Best regards, Gyle Program SERVER.SOCKET Print Select a port number that is already in use on the system to test for contention : Input listenPort If listenPort = Then Stop End result = initServerSocket( , listenPort, 1, listenerSocket ) If result Then function = initServerSocket() Gosub DisplaySocketError: Stop End Else Print initServerSocket(): listening on port : listenPort End result = getSocketInformation( listenerSocket, -1, socketInformation ) If result Then function = getSocketInformation() Gosub DisplaySocketError: Stop End Print Server socket information Print --- Print Status : : socketInformation1,1 Print Host : : socketInformation1,2 Print Port : : socketInformation1,3 Print Secure : : socketInformation1,4 Print Mode : : socketInformation1,5 Print SERVER.SOCKET ready. Gosub CloseListenSocket: Stop CloseListenSocket: * Close the listen socket result = closeSocket( listenerSocket ) If result Then function = closeSocket() Gosub DisplaySocketError: Stop End Return DisplaySocketError: internalResult = getSocketErrorMessage( result, errorMessage ) Print function : returned: : result Print errorMessage Return End --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UniVerse server socket issues
For anyone unfamiliar with the topic, see my short article What are Sockets?: http://nebula-rnd.com/articles/sockets.htm That will also help to understand my response below. Original text snipped to a minimum. Gyle Iverson wrote: Unfortunately, the initServerSocket() function has a few flaws that stopped this project. 1) The initServerSocket() function precludes using the standard socket behavior of letting the socket sub-system assign any available port number when the port number 0 is specified. The initServerSocket() function translates all port numbers less than 1 to port 40001. I've never seen a socket server use a random port. Clients never use a pre-determined port. Clients need to know the port of a server, so a server absolutely requires a fixed and well-known port. Why do you need an assigned port for a server? 2) The other issue with the initServerSocket() is that it does not recognize when another process already has a given port open for listening. I haven't read the specs for initServerSocket but if it doesn't return a non-zero for an attachment failure then yes, it's probably broken. However, in general, a given service should only have one listening process. It is valid to have a range of ports which all respond to inbound connections as a single service - that is, multiple servers will be listening to different socket ports, even if they support the same application/transport service. Coordination of what ports are in use for a given service should be done by the application, so you should never really get to a failure in initServerSocket. If nothing else you can use netstat to see what ports are in use and use a recognized port that is unallocated. Again, if you randomly generate a socket port for a service, how will any client know what port to connect to? Good luck. Tony Gravagno Nebula Research and Development --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Dynamic Connect 6.0.1 lockdown changes by IBM
Like a number of other Universe/Unidata developers I have been able to use the various available Dynamic Connect facilities to significantly enhance the look and feel of my application developments. In a price conscious marketplace, it has been a huge advantage to be able to use this freely distributed software to dramatically improve users appreciation and perception of U2 based products. I was therefore unimpressed to find that, without any advanced notification, the latest revision 6.0.1 has been completely locked down via the use of checksums to prevent users making ANY modifications to the distributed terminal emulation and associated scripting files. While understanding IBM's position in feeling that they had given too much access to such powerful functionality away for free, all previous versions of Dynamic Connect catered for these changes and, based on previous responses to Oliver or the U2 user group queries on the older versions involving recommendations to change the emulation files, such lockouts will impact a large number of unsuspecting existing Dynamic Connect users. As always, any product supplier that decides to remove previously available functionality in later revisions, risks alienating existing users to move away from their product. For IBM to make the effort to do this to a free product only makes sense if they believe that such a move will 'encourage' existing DC users to move to and purchase an expensive copy of Wintegrate, when a more probable effect is to feel insulted by their actions and move to other much cheaper products such as Accuterm. To me, to do so without even notifying us of their intentions (there are not even any details on the 6.0.1 distribution disk warning about the changes) indicates that either some product manager within IBM did it without fully informing their own management, or IBM themselves are looking to roll it out under the radar to avoid a backlash of user pressure to take out the changes. In either case, the way they have instituted the lockdown is so harsh as to impact many users over even the most 'trivial' of changes they may have made. For example, a Ctrl E (char(5)) in the standard vt100 emulation returns the terminal id (DC TermID). As Ctrl E is used by my applications (and who wants to leave a keystroke active that displays the terminal Id to the users screen anyway!) the original vt100.wit was copied and then modified so as not to return the terminal id. The 6.0.1 restriction, of not being able to use any modified files, also applies to the extensions files. As 6.0.1 now refuses to load the modified emulation file, the result is that Dynamic Connect 6.0.1 becomes unusable. Whereas CtrlE may be the standard DEC terminal id inquiry , many terminal emulators (including Microsoft's telnet) do not respond to CtrlE or allow for the setup of the environment via scripting or modifications to the configuration files to control the environment. My current approach is to hold onto the existing revision 5.1.2 for distribution to new U2 customers and advise my existing customers not to install any future Dynamic Connect revisions. Long term I may need to move to another product. However, I would rather be able to quote IBM as a full supporter of the U2 products (including Dynamic Connect), rather than having to deal with their latest developments. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UniVerse server socket issues
I suspect she is writing a CLIENT socket service that RUNS on the server -- one where I'm opening a socket to get data from another service - and as any process could be doing the same, I'd just want the next available socket, please So I think the request is valid -- remember - our 3GL could be a consumer of someone's service... DW -Original Message- Gyle Iverson wrote: Unfortunately, the initServerSocket() function has a few flaws that stopped this project. 1) The initServerSocket() function precludes using the standard socket behavior of letting the socket sub-system assign any available port number when the port number 0 is specified. The initServerSocket() function translates all port numbers less than 1 to port 40001. I've never seen a socket server use a random port. Clients never use a pre-determined port. Clients need to know the port of a server, so a server absolutely requires a fixed and well-known port. Why do you need an assigned port for a server? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UniVerse server socket issues
Hello, Tony. Tony Gravagno opined... Clients need to know the port of a server, so a server absolutely requires a fixed and well-known port. A server can have a randomly assigned port that is fixed and well-known only between the client and the server. If the server only exists for the benefit of one client, it is up to them to figure out how to assign and communicate the port dynamically. The fixed and well-known port requirement does not imply that the assignment is permanent. Why do you need an assigned port for a server? Think about the problem of a client needing to spawn a unique server on demand of the client. Each client may spawn a server dedicated to that client. Certainly if one were using real UNIX/Windows processes, one could single-thread through a central process and fork a new process, however, U2 products do not allow forking of processes. 2) The other issue with the initServerSocket() is that it does not recognize when another process already has a given port open for listening. I haven't read the specs for initServerSocket but if it doesn't return a non-zero for an attachment failure then yes, it's probably broken. Yep. However, in general, a given service should only have one listening process. Not always true. There are dynamic services too. It is valid to have a range of ports which all respond to inbound connections as a single service - that is, multiple servers will be listening to different socket ports, even if they support the same application/transport service. Interesting idea but it does not help with this issue. Have you tried supporting multiple listening sockets in U2? You can not get anywhere without a select() or poll() function analogue. While one could spawn numerous phantoms, each listening on a unique port, one is left with how to coordinate data and such between the phantoms. Not a pretty solution. Coordination of what ports are in use for a given service should be done by the application, so you should never really get to a failure in initServerSocket. Try the replication program using port 80. On my system initServerSocket returns success even though IIS is currently bound to that port. If nothing else you can use netstat to see what ports are in use and use a recognized port that is unallocated. Yes, but not a solution for this issue. Again, if you randomly generate a socket port for a service, how will any client know what port to connect to? They communicate the port number behind the scenes. Good luck. Tony Gravagno Thanks, Tony. Best regards, Gyle --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] [UD] LOGTO question...
How do I include a space in a LOGTO command? I've tried quoting., slashing... I must be missing something brutally simple... It seems to always give a syntax error... Exampl:? Account is in the path: C:\Program Files\david\data\AccountOfStuffas an example... How do I log to this from the UniData DEMO account from the 'Colon' prompt? While I know I should NOT do this, I need to do this at a site that is running Windows... TIA!! DW --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UniVerse server socket issues
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Gyle Iverson Sent: Wednesday, December 14, 2005 7:43 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] UniVerse server socket issues Hello, Tony. Tony Gravagno opined... Clients need to know the port of a server, so a server absolutely requires a fixed and well-known port. A server can have a randomly assigned port that is fixed and well-known only between the client and the server. If the server only exists for the benefit of one client, it is up to them to figure out how to assign and communicate the port dynamically. The fixed and well-known port requirement does not imply that the assignment is permanent. FTP transfer is a good example of a dynamic port assignment. Client commands are passed through server port 21, while the file data is sent to the server through a dynamically spawned transfer service on a dynamically assigned port. Why do you need an assigned port for a server? Think about the problem of a client needing to spawn a unique server on demand of the client. Each client may spawn a server dedicated to that client. Certainly if one were using real UNIX/Windows processes, one could single-thread through a central process and fork a new process, however, U2 products do not allow forking of processes. No MV products can share the same user heap through forking or child threading. If you want some options for socket services with MV, e-mail me directly. execv() is a possibility using a C call, but it's not a fork or thread solution. I don't want to flood the group with a bunch of potentially meaningless text. 2) The other issue with the initServerSocket() is that it does not recognize when another process already has a given port open for listening. I haven't read the specs for initServerSocket but if it doesn't return a non-zero for an attachment failure then yes, it's probably broken. Yep. However, in general, a given service should only have one listening process. Not always true. There are dynamic services too. FTP once again is a good example. It is valid to have a range of ports which all respond to inbound connections as a single service - that is, multiple servers will be listening to different socket ports, even if they support the same application/transport service. Interesting idea but it does not help with this issue. Have you tried supporting multiple listening sockets in U2? You can not get anywhere without a select() or poll() function analogue. While one could spawn numerous phantoms, each listening on a unique port, one is left with how to coordinate data and such between the phantoms. Not a pretty solution. No, it's not, but there are ways around this using external pooling. Like I said, e-mail me. JD3 is a good example of a phantom pool, but phantom pooling requires a lot of socket reconnections and that just puts unneeded load on the network sub-system. It's a stable design, but I personally don't like that architecture when there is a stream of short-term connections. Coordination of what ports are in use for a given service should be done by the application, so you should never really get to a failure in initServerSocket. Try the replication program using port 80. On my system initServerSocket returns success even though IIS is currently bound to that port. If nothing else you can use netstat to see what ports are in use and use a recognized port that is unallocated. Yes, but not a solution for this issue. Again, if you randomly generate a socket port for a service, how will any client know what port to connect to? They communicate the port number behind the scenes. broken recordFTP/broken record Good luck. Tony Gravagno Thanks, Tony. Best regards, Gyle Glen batchelg bell_south n.e.t --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UniVerse server socket issues
DAVID WOLVERTON wrote: I suspect she is writing a CLIENT socket service that RUNS on the server -- one where I'm opening a socket to get data from another service - and as any process could be doing the same, I'd just want the next available socket, please So I think the request is valid -- remember - our 3GL could be a consumer of someone's service... Hmm, I was going to agree with you David. (I've written a robust D3 socket client to function as a consumer as you describe.) But after re-reading her first point I'm convinced that she wants a single U2 listener process to spawn another socket server, maybe a number of them. Glen may be right on the FTP server analogy. I'm guessing the process goes like this: - Start socket server on a well-known port. - Client connects. - App needs to create another socket server port for this specific client communicate on so that the well-known server port can remain open. - On successfully opening a new random server port, U2 host sends the new port# to the client so that the client can disconnect and reconnect in on the new port. Gyle wants to let the system assign the port for this new server and appropriately points out that this should be managed at a level below the application. Unfortunately being right often gets us nowhere - a dedicated socket pool may be required, say from 64000-65000. The other problem is that because initsocketserver doesn't fail if it binds to a socket already in use (not confirmed and may be release-specific), the app could be returning a port# which the client cannot communicate on. In this case I'd say the client should tell the U2 host that the connection failed and it needs another port. Since the app is managing the pool, the bad port is still removed from the pool and is no longer available to be re-assigned to some other client, the app may need to release the handle. Gyle, I really think you should reconsider use of netstat to tell you what ports are already in use. These are rotten solutions and there are a bunch of things that can go wrong here which will require handshaking between multiple U2 ports and/or polling, and some housekeeping process to refresh the pool, release resources, etc. I don't think there are any elegant solutions here or we'd see a lot more sites doing this. I don't think I can offer much more, sorry. T --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] [UD] LOGTO question...
You could try: LOGTO C:\Progra~1\david\data\AccountOfStuff Possibly the 8.3 notation for the directory will work - it's not ideal, and you might have to confirm whether that is the actual 8.3 notation directory for Program Files... Arnold Bosch IT Administrator Taeuber Corssen SWA (Pty) Ltd DAVID WOLVERTON [EMAIL PROTECTED] etTo Sent by: u2-users@listserver.u2ug.org [EMAIL PROTECTED] cc stserver.u2ug.org Subject [U2] [UD] LOGTO question... 15/12/2005 02:50 Please respond to [EMAIL PROTECTED] er.u2ug.org How do I include a space in a LOGTO command? I've tried quoting., slashing... I must be missing something brutally simple... It seems to always give a syntax error... Exampl:? Account is in the path: C:\Program Files\david\data\AccountOfStuffas an example... How do I log to this from the UniData DEMO account from the 'Colon' prompt? While I know I should NOT do this, I need to do this at a site that is running Windows... TIA!! DW --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] [UD] LOGTO question...
Well, if the space is in your udthome (eg. C:\Program Files\david) then you can simply exclude that part from the logto (eg. Logto data\AccountOfStuff). You could probably use UniAdmin to setup the users to log directly to that directory - or change the login to prompt for the path. Otherwise, I think you may have to rename/move the directory. Hth Colin Alfke -Original Message- From: DAVID WOLVERTON How do I include a space in a LOGTO command? I've tried quoting., slashing... I must be missing something brutally simple... It seems to always give a syntax error... Exampl:? Account is in the path: C:\Program Files\david\data\AccountOfStuffas an example... How do I log to this from the UniData DEMO account from the 'Colon' prompt? While I know I should NOT do this, I need to do this at a site that is running Windows... TIA!! DW --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Dynamic Connect 6.0.1 lockdown changes by IBM
In response to a query regarding Dynamic Connect 5.2 in October 2003 IBM replied that Dynamic Connect (DC) was added to the U2 product suite to provide simple terminal emulation functionality equivalent to the UVTerm tool that had historically been available for UniVerse. Well, one of the simple things supported by UVTERM was the AREV screen handler which is also built into Dynamic Connect via extensions. Many other terminal emulations and extensions eg for System Builder not supported by UVTERM have been supplied as a part of Dynamic Connect with the associated scripts supplied in source form ie not compiled into .wix files. As any user of Dynamic Connect will know, UVTERM is a poor comparison, and to date, Dynamic Connect has been a great replacement emulator giving users much needed additional functionality. Being able to customise the supplied emulations has been one of the really powerful features and customising the supplied scripts has been invaluable in providing needed functionality. For IBM to state that Dynamic Connect is a simple terminal emulator is to try to deflect the argument that once features have been made available - and documented - it's not OK for the vendor to remove them without notice or warning. Further to this IBM stated in their reply that scripting had been documented in the Dynamic Connect manuals in error. Hard lines for those users and developers, like yourself Alan, who never received this little tidbit of information from IBM that you were at risk of not being able to fully utilise later versions of Dynamic Connect even though your documentation said you could. Oh yes, we were offered Wintegrate at a reasonable price because of this error. This clearly indicated to me that IBM were manouvering a situation where users, who had exploited the documented feature of being able to script Dynamic Connect, would at a later date be pressured to move to Wintegrate. The other bit of arrogance was that as Dynamic Connect was freely distibuted IBM could take away features as they saw fit. The expression The lord gives and the lord takes away comes to mind There are situations where UVTERM functionality can only be practiaclly supported through some form of scripting. For example, the only practical way to support the UVTERM pop-up menus, which users came to rely on in UVTERM, is to write an extension to detect mouse events and load up a menu, supporting an image viewer is only practically supported via scripting, turning off CTRL-E you need to modify vt100.wis, turning off the BEL etc. etc. I do not recall though ever seeing a statement to the general U2 community that removing features and locking down Dynamic Connect to the extent that you have experienced was going to be IBM's stance. Rather than being an ommission, IBM have actually seen fit to deliberately spend time and money to remove a feature previously provided, even if not supported, and have done so in a really clandestine and disruptive manner with little thought as to the impact on the user base who provide IBM with a regular and profitable revenue stream. This move could/should boost interest in AccuTerm and, if I can get AccuTerm to run on Linux that will be were my efforts will go Regards Ian Stuart Definitive Software Pty Ltd wrote: I was therefore unimpressed to find that, without any advanced notification, the latest revision 6.0.1 has been completely locked down via the use of checksums to prevent users making ANY modifications to the distributed terminal emulation and associated scripting files. As always, any product supplier that decides to remove previously available functionality in later revisions, risks alienating existing users to move away from their product. For IBM to make the effort to do this to a free product only makes sense if they believe that such a move will 'encourage' existing DC users to move to and purchase an expensive copy of Wintegrate, when a more probable effect is to feel insulted by their actions and move to other much cheaper products such as Accuterm. To me, to do so without even notifying us of their intentions (there are not even any details on the 6.0.1 distribution disk warning about the changes) indicates that either some product manager within IBM did it without fully informing their own management, or IBM themselves are looking to roll it out under the radar to avoid a backlash of user pressure to take out the changes. In either case, the way they have instituted the lockdown is so harsh as to impact many users over even the most 'trivial' of changes they may have made. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ ___ DISCLAIMER ___ This message contains confidential information and is intended only for the individual named. If you are not the named addressee
RE: [U2] LOGTO question...
I'd like to piggyback on this question with another related: What is the exact set of rules for determining whether an account can/should be referenced via a full path vs just the name? It seems it's not as simple as just having an entry in UV.ACCOUNT or UD.ACCOUNT. Is this flavor-dependent? It seems every time I'm working with a new client and in different accounts we go through this ritual: if you can't logto some account, try the full path. Same goes for cataloging code in one account where the object is in another: can't run the code - oops, the account name needs to be the full path. It would be nice to have some rules of thumb like : all accounts created through UniAdmin can be referenced via account name only, or all Pick flavor accounts created from the command prompt don't have a Ux.ACCOUNT entry but creating one will always work... Humble ignorance and gratitude, Tony DAVID WOLVERTON wrote: How do I include a space in a LOGTO command? I've tried quoting., slashing... I must be missing something brutally simple... --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/