Re: [U2] Dymanic vs Dimensioned
Responding to what you perceive as an ad hominem attack with an ad hominem attack. How the mighty (arrogant) have fallen On May 17, 2005, at 10:14 PM, [EMAIL PROTECTED] wrote: Well it's nice to see that when you are wrong, instead of discussing the logic of the problem you resort to slanderous name-calling, how pleasant. Perhaps you did learn something from your daughter. Will --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
I was told once that was the case in rel 8, but that is unverified. I wonder if there is some way we could write a test to check that out? -- Regards, Clif On May 17, 2005, at 10:18 PM, [EMAIL PROTECTED] wrote: And then I would wonder if the code is optimized to actually try to determine whether it would be faster to scan backward from present, or forward from cell 1 ... --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
I think one of the the things that we are overlooking is the underlying philosophy that machine cycles are cheap, and anything that cuts development or modification time is a Good Thing. You and I may not agree with that philosophy (having been victimized by code that took the idea to it's illogical conclusion), but keeping track of how many elements you need in a dimensioned array is one of the icky programmer type things that, historically, the music majors passing themselves off as Pick programmers were loath to do. But in the Real World, these kind of things usually (note the disclaimer) do not make much difference. I always enjoyed blowing someone's benchmark out of the water by sticking a single READ statement in the middle of their CPU intensive loop. It's all about the disk, mon. Dimensioned vs Dynamic--brain damaged code is still brain damaged code. -- Regards, Clif On May 17, 2005, at 10:18 PM, [EMAIL PROTECTED] wrote: And then by that time, system programmers would be saying Why can't they just all use dimensioned arrays dammit :) I suppose. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
[EMAIL PROTECTED] wrote: In a message dated 5/16/2005 5:00:45 AM Pacific Daylight Time, [EMAIL PROTECTED] writes: Yes. But it only works when stepping through an array in a READNEXT fashion. So if you're accessing fields in random order (as a lot of my code does) you gain nothing. No it does work even when you access the dynamic array in random order. It then provides an alternative starting point for the search to use instead of character 1. I'm not sure this is accurate. This would imply that not only would the run-time engine have to maintain a pointer to the last cell referenced, but also it would have to maintain a register telling it the cell number of this cell (not just its offset). So it needs two variables. I've never heard that it actually uses two variables to accomplish this. Perhaps someone in the internals could answer that question. So again, it would need one variable to tell it the offset (example: my last reference ended at character 96 of the string ... or position 2345 of the frame, or something of that sort); AND another variable to tell it the cell number (example: my last reference was to cell number 4). Otherwise, random access into a dynamic array would not be improved by the method talked about in this thread. Will Johnson --- Well it already needs both variables in the 'sequential' access too ! How would it even know that the access is for the next atrribute if it didn't keep track of the index? -- mats 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] Dymanic vs Dimensioned
Gyle, 64KB? ROTFLMAO! The first Microdata machine I worked on had 16KB, and ran a medical billing service bureau. It had 1 50MB disk drive and ran as slow as molasses. I ran into the same machine many years later in a tech college museum. I verified the serial number to be sure. Ouch, the bones are feeling old today. ;^) Regards, Charlie Noah [EMAIL PROTECTED] (mailto:[EMAIL PROTECTED]) writes: Charles Stevenson goes on: [snipping the bit about tolerance] Do you know why dimensioned arrays were first limited to only 1 or 2 dimensions in Pick or Info-Basic? There was probably some concern about memory consumption way back when MD and Pick ran with only 64KB of core. I think it was just simpler for the designers to set a low limit. It looks like the subsequent designers never anticipated adding more dimensions, rather they focused on backward compatibility (which in this case has multiple interpretations). [snip] Best regards, Gyle --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Dymanic vs Dimensioned
Wow, Noah! - you MUST be old! On Wed, 2005-05-18 at 06:25 -0400, [EMAIL PROTECTED] wrote: Gyle, 64KB? ROTFLMAO! The first Microdata machine I worked on had 16KB, and ran a medical billing service bureau. It had 1 50MB disk drive and ran as slow as molasses. I ran into the same machine many years later in a tech college museum. I verified the serial number to be sure. Ouch, the bones are feeling old today. ;^) Regards, Charlie Noah - GWK BEPERK/LIMITED (REG: 1997/022252/06) POSBUS 47 PO BOX 8730 DOUGLAS Direkteure/Directors: NB Jacobs, FJ Lawrence, J v/d S Botes, JH Coetzee, JGD Smit, JF Jacobs, AO M|ller, JW Smit, WG M|lke, JG Stander, JH van Dyk(MD/BD), JG Jacobs, A M|ller, M van Zyl, Sekr/Secr: HA Nolte. Hierdie e-pos is onderworpe aan `n vrywaring beskikbaar by: http://www.gwk.co.za/DisclaimerVrywaring.asp This e-mail is subjected to the disclaimer that can be viewed at: http://www.gwk.co.za/DisclaimerVrywaring.asp --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Dymanic vs Dimensioned
Nah. My first Microdata only had 10 mb. The 50s came out 1-2 years later. Roger Schalk van Zyl wrote: Wow, Noah! - you MUST be old! On Wed, 2005-05-18 at 06:25 -0400, [EMAIL PROTECTED] wrote: Gyle, 64KB? ROTFLMAO! The first Microdata machine I worked on had 16KB, and ran a medical billing service bureau. It had 1 50MB disk drive and ran as slow as molasses. I ran into the same machine many years later in a tech college museum. I verified the serial number to be sure. Ouch, the bones are feeling old today. ;^) Regards, Charlie Noah --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Dymanic vs Dimensioned
Oh dear, I feel the flood gates opening... Please resist. grin Brian Binary? Luxury. We couldn't afford ones AND zeros. Gyle, 64KB? ROTFLMAO! The first Microdata machine I worked on had 16KB, and ran a medical billing service bureau. It had 1 50MB disk drive and ran as slow as molasses. I ran into the same machine many years later in a tech college museum. I verified the serial number to be sure. Ouch, the bones are feeling old today. ;^) Regards, Charlie Noah --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Questions about addRequestParameter
If you are accessing a web service, callHTTP is for HTTP requests, similar to an HTML form post. It does not send XML. If you are not, ignore the rest of this! Just to throw in my 2 cents, you can use callHTTP to send XML. We are running 16 different interfaces using callHTTP POST to send and receive XML. Also, the response files contain embedded pdf's, html, or can be used with XSL stylesheets. That is not to say, however, that the SOAP functionality may not be better suited for your purposes. Mike Dallaire Mortgage Builder Software Inc. (248) 208-3223 ext. 103 [EMAIL PROTECTED] www.mortgagebuilder.com --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
All, Please watch the overquoting. It is very hard on digest readers and on dial-up connections. - Charles Barouch, Moderator U2UG --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Dymanic vs Dimensioned
All, Please move the entire, My system was smaller than your system contest to U2-Community. You may subscribe to U2-Community, send an e-mail to [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]. Place the following line by itself in the body of the mail: subscribe u2-community More info: http://u2ug.org/index.php?module=ContentExpressfunc=displaybtitle=CEmid=ceid=12 - Charles Barouch, Moderator Brian Leach wrote: Oh dear, I feel the flood gates opening... Please resist. grin --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] I'm in an Array quandry, any suggestions...
Dimensioned vs Dynamic--brain damaged code is still brain damaged code. I could not agree more! the music majors passing themselves off as Pick programmers For the record I almost failed music history :) For those keeping track of suggestions for IBM here is one that would help bridge this divide. Allow re-dimensioning of dimensioned arrays at runtime. In VB you have the REDIM command and in C you can re-dimension damn near anything. Having this capability would provide the best of both worlds. Rich Taylor | Senior Programmer/Analyst| VERTIS 250 W. Pratt Street | Baltimore, MD 21201 P 410.361.8688 | F 410.528.0319 [EMAIL PROTECTED] | http://www.vertisinc.com Vertis is the premier provider of targeted advertising, media, and marketing services that drive consumers to marketers more effectively. The more they complicate the plumbing the easier it is to stop up the drain - Montgomery Scott NCC-1701 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Wednesday, May 18, 2005 3:00 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] I'm in an Array quandry, any suggestions... I think one of the the things that we are overlooking is the underlying philosophy that machine cycles are cheap, and anything that cuts development or modification time is a Good Thing. You and I may not agree with that philosophy (having been victimized by code that took the idea to it's illogical conclusion), but keeping track of how many elements you need in a dimensioned array is one of the icky programmer type things that, historically, the music majors passing themselves off as Pick programmers were loath to do. But in the Real World, these kind of things usually (note the disclaimer) do not make much difference. I always enjoyed blowing someone's benchmark out of the water by sticking a single READ statement in the middle of their CPU intensive loop. It's all about the disk, mon. -- Regards, Clif On May 17, 2005, at 10:18 PM, [EMAIL PROTECTED] wrote: And then by that time, system programmers would be saying Why can't they just all use dimensioned arrays dammit :) I suppose. --- 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] SQL Wintegrate Question
What is the proper syntax in Wintegrate SQL Builder to build a query and include a statement where a particular field is not equal to blank? Thanks Krish --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] I'm in an Array quandry, any suggestions...
[EMAIL PROTECTED] wrote: Dimensioned vs Dynamic--brain damaged code is still brain damaged code. I could not agree more! the music majors passing themselves off as Pick programmers For the record I almost failed music history :) For those keeping track of suggestions for IBM here is one that would help bridge this divide. Allow re-dimensioning of dimensioned arrays at runtime. In VB you have the REDIM command and in C you can re-dimension damn near anything. Having this capability would provide the best of both worlds. As others have pointed out, YOU CAN. You just need to be using one of PI-derived flavours. And someone said you can actually switch between PI and Pick style behaviour even within one program! provided you sprinkle the magic directives in the correct places. Rich Taylor | Senior Programmer/Analyst| VERTIS 250 W. Pratt Street | Baltimore, MD 21201 P 410.361.8688 | F 410.528.0319 [EMAIL PROTECTED] | http://www.vertisinc.com Cheers, Wol --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Unidata File Error
What does this error message mean ? Inserting index value(s) error in U_append_strtuple for FILE 'JOURNAL', key 2.80132.A, number=25751 I ran guide on the file and there are no errors in the file. What could cause the error ? - Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
Allow re-dimensioning of dimensioned arrays at runtime. In VB you have the REDIM command and in C you can re-dimension damn near anything. Having this capability would provide the best of both worlds. It already can! You either need to use Ideal, Information or PI/open flavour or you need to use the appropriate compiler option to select the Information style matrices. This is needed because of the structural differences of Information and Pick style matrices. Martin Phillips Ladybridge Systems 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB +44-(0)1604-709200 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Performance tuning UniVerse on Windows Server 2003
Are there any tips to tuning UniVerse on Windows Server 2003, or tuning Windows Server 2003 for UniVerse? Paul Hamrick Access Software 2610 SE Willoughby Blvd. Willoughby Business Park Stuart, FL 34994 mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] 772-463-4588 Ext. 15 http://www.airpax.com/ www.airpax.com --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] I'm in an Array quandry, any suggestions...
...Allow re-dimensioning of dimensioned arrays at runtime... As others have pointed out, YOU CAN $OPTIONS -STATIC.DIM Minus sign means not as in not static dim as in you can redimension this on the fly at runtime. It is necessary in Pick- Reality-flavors. PI- and Ideal-flavors have that feature already. (You could turn it off by $OPTIONS STATIC.DIM. no minus sign.) Put that directive at the top of the program and it remains in effect throughout the program. Arrays defined in common can't be redimensioned. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata File Error
Could the X_file (index) be corrupt? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave S Sent: Wednesday, May 18, 2005 8:54 AM To: u2-users@listserver.u2ug.org Subject: [U2] Unidata File Error What does this error message mean ? Inserting index value(s) error in U_append_strtuple for FILE 'JOURNAL', key 2.80132.A, number=25751 I ran guide on the file and there are no errors in the file. What could cause the error ? - Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
(from memory, so verify via HELP) $OPTIONS -STATIC.DIM On May 18, 2005, at 7:15 AM, [EMAIL PROTECTED] wrote: Allow re-dimensioning of dimensioned arrays at runtime. In VB you have the REDIM command and in C you can re-dimension damn near anything. Having this capability would provide the best of both worlds. As others have pointed out, YOU CAN. You just need to be using one of PI-derived flavours. And someone said you can actually switch between PI and Pick style behaviour even within one program! provided you sprinkle the magic directives in the correct places. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re[2]: [U2] Questions about addRequestParameter
Mike, Wednesday, May 18, 2005, 5:22:15 AM, you wrote: If you are accessing a web service, callHTTP is for HTTP requests, similar to an HTML form post. It does not send XML. If you are not, ignore the rest of this! MD Just to throw in my 2 cents, you can use callHTTP to send XML. We are MD running 16 different interfaces using callHTTP POST to send and receive XML. MD Also, the response files contain embedded pdf's, html, or can be used with MD XSL stylesheets. MD That is not to say, however, that the SOAP functionality may not be better MD suited for your purposes. you are, of course correct .. you don't need SOAP etc to do this as my original post mentioned .. Simple callHttp passing the XML works great -- DSig ` David Tod Sigafoos ( O O ) ___oOOo__( )__oOOo___ Cannot open file C:\DOCUMENTS AND SETTINGS\DAVID TOD SIGAFOOS\APPLICATION DATA\BATMAIL\COOKIES.TXT --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re[2]: [U2] Questions about addRequestParameter
Bruce, Tuesday, May 17, 2005, 10:34:19 PM, you wrote: BL Thanks, David. BL I did finally get it to work, after changing the url address. BL I was geeting a 0 response to my requests but it wasn't giving me what I was BL asking for. It turns out that something along the way was changing the url BL from ws. to www. and that put me in the wrong camp, but the right service. BL Everything is working great, now. Great .. you have to poke around as the 'documentation' is not quite explicit and there does not seem to be any real examples .. but when all is said and done .. it works quite well --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Dymanic vs Dimensioned
In a message dated 5/18/2005 3:42:28 AM Pacific Daylight Time, [EMAIL PROTECTED] writes: 64KB? ROTFLMAO! The first Microdata machine I worked on had 16KB, and ran a medical billing service bureau. It had 1 50MB disk drive and ran as slow as molasses. I ran into the same machine many years later in a tech college museum. I verified the serial number to be sure. Ouch, the bones are feeling old today. ;^) You remember the serial number many years later of a machine you had worked on? You have a gift that *few* would envy (big grin). But seriously, my first Microdata has 100Meg of disk and when we backed that baby up it took 6 hours of 9-track tape to do it. Will Johnson --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] I'm in an Array quandry, any suggestions...
In a message dated 5/18/2005 2:16:35 AM Pacific Daylight Time, [EMAIL PROTECTED] writes: Well it already needs both variables in the 'sequential' access too ! How would it even know that the access is for the next atrribute if it didn't keep track of the index? -- mats Because READNEXT doesnt specify what cell you want. It just says get the next one whatever number that is. So for Readnext you'd only need a pointer to the last char position of the last delimiter viewed. You wouldn't need to know what cell number that represents. Will --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] I'm in an Array quandry, any suggestions...
Rich Taylor | Senior Programmer/Analyst| VERTIS 250 W. Pratt Street | Baltimore, MD 21201 P 410.361.8688 | F 410.528.0319 [EMAIL PROTECTED] | http://www.vertisinc.com Vertis is the premier provider of targeted advertising, media, and marketing services that drive consumers to marketers more effectively. Wol, I stand corrected. Guess I missed that earlier point. It would be great if this functionality were generically available. If I read the UD documentation correctly it 'may' be available in the flavors we are using. Guess I will just have to play with it. Not that it would help my situation that much (well using the 0 element for excess would). As I said earlier changing flavors in the program is not an option that would help. The issue is not the programs we are changing, but rather the legacy code we are not changing. The more they complicate the plumbing the easier it is to stop up the drain - Montgomery Scott NCC-1701 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Wednesday, May 18, 2005 10:15 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] I'm in an Array quandry, any suggestions... Allow re-dimensioning of dimensioned arrays at runtime. In VB you have the REDIM command and in C you can re-dimension damn near anything. Having this capability would provide the best of both worlds. As others have pointed out, YOU CAN. You just need to be using one of PI-derived flavours. And someone said you can actually switch between PI and Pick style behaviour even within one program! provided you sprinkle the magic directives in the correct places. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] SQL Wintegrate Question
You could use something like FieldName NE or FieldName # - Original Message - From: [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Wednesday, May 18, 2005 10:06 AM Subject: [U2] SQL Wintegrate Question What is the proper syntax in Wintegrate SQL Builder to build a query and include a statement where a particular field is not equal to blank? Thanks Krish --- 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] Unidata File Error
I did rebuild the index file last nite to be safe. Kevin King [EMAIL PROTECTED] wrote:Could the X_file (index) be corrupt? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave S Sent: Wednesday, May 18, 2005 8:54 AM To: u2-users@listserver.u2ug.org Subject: [U2] Unidata File Error What does this error message mean ? Inserting index value(s) error in U_append_strtuple for FILE 'JOURNAL', key 2.80132.A, number=25751 I ran guide on the file and there are no errors in the file. What could cause the error ? - Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ __ 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] Unidata File Error
Did you dellete all inexes and then rebuild? This is the only way you get a new file created. Run guide_ndx against the index and see what it says. Dave S [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 05/18/2005 01:44 PM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject:RE: [U2] Unidata File Error I did rebuild the index file last nite to be safe. Kevin King [EMAIL PROTECTED] wrote:Could the X_file (index) be corrupt? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave S Sent: Wednesday, May 18, 2005 8:54 AM To: u2-users@listserver.u2ug.org Subject: [U2] Unidata File Error What does this error message mean ? Inserting index value(s) error in U_append_strtuple for FILE 'JOURNAL', key 2.80132.A, number=25751 I ran guide on the file and there are no errors in the file. What could cause the error ? - Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ __ 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/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Performance tuning UniVerse on Windows Server 2003
We run our UniVerse application on HP-UX, but we use a number of sql servers running on X86 type hardware. Our standard setup for a database server (Micro$oft SQL for us) calls for a dual processor machine with at least a gig of memory depending upon the size and number of users. We've found that disk usage makes a big difference (no suprise there). A mirrored set of disks should be setup for the system or C:\ drive. Another set of mirrored disks or a drive array should be used for the actual data files themselves. I've also found that using a single drive running by itself as a temp file system helps. On SQL server we put the swap file, tmp files and the tempdb on this drive. This leaves us with three volumes doing different things (program files, data and temp space). Resist the any urge you may have to configure one big disk and put everything there. Hope this helps. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Unidata File Error
I will run the guide_ndx after hours. [EMAIL PROTECTED] wrote:Did you dellete all inexes and then rebuild? This is the only way you get a new file created. Run guide_ndx against the index and see what it says. Dave S Sent by: [EMAIL PROTECTED] 05/18/2005 01:44 PM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject: RE: [U2] Unidata File Error I did rebuild the index file last nite to be safe. Kevin King wrote:Could the X_file (index) be corrupt? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave S Sent: Wednesday, May 18, 2005 8:54 AM To: u2-users@listserver.u2ug.org Subject: [U2] Unidata File Error What does this error message mean ? Inserting index value(s) error in U_append_strtuple for FILE 'JOURNAL', key 2.80132.A, number=25751 I ran guide on the file and there are no errors in the file. What could cause the error ? - Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.12 - Release Date: 5/17/2005 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ __ 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/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ - Yahoo! Mail Mobile Take Yahoo! Mail with you! Check email on your mobile phone. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Performance tuning UniVerse on Windows Server 2003
If the server is running hyper threading then turn it off. That would be turn off the hyper threading, not the server. It can make a noticeable difference in performance. I don't know if this suggesting would be reversed if your running a large number of connections or not. But under a hundred clients it does make a noticeable difference. Jeffrey Lettau ERP Systems Manager polkaudio -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Hamrick Sent: Wednesday, May 18, 2005 11:09 AM To: u2-users@listserver.u2ug.org Subject: [U2] Performance tuning UniVerse on Windows Server 2003 Are there any tips to tuning UniVerse on Windows Server 2003, or tuning Windows Server 2003 for UniVerse? Paul Hamrick Access Software 2610 SE Willoughby Blvd. Willoughby Business Park Stuart, FL 34994 mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] 772-463-4588 Ext. 15 http://www.airpax.com/ www.airpax.com --- 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] Side Comments and Overquoting
All, Please move the fun stuff to U2-Community and please-please-please cut out any and all unneeded quoting. When these things are not done, I see an immediate rash of unsubscribes. There are a lot of people who truly get a value from this list and from all of you, however, many of them have limited time to skim the giggles and overquotes. We need to keep our gems on clear display so all can see the value. - Charles Barouch Moderator To subscribe to any of these lists: 1. U2-Users 2. U2-Community 3. RBSolutions 4. SBSolutions 5. U2-Users Digest 6. U2-Community Digest 7. RBSolutions Digest 8. SBSolutions Digest Please visit http://listserver.u2ug.org/, enter your e-mail address, and 'browse all' lists to maintain your access.We look forward to welcoming you to the lists. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Performance tuning UniVerse on Windows Server 2003 {Unclassified}
Paul, We run UV on Win2K3, and have done for a couple of years, now. We handle 220 users very adequately on a dual-Xeon 2.8GHZ, 3GB system (from IBM, as it happens) Don's advice is all good! And if you're using transaction logging, the logs should go on a volume that is not the same as the main data volume. This is both for performance and safety - otherwise a single loss of a volume would wipe out data logs = no recovery! If you're running a really large or high-volume site, you may also wish to consider putting indexes on a separate volume to the main data. So, ideally you want at least three, preferably four separate disk volumes [logs could share with swap temp] All volumes should be mirrored / RAIDed for redundancy. Don't use software RAID. If you're using a SAN (we use EMC) you need two local volumes, one for C: and the other for (swap temp) and one or more SAN volumes. Remember that Xeons don't scale well past 4GB RAM, you will need Opteron's / Xeon-64's and Windows Server 64-bit edition for that. HTH Mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Don Kibbey Sent: Thursday, 19 May 2005 06:57 To: u2-users@listserver.u2ug.org Subject: Re: [U2] Performance tuning UniVerse on Windows Server 2003 We run our UniVerse application on HP-UX, but we use a number of SQL servers running on X86 type hardware. Our standard setup for a database server (Micro$oft SQL for us) calls for a dual processor machine with at least a gig of memory depending upon the size and number of users. We've found that disk usage makes a big difference (no surprise there). A mirrored set of disks should be setup for the system or C:\ drive. Another set of mirrored disks or a drive array should be used for the actual data files themselves. I've also found that using a single drive running by itself as a temp file system helps. On SQL server we put the swap file, tmp files and the tempdb on this drive. This leaves us with three volumes doing different things (program files, data and temp space). Resist the any urge you may have to configure one big disk and put everything there. Hope this helps. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] New User - Perl / Win32 / UniDATA
I am having some difficulties with the UniData ODBC driver. I am connecting from a Windows box using the IBM UniDATA ODBC Driver 3.01.04.7036 and the Win32::ODBC for perl. Now, I can make the connection fine. But when ever I try to query something I get this error. SQL failed. Error: [911] [1] [0] [Ardent][UniData ODBC Driver][IBM][SQL Client][UNIDATA]You have no privilege on file adpsql_POD_NF I can connect using MS Access and query the database fine. Are there any issues with UniDATA ODBC and the Win32::ODBC module? In addition are there any *nix based UniDATA drivers? I have seen a few other similar posts but most were outdated by a year or more and there were never any resolutions. Thanks in advance. -Tom --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Include Vs Call - Software Maintenance
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Lettau, Jeff Sent: Wednesday, May 18, 2005 4:11 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Performance tuning UniVerse on Windows Server 2003 If the server is running hyper threading then turn it off. That would be turn off the hyper threading, not the server. It can make a noticeable difference in performance. I don't know if this suggesting would be reversed if your running a large number of connections or not. But under a hundred clients it does make a noticeable difference. Jeffrey Lettau ERP Systems Manager polkaudio -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Hamrick Sent: Wednesday, May 18, 2005 11:09 AM To: u2-users@listserver.u2ug.org I need a UniBasic program that uses a lot of the code from another program. I am inclined to move all of the common code out to an include file. I am reluctant to use an external subroutine because if the needs of one main-program change and I then re-compile the sub, then the other main-program (which depends on the sub) could get whacked. Insightful commentary would be appreciated. --Bill --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] Include Vs Call - Software Maintenance
I need a UniBasic program that uses a lot of code from another program. I am inclined to move all of the common code out to an include file. I am reluctant to use an external subroutine because if the needs of one main-program change and I then re-compile the sub, then the other main-program (which depends on the sub) could get whacked. Insightful commentary would be appreciated. --Bill --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Include Vs Call - Software Maintenance
IMHO, I would use a subroutine and pass as a parameter the calling subroutine name. Use a case or if statememt (or on-gosub) to do the conditional branch. If your include code changes for program A and you recompile for program A but not program B, then your source code is not in sync with your object code, which is a worse situation than modifying the external subroutine by quite a lot. I may have misunderstood your scenario though. Cheers, Kieran. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brutzman, Bill Sent: Thursday, 19 May 2005 8:36 AM To: u2-users@listserver.u2ug.org Subject: [U2] Include Vs Call - Software Maintenance I need a UniBasic program that uses a lot of code from another program. I am inclined to move all of the common code out to an include file. I am reluctant to use an external subroutine because if the needs of one main-program change and I then re-compile the sub, then the other main-program (which depends on the sub) could get whacked. Insightful commentary would be appreciated. --Bill --- 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] Include Vs Call - Software Maintenance
Brutzman, Bill wrote: I need a UniBasic program that uses a lot of code from another program. I am inclined to move all of the common code out to an include file. I am reluctant to use an external subroutine because if the needs of one main-program change and I then re-compile the sub, then the other main-program (which depends on the sub) could get whacked. Insightful commentary would be appreciated. Bill, My advice is that the small amount of extra pain involved in putting your common code into a real external subroutine is always worth it in the end. I'm a great believer in INCLUDEs, but only after an extreme amount of thought will I put significant logic in them. If processing is necessary it should nearly always be done in the main program, or if needed in more than one place then in an external subroutine that you CALL. You chances of stuffing up a program that INCLUDEs logic by a small change to that logic are much higher than if you CALL it as an external routine. Immediately you eliminate the risk of someone introducing a new local variable into either your main line or the INLCUDE and finding that it collides with something else which was also supposed to be local. That's my 5c. YMMV Cheers, Ken --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Include Vs Call - Software Maintenance
Bill, I need a UniBasic program that uses a lot of code from another program. I am inclined to move all of the common code out to an include file. If you do decide to use an include file, have a look at compile time directives. These allow block of code to be included or excluded by the compiler (think dynamic includes not runtime branching). I use these a lot when I need a block of common source to act slightly differently in multiple programs (I often use this so source from UV and UD can be held in one file and then a toplevel include sets C_CROSS_BUILD_UNIVERSE or C_CROSS_BUILD_UNIDATA so that platform specific code gets compiled in). This might let you have common code and then if you need to make small changes for a specific program you could do so. eg: MAINPROG1: $DEFINE MAINPROG1 INCLUDE INCLUDEFILE MAINPROG2: $DEFINE MAINPROG2 INCLUDE INCLUDEFILE INCLUDEFILE: blah blah common code $IFDEF MAINPROG1 THIS CODE WILL ONLY BE COMPILED INTO PROGRAMS WHERE MAINPROG1 IS DEFINED $ELSIF THIS CODE WILL ONLY BE COMPILED INTO PROGRAMS WHERE MAINPROG1 IS NOT DEFINED $ENDIF regards, Craig --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Include Vs Call - Software Maintenance
Key to this discussion is revision control. Not being contrained by SOX, and having a single programmer here, consider the baseline... PROGRAM.ONE.R7 ^ INCLUDE.FILE.R3 ^ PROGRAM.TWO.R11 ^ INCLUDE.FILE.R3 ^ When a change (to anything) comes along, it goes from say .R3 to .R4 ^ ^ Thus, if a change to PROGRAM.ONE.R7 requires an include-procedure update, the new pedigree will look like... PROGRAM.ONE.R8 ^ INCLUDE.FILE.R4 ^ PROGRAM.TWO.R11 INCLUDE.FILE.R3 If there is time to do maintenance on PROGRAM.TWO, it then becomes... PROGRAM.ONE.R8 INCLUDE.FILE.R4 PROGRAM.TWO.R12 ^ INCLUDE.FILE.R4 ^ Also, the include files include a (rolling) cross-reference to what programs are calling it. --Bill -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Kieran Clulow Sent: Wednesday, May 18, 2005 7:30 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Include Vs Call - Software Maintenance IMHO, I would use a subroutine and pass as a parameter the calling subroutine name. Use a case or if statememt (or on-gosub) to do the conditional branch. If your include code changes for program A and you recompile for program A but not program B, then your source code is not in sync with your object code, which is a worse situation than modifying the external subroutine by quite a lot. I may have misunderstood your scenario though. Cheers, Kieran. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brutzman, Bill Sent: Thursday, 19 May 2005 8:36 AM To: u2-users@listserver.u2ug.org Subject: [U2] Include Vs Call - Software Maintenance I need a UniBasic program that uses a lot of code from another program. I am inclined to move all of the common code out to an include file. I am reluctant to use an external subroutine because if the needs of one main-program change and I then re-compile the sub, then the other main-program (which depends on the sub) could get whacked. Insightful commentary would be appreciated. --Bill --- 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-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Include Vs Call - Software Maintenance
In either case, you only want to externalize that code which performs a specific task or function. Just because two programs do something the say way doesn't make it a good candidate for being an include record or an external subroutine. As to which method would be better, the choice would be what kind of maintenance requirement you want to deal with. If you take a function and make it an external subroutine, you can then make modifications to the function without having to recompile all the programs that use it. If you make a change to an include file, though, you'll have to recompile all programs that use it. A rule of thumb that I like to use is includes are for things like common blocks of variable definitions, like open file handles, equates, and common variables that don't change. If there is any processing that is to be done, that would go into subroutines. Another thing to remember is that with included code blocks, paragraph labels and variable names are shared while subroutines they independent and can be reused, provided they are not part of a common block. It is a bit of a hard lesson to find out you've already used a variable name in your include block and reused it in your main code file for different uses. BobW -Original Message- From: [EMAIL PROTECTED] [mailto:owner-u2- [EMAIL PROTECTED] On Behalf Of Brutzman, Bill Sent: Wednesday, May 18, 2005 3:36 PM To: 'u2-users@listserver.u2ug.org' Subject: [U2] Include Vs Call - Software Maintenance I need a UniBasic program that uses a lot of code from another program. I am inclined to move all of the common code out to an include file. I am reluctant to use an external subroutine because if the needs of one main-program change and I then re-compile the sub, then the other main-program (which depends on the sub) could get whacked. Insightful commentary would be appreciated. --Bill --- 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] Include Vs Call - Software Maintenance
You chances of stuffing up a program that INCLUDEs logic by a small change to that logic are much higher than if you CALL it as an external routine. Immediately you eliminate the risk of someone introducing a new local variable into either your main line or the INLCUDE and finding that it collides with something else which was also supposed to be local. Did I mention that I always make sure that ALL the local variables in an included file have a unique prefix so that no two include files can have the same variables (except when passing data between them). eg: CROSS.SMTP.ENGINE: * ALL local variables start with SMTP CROSS.PDF.ENGINE: * All local variables start with PDF So another program such as CROSS.EMAILPDF can include both and be sure that the two won't clash. Who said U2 BASIC couldn't have local and global scope! Craig --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Include Vs Call - Software Maintenance
H - do you read Joel on Software ? I think you will find this article interesting http://www.joelonsoftware.com/articles/Wrong.html Ross Ferris Stamina Software Visage - an Evolution in Software Development -Original Message- From: [EMAIL PROTECTED] [mailto:owner-u2- [EMAIL PROTECTED] On Behalf Of Craig Bennett Sent: Thursday, 19 May 2005 10:03 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Include Vs Call - Software Maintenance You chances of stuffing up a program that INCLUDEs logic by a small change to that logic are much higher than if you CALL it as an external routine. Immediately you eliminate the risk of someone introducing a new local variable into either your main line or the INLCUDE and finding that it collides with something else which was also supposed to be local. Did I mention that I always make sure that ALL the local variables in an included file have a unique prefix so that no two include files can have the same variables (except when passing data between them). eg: CROSS.SMTP.ENGINE: * ALL local variables start with SMTP CROSS.PDF.ENGINE: * All local variables start with PDF So another program such as CROSS.EMAILPDF can include both and be sure that the two won't clash. Who said U2 BASIC couldn't have local and global scope! Craig --- 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] UV PERFORM 'SELECT filename ...' in I-Type {Unclassified}
Folks, We have had a puzzling situation where a particular subprogram works differently when run from a test-harness from TCL, to when it is run as an I-Type subroutine. The sub-routine concerned is about three layers deep in the execution sequence:- Test-Harness does CALL A(parameters), A does CALL PROBLEM(parameters) I-Type says SUBR(X,parameters), and X does CALL A(parameters), A does CALL PROBLEM(parameters) When you LIST file name I-Type name the I-Type returns 'wrong' answers The programmer concerned eventually worked out that the problem was that, from the I-Type, a PERFORM 'SELECT filename with-condition' ALWAYS returned no records, whereas the same select works correctly from the test harness. No, the were no select lists active at the time! The solution was to change the PERFORM 'SELECT filename with-condition' to a Basic SELECT filename and weed out the unwanted records in an internal loop. It may well be that it has always been this way, the I-Type is new. UV 10.0, INformation flavour, Windows 2K3 Ideas, anyone? Thanks Mike The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Include Vs Call - Software Maintenance
I wish I'd read his essay on software scheduling a few years ago. http://www.joelonsoftware.com/articles/fog000245.html Oh hell, just go read the whole site. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ross Ferris Sent: Thursday, 19 May 2005 11:34 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Include Vs Call - Software Maintenance H - do you read Joel on Software ? I think you will find this article interesting http://www.joelonsoftware.com/articles/Wrong.html Ross Ferris Stamina Software Visage - an Evolution in Software Development -Original Message- From: [EMAIL PROTECTED] [mailto:owner-u2- [EMAIL PROTECTED] On Behalf Of Craig Bennett Sent: Thursday, 19 May 2005 10:03 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Include Vs Call - Software Maintenance You chances of stuffing up a program that INCLUDEs logic by a small change to that logic are much higher than if you CALL it as an external routine. Immediately you eliminate the risk of someone introducing a new local variable into either your main line or the INLCUDE and finding that it collides with something else which was also supposed to be local. Did I mention that I always make sure that ALL the local variables in an included file have a unique prefix so that no two include files can have the same variables (except when passing data between them). eg: CROSS.SMTP.ENGINE: * ALL local variables start with SMTP CROSS.PDF.ENGINE: * All local variables start with PDF So another program such as CROSS.EMAILPDF can include both and be sure that the two won't clash. Who said U2 BASIC couldn't have local and global scope! Craig --- 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-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UV PERFORM 'SELECT filename ...' in I-Type {Unclassified}
Mike, You say there is no select list active - but you are performing a LIST statement, isn't that an implied active select list. You shouldn't do anything in an i-type that could affect selectlist 0 (or use it up), and shelling out to perform a select would be very in-efficient (one perform/execute for every record in the file you're listing). Using the basic SELECT in the u-type is probably your best option - but without knowing what you're trying to achieve it's difficult to suggest a better alternative. AdrianW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of HENDERSON MIKE, MR Sent: Thursday, 19 May 2005 11:10 AM To: u2-users@listserver.u2ug.org Subject: [U2] UV PERFORM 'SELECT filename ...' in I-Type {Unclassified} Folks, We have had a puzzling situation where a particular subprogram works differently when run from a test-harness from TCL, to when it is run as an I-Type subroutine. The sub-routine concerned is about three layers deep in the execution sequence:- Test-Harness does CALL A(parameters), A does CALL PROBLEM(parameters) I-Type says SUBR(X,parameters), and X does CALL A(parameters), A does CALL PROBLEM(parameters) When you LIST file name I-Type name the I-Type returns 'wrong' answers The programmer concerned eventually worked out that the problem was that, from the I-Type, a PERFORM 'SELECT filename with-condition' ALWAYS returned no records, whereas the same select works correctly from the test harness. No, the were no select lists active at the time! The solution was to change the PERFORM 'SELECT filename with-condition' to a Basic SELECT filename and weed out the unwanted records in an internal loop. It may well be that it has always been this way, the I-Type is new. UV 10.0, INformation flavour, Windows 2K3 Ideas, anyone? Thanks Mike DISCLAIMER: Disclaimer. This e-mail is private and confidential. If you are not the intended recipient, please advise us by return e-mail immediately, and delete the e-mail and any attachments without using or disclosing the contents in any way. The views expressed in this e-mail are those of the author, and do not represent those of this company unless this is clearly indicated. You should scan this e-mail and any attachments for viruses. This company accepts no liability for any direct or indirect damage or loss resulting from the use of any attachments to this e-mail. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UV PERFORM 'SELECT filename ...' in I-Type {Unclassified}
HENDERSON MIKE, MR wrote: Folks, We have had a puzzling situation where a particular subprogram works differently when run from a test-harness from TCL, to when it is run as an I-Type subroutine. The sub-routine concerned is about three layers deep in the execution sequence:- Test-Harness does CALL A(parameters), A does CALL PROBLEM(parameters) I-Type says SUBR(X,parameters), and X does CALL A(parameters), A does CALL PROBLEM(parameters) When you LIST file name I-Type name the I-Type returns 'wrong' answers The programmer concerned eventually worked out that the problem was that, from the I-Type, a PERFORM 'SELECT filename with-condition' ALWAYS returned no records, whereas the same select works correctly from the test harness. No, the were no select lists active at the time! I'm sorry Mike, I'm having trouble with this statement. How can there not be any select lists active when you are running a retrieve statement? Surely, internally, ALL such statements generate a temporary select list and process it? The solution was to change the PERFORM 'SELECT filename with-condition' to a Basic SELECT filename and weed out the unwanted records in an internal loop. It may well be that it has always been this way, the I-Type is new. UV 10.0, Information flavour, Windows 2K3 Ideas, anyone? I think you just have to be *VERY* careful about using any form of PERFORM/EXECUTE inside an I-type/virtual field. First there are performance issues to think about, second, if the thing you EXECUTE either generates or consumes select lists then you need to be awful careful to make sure you don't generate some unwanted side effects. I accept that sometimes there is really little option but to implement something like this, but I'd certainly look hard at all the alternatives I could before I sat down and cut code. For example, on UniData, I'd far rather create a secondary index on filename and do some READFWDs than either the internal or external SELECTs you describe, is there a UniVerse equivalent? Cheers, Ken --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Include Vs Call - Software Maintenance
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Ross Ferris Sent: Wednesday, May 18, 2005 9:34 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Include Vs Call - Software Maintenance H - do you read Joel on Software ? I think you will find this article interesting http://www.joelonsoftware.com/articles/Wrong.html Ross Ferris Stamina Software Visage - an Evolution in Software Development Interesting points on making wrong code stick out. I've met a lot of coders who are sticklers for indent formatting, yet they mix coding conventions under the same syntax use. Debugging a huge IF ELSE structure can be a major nightmare if the coder indents properly, but does not follow IF condition THEN result END conventions for every logic block. I don't know how many times I've looked at an old piece of code and seen: IF A 100 THEN IF B = 56 THEN GOSUB 100 IF U 90 THEN IF Y 10 THEN IF R = 1 THEN CRT 1 END ELSE GOSUB 100 END ELSE RETURN TO 500 END First of all, I'd never structure something that complicated in a single nested IF block. Secondly, END will happily kill any Pick app, if it doesn't have a matching IF THEN statement. The compiler won't complain. Some flavors are more strict than original Pick and do not use END as a program terminator. That is a problem that should have been changed eons ago. I've had to print out an entire page of code and use a pen to write matching IF/END symbols to help determine which specific line of a 20-30 line IF blob is killing the app mid-flow. I usually end up rewriting it with a combination of CASE blocks and multiple condition IF blocks. CASE blocks are the best for huge logic selections or parametric settings. You can't muck up the convention and it takes up a lot less space. Less lines means you can more easily spot bad logic code. Anyway, back to the original topic. I've used includes and subroutines cooperatively. Your subroutine can be parameter driven based on variables in the global include. Instead of passing values via the subroutine call, use global directives to tell a global sub how it should function. This is OOP in a _very_ primitive fashion. Such code can be modularized even further by splitting the parent sub into component subs that handle specific logic for each situation. Down the road, you can analyze and update the atomic components of the whole package without breaking every part of the system. You can also add new features without worry of backwards compatability. There is a line between atomic building blocks and a code tree that expands past your ability to comprehend it. I keep my modularization to 3 or 4 levels. If you need more than that, then reconsider the design or see if the new memory implants are available at your local doctor's office. !FILEIOPARAMS : FILE IO GLOBAL DEFAULT PARAMETERS OPEN.FILE.OPENMETHOD=PICK OPEN.FILE.FILENAME= OPEN.FILE.LOCKS=0 OPEN.FILE.ERROR=0 OPEN.FILE.ERRORMSG1 = CAN NOT OPEN FILE OPEN.FILE.ERRORMSG2 = FILE IS LOCKED !PROGRAM MYAPP INCLUDE FILEIOPARAMS OPEN.FILE.OPEN.METHOD = LOCAL OPEN.FILE.FILENAME = /tmpfiles/mytempfile.txt OPEN.FILE.LOCKS = 1 OPEN.FILE.POINTERNAME = MYAPP.FILE CALL OPENFILE IF OPEN.FILE.ERROR 0 THEN CRT OPEN ERROR: :OPEN.FILE.ERRORMSGOPEN.FILE.ERROR END EOF = 0 SELECT MYAPP.FILE LOOP UNTIL EOF = 1 DO READNEXT ID ELSE EOF = 1 CRT ID IF EOF = 1 THEN EXIT REPEAT STOP SUBROUTINE OPENFILE INCLUDE FILEIOPARAMS BEGIN CASE CASE OPEN.FILE.OPENMETHOD = LOCAL; SUB.NAME = OPEN.LOCAL CASE OPEN.FILE.OPENMETHOD = PICK; SUB.NAME = OPEN.PICK CASE OPEN.FILE.OPENMETHOD = HTTP; SUB.NAME = OPEN.HTTP.URL END CASE CALL @SUB.NAME RETURN SUBROUTINE READ.LOCAL INCLUDE FILEIOPARAMS OPEN OPEN.FILE.FILENAME TO OPEN.FILE.POINTERNAME ELSE OPEN.FILE.ERROR = 1 END RETURN I don't know if the variable file pointer assignment will work on all flavors or not. It does work under D3. Instead of using OPEN.FILE.POINTERNAME as the file handle, OPEN assigns that variable's value of MYAPP.FILE as the handle. Glen http://mvdevcentral.com -Original Message- From: [EMAIL PROTECTED] [mailto:owner-u2- [EMAIL PROTECTED] On Behalf Of Craig Bennett Sent: Thursday, 19 May 2005 10:03 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Include Vs Call - Software Maintenance You chances of stuffing up a program that INCLUDEs logic by a small change to that logic are much higher than if you CALL it as an external routine. Immediately you eliminate the risk of someone introducing a new local variable into either your main line or the INLCUDE and finding that it collides with something else which was also supposed to be local. Did I mention that I always make sure that ALL the local variables in an included file have a unique prefix so that no two include files can have the same variables (except when passing data between them). eg: CROSS.SMTP.ENGINE: * ALL local variables start with SMTP
RE: [U2] UV PERFORM 'SELECT filename ...' in I-Type {Unclass ified}
Mike, Doing a querying, within a query in RetrieVe, isn't recommended. That is, if you I-type is doing a query, then that probably part of the problem. But it works in the testbed, then perhaps the differences are with that environment? However, is your testbed account set to INFORMATION flavour too? As the PERFORM and EXECUTE commands can work different depending on the account flavour, syntax and/or $OPTIONs used. Regards, David -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of HENDERSON MIKE, MR Sent: Thursday, 19 May 2005 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] UV PERFORM 'SELECT filename ...' in I-Type {Unclassified} Folks, We have had a puzzling situation where a particular subprogram works differently when run from a test-harness from TCL, to when it is run as an I-Type subroutine. The sub-routine concerned is about three layers deep in the execution sequence:- Test-Harness does CALL A(parameters), A does CALL PROBLEM(parameters) I-Type says SUBR(X,parameters), and X does CALL A(parameters), A does CALL PROBLEM(parameters) When you LIST file name I-Type name the I-Type returns 'wrong' answers The programmer concerned eventually worked out that the problem was that, from the I-Type, a PERFORM 'SELECT filename with-condition' ALWAYS returned no records, whereas the same select works correctly from the test harness. No, the were no select lists active at the time! The solution was to change the PERFORM 'SELECT filename with-condition' to a Basic SELECT filename and weed out the unwanted records in an internal loop. It may well be that it has always been this way, the I-Type is new. UV 10.0, INformation flavour, Windows 2K3 Ideas, anyone? Thanks Mike --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/