Re: [U2] [UV]Corrupted object in global catalog
Here's some options for you... 1. Verify it is cataloged in Global Catalog The subroutine !EXIST subroutine was created for Prime INFORMATION compatibility and does a simple check to verify the program is catalogued only. Check out the source code in UV account APP.PROGS, EXIST. 2. Verify Object code matches The VCATALOG verb is also used to verify the compiled object in your BP object file and the Global Catalog space are the same. (Interestingly, on my UV11.1.9/AIX system, VCATALOG isn't working! :-( ). 3. Extract detailed object code header data Finally, writing your own custom verification utility combining VLIST verb and/or Gyle Iversons' excellent (NB: I understand he will soon close down this website) SRS.UV.HEADER subroutine to extract header information from the global catdir and your BP object file for comparison purposes. URL: http://www.srs4uv.com/srs_uv_header.htm -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of bpa...@serta.com Sent: Saturday, 29 December 2012 2:32 AM To: u2-users@listserver.u2ug.org Subject: [U2] [UV]Corrupted object in global catalog Greetings, all! We have recently upgraded to the latest version of our vendor's software, and in the process have gone from Pick flavored accounts to Ideal flavored accounts. This has drastically changed the way programs are cataloged, as we are now using the global catalog directory (catdir, aka GLOBAL.CATDIR). We have discovered that some of the object code in the global catalog is corrupted (for lack of a better term). It looks like some of the object code files were somehow truncated. Since we don't discover this until someone notices that a program is behaving oddly, or working differently between the different servers (dev, test, production), and since the date stamp on the file in the catdir directory is the last time someone ran the program (as opposed to the time it was actually cataloged), it is impossible to tell if the object code was 'bad' from the beginning or got corrupted somewhere along the way. At this point, we can just recatalog everything. It would be a royal pain, but it is possible to do. That would ensure everything was all good right now, but doesn't do anything to make sure it stays that way. Does anyone know if there is a command we can ruin or some other way to verify object code in the global catalog? We would much rather monitor this proactively than wait until a user runs into a mysterious issue that we can't explain - or worse, runs something that ends up corrupting data because of a problem with the object code. Of course the ideal would be to figure out what's corrupting the object code to begin with - or to be able to determine if it was somehow corrupted in the initial install and we're just running into the bad pieces now. Without being able to monitor the object code and see when/if it gets corrupted again, though, that's going to be almost impossible. Any assistance would be greatly appreciated! Thanks! Brian _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material not intended for Public use. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is strictly prohibited. If you received this communication in error, please notify the sender and delete the material from any and all computers or devices. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line. ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
The original point was to disavow anyone of the idea that you can actually NAP 1 and expect only 1 millisecond to pass Since the quanta aren't that small. -Original Message- From: LeRoy Dreyfuss To: U2 Users List Sent: Wed, Jan 2, 2013 6:55 pm Subject: Re: [U2] Sleeping in Basic I do admit I've forgotten what the point of this was, since this thread was about SLEEP and NAP. That said, you are correct- the oconv conversion was not valid, so the original string was returned. Because UV can show time() and system(12) in milliseconds (system dependent), it would seem to not need a mask for milliseconds. On Wed, Jan 2, 2013 at 9:16 PM, Wjhonson wrote: > > Yes like I said the Oconv using MMHSM doesn't do anything. > Your output 75575.6608 of the place TIME() is unchanged > So what's MMHSM supposed to be doing? > Because it's not changing the output at all > > > > > > > -Original Message- > From: LeRoy Dreyfuss > To: U2 Users List > Sent: Wed, Jan 2, 2013 6:10 pm > Subject: Re: [U2] Sleeping in Basic > > > Top. > *--: P > 001: X = TIME() > 002: Y = SYSTEM(12) > 003: A = ICONV(X,'MM') > 004: B = ICONV(Y,'MM') > 005: PRINT X,A > 006: PRINT Y,B > 007: L = OCONV(X,'MMHSM') > 008: M = OCONV(Y,'MMHSM') > 009: PRINT L,M > Bottom. > *--: I > *--: FIBR > Filed "TEST.TIME" in file "BP". > Compiling: Source = 'BP/TEST.TIME', Object = 'BP.O/TEST.TIME' > * > > Compilation Complete. > 75575.6608 7557566 > 75575.6608 7557566 > 75575.6608 75575.6608 > > > > This is 11.1.9 on Linux. > > > On Wed, Jan 2, 2013 at 9:06 PM, Wjhonson wrote: > > > On Universe 11, OCONVing it as you suggested just returns the exact same > > result as the plain TIME() function without any conversion. > > > > > > > > > > > > > > -Original Message- > > From: LeRoy Dreyfuss > > To: U2 Users List > > Sent: Wed, Jan 2, 2013 6:02 pm > > Subject: Re: [U2] Sleeping in Basic > > > > > > Don't ICONV it. Use OCONV. > > > > ex: OCONV(TIME(),'MMTHS') > > > > > > On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > > > > > The 'MM' conversion works with the TIME() (which returns milliseconds) > > > on Universe 11 > > > > > > but for some reason is cutting off the display to only *hundredths* of > a > > > second, instead of the thousandths which the milliseconds counts. > > > > > > So TIME() shows 60814.304 > > > but ICONV(TIME(),'MM') shows 6081430 > > > > > > without the trailing 4 milliseconds. > > > > > ___ > > U2-Users mailing list > > U2-Users@listserver.u2ug.org > > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > > > > ___ > > U2-Users mailing list > > U2-Users@listserver.u2ug.org > > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Thomas Boadu is out of the office.
I will be out of the office starting 02/01/2013 and will not return until 07/01/2013. I will respond to your message when I return. If urgent please phone the helpdesk on 0038696 or from your handset and choose options 3 and1 First Capital Connect Limited. Registered in England & Wales No. 05281077. Registered office: 50 Eastbourne Terrace, Paddington, London, W2 6LG. This message is confidential. It may not be disclosed to, or used by, anyone other than the addressee. If you receive this message in error, please advise us immediately. Internet email is not necessarily secure. First does not accept responsibility for changes to any email which occur after the email has been sent. Attachments to this email could contain software viruses which could damage your system. First have checked the attachments for viruses before sending, but you should virus-check them before opening. For more information on our range of services or to book your tickets online, please visit:- http://www.firstgroup.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
I do admit I've forgotten what the point of this was, since this thread was about SLEEP and NAP. That said, you are correct- the oconv conversion was not valid, so the original string was returned. Because UV can show time() and system(12) in milliseconds (system dependent), it would seem to not need a mask for milliseconds. On Wed, Jan 2, 2013 at 9:16 PM, Wjhonson wrote: > > Yes like I said the Oconv using MMHSM doesn't do anything. > Your output 75575.6608 of the place TIME() is unchanged > So what's MMHSM supposed to be doing? > Because it's not changing the output at all > > > > > > > -Original Message- > From: LeRoy Dreyfuss > To: U2 Users List > Sent: Wed, Jan 2, 2013 6:10 pm > Subject: Re: [U2] Sleeping in Basic > > > Top. > *--: P > 001: X = TIME() > 002: Y = SYSTEM(12) > 003: A = ICONV(X,'MM') > 004: B = ICONV(Y,'MM') > 005: PRINT X,A > 006: PRINT Y,B > 007: L = OCONV(X,'MMHSM') > 008: M = OCONV(Y,'MMHSM') > 009: PRINT L,M > Bottom. > *--: I > *--: FIBR > Filed "TEST.TIME" in file "BP". > Compiling: Source = 'BP/TEST.TIME', Object = 'BP.O/TEST.TIME' > * > > Compilation Complete. > 75575.6608 7557566 > 75575.6608 7557566 > 75575.6608 75575.6608 > > > > This is 11.1.9 on Linux. > > > On Wed, Jan 2, 2013 at 9:06 PM, Wjhonson wrote: > > > On Universe 11, OCONVing it as you suggested just returns the exact same > > result as the plain TIME() function without any conversion. > > > > > > > > > > > > > > -Original Message- > > From: LeRoy Dreyfuss > > To: U2 Users List > > Sent: Wed, Jan 2, 2013 6:02 pm > > Subject: Re: [U2] Sleeping in Basic > > > > > > Don't ICONV it. Use OCONV. > > > > ex: OCONV(TIME(),'MMTHS') > > > > > > On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > > > > > The 'MM' conversion works with the TIME() (which returns milliseconds) > > > on Universe 11 > > > > > > but for some reason is cutting off the display to only *hundredths* of > a > > > second, instead of the thousandths which the milliseconds counts. > > > > > > So TIME() shows 60814.304 > > > but ICONV(TIME(),'MM') shows 6081430 > > > > > > without the trailing 4 milliseconds. > > > > > ___ > > U2-Users mailing list > > U2-Users@listserver.u2ug.org > > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > > > > ___ > > U2-Users mailing list > > U2-Users@listserver.u2ug.org > > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
Yes like I said the Oconv using MMHSM doesn't do anything. Your output 75575.6608 of the place TIME() is unchanged So what's MMHSM supposed to be doing? Because it's not changing the output at all -Original Message- From: LeRoy Dreyfuss To: U2 Users List Sent: Wed, Jan 2, 2013 6:10 pm Subject: Re: [U2] Sleeping in Basic Top. *--: P 001: X = TIME() 002: Y = SYSTEM(12) 003: A = ICONV(X,'MM') 004: B = ICONV(Y,'MM') 005: PRINT X,A 006: PRINT Y,B 007: L = OCONV(X,'MMHSM') 008: M = OCONV(Y,'MMHSM') 009: PRINT L,M Bottom. *--: I *--: FIBR Filed "TEST.TIME" in file "BP". Compiling: Source = 'BP/TEST.TIME', Object = 'BP.O/TEST.TIME' * Compilation Complete. 75575.6608 7557566 75575.6608 7557566 75575.6608 75575.6608 > This is 11.1.9 on Linux. On Wed, Jan 2, 2013 at 9:06 PM, Wjhonson wrote: > On Universe 11, OCONVing it as you suggested just returns the exact same > result as the plain TIME() function without any conversion. > > > > > > > -Original Message- > From: LeRoy Dreyfuss > To: U2 Users List > Sent: Wed, Jan 2, 2013 6:02 pm > Subject: Re: [U2] Sleeping in Basic > > > Don't ICONV it. Use OCONV. > > ex: OCONV(TIME(),'MMTHS') > > > On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > > > The 'MM' conversion works with the TIME() (which returns milliseconds) > > on Universe 11 > > > > but for some reason is cutting off the display to only *hundredths* of a > > second, instead of the thousandths which the milliseconds counts. > > > > So TIME() shows 60814.304 > > but ICONV(TIME(),'MM') shows 6081430 > > > > without the trailing 4 milliseconds. > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
Yes I just noticed that too. Maybe it think's its dollars and cents -Original Message- From: LeRoy Dreyfuss To: U2 Users List Sent: Wed, Jan 2, 2013 6:14 pm Subject: Re: [U2] Sleeping in Basic I should also mention that in your example, UV is not just dropping the last two digits, it's really rounding them up (o down, based on standard rounding rules) and showing hundredths. Not sure why Rocket did that, though. On Wed, Jan 2, 2013 at 9:06 PM, Wjhonson wrote: > On Universe 11, OCONVing it as you suggested just returns the exact same > result as the plain TIME() function without any conversion. > > > > > > > -Original Message- > From: LeRoy Dreyfuss > To: U2 Users List > Sent: Wed, Jan 2, 2013 6:02 pm > Subject: Re: [U2] Sleeping in Basic > > > Don't ICONV it. Use OCONV. > > ex: OCONV(TIME(),'MMTHS') > > > On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > > > The 'MM' conversion works with the TIME() (which returns milliseconds) > > on Universe 11 > > > > but for some reason is cutting off the display to only *hundredths* of a > > second, instead of the thousandths which the milliseconds counts. > > > > So TIME() shows 60814.304 > > but ICONV(TIME(),'MM') shows 6081430 > > > > without the trailing 4 milliseconds. > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
I should also mention that in your example, UV is not just dropping the last two digits, it's really rounding them up (o down, based on standard rounding rules) and showing hundredths. Not sure why Rocket did that, though. On Wed, Jan 2, 2013 at 9:06 PM, Wjhonson wrote: > On Universe 11, OCONVing it as you suggested just returns the exact same > result as the plain TIME() function without any conversion. > > > > > > > -Original Message- > From: LeRoy Dreyfuss > To: U2 Users List > Sent: Wed, Jan 2, 2013 6:02 pm > Subject: Re: [U2] Sleeping in Basic > > > Don't ICONV it. Use OCONV. > > ex: OCONV(TIME(),'MMTHS') > > > On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > > > The 'MM' conversion works with the TIME() (which returns milliseconds) > > on Universe 11 > > > > but for some reason is cutting off the display to only *hundredths* of a > > second, instead of the thousandths which the milliseconds counts. > > > > So TIME() shows 60814.304 > > but ICONV(TIME(),'MM') shows 6081430 > > > > without the trailing 4 milliseconds. > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
Top. *--: P 001: X = TIME() 002: Y = SYSTEM(12) 003: A = ICONV(X,'MM') 004: B = ICONV(Y,'MM') 005: PRINT X,A 006: PRINT Y,B 007: L = OCONV(X,'MMHSM') 008: M = OCONV(Y,'MMHSM') 009: PRINT L,M Bottom. *--: I *--: FIBR Filed "TEST.TIME" in file "BP". Compiling: Source = 'BP/TEST.TIME', Object = 'BP.O/TEST.TIME' * Compilation Complete. 75575.6608 7557566 75575.6608 7557566 75575.6608 75575.6608 > This is 11.1.9 on Linux. On Wed, Jan 2, 2013 at 9:06 PM, Wjhonson wrote: > On Universe 11, OCONVing it as you suggested just returns the exact same > result as the plain TIME() function without any conversion. > > > > > > > -Original Message- > From: LeRoy Dreyfuss > To: U2 Users List > Sent: Wed, Jan 2, 2013 6:02 pm > Subject: Re: [U2] Sleeping in Basic > > > Don't ICONV it. Use OCONV. > > ex: OCONV(TIME(),'MMTHS') > > > On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > > > The 'MM' conversion works with the TIME() (which returns milliseconds) > > on Universe 11 > > > > but for some reason is cutting off the display to only *hundredths* of a > > second, instead of the thousandths which the milliseconds counts. > > > > So TIME() shows 60814.304 > > but ICONV(TIME(),'MM') shows 6081430 > > > > without the trailing 4 milliseconds. > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > ___ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
On Universe 11, OCONVing it as you suggested just returns the exact same result as the plain TIME() function without any conversion. -Original Message- From: LeRoy Dreyfuss To: U2 Users List Sent: Wed, Jan 2, 2013 6:02 pm Subject: Re: [U2] Sleeping in Basic Don't ICONV it. Use OCONV. ex: OCONV(TIME(),'MMTHS') On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > The 'MM' conversion works with the TIME() (which returns milliseconds) > on Universe 11 > > but for some reason is cutting off the display to only *hundredths* of a > second, instead of the thousandths which the milliseconds counts. > > So TIME() shows 60814.304 > but ICONV(TIME(),'MM') shows 6081430 > > without the trailing 4 milliseconds. > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
Don't ICONV it. Use OCONV. ex: OCONV(TIME(),'MMTHS') On Wed, Jan 2, 2013 at 7:54 PM, Wjhonson wrote: > The 'MM' conversion works with the TIME() (which returns milliseconds) > on Universe 11 > > but for some reason is cutting off the display to only *hundredths* of a > second, instead of the thousandths which the milliseconds counts. > > So TIME() shows 60814.304 > but ICONV(TIME(),'MM') shows 6081430 > > without the trailing 4 milliseconds. > ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
The 'MM' conversion works with the TIME() (which returns milliseconds) on Universe 11 but for some reason is cutting off the display to only *hundredths* of a second, instead of the thousandths which the milliseconds counts. So TIME() shows 60814.304 but ICONV(TIME(),'MM') shows 6081430 without the trailing 4 milliseconds. -Original Message- From: Doug Averch To: U2 Users List Sent: Wed, Jan 2, 2013 4:46 pm Subject: Re: [U2] Sleeping in Basic Just a point of reference, Unidata at version 7.3.2 supports milliseconds for those of you who need it: Issue UDT-4104 - Problem Description UniBasic -- At this release of UniData, the ICONV and OCONV functions have been enhanced to include milliseconds. A new conversion code of 'MM' (Masked Milliseconds) has been added. The internal data storage format is the number of milliseconds since midnight. The syntax for the ICONV Milliseconds (MM) function is: ICONV(num.expr, "MM [H] [S[M]]") Regards, Doug www.u2logic.com/tools.html "Resizer for those who want current technology" On Wed, Jan 2, 2013 at 5:14 PM, Wjhonson wrote: > It's not based on how busy the system is Ross. > U2 lives on top of O/S's that use different mechanisms to determine the > clock time. > > U2 is limited by what those O/S's feed to it. > That's why NAP is quantized. > > > > > > > -Original Message- > From: Ross Ferris > To: U2 Users List > Sent: Wed, Jan 2, 2013 4:11 pm > Subject: Re: [U2] Sleeping in Basic > > > On a busy system, NAP 1 may actually take 2 or 3 milliseconds ... thus the > time > distortion. > > A loop of 100 with a NAP 10 would be closer to the mark > > Ross Ferris > Stamina Software > Visage > Better by Design! > > -Original Message- > From: u2-users-boun...@listserver.u2ug.org [mailto: > u2-users-boun...@listserver.u2ug.org] > On Behalf Of Doug Farmer > Sent: Saturday, 29 December 2012 4:32 AM > To: 'U2 Users List' > Subject: Re: [U2] Sleeping in Basic > > I guess I am confused on the definition of "quantized". NAP 250 seems to > do what > I want. Doing a LOOP 1000 and NAP 1 inside the loop, makes it takes quite > a few > seconds, where I would assume it would be 1 second (1000 x 1 millisecond - > 1 > second). However, loop 20 with NAP 250 in the loop takes 5 seconds, which > is > what I would expect (20 x 250 milliseconds = 5 seconds). > > Also, the OCONV documentation only shows OCONV(num.expr,"MT[H][S][c]") as a > syntax. No option for displaying milliseconds. The only why I know to do > that is > to use SYSTEM(12). > > I guess I was just using TIME() not SYSTEM(12) as it was easier to visually > scan. > > Doug Farmer > 952-417-5225 > > > -Original Message- > From: u2-users-boun...@listserver.u2ug.org [mailto: > u2-users-boun...@listserver.u2ug.org] > On Behalf Of Wjhonson > Sent: Friday, December 28, 2012 11:16 AM > To: u2-users@listserver.u2ug.org > Subject: Re: [U2] Sleeping in Basic > > Your napping for a quarter of a second is too long :) I was saying that > NAP is > quantized. You can't actually NAP for a microsecond. > So loop 1000 and NAP 1 > By the way you can return the microseconds, why are you doing MTS > > > I never bothered to dig into it, to see on what it's quantized. > > Without MTS you can see the microseconds. > > > > > > -Original Message- > From: Doug Farmer > To: 'U2 Users List' > Sent: Fri, Dec 28, 2012 7:22 am > Subject: Re: [U2] Sleeping in Basic > > > Wow, thanks of all of the responses. Unfortunately, none of them will seem > to > work on UniData. I will be using NAP on UniVerse. > > PAUSE and WAKE, I had not heard of. This is only on UniData so not a > UniVerse > option. It would seem to be a good way to go, except for if the phantom > process > aborts, the WAKE is never executed and the invoking process (UniObjects > subroutine) hangs forever. > > David's openSocket suggestion does not wait at all if the socket can be > opened. > If it cannot (for example host name is bad), the timeout is sometimes much > longer, probably due to DNS lookup of the bad host name. > > I tried these examples in the code below. The results are show below the > code. > > > When I run this, using NAP 250, I get 4 times the same, then another 4 > times the > same etc. This seems to show NAP 250 does sleep for a quarter of a second. > > Doing NAP 1 for 2000 iterations took 31 seconds. Probably due to overhead > of > setting up NAP 2000 times. > > The openSocket came right back all the time. > > Any other ideas, I am open to testing. > > Again, thanks for all of the responses! > > > Doug Farmer > 952-417-5225 > Program Listing > > 0001 PRINT 'Nap 250' > 0002 FOR IDX = 1 TO 20 > 0003 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') > 0004 NAP 250 > 0005 NEXT IDX > 0006 PRINT 'Start of 2000' > 0007 PRINT OCONV(TIME(),'MTS') > 0008 FOR IDX = 1 TO 2000 > 0009 NAP 1 > 0010 NEXT IDX > 0011 PRINT OCONV(TIME(),'MTS') > 0012 PRINT 'DONE
Re: [U2] Sleeping in Basic
Just a point of reference, Unidata at version 7.3.2 supports milliseconds for those of you who need it: Issue UDT-4104 - Problem Description UniBasic -- At this release of UniData, the ICONV and OCONV functions have been enhanced to include milliseconds. A new conversion code of 'MM' (Masked Milliseconds) has been added. The internal data storage format is the number of milliseconds since midnight. The syntax for the ICONV Milliseconds (MM) function is: ICONV(num.expr, "MM [H] [S[M]]") Regards, Doug www.u2logic.com/tools.html "Resizer for those who want current technology" On Wed, Jan 2, 2013 at 5:14 PM, Wjhonson wrote: > It's not based on how busy the system is Ross. > U2 lives on top of O/S's that use different mechanisms to determine the > clock time. > > U2 is limited by what those O/S's feed to it. > That's why NAP is quantized. > > > > > > > -Original Message- > From: Ross Ferris > To: U2 Users List > Sent: Wed, Jan 2, 2013 4:11 pm > Subject: Re: [U2] Sleeping in Basic > > > On a busy system, NAP 1 may actually take 2 or 3 milliseconds ... thus the > time > distortion. > > A loop of 100 with a NAP 10 would be closer to the mark > > Ross Ferris > Stamina Software > Visage > Better by Design! > > -Original Message- > From: u2-users-boun...@listserver.u2ug.org [mailto: > u2-users-boun...@listserver.u2ug.org] > On Behalf Of Doug Farmer > Sent: Saturday, 29 December 2012 4:32 AM > To: 'U2 Users List' > Subject: Re: [U2] Sleeping in Basic > > I guess I am confused on the definition of "quantized". NAP 250 seems to > do what > I want. Doing a LOOP 1000 and NAP 1 inside the loop, makes it takes quite > a few > seconds, where I would assume it would be 1 second (1000 x 1 millisecond - > 1 > second). However, loop 20 with NAP 250 in the loop takes 5 seconds, which > is > what I would expect (20 x 250 milliseconds = 5 seconds). > > Also, the OCONV documentation only shows OCONV(num.expr,"MT[H][S][c]") as a > syntax. No option for displaying milliseconds. The only why I know to do > that is > to use SYSTEM(12). > > I guess I was just using TIME() not SYSTEM(12) as it was easier to visually > scan. > > Doug Farmer > 952-417-5225 > > > -Original Message- > From: u2-users-boun...@listserver.u2ug.org [mailto: > u2-users-boun...@listserver.u2ug.org] > On Behalf Of Wjhonson > Sent: Friday, December 28, 2012 11:16 AM > To: u2-users@listserver.u2ug.org > Subject: Re: [U2] Sleeping in Basic > > Your napping for a quarter of a second is too long :) I was saying that > NAP is > quantized. You can't actually NAP for a microsecond. > So loop 1000 and NAP 1 > By the way you can return the microseconds, why are you doing MTS > > > I never bothered to dig into it, to see on what it's quantized. > > Without MTS you can see the microseconds. > > > > > > -Original Message- > From: Doug Farmer > To: 'U2 Users List' > Sent: Fri, Dec 28, 2012 7:22 am > Subject: Re: [U2] Sleeping in Basic > > > Wow, thanks of all of the responses. Unfortunately, none of them will seem > to > work on UniData. I will be using NAP on UniVerse. > > PAUSE and WAKE, I had not heard of. This is only on UniData so not a > UniVerse > option. It would seem to be a good way to go, except for if the phantom > process > aborts, the WAKE is never executed and the invoking process (UniObjects > subroutine) hangs forever. > > David's openSocket suggestion does not wait at all if the socket can be > opened. > If it cannot (for example host name is bad), the timeout is sometimes much > longer, probably due to DNS lookup of the bad host name. > > I tried these examples in the code below. The results are show below the > code. > > > When I run this, using NAP 250, I get 4 times the same, then another 4 > times the > same etc. This seems to show NAP 250 does sleep for a quarter of a second. > > Doing NAP 1 for 2000 iterations took 31 seconds. Probably due to overhead > of > setting up NAP 2000 times. > > The openSocket came right back all the time. > > Any other ideas, I am open to testing. > > Again, thanks for all of the responses! > > > Doug Farmer > 952-417-5225 > Program Listing > > 0001 PRINT 'Nap 250' > 0002 FOR IDX = 1 TO 20 > 0003 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') > 0004 NAP 250 > 0005 NEXT IDX > 0006 PRINT 'Start of 2000' > 0007 PRINT OCONV(TIME(),'MTS') > 0008 FOR IDX = 1 TO 2000 > 0009 NAP 1 > 0010 NEXT IDX > 0011 PRINT OCONV(TIME(),'MTS') > 0012 PRINT 'DONE WITH 2000' > 0013 PRINT 'Open Socket' > 0014 FOR IDX = 1 TO 20 > 0015 SleepTime = 250 > 0016 ERR = openSocket('loopback',25,1,SleepTime,HBUFF) > 0017 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') > 0018 NEXT IDX > > Output from Program > Nap 250 > 1 09:11:29 > 2 09:11:29 > 3 09:11:29 > 4 09:11:30 > 5 09:11:30 > 6 09:11:30 > 7 09:11:30 > 8 09:11:31 > 9 09:11:31 > 10 09:11:31 > 11 09:11:31 > 12 09:11:32 > 13 09:11:32 > 14 09
Re: [U2] Sleeping in Basic
For example, on my system, the quanta is 15 milliseconds. On a quiet system, as the sole user, I cannot NAP 1 and have it come back in 1 millisecond, it takes 15. Sometimes it takes a bit more, like 16... maybe it's doing some background task. So you can't get more discrete than what the underlying O/S allows. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Sleeping in Basic
It's not based on how busy the system is Ross. U2 lives on top of O/S's that use different mechanisms to determine the clock time. U2 is limited by what those O/S's feed to it. That's why NAP is quantized. -Original Message- From: Ross Ferris To: U2 Users List Sent: Wed, Jan 2, 2013 4:11 pm Subject: Re: [U2] Sleeping in Basic On a busy system, NAP 1 may actually take 2 or 3 milliseconds ... thus the time distortion. A loop of 100 with a NAP 10 would be closer to the mark Ross Ferris Stamina Software Visage > Better by Design! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Farmer Sent: Saturday, 29 December 2012 4:32 AM To: 'U2 Users List' Subject: Re: [U2] Sleeping in Basic I guess I am confused on the definition of "quantized". NAP 250 seems to do what I want. Doing a LOOP 1000 and NAP 1 inside the loop, makes it takes quite a few seconds, where I would assume it would be 1 second (1000 x 1 millisecond - 1 second). However, loop 20 with NAP 250 in the loop takes 5 seconds, which is what I would expect (20 x 250 milliseconds = 5 seconds). Also, the OCONV documentation only shows OCONV(num.expr,"MT[H][S][c]") as a syntax. No option for displaying milliseconds. The only why I know to do that is to use SYSTEM(12). I guess I was just using TIME() not SYSTEM(12) as it was easier to visually scan. Doug Farmer 952-417-5225 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Friday, December 28, 2012 11:16 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Sleeping in Basic Your napping for a quarter of a second is too long :) I was saying that NAP is quantized. You can't actually NAP for a microsecond. So loop 1000 and NAP 1 By the way you can return the microseconds, why are you doing MTS I never bothered to dig into it, to see on what it's quantized. Without MTS you can see the microseconds. -Original Message- From: Doug Farmer To: 'U2 Users List' Sent: Fri, Dec 28, 2012 7:22 am Subject: Re: [U2] Sleeping in Basic Wow, thanks of all of the responses. Unfortunately, none of them will seem to work on UniData. I will be using NAP on UniVerse. PAUSE and WAKE, I had not heard of. This is only on UniData so not a UniVerse option. It would seem to be a good way to go, except for if the phantom process aborts, the WAKE is never executed and the invoking process (UniObjects subroutine) hangs forever. David's openSocket suggestion does not wait at all if the socket can be opened. If it cannot (for example host name is bad), the timeout is sometimes much longer, probably due to DNS lookup of the bad host name. I tried these examples in the code below. The results are show below the code. When I run this, using NAP 250, I get 4 times the same, then another 4 times the same etc. This seems to show NAP 250 does sleep for a quarter of a second. Doing NAP 1 for 2000 iterations took 31 seconds. Probably due to overhead of setting up NAP 2000 times. The openSocket came right back all the time. Any other ideas, I am open to testing. Again, thanks for all of the responses! Doug Farmer 952-417-5225 Program Listing 0001 PRINT 'Nap 250' 0002 FOR IDX = 1 TO 20 0003 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') 0004 NAP 250 0005 NEXT IDX 0006 PRINT 'Start of 2000' 0007 PRINT OCONV(TIME(),'MTS') 0008 FOR IDX = 1 TO 2000 0009 NAP 1 0010 NEXT IDX 0011 PRINT OCONV(TIME(),'MTS') 0012 PRINT 'DONE WITH 2000' 0013 PRINT 'Open Socket' 0014 FOR IDX = 1 TO 20 0015 SleepTime = 250 0016 ERR = openSocket('loopback',25,1,SleepTime,HBUFF) 0017 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') 0018 NEXT IDX Output from Program Nap 250 1 09:11:29 2 09:11:29 3 09:11:29 4 09:11:30 5 09:11:30 6 09:11:30 7 09:11:30 8 09:11:31 9 09:11:31 10 09:11:31 11 09:11:31 12 09:11:32 13 09:11:32 14 09:11:32 15 09:11:32 16 09:11:33 17 09:11:33 18 09:11:33 19 09:11:33 20 09:11:34 Start of 2000 09:11:34 09:12:05 DONE WITH 2000 Open Socket 1 09:12:05 2 09:12:05 3 09:12:05 4 09:12:05 5 09:12:05 6 09:12:05 7 09:12:05 8 09:12:05 9 09:12:05 10 09:12:05 11 09:12:05 12 09:12:05 13 09:12:05 14 09:12:05 15 09:12:05 16 09:12:05 17 09:12:05 18 09:12:05 19 09:12:05 20 09:12:05 This message has been scanned for malware by Websense. www.websense.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users Click https://www.mailcontrol.com/sr/6lVGIXxG7qjGX2PQPOmvUlpAWghQWIvzb3YGjzkT!7MOUCUpiqnJJoGBzmYgl5U4YPnWx2HtmVnUfE+mA+MlhQ== to re
Re: [U2] Sleeping in Basic
On a busy system, NAP 1 may actually take 2 or 3 milliseconds ... thus the time distortion. A loop of 100 with a NAP 10 would be closer to the mark Ross Ferris Stamina Software Visage > Better by Design! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Farmer Sent: Saturday, 29 December 2012 4:32 AM To: 'U2 Users List' Subject: Re: [U2] Sleeping in Basic I guess I am confused on the definition of "quantized". NAP 250 seems to do what I want. Doing a LOOP 1000 and NAP 1 inside the loop, makes it takes quite a few seconds, where I would assume it would be 1 second (1000 x 1 millisecond - 1 second). However, loop 20 with NAP 250 in the loop takes 5 seconds, which is what I would expect (20 x 250 milliseconds = 5 seconds). Also, the OCONV documentation only shows OCONV(num.expr,"MT[H][S][c]") as a syntax. No option for displaying milliseconds. The only why I know to do that is to use SYSTEM(12). I guess I was just using TIME() not SYSTEM(12) as it was easier to visually scan. Doug Farmer 952-417-5225 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Friday, December 28, 2012 11:16 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Sleeping in Basic Your napping for a quarter of a second is too long :) I was saying that NAP is quantized. You can't actually NAP for a microsecond. So loop 1000 and NAP 1 By the way you can return the microseconds, why are you doing MTS I never bothered to dig into it, to see on what it's quantized. Without MTS you can see the microseconds. -Original Message- From: Doug Farmer To: 'U2 Users List' Sent: Fri, Dec 28, 2012 7:22 am Subject: Re: [U2] Sleeping in Basic Wow, thanks of all of the responses. Unfortunately, none of them will seem to work on UniData. I will be using NAP on UniVerse. PAUSE and WAKE, I had not heard of. This is only on UniData so not a UniVerse option. It would seem to be a good way to go, except for if the phantom process aborts, the WAKE is never executed and the invoking process (UniObjects subroutine) hangs forever. David's openSocket suggestion does not wait at all if the socket can be opened. If it cannot (for example host name is bad), the timeout is sometimes much longer, probably due to DNS lookup of the bad host name. I tried these examples in the code below. The results are show below the code. When I run this, using NAP 250, I get 4 times the same, then another 4 times the same etc. This seems to show NAP 250 does sleep for a quarter of a second. Doing NAP 1 for 2000 iterations took 31 seconds. Probably due to overhead of setting up NAP 2000 times. The openSocket came right back all the time. Any other ideas, I am open to testing. Again, thanks for all of the responses! Doug Farmer 952-417-5225 Program Listing 0001 PRINT 'Nap 250' 0002 FOR IDX = 1 TO 20 0003 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') 0004 NAP 250 0005 NEXT IDX 0006 PRINT 'Start of 2000' 0007 PRINT OCONV(TIME(),'MTS') 0008 FOR IDX = 1 TO 2000 0009 NAP 1 0010 NEXT IDX 0011 PRINT OCONV(TIME(),'MTS') 0012 PRINT 'DONE WITH 2000' 0013 PRINT 'Open Socket' 0014 FOR IDX = 1 TO 20 0015 SleepTime = 250 0016 ERR = openSocket('loopback',25,1,SleepTime,HBUFF) 0017 PRINT IDX "R#2":' ':OCONV(TIME(),'MTS') 0018 NEXT IDX Output from Program Nap 250 1 09:11:29 2 09:11:29 3 09:11:29 4 09:11:30 5 09:11:30 6 09:11:30 7 09:11:30 8 09:11:31 9 09:11:31 10 09:11:31 11 09:11:31 12 09:11:32 13 09:11:32 14 09:11:32 15 09:11:32 16 09:11:33 17 09:11:33 18 09:11:33 19 09:11:33 20 09:11:34 Start of 2000 09:11:34 09:12:05 DONE WITH 2000 Open Socket 1 09:12:05 2 09:12:05 3 09:12:05 4 09:12:05 5 09:12:05 6 09:12:05 7 09:12:05 8 09:12:05 9 09:12:05 10 09:12:05 11 09:12:05 12 09:12:05 13 09:12:05 14 09:12:05 15 09:12:05 16 09:12:05 17 09:12:05 18 09:12:05 19 09:12:05 20 09:12:05 This message has been scanned for malware by Websense. www.websense.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users Click https://www.mailcontrol.com/sr/6lVGIXxG7qjGX2PQPOmvUlpAWghQWIvzb3YGjzkT!7MOUCUpiqnJJoGBzmYgl5U4YPnWx2HtmVnUfE+mA+MlhQ== to report this email as spam. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users